PDP-10 Common Lisp 
Author Message
 PDP-10 Common Lisp

Was there ever a Common Lisp implementation for the PDP-10(/DEC-10/DEC-20)?


Sun, 01 May 2005 15:34:24 GMT  
 PDP-10 Common Lisp
Quote:
>>>>> On 13 Nov 2002 08:34:24 +0100, Lars Brinkhoff ("Lars") writes:

 Lars> Was there ever a Common Lisp implementation for the PDP-10(/DEC-10/DEC-20)?

No, but Common Lisp was largely based on the Lisp Machine dialect,
which was in turn based on MACLISP, which was developed on the PDP-10.

The effort to define Common Lisp was started in late 1981, and Lisp
language development at MIT had already moved onto Lisp Machines and
the VAX, and at CMU onto the SPICE project.  The reference book,
"Common Lisp: the Language" (CLtL1) was not published until 1984.
Today when people say "Common Lisp", they mean "ANSI Common Lisp".
The ANSI effort didn't form until 1986.

At the time when Common Lisp was being developed, most of the
development action was with Lisp Machines, VMS, and Unix.
Among language developers, the venerable PDP-10s had mostly become
the platforms for running EMACS, TeX, sending email, and other
pedestrian functions.

At Xerox, INTERLISP development was on the new D-machines.  
They (and BBN) may also have been actively developing on PDP-10s
(I don't know), but they were not working on Common Lisp.  
They were the enemy.

There was also something called Portable Standard Lisp,
which I don't know much about.  It was not Common Lisp.



Sun, 01 May 2005 16:05:59 GMT  
 PDP-10 Common Lisp

Quote:
> Among language developers, the venerable PDP-10s had mostly become
> the platforms for running EMACS, TeX, sending email, and other
> pedestrian functions.

hey, I actually thought that I was way cool and cutting edge when I
learned to use TeX on the DEC-10 ;-) In addition, I could use it to
run Edinburgh Prolog, which was extremely well designed and must take
quite a bit of the blame that large parts of the Computational
Linguistics scene dropped lisp and fell in love with Prolog.

--
  (espen)



Sun, 01 May 2005 17:08:28 GMT  
 PDP-10 Common Lisp


Quote:
>At the time when Common Lisp was being developed, most of the
>development action was with Lisp Machines, VMS, and Unix.

What about NIL (New Implementation of Lisp)?  Wasn't that a PDP-10 Lisp
that was based on the CL development?

--

Genuity, Woburn, MA
*** DON'T SEND TECHNICAL QUESTIONS DIRECTLY TO ME, post them to newsgroups.
Please DON'T copy followups to me -- I'll assume it wasn't posted to the group.



Sun, 01 May 2005 23:39:47 GMT  
 PDP-10 Common Lisp

Quote:
> No, but Common Lisp was largely based on the Lisp Machine dialect,
> which was in turn based on MACLISP, which was developed on the
> PDP-10.

Actually when I was at Stanford in the late '80s, there was a Common
Lisp implementation running on the PDP-10s we used.  I don't remember
anything in particular about it.  It didn't, as far as I know, have
any `lineage' of interest.

I know it was Common Lisp because I specifically remember the teacher
of the Lisp class I took saying we should use that if we couldn't use
any other Common Lisp (he definitely considered it a last resort).

--

Communism is a {*filter*}ous failure.
Socialism is communism with movie stars.



Mon, 02 May 2005 00:00:33 GMT  
 PDP-10 Common Lisp

Quote:
>>>>> On Wed, 13 Nov 2002 15:39:47 GMT, Barry Margolin ("Barry") writes:



 >> At the time when Common Lisp was being developed, most of the
 >> development action was with Lisp Machines, VMS, and Unix.

 Barry> What about NIL (New Implementation of Lisp)?  Wasn't that a PDP-10 Lisp
 Barry> that was based on the CL development?

NIL was on VAX\VMS.



Mon, 02 May 2005 02:26:30 GMT  
 PDP-10 Common Lisp

Quote:
>>>>> On 13 Nov 2002 08:00:33 -0800, Fred Gilham ("Fred") writes:

 >> No, but Common Lisp was largely based on the Lisp Machine dialect,
 >> which was in turn based on MACLISP, which was developed on the
 >> PDP-10.

 Fred> Actually when I was at Stanford in the late '80s, there was a Common
 Fred> Lisp implementation running on the PDP-10s we used.  I don't remember
 Fred> anything in particular about it.  It didn't, as far as I know, have
 Fred> any `lineage' of interest.

 Fred> I know it was Common Lisp because I specifically remember the teacher
 Fred> of the Lisp class I took saying we should use that if we couldn't use
 Fred> any other Common Lisp (he definitely considered it a last resort).

It was probably PSL, but that wasn't Common Lisp.



Mon, 02 May 2005 02:27:22 GMT  
 PDP-10 Common Lisp


Quote:
>>>>>> On Wed, 13 Nov 2002 15:39:47 GMT, Barry Margolin ("Barry") writes:



> >> At the time when Common Lisp was being developed, most of the
> >> development action was with Lisp Machines, VMS, and Unix.

> Barry> What about NIL (New Implementation of Lisp)?  Wasn't that a PDP-10 Lisp
> Barry> that was based on the CL development?

>NIL was on VAX\VMS.

Right.  But I thought I remembered something similar on ITS at the time.
Was there a NIL emulator that ran in Maclisp?

--

Genuity, Woburn, MA
*** DON'T SEND TECHNICAL QUESTIONS DIRECTLY TO ME, post them to newsgroups.
Please DON'T copy followups to me -- I'll assume it wasn't posted to the group.



Mon, 02 May 2005 02:56:35 GMT  
 PDP-10 Common Lisp

Quote:

>  Fred> I know it was Common Lisp because I specifically remember the teacher
>  Fred> of the Lisp class I took saying we should use that if we couldn't use
>  Fred> any other Common Lisp (he definitely considered it a last resort).

> It was probably PSL, but that wasn't Common Lisp.

No, it was definitely Common Lisp.  I think it was called CLISP or
something like that.

--

Thou shalt not convince stupid people to try cordless bungee jumping....
Thou shalt not substitute Semtex when all the Playdough's gone....
Thou shalt not bob for hand grenades....



Mon, 02 May 2005 12:36:42 GMT  
 PDP-10 Common Lisp

Quote:
>>>>> On 13 Nov 2002 20:36:42 -0800, Fred Gilham ("Fred") writes:


 Fred> I know it was Common Lisp because I specifically remember the teacher
 Fred> of the Lisp class I took saying we should use that if we couldn't use
 Fred> any other Common Lisp (he definitely considered it a last resort).
 >>
 >> It was probably PSL, but that wasn't Common Lisp.

 Fred> No, it was definitely Common Lisp.  
 Fred> I think it was called CLISP or something like that.

What operating system was it running under (and what year again?)



Mon, 02 May 2005 14:40:24 GMT  
 PDP-10 Common Lisp

Quote:
>  Fred> No, it was definitely Common Lisp.  
>  Fred> I think it was called CLISP or something like that.

> What operating system was it running under (and what year again?)

I think it was tops-20.  The year was 1987.

--

King Christ, this world is all aleak, / And life preservers there are none,
And waves that only He may walk / Who dared to call Himself a man.
-- e. e. cummings, from Jehovah Buried, Satan Dead



Mon, 02 May 2005 22:37:45 GMT  
 PDP-10 Common Lisp

Quote:

> >  Fred> No, it was definitely Common Lisp.
> >  Fred> I think it was called CLISP or something like that.

> > What operating system was it running under (and what year again?)

> I think it was tops-20.  The year was 1987.

There was a lisp called ELISP (from Hedrick at Rutgers) on the 20.

        Paul



Mon, 02 May 2005 23:04:49 GMT  
 PDP-10 Common Lisp

Quote:


>> >  Fred> No, it was definitely Common Lisp.
>> >  Fred> I think it was called CLISP or something like that.

>> > What operating system was it running under (and what year again?)

>> I think it was tops-20.  The year was 1987.

>   There was a lisp called ELISP (from Hedrick at Rutgers) on the
> 20.

    From reading the c.l.l archives, it appears to me that Elisp was
  *not* a Common Lisp implementation.  Elisp was Rutgers/UCI Lisp with
  extended addressing capabilities (it used 23 bits for addressing,
  which R/UCI used only 18 bits).  The decision was made to *not*
  extend Elisp to be a Common Lisp, but to start fresh.

    In 1982, Rutgers got a contract from DEC to implement Common Lisp
  for the TOPS-20 (really, for the Jupiter machine) - for that they
  ported CMU's Spice Lisp.  When the Jupiter got cancelled, the
  project lost steam.

    There is a really interesting message from Arun Welch, posted on
  1994-10-20, that gives a long run down of the history of Common
  Lisp, including some of these details.  Others were gleaned from
  postings by Chuck Hedrick himself, circa 1988.

-jon
--
------------------
Jon Allen Boone



Tue, 03 May 2005 10:03:16 GMT  
 PDP-10 Common Lisp

Quote:
>     In 1982, Rutgers got a contract from DEC to implement Common Lisp
>   for the TOPS-20 (really, for the Jupiter machine) - for that they
>   ported CMU's Spice Lisp.  When the Jupiter got cancelled, the
>   project lost steam.

Interestingly, in CLtL (section 32.1.6 Pathname Functions in the
second edition), the examples assume a host named CMUC running
TOPS-20.  Perhaps there is a connection to the project above?

--
Lars Brinkhoff          http://lars.nocrew.org/     Linux, GCC, PDP-10,
Brinkhoff Consulting    http://www.brinkhoff.se/    HTTP programming



Tue, 03 May 2005 19:11:57 GMT  
 PDP-10 Common Lisp

Quote:
>>>>> On 15 Nov 2002 12:11:57 +0100, Lars Brinkhoff ("Lars") writes:


 >> In 1982, Rutgers got a contract from DEC to implement Common Lisp
 >> for the TOPS-20 (really, for the Jupiter machine) - for that they
 >> ported CMU's Spice Lisp.  When the Jupiter got cancelled, the
 >> project lost steam.

 Lars> Interestingly, in CLtL (section 32.1.6 Pathname Functions in the
 Lars> second edition), the examples assume a host named CMUC running
 Lars> TOPS-20.  Perhaps there is a connection to the project above?

I don't think that referred to any real TOPS-20 Common Lisp; it was
just a made-up example.  In reality, I think CMUC ran TOPS-10 or TENEX.

A more realistic example would be a program running on the Lisp
Machine and accessing files on a TOPS-20 server such as MIT-XX.

The Lisp Machine had transparent network access to all the native
file systems, so PATHNAME-HOST could refer to any kind of host.
Pathname namestrings were in their native format, with the first
colon character seperating the host from the rest of the filename.
So, you could type all of the following examples at the Lisp Machine
whenever you were entering a pathname:

 File Server    Pathname namestring
 -----------    -----------------------------------------
    ITS         AI:FOO;SYSDCL >
    LispM       S:>CStacy>demo>src>sysdcl.lisp.newest
    TOPS-20     MIT-XX:<CSTACY.DEMO.SRC>SYSDCL.LISP.33
    VMS         PYG:[CSTACY.DEMO.SRC]SYSDCL.LISP;33
    UNIX        wheaties:/home/cstacy/demo/sysdcl.lisp.~33~
    Logical     ALPHA:CSTACY;DEMO;SYSDCL.LISP

It handled a variety of others -- pretty much all known network
accessible operating systems, in fact -- and was extensible.
The HOST in a pathname was actually an object, and multiple-inheritance
was heavily used.  The pathname host objects knew about the syntax of
the pathnames for their operating system, parsing, defaulting, etc.

It was very hairy to get this and all the necessary associated
functionality right, even for just your own Lisp's native pathnames;
X3J13 pretty much punted on the pathname system, unable to accept
that it was so complex and being fed up with Symbolics for having
gotten yet another thing right.  So now every Common Lisp programmer
has to write their own pathname system on top of what ANSI CL provides.
At least ANSI CL pathnames are slightly better than anything provided
in the other competing languages.

Random excerpt examples of some of the kinds of magic:

(DEFFLAVOR TENEX-FAMILY-HOST-MIXIN ()
           (CASE-SENSITIVE-PATHNAME-HOST-MIXIN PATHNAME-HOST-MIXIN)
  (:REQUIRED-FLAVORS HOST))

(DEFFLAVOR HOST-MULTICS-MIXIN ()
           (NO-DEVICE-OR-VERSION-HOST-MIXIN CASE-SENSITIVE-PATHNAME-HOST-MIXIN
            PATHNAME-HOST-MIXIN)
  (:REQUIRED-FLAVORS HOST))

(DEFMETHOD (:DEFAULT-HOMEDIR HOST-MULTICS-MIXIN) (USER-NAME)
  (SEND (SEND SELF :SAMPLE-PATHNAME) :NEW-PATHNAME
        :RAW-DIRECTORY `("udd" "Project" ,USER-NAME) :NAME NIL :TYPE NIL :VERSION NIL))

(DEFFLAVOR HOST-VM370-MIXIN ()
           (NO-DIRECTORY-OR-VERSION-HOST-MIXIN PATHNAME-HOST-MIXIN))

The pathname system also knew the "type" extension to use for
standard file types on the different operating systems:

(DEFINE-CANONICAL-TYPE :LISP "LISP"
  ((:TENEX :TOPS-20) "LISP" "LSP")
  (:ITS :UNSPECIFIC)
  (:UNIX "L" "LISP")
  (:UNIX42 "LISP" "L")
  ((:VMS4 :VMS4.4) "LISP" "LSP")
  ((:VMS :MSDOS :OS//2) "LSP"))

For getting to those hosts, the Lisp Machine also implemented all the
file server protocols, such as its own winning NFILE protocol, along
with FTP, NFS, and others. It would automatically select and invoke
the best protocol for the host, based on hints from the distributed
"network namespace" database (which was similar to DNS) and from DNS.  
The selected protocol was transparently invoked and the implementation
would try to handle or emulate all the desired features (eg. directory
operations, links, version numbers) so that the software had a generic
uniform interface.  

Some operations didn't work across all systems: for example, "Expunge"
and "Undelete" (versus a hard "Delete File") was only available on the
TOPS-20 and LispM file systems.  So (FS:EXPUNGE-DIRECTORY "u:/usr/local/"),
or as an "Expunge" command in Zmacs, would signal an appropriate error.

As far as users were concerned, they just typed in and used their
filenames as if they were using their file server's operating system
(just like when they would TELNET over to timesharing to run TeX or
whatever).  One difference was that it was often easier to manipulate
files from the Lisp Machine, rather than commands on the file server.
For example, "Copy File" with wildcards and subdirectories does the
right thing for Unix when you do it from the Lisp Machine, but not
from a Unix shell, because the pathname system of course actually knew
what was meant to be happenning!

Nowadays this kind of thing is all just an impossible dream, of course.
Welcome to the 21st century.



Wed, 04 May 2005 01:48:01 GMT  
 
 [ 22 post ]  Go to page: [1] [2]

 Relevant Pages 

1. PDP-10

2. Need PDP-10 FORTRAN Help

3. What I want from my Common Lisp vendor and the Common Lisp community

4. lucid common lisp -- C -- Common lisp intercallability

5. Lucid (Sun) Common Lisp vs Allegro (Franz) Common Lisp - the Summary

6. Lucid (Sun) Common Lisp vs Allegro (Franz) Common Lisp

7. Sun Common Lisp vs. Allegro Common Lisp

8. comp.lang.modula2: Answers to Common Questions - v1.7 93.10.29

9. comp.lang.modula2: Answers to Common Questions - v1.10 94.11.17

10. New Common Lisp, Lisp-to-C translation, Lisp library for C

11. lisp for a PDP-11

12. Last Reminder: Lisp User Group Meeting, 10.February 1998, Munich/Germany

 

 
Powered by phpBB® Forum Software