From: Franck Pissotte
Subject: search lisp in pascal
Date: 
Message-ID: <37A1CBF1.F226D354@online.fr>
i search any source in pascal for a lisp interpreter (or compiler)
freely available on the net. also i search text file (ps or pdf) on
internal structure of a lisp system (eval, apply)
i prefer stuff available freely on the net, not books.

From: Paolo Amoroso
Subject: Re: search lisp in pascal
Date: 
Message-ID: <37a4ceb3.4076375@news.mclink.it>
On Fri, 30 Jul 1999 21:26:07 GMT, Franck Pissotte
<···············@online.fr> wrote:

> i search any source in pascal for a lisp interpreter (or compiler)
> freely available on the net. also i search text file (ps or pdf) on
> internal structure of a lisp system (eval, apply)
> i prefer stuff available freely on the net, not books.

You may be able to find this book at a computer science department's
library:

  "Programming Languages - An Interpreted-Based Approach"
  Samuel N. Kamin
  Addison-Wesley, 1990
  ISBN 0-201-06824-9

It explains how to build interpreters and compilers in Pascal for subsets
of Lisp, Scheme and other languages. The source code is freely available
at:

  ftp://uihub.cs.uiuc.edu/uiuc/kamin/distr.tar.Z


Note that this is the location given in the book. Last time I checked, the
code was on that machine but in a different directory. Be sure to look
around.


Paolo
-- 
Paolo Amoroso <·······@mclink.it>
From: Christopher Browne
Subject: Re: search lisp in pascal
Date: 
Message-ID: <WBvo3.61686$AU3.1613070@news2.giganews.com>
On Fri, 30 Jul 1999 21:26:07 GMT, Franck Pissotte
<···············@online.fr> wrote: 
>i search any source in pascal for a lisp interpreter (or compiler)
>freely available on the net. also i search text file (ps or pdf) on
>internal structure of a lisp system (eval, apply)
>i prefer stuff available freely on the net, not books.

Lisp implementations written in "Algol descendants" have tended more
often to be written in C than in Pascal.

The most likely cause is that Pascal was designed as a single pass
compiler, primarily intended for educational purposes, for programs
written in one "source file."  

More problematic is that it is rather statically typed, and does not
offer "generic" types.  This would make implementing lists A Real
Problem.

In contrast, C was designed as a systems programming language, and as
a result offers various features intended towards that purpose,
including the ability to split programs into multiple source files as
well as the ability to pass around generic pointers.  

Ugly though C may be, the notion of generic pointers provides enough
genericity to be useable for the purpose.

(It would be a truly evil thing to suggest parallels, and based on
recent discussions, bringing up Hofstadter might redouble the issue;
one might parallel C versus Pascal to CL vs Scheme; the former
languages contain some "impurities" that happen to be useful, whereas
the latter languages were designed by "purists" and occasionally
result in inconvenience to people trying to do Real Things...)

I would think it more likely that one might construct a Lisp in a more
modern variation of Pascal with some intent to provide "systems
programming" services, such as Modula3.  Modula3 has "objects," some
genericity ability, threading, as well as garbage collection.  These
features might perhaps make Modula3 a better Lisp implementation
language than C.  

Although implementations seem to be rare enough that you don't "win"
much portability from this...

[There...  Did I offend the Pascal people, Lisp people, C people, and
Scheme people, all in one post?!?]

[Further aside:  Almost the exact same posting was made in a Forth
newsgroup, substituting "Forth" for "Lisp."  Draw your own
conclusions...]
-- 
Rules of the Evil Overlord #52. "Once my power is secure, I will
destroy all those pesky time-travel devices." 
········@ntlug.org- <http://www.hex.net/~cbbrowne/footmoscow.html>