A binding contour is a set of one or more variable bindings. An environment is an ordered set of binding contours. If a variable is bound by more than one binding contour in an environment, the variable in the lower binding contour is visible from the environment and the lower binding is said to occlude the higher bindings of that variable.
There are 2 varieties of binding contours corresponding to the binding
constructs let
and letrec
. A module is a
letrec
variety binding contour. An identifier bound in the
module binding countour is said to be exported by that module.
A scheme report environment is an an environment that contains the set of bindings specified in the Revised^n Report on Scheme that the implentation supports, as well as the procedures and syntax specified here. An implementation is free to include any other bindings which do not occlude report bindings.
I am trying to create a module system which meets the stated goals and can be implemented with little effort by diverse implementations, hopefully by using their existing module facilities.
Go to the first, previous, next, last section, table of contents.