[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: What is a lightweight language

I also don't buy this story that all you have to implement
are the "big five".  Just look at the Scheme report.  All
the things that are not described as "library procedures"
are stuff you have to implement as primitives: strings,
vectors, math, i/o, etc.

No real, usable language can be made out of 5 primitives.
It is still a very interesting question, though, how small
you can get the core to be.  

--- Dan Weinreb <dlw@exceloncorp.com> wrote:
>    Date: Thu, 6 Dec 2001 16:42:26 -0400
>    From: shivers@cc.gatech.edu
>    Full Common Lisp? No, not lightweight. A simple Scheme? Definitely
>    lightweight. 
> It would be interesting to analyze Common Lisp and figure out the
> smallest subset that you could (reasonably) create such that the rest
> of Common Lisp could be provided in the form of functions and macros
> build on the subset.  That is, if you factored out everything in
> Common Lisp that could be considered part of the "libraries", what's
> left?
> 		All you need to write is a simple s-exp parser, a simple GC,
>    and implementations of the "big five" basic forms:
>       LAMBDA
>       QUOTE
>       IF
>       DEFINE
>       SET!
>    Scheme is a very small language! 
> Is that really all you need?  What happened to call/cc?  What
> happened
> to integers and strings and vectors?  What about "cond" and "let" and
> "apply"?
>    That's why I proposed multiple definitions of the term
> lightweight. I'm
>    not looking for a single definition, just trying to use the term
> to shed
>    light on things.
> You could fairly ask, as I think Simon did, why I even brought up the
> question.  I don't know; I guess I don't have any dogs in the fight,
> as they say.  If I were going to create an event called a Lightweight
> Languages Workshop, though, I'd feel a little bit uneasy if I
> couldn't
> explain what I meant by that.

Do You Yahoo!?
Send your FREE holiday greetings online!