aboutsummaryrefslogtreecommitdiffstats

SRFI-259 for CHICKEN

This is an implementation of SRFI-259 for CHICKEN.

Notable features:

  • Different than extend-procedure, because extend-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.