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