Version: 4.1.3
2.7 Web Cells
The
web-server/servlet/web-cells library provides the
interface to Web cells.
A Web cell is a kind of state defined relative to the frame tree.
The frame-tree is a mirror of the user’s browsing session. Every time a
continuation is invoked, a new frame (called the current frame) is
created as a child of the current frame when the continuation was captured.
You should use Web cells if you want an effect to be encapsulated in all
interactions linked from (in a transitive sense) the HTTP response being
generated. For more information on their semantics, consult the paper
"Interaction-Safe State for the Web".
Determines if v is a web-cell.
Creates a web-cell with a default value of v.
Looks up the value of wc found in the nearest
frame.
Binds wc to v in the current frame, shadowing any
other bindings to wc in the current frame.
Below is an extended example that demonstrates how Web cells allow
the creation of reusable Web abstractions without requiring global
transformations of the program into continuation or store passing style.
2.7.1 Stateless Web Cells
The
web-server/lang/web-cells library provides the same
API as web-server/servlet/web-cells, but in a way
compatible with the Web Language. The one difference is that
make-web-cell is syntax, rather than a function.
See web-server/servlet/web-cells.