This site is a static rendering of the Trac instance that was used by R7RS-WG1 for its work on R7RS-small (PDF), which was ratified in 2013. For more information, see Home.
Source for wiki BoxesCowan version 5
author
cowan
comment
ipnr
173.13.139.236
name
BoxesCowan
readonly
0
text
== Boxes ==
This is a trivial module, providing objects with a single mutable state. Several Schemes have something like it, sometimes called ''cells''. Boxes are a disjoint type.
== Procedures ==
* `box`: constructor
* `box?`: predicate
* `unbox`: accessor
* `set-box!`: mutator
== Existing implementations ==
||Proposed||Racket||Gambit||SISC||Chez||Chicken||MIT||Scheme48||
||box||box||box||box||box||make-box||make-cell||make-cell||
||box?||box?||box?||box?||box?||box-mutable?||cell?||cell?||
||unbox||unbox||unbox||unbox||unbox||box-ref||cell-contents||cell-ref||
||set-box{{{!}}}||set-box{{{!}}}||set-box{{{!}}}||set-box{{{!}}}||set-box{{{!}}}||box-set{{{!}}}||set-cell-contents{{{!}}}||cell-set{{{!}}}||
== Lexical syntax ==
Racket, Gambit, SISC, Chez, and Chicken all support `#&` to create a box initialized with the object represented by the following datum.
time
2013-03-12 02:41:12
version
5