On CDC6400 I too saw, long ago, a Lisp interpreter entirely written in
assembly code (COMPASS) A line printer listing 2 inches thich. It crashed
from time to time and a user asked me to fix it. Took me several days on a
batch only system, reading lots of octal dumps. I had never heard of Lisp
before. With some DISCIPLINE it is very well possible, though outdated now
by the presence of better tools, to produce neat, well structured and
readable assembly code. COMPASS had a marvelous macro system allowing macros
to produce macros in an almost functional style and therefore allowing
implementation of (imperative) higher level languages within no time.
DISCIPLINE still is very important, even when using beautifull languages
like Scheme or SML or Haskell. Although the choice of a fine language for
beginners is important, it is not the language that makes a good programmer.
It is discipline that counts. E.g, HtDP is a good example that teaches the
importance of discipline. mho.
Jos
----- Original Message -----
From: <hendrik at topoi.pooq.com>
To: <plt-scheme at list.cs.brown.edu>
Sent: Sunday, January 27, 2008 5:37 AM
Subject: Re: [plt-scheme] The historical role/value of set-car! and set-cdr!
> On Sat, Jan 26, 2008 at 06:42:58PM -0500, Matt Jadud wrote:
>> On Jan 26, 2008 6:32 PM, Grant Rettke <grettke at acm.org> wrote:
>> > Historically, though, they must have been there for some really good
>> > reason?
>> >
>> > What was that reason?
>>>> How else could you set the contents of the address register (CAR) and
>> decrement register (CDR) on an IBM 704?
>> Actually, they were called rplaca and rplacd back then. I'm an
> old-timer that actually used them by that name. I also once pored
> through the assembly listing of that ancient Lisp system. I've always
> been amazed at people that could write huge assembly-language programs
> and get them working.
>> -- hendrik
>> I wonder if you can find an IBM 704, 705, 709, or 7090 on eBay?
>>>> Nope.
>>>> Ah well.
>> If you did, you might not be able to afford the power supply.
>> -- hendrik
> _________________________________________________
> For list-related administrative tasks:
>http://list.cs.brown.edu/mailman/listinfo/plt-scheme>