Multiple Language Support

Mike McDonald mikemac@titian.engr.sgi.com
Mon, 05 May 1997 18:48:16 -0700


>Date: Tue, 06 May 1997 11:17:21 +1000
>From: "Chris Bitmead uid(x22068)" <Chris.Bitmead@alcatel.com.au>
>Subject: Re: Multiple Language Support
>To: lispos@math.gatech.edu
>
>>>[Scheme-in-CL]
>>It seems that the major sources of problems for Scheme and CL to interact are
>>* #f '() 'nil distinction
>>* call/cc
>>How much would it cost to have CL programs
>>recognize 3 different internal representations for NIL ?
>
>Well if you just have #f and nil as different objects and hack the CL
>eq function to do a special case it would work. Ok, a very slight loss
>in efficiency for CL, but it would make us Scheme programmers very
>happy :-)
>

  Well, since Common Lisp doesn't have a definition for #f, you could
make it whatever you wanted. If you wanted it to be eq to nil, then
you'd have to overload the eq function. (and probably fix the compiler
too.) I'd think putting #f and the overloaded eq into a scheme
compatibility package would be doable. You'd still have problems
dealing with all of those CL functions that return nil for false.
That's a much, much harder problem to deal with.

  Mike McDonald
  mikemac@engr.sgi.com