Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!rutgers!tut.cis.ohio-state.edu!zaphod.mps.ohio-state.edu!samsung!eileen!gjc From: gjc@mga.COM (George J. Carrette) Newsgroups: comp.windows.x Subject: a plug for a very small lisp: SIOD Message-ID: <115@eileen.mga.com> Date: 15 Dec 89 03:08:40 GMT Organization: MGA, Inc. Lines: 22 Suffice it to say that lisp intepreters are popular as extension languages and/or applications glue/prototyping mechanisms. Problem 1: There are usually a truckload of build-in subroutines which may or may not reflect how you want to program *your* application. Problem 2: Size and complexity. Even the so-called "small" lisps tend to be multi-source-file things, with their own idea of "main-program" structure. Problem 3: Adding new lisp callable subroutines is usually a royal pain, because of having to deal with garbage-collection related issues. Problem 4: A lisp callable subroutine is usually not callable from C without passing arguments in some strange ideosyncratic manner. To illustrate that these problems can be solved I present SIOD: (Scheme in One Day). Read/Eval/Print/Load/Save/GC are all in a single small source file without a main program. The source is less than 40 Kbytes, and on a VAX/VMS system compiles into 14 Kbytes of executable code. (The optional main program in a different file is but a few lines long). You may try it out for yourself by anonymous ftp to bu-it.bu.edu, cd src/gjc, get siod-v2.3-shar. -gjc