[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: What is a lightweight language
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.