[gambit-list] compiling _std.scm fails if make-obj re-defined

Marc Feeley feeley at iro.umontreal.ca
Thu May 26 13:37:36 EDT 2011


On 2011-05-26, at 1:17 PM, Bradley Lucier wrote:

> On Wed, 2011-05-25 at 16:37 -0400, Marc Feeley wrote:
> 
>> The problem is related to the "absent" object, which is used in the
>> handling of optional parameters.  Note that there is no direct way to
>> generate the absent object.  The following macro, defined in
>> lib/_gambit#.scm, must be used:
>> 
>> (##define-macro (macro-absent-obj)  `',(##type-cast -6 2))
> 
> Marc:
> 
> People who write libraries could use (macro-absent-obj) quite
> fruitfully, see the code in
> 
> http://www.math.purdue.edu/~lucier/gambit-srfis/error-macros.scm
> 
> It would be good if (macro-absent-object) were exported by the runtime
> system, and not just defined in the compiler, so you could run code like
> this in gsi.

If the absent object is exported, then other things in Gambit will break (such as the handling of optional parameters).

In any case, you can get at the macro-absent-obj macro with:

(##include "~~lib/_gambit#.scm")

Marc




More information about the Gambit-list mailing list