[bitc-dev] Re: BitC issues

Swaroop Sridhar swaroop at cs.jhu.edu
Mon Dec 20 17:01:43 EST 2004


1)

Jonathan S. Shapiro wrote:
> 
> Definitely not! The top level binding should be an uncompleted LET. It
> is very important not to allow identifiers to be redefined. It will
> bugger separate compilation all to hell if we allow this.
> 
> 

I agree. But we may want to have some kind of 'undefine' or rather 
'redefine', along with the usual define. This will enable the programmer 
to write:

use matlib.bc (* BitC library containing definitions for +, -, *, .. 		 
          etc *)

...
...

redefine + (lambda x (lambda y x*y+2))

...
...

Otherwise, since we have a single name-space, in order to redefine + 
the user has to:
-- redefine + in a let binding everywhere, or
-- write his own matlib.ad, which is matlib.bc with the
    new definition of +

Is there any other way out?


2) Is there any reason to define lambda as

lambda => (lambda pattern expr+)

rather than

lambda => (lambda pattern expr), and then use begin .. end?

The same holds for let, let* and letrec.


3) What is the syntax for comments?


More information about the bitc-dev mailing list