# 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`.