Lisp Machine

Additional operating system/hardware discussion (Windows, Linux, *BSD and others)
Forum rules
Any posts concerning pirated software or offering to buy/sell/trade commercial software are subject to removal.
User avatar
geo
Posts: 527
Joined: Tue Jul 21, 2009 5:07 am
Location: Nagano-ken, Shiojiri-shi, Japan

Re: Lisp Machine

Unread postby geo » Fri Mar 15, 2013 5:14 pm

Morning guys :)

Just curious in anyones approach on this case: if you are assigned to design and implement a Lisp machine, which approach is more ideal?
1. Design the hardware to accept and execute the bytecode generated by todays Lisp compilers?
2. Design the hardware to accept your own optimized instruction sets base from your own designed Lisp compiler/interpreter?
3. Design the hardware to interpret the Lisp syntax?
:Octane: (Sakura) :O2: (Sasuke) :1600SW: (Naruto) ... lil Jesse! (O2 laptop)
“Imagination is more important than knowledge.“ – A. Einstein

User avatar
hamei
Posts: 10435
Joined: Tue Feb 24, 2004 4:10 pm
Location: over the rainbow

Re: Lisp Machine

Unread postby hamei » Fri Mar 15, 2013 6:11 pm

robespierre wrote:II don't mean that dreaming is necessarily bad, but you can tell that for some, the idea of "dream machines" (pace ted nelson) is rather more poetic feeling than technical concept.

Someone sold an input device especially designed for those machines ... I bet these are hard to come by now :D
peripheral.jpg
I spent a fortune on booze, birds, and fast cars ... the rest I just squandered

creepingfur
Posts: 19
Joined: Sun Aug 17, 2008 12:40 pm
Location: NorCal
Contact:

Re: Lisp Machine

Unread postby creepingfur » Fri Mar 15, 2013 11:15 pm

I have (2) MacIvory boards - a 2 and 3. The 2 is in a IIfx and the 3 is in a Quadra 950.

The IIfx is the more interesting as it has a NuVista card - which is directly accessed by the MacIvory and has the full S-Graphics software suite - which created "Stanley and Stella", one of the first CGI animated films, as well as the whale in free Willy, the klingon bridge in star trek 3, etc. - it was the first standard high end 3d system - before SGI really got into the game - like 1986-1991 or so. It actually lived on as Nichimen Miria ( which did Gollem in LoTR, amongst others ). Genera ( the symbolics OS ) also had the fist hypertext document creation system built into an OS ( it had 100s of MB of docs in the late 80s - all hypertext ). Very ahead of it's time.

There is a copy of Open Genera ( a virtual Symbolics that was released post HW business and mutant version that actually runs on OS X and Linux instead of Tru64/Alpha ) floating around the internet. It's easy enough to find with google.

I first started using Symbolics systems 17 years ago at American Express while we where working on heuristic learning fraud detection system ( which is still used in various forms by a lot more then AMEX today - and still mostly lisp or lisp cross compiled to C ). We would develop on the Symbolics ( be it MacIvory or actual XL1200s or later Open Genera on Alpha ) as there was nothing better for our dev needs. It's really hard to explain how efficient the environment was for development. Macintosh Common Lisp got close in some ways, and Light Table ( the Open Source IDE for Clojure, etc. ) steals a lot - but honestly - it's still no comparison. I wish Rainer Joswig's site still had the videos of Genera up so people could get a first hand idea of how it works.

Anyway, we would then develop on Symbolics and then deploy on SPARC or PA-RISC after after compiling under Lucid Common Lisp. I know they had Symbolics gear or Open Genera was still in use for development as of 2002.

The MacIvory systems them selves are very interesting to use - I still use mine from time to time for algorithmic work under Lisp/Scheme or S-Graphics fun. It's definitely a different experience then any other development system i've used. These days, I usually access it via a remote X session from one of my Macs or my Tezro. Nothing like Irix with Symbolics Genera in a window :-)

Sorry for the rambly nature of the post.. I get excited talking about symbolics..

User avatar
geo
Posts: 527
Joined: Tue Jul 21, 2009 5:07 am
Location: Nagano-ken, Shiojiri-shi, Japan

Re: Lisp Machine

Unread postby geo » Fri Mar 15, 2013 11:31 pm

hamei wrote:especially designed for those machines

hahaha joystick?? :)

creepingfur wrote:Sorry for the rambly nature of the post.. I get excited talking about symbolics..

love to hear more :)
:Octane: (Sakura) :O2: (Sasuke) :1600SW: (Naruto) ... lil Jesse! (O2 laptop)
“Imagination is more important than knowledge.“ – A. Einstein

robespierre
Posts: 1578
Joined: Mon Sep 12, 2011 2:28 pm
Location: Boston

Re: Lisp Machine

Unread postby robespierre » Sat Mar 16, 2013 12:17 am

I think hamei's comment was apropos "intellectual masturbation". (sorry for explaining the joke.) there are a lot of pie-in-the-sky hardware and OS projects, but some exotic stuff is actually very interesting. To expand on it a little: computer architecture as it's been practiced has been focused on executing instructions as fast as possible from a single stream. The hardware area on a modern CPU that actually does computation is a very small part, about 10-20%. All the rest of the gates are doing ancillary functions to help keep that pipeline busy (caches, prefetch, decoder, dispatcher, speculative execution, multiport register file, TLB, rename registers, branch prediction, etc). But the problem is that all that complexity is what's keeping core speeds stalled for the past decade at the 3 GHz line, while the amount of parallelism exposed by the CPU is also stalled at around 8 threads. Putting more parallel units on a die is hard both because the cores are so large with so much extra stuff, but also because each additional core creates more contention for shared resources like memory, and creates more cache-coherency traffic. We call it the "von Neumann machine model", but the concept is actually at least as old as Charles Babbage with his separate "Mill" and "Store". Anyway this is getting long but basically we should all be using transputers or something else that scales cpu and memory together without shared resource limits.

geo: it's a little misleading to talk about "lisp machines" as a descriptive category since there were different kinds of designs. all of the extant designs take your approach #2. Really, #1 and #2 are the same strategy because they involve defining a virtual machine. You could start with the virtual machine used by an existing compiler, like CLISP, and make adjustments based on the ease or difficulty of implementing all of its features. But you need a VM that can run "without a net": there cannot be any support routines that run underneath the VM, so it needs to grow additional abilities, like virtual memory management and process control. There would then be hooks from the hardware side back into service code running on the VM to handle those tasks.
:PI: :O2: :Indigo2IMP: :Indigo2IMP:

User avatar
Oskar45
Posts: 2258
Joined: Mon Dec 05, 2005 2:35 am
Location: Vienna, Austria

Re: Lisp Machine

Unread postby Oskar45 » Sat Mar 16, 2013 8:02 am

robespierre wrote:I'm simply giving a warning. Do you really mean that you've never come across that type on the internet?
I suppose I may be unfortunate in having long subscribed to certain usenet groups and seen the assortment of mental defectives that plague them periodically. I don't mean that dreaming is necessarily bad, but you can tell that for some, the idea of "dream machines" (pace ted nelson) is rather more poetic feeling than technical concept. Ideals, if that's what they become, have a way of being unshakeable by facts and no real progress can be made.
Had no problem with your calling Lisp Machine fans "dreamers" - after all, once upon a time I'd dreamed myself of owning an SGI box. Alas, a couple of their boxes later I sure discovered they were not at all the "dream machines" I'd dreamed about before.

But I raised an eyebrow upon your calling them "crackpots". Am not sure RMS would approve...
Everyone loves a lover. Romeo loves Juliet. Therefore, Trump loves Putin.

User avatar
geo
Posts: 527
Joined: Tue Jul 21, 2009 5:07 am
Location: Nagano-ken, Shiojiri-shi, Japan

Re: Lisp Machine

Unread postby geo » Sat Mar 16, 2013 6:39 pm

I think hamei's comment was apropos "intellectual masturbation". (sorry for explaining the joke.)
hahaha thanks im bit slow lately, maybe bcoz my "wisdom tooth" were removed? :(

geo: it's a little misleading to talk about "lisp machines" as a descriptive category since there were different kinds of designs. all of the extant designs take your approach #2. Really, #1 and #2 are the same strategy because they involve defining a virtual machine. You could start with the virtual machine used by an existing compiler, like CLISP, and make adjustments based on the ease or difficulty of implementing all of its features. But you need a VM that can run "without a net": there cannot be any support routines that run underneath the VM, so it needs to grow additional abilities, like virtual memory management and process control. There would then be hooks from the hardware side back into service code running on the VM to handle those tasks.
hmm ok, 1 and 2 are indeed the ideal way.. and i need a VM to have temporary dev environment hmmm ok will dig more ;) btw how about #3, is it not possible to design a processor that reads and understand Lisp syntax without compiling it to a lower level? i think tihs would be cool right? it just like a computer talking to our language, not us talking to them hehe

hi oskar :) if you want a Symbolics, i found this guy and he want to give his 3600 a good home, and still got others ;) he accepts trade and even just beer hehe check this out: http://www.asl.dsl.pipex.com/symbolics/index.html

and he is near your location than me ;)
:Octane: (Sakura) :O2: (Sasuke) :1600SW: (Naruto) ... lil Jesse! (O2 laptop)
“Imagination is more important than knowledge.“ – A. Einstein

User avatar
hamei
Posts: 10435
Joined: Tue Feb 24, 2004 4:10 pm
Location: over the rainbow

Re: Lisp Machine

Unread postby hamei » Sat Mar 16, 2013 6:43 pm

Oskar45 wrote: ... once upon a time I'd dreamed myself of owning an SGI box. Alas, a couple of their boxes later I sure discovered they were not at all the "dream machines" I'd dreamed about before.

The power of Madison Avenue .... I guess I'm lucky. I never dreamed of owning an SGI. OS/2 didn't have any CAD applications so I needed to go somewhere that did. The Indigo loooked suitable. It turned out to be even better than suitable.

No Madison Avenue = no silly fantasies of the Ultimate Ground of Being = no corporate control over a pointless vacuous life driven by ... what ? dreams of glory, conquest, a monstrous irresistible dick ?

I'm still here, while the majority of the ex-SGI-lovers are now chasing after the current object of mental masturbation.

Reality seems to be an alien concept these days.
I spent a fortune on booze, birds, and fast cars ... the rest I just squandered

robespierre
Posts: 1578
Joined: Mon Sep 12, 2011 2:28 pm
Location: Boston

Re: Lisp Machine

Unread postby robespierre » Sat Mar 16, 2013 7:59 pm

geo: lisp interpreters need to use a lot of temporary storage for maintaining the 'environment' and evaluating subexpressions. The #3 approach is doable, (I believe SCHEME79 from MIT did this) but you miss out on a lot of optimizations that a compiled order-code can give you: like turning access to a local variable, which is a linear search in an interpreter (ASSOC), into an indexed load from a base register.
There's also something to be said for not locking the semantics of the language too deeply into the hardware design, because languages evolve with new features (like new number types, logic variables, new array types, etc).
Of course you can still have an interpreter, but it will run faster when compiled than interpreting itself :)
:PI: :O2: :Indigo2IMP: :Indigo2IMP:

User avatar
geo
Posts: 527
Joined: Tue Jul 21, 2009 5:07 am
Location: Nagano-ken, Shiojiri-shi, Japan

Re: Lisp Machine

Unread postby geo » Sat Mar 16, 2013 8:20 pm

hi robe! ok2 got your point thanks! compiler it is then hehe btw todays LISP compiler, are they generating machine codes specific on what machine they are running? or are they generating bytecodes that are still to be run on a virtual machine like java?
:Octane: (Sakura) :O2: (Sasuke) :1600SW: (Naruto) ... lil Jesse! (O2 laptop)
“Imagination is more important than knowledge.“ – A. Einstein

robespierre
Posts: 1578
Joined: Mon Sep 12, 2011 2:28 pm
Location: Boston

Re: Lisp Machine

Unread postby robespierre » Sat Mar 16, 2013 8:58 pm

Some generate native code only, some generate a bytecode, others can do both. If you define a function and then (DISASSEMBLE 'my-function) you can see the instructions that the compiler generated for it (or for any predefined function).

For example: CLISP doesn't have a native code compiler, it always generates bytecode. This makes it one of the most portable implementations. ECL generates chunks of C code and then runs them through the C compiler and 'dl_load's them into the environment. There was a family of implementations that do that, beginning with Kyoto Common Lisp from the mid 1980s.

Allegro CL, LispWorks, Clozure, and SBCL only generate native code. CMUCL has both bytecode and native compilers.
:PI: :O2: :Indigo2IMP: :Indigo2IMP:

User avatar
geo
Posts: 527
Joined: Tue Jul 21, 2009 5:07 am
Location: Nagano-ken, Shiojiri-shi, Japan

Re: Lisp Machine

Unread postby geo » Sun Mar 17, 2013 3:11 am

ah i see, ok all are noted, thanks for the clarifications :) i think CLISP is the way to go.. hmm is it possible to implement the bytecode virtual machine on hardware? or is this what the LISPM was, a harwdare that interprets bytecodes?
:Octane: (Sakura) :O2: (Sasuke) :1600SW: (Naruto) ... lil Jesse! (O2 laptop)
“Imagination is more important than knowledge.“ – A. Einstein

User avatar
Oskar45
Posts: 2258
Joined: Mon Dec 05, 2005 2:35 am
Location: Vienna, Austria

Re: Lisp Machine

Unread postby Oskar45 » Sun Mar 17, 2013 6:33 am

@geo: thanks for the link - will check it out [and I might be willing to offer a bottle of Highland Park in lieu of beer] :-)
Everyone loves a lover. Romeo loves Juliet. Therefore, Trump loves Putin.

User avatar
geo
Posts: 527
Joined: Tue Jul 21, 2009 5:07 am
Location: Nagano-ken, Shiojiri-shi, Japan

Re: Lisp Machine

Unread postby geo » Sun Mar 17, 2013 7:02 am

Oskar45 wrote:@geo: thanks for the link - will check it out [and I might be willing to offer a bottle of Highland Park in lieu of beer] :-)
hehe we already exchange emails.. hope you can get the 3600! he wants it to have a new home for free ;) and note, he loves photography? so i guess you two will get along hehe one of his barter whish list are some Nikon lens or something so.. for the beer? i offered him our local tsingtao.. or my fave san Miguel ;) but your HP sounds mouth watering! ok let us know your Symbolic goes, yours is more realistic coz your location is near than mine :( anyway lets see then, prost!!
:Octane: (Sakura) :O2: (Sasuke) :1600SW: (Naruto) ... lil Jesse! (O2 laptop)
“Imagination is more important than knowledge.“ – A. Einstein

User avatar
ClassicHasClass
Donor
Donor
Posts: 2108
Joined: Wed Jul 25, 2012 7:12 pm
Location: Sunny So Cal
Contact:

Re: Lisp Machine

Unread postby ClassicHasClass » Sun Mar 17, 2013 7:05 pm

mutant version that actually runs on OS X


PowerPC, he asked hopefully?
smit happens.

:Fuel: bigred, 900MHz R16K, 4GB RAM, V12 DCD, 6.5.30
:Indy: indy, 150MHz R4400SC, 256MB RAM, XL24, 6.5.10
:Indigo2IMP: purplehaze, 175MHz R10000, Solid IMPACT
probably posted from Image bruce, Quad 2.5GHz PowerPC 970MP, 16GB RAM, Mac OS X 10.4.11
plus IBM POWER6 p520 * Apple Network Server 500 * RDI PrecisionBook * BeBox * Solbourne S3000 * Commodore 128 * many more...


Return to “Miscellaneous Operating Systems/Hardware”

Who is online

Users browsing this forum: No registered users and 3 guests