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