Python syntax in Lisp and Scheme

Jeremy H. Brown jhbrown at ai.mit.edu
Fri Oct 3 11:25:31 EDT 2003


"Terry Reedy" <tjreedy at udel.edu> writes:
> Other Lispers posting here have gone to pains to state that Scheme is
> not a dialect of Lisp but a separate Lisp-like language.  Could you
> give a short listing of the current main differences (S vs. CL)?  

According to the "Revised(5) Report on the Algorithmic Language
Scheme", "Scheme is a statically scoped and properly tail-recursive
dialect of the Lisp programming language..."  It's certainly not a
dialect of Common Lisp, although it is one of CL's ancestors.

I'm sure if you do some web-groveling, you can find some substantial
comparisons of the two; I personally think they have more in common
than not.  Here are a few of the (arguably) notable differences:

                        Scheme          Common Lisp
Philosophy              minimalism      comprehensiveness
Namespaces              one             two (functions, variables)
Continuations           yes             no
Object system           no              yes
Exceptions              no              yes
Macro system            syntax-rules    defmacro
Implementations         >10             ~4
Performance             "worse"         "better"
Standards               IEEE            ANSI
Reference name          R5RS            CLTL2
Reference length        50pp            1029pp
Standard libraries      "few"           "more"
Support Community       Academic        Applications writers

The Scheme community has the SRFI process for developing additional
almost-standards.  I don't know if the CL community has something
equivalent; I don't think they did a year ago.

> If I were to decide to expand my knowledge be exploring the current
> versions of one(I've read the original SICP and LISP books), on what
> basis might I make a choice?

Try them both, see which one works for you in what you're doing.

Jeremy




More information about the Python-list mailing list