Subject: Re: C++ Implementation of Lisp
From: rpw3@rpw3.org (Rob Warnock)
Date: Mon, 27 Aug 2007 22:04:02 -0500
Newsgroups: comp.lang.lisp
Message-ID: <SLednbPArvs_DU7bnZ2dnUVZ_tWtnZ2d@speakeasy.net>
Rayiner Hashem  <rayiner@gmail.com> wrote:
+---------------
| On Aug 27, 4:32 pm, sral...@gmail.com 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.
<http://common-lisp.net/project/cmucl/downloads/release/19d/>
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

-----
Rob Warnock			<rpw3@rpw3.org>
627 26th Avenue			<URL:http://rpw3.org/>
San Mateo, CA 94403		(650)572-2607