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. For a version of this page that may be more recent, see BoxesCowan in WG2's repo for R7RS-large.

Boxes­Cowan

cowan
2013-03-12 02:44:15
6history
source

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

Existing implementations

Proposed

Racket

Gambit

SISC

Chez

Chicken

MIT

Scheme48/scsh

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.