Subject: Re: C++ Implementation of Lisp
From: (Rob Warnock)
Date: Mon, 27 Aug 2007 22:04:02 -0500
Newsgroups: comp.lang.lisp
Message-ID: <>
Rayiner Hashem  <> wrote:
| On Aug 27, 4:32 pm, wrote:
| >  Recently I've been examining the internals of various open source
| > Lisp implementations (SBCL, CMUCL, and CLisp). All of these, of
| > course, are done in C.
| SBCL and CMUCL are mostly in Lisp. C is used for the GC and bits of
| the runtime.

One could honestly say "almost entirely in Lisp":

    $ cd ~/src/cmd
    $ find cmucl-19c/src -name '*.lisp' | xargs wc -l -c | grep -i total
      424719 14684717 total
    $ find cmucl-19c/src -name '*.[ch]' | xargs wc -l -c | grep -i total
       36550  924419 total
    $ find cmucl-19c/src -name '*.[sS]' | xargs wc -l -c | grep -i total
	5979  142160 total

That is, ~15 MB (425 KLOC) of Lisp, less than 1 MB (37 KLOC) of C,
and just a smidgen of assembler.

Disclaimer: The counts [both C & Lisp] include the sources for
*all* of the available architectures (~8) & operating systems (~11),
not just one combination, so the actual counts for any given
single ISA & O/S would be somewhat smaller.

Disclaimer#2: Not all of the historically-available architectures
and operating systems are still being actively developed.
suggests that Linux/x86, FreeBSD/x86, Solaris/SPARC, and
Darwin/PPC are where the current activity is. [...and also
some not-yet-released work towards x86_64 for Linux/FreeBSd].


Rob Warnock			<>
627 26th Avenue			<URL:>
San Mateo, CA 94403		(650)572-2607