SRFI-259 for CHICKEN
This is an implementation of SRFI-259 for CHICKEN.
Notable features:
- Different than
extend-procedure
, becauseextend-procedure
is stateful. - Uses an efficient set type (integer maps) to store tags.
This is the first time I've written low-level CHICKEN code: use at your own risk.
Usage
Import (srfi 259)
for only the standard bindings. Import
(srfi 259 extensions)
for the SRFI-259 macro and the extensions
described below.
Extensions
This library implements lambdas with object scope.
(lambda/this this formal body ...)
Create a procedure such that this
will be bound to the current
procedure. When a new procedure is created using a tag constructor,
this
will point to the new procedure, not to the old procedure. This
allows for a procedure to inspect its own tags.
(procedure/this? obj)
Returns true if obj
is a procedure created using lambda/this
.