Newsgroups: comp.lang.scheme
Path: cantaloupe.srv.cs.cmu.edu!das-news2.harvard.edu!news2.near.net!MathWorks.Com!europa.eng.gtefsd.com!howland.reston.ans.net!pipex!uunet!sytex!smcl
From: smcl@sytex.com (Scott McLoughlin)
Subject: Re: implicit BEGIN in LAMBDA (was Re: R4RS...round) LONG!
Message-ID: <BZi7Tc1w165w@sytex.com>
Sender: bbs@sytex.com
Organization: Sytex Access Ltd.
References: <VANMEULE.94Oct13231046@netcom20.netcom.com>
Date: Fri, 14 Oct 1994 09:31:34 GMT
Lines: 40

vanmeule@netcom20.netcom.com (Andre van Meulebrouck) writes:

> 
> My reason for asking my original question was that I wanted to know if
> your implementation of your miniLISP (a project I applaud) is such
> that it is easier to allow or disallow implicit sequencing.
> 
> If any peculiarities of your implementation would make it relatively
> universally easier to allow or disallow implicit sequencing, I would
> be inclined to say go with what your implementation would like!
> 
> I think it's wonderful that you want to come up with a tiny
> LISP--almost a sort of minimalist calculus for LISP.  
> 
> This would have 2 payoffs:  alleviating people from using C (i.e. you
> could implement a tiny core in Assembly, then bootstrap all else with
> LISP), and, it would make LISP small and scalable (a problem that
> slows LISP acceptance).
> 

Howdy,
        As the implementation stands, it don't matter at all. The
thing's a compiler that currently only generates 3 address code,
but already nothing/everything is a "sequence" of statements.
        As for the perceived benefits you enumerate -- yeah, that's
the general idea.  It's currently only a weekend project, but it's
something I wish were "there" already.
        As for transforming BEGIN expressions into LAMBDA () . BODY
expressions, it wouldn't slow things down at all -- just a special
case of a common optimization that the thing performs anyway. Similar
to transforming LET expressions to LAMBDA (v1 v2...) BODY) i1 i2)
int pass1 and then clobbering the closure in pass-N. No problemo.
        BTW, any ideas on module systems vs. packages ? I've
implemented packages for my byte code compiler, but never used/written
a "modularized" lisp. Any and all advice appreciated.

=============================================
Scott McLoughlin
Conscious Computing
=============================================
