newLISP-Machine hardware implementation

Started by bubba88, December 02, 2008, 09:57:50 AM

Previous topic - Next topic

bubba88

Hello.



If anyone has an idea about the subj - please, post it here.

xytroxon

#1
Quote from: "bubba88"Hello.



If anyone has an idea about the subj - please, post it here.


Hi!



Some background info on Lisp Machines...



"Wikipedia: Lisp Machines":

http://en.wikipedia.org/wiki/Lisp_machine">//http://en.wikipedia.org/wiki/Lisp_machine



"A Brief History of Lisp Machines":

http://www.andromeda.com/people/ddyer/lisp/">//http://www.andromeda.com/people/ddyer/lisp/



"A few things I know about LISP Machines":

http://fare.tunes.org/LispM.html">//http://fare.tunes.org/LispM.html



"The Lisp Machine Manual":

http://common-lisp.net/project/bknr/static/lmman/frontpage.html">//http://common-lisp.net/project/bknr/static/lmman/frontpage.html



The major "problem" with Lisp Machines is that most new developers who bought it, would want (i.e. demand) to be able to run a C/C++ compiler on them... (A major WTF? heresy to LISP purists.) And those that need Lisp Machines can have a grad student wirewrap a handful of FPGA's (Field Programmable Gate Arrays) and memory sticks... It's a casting LISP "pearls" to C/C++ "swine" thing... ;) I sadlu doubt a Lisp Machine is viable in today's commodity PC market...



(Note: See the 1986 Harrison Ford movie/parable "The Mosquito Coast" aka "Do people that happily live in the rain forrest really need or want ice making technology?".)



-- xytroxon
\"Many computers can print only capital letters, so we shall not use lowercase letters.\"

-- Let\'s Talk Lisp (c) 1976

bubba88

Ok
#2
Actually, I thoght about creating something like VHDL template for such machines in FGPA.

Is that a bad idea too?

xytroxon

#3
Quote from: "bubba88"Actually, I thoght about creating something like VHDL template for such machines in FGPA.

Is that a bad idea too?


No...



Just that if you want to market it as a product to be programmed by LISP programmers, then it needs to be designed to run Common Lisp...



newLISP is looked down on by Lispers (the Reverand in "Mosquito Coast") as "not a true LISP"... And it's true, newLISP is not 100% compliant with the LISP standard... But it tries to better LISP by simplifying and focusing on what you want to use LISP for... LISt Processing... CONS in Common Lisp is more low level... You can create a cell that represents almost anything... In newLISP you can only create a list... So while Common Lisp is more flexible for computer scientist's research projects, newLISP tries to be consistent and easier for non-computer scientists to use it make their laundry and shopping lists ;)



And even if it is just for your or proprietary product use, be advised that newLISP is a moving target... Lutz has done major rewrites this past year and we are still trying to work out the bugs, whereas Common Lisp is stale er. staid and safe ;) Also newLISP's license is strictly GPL, so not sure how that would effect a saleable hardware version...



So it's up to you to decide if it is still a worthwhile endeavor...



-- xytroxon
\"Many computers can print only capital letters, so we shall not use lowercase letters.\"

-- Let\'s Talk Lisp (c) 1976

Ryon

#4
Back when Forth was hot, there were several hardware implementations of the Forth machine by Chuck Moore and others. I remember one of the Forth journals (JFAR, or Asilomar, I think) had a Forth-in-hardware article by a guy named Klaxon Suralis that was a crackup. I've been looking for that one for years.



None of them Lisp, or newLISP, but close enough to make them interesting.



Also there is an online book by Philip Koopman that illustrates a stack machine that could be used, I think, to implement any language that you want.



It's a tough field to be successful in. Look at the INMOS Transputer.
\"Give me a Kaypro 64 and a dial tone, and I can do anything!\"

cormullion

#5
Do you have to write a compiler first? Or does the machine just 'know' the language...?

bubba88

#6
Quote from: "cormullion"Do you have to write a compiler first? Or does the machine just 'know' the language...?


I think it would be better to do it as "hardware" as possible, so i think - yes - the machine should just know the language. But a variant with some intermediate language is appropriate, too.

bubba88

#7
Quote from: "xytroxon"And it's true, newLISP is not 100% compliant with the LISP standard... But it tries to better LISP by simplifying and focusing on what you want to use LISP for... LISt Processing... CONS in Common Lisp is more low level... You can create a cell that represents almost anything... In newLISP you can only create a list... So while Common Lisp is more flexible for computer scientist's research projects, newLISP tries to be consistent and easier for non-computer scientists to use it make their laundry and shopping lists ;)

-- xytroxon


Excuse me for my misunderstanding, I thought about newLISP as a high-level language for intellectual systems programming, with dynamic and reflective structure. From this position, as i understand (I do these conclusions from your post), the Common Lisp (with its "academic" style) is more preferable for me.

cormullion

#8
QuoteI thought about newLISP as a high-level language for intellectual systems programming, with dynamic and reflective structure.


Perhaps http://www.newlisp.org/index.cgi?Y_Function">//http://www.newlisp.org/index.cgi?Y_Function and http://kazimirmajorinc.blogspot.com/2008/05/eval-and-anti-eval.html">//http://kazimirmajorinc.blogspot.com/2008/05/eval-and-anti-eval.html represent the type of programming you're interested in...? At least, I feel a bit intellectual when I'm trying to understand them... It soon wears off, though.



In your position I'd learn both for a while. When you get fed up with one, start moving towards the other.

xytroxon

#9
i didn't mean to discourage you... but...



newLISP embraces and leverages C/C++ code (built in and modules), that is it's power... Trying to recreate that  in hardware may take a lot of grunt work to implement...



Even though Open Source LISPs and Schemes today are written in C/C++, LISP doesn't need (or require) C/C++... A true LISP (the expensive commercial products), generate pure machine code from LISP statements...



The conundrum of LISP is that it is so simple in syntax, yet so complex in action... This raw programming power is what scares so many away and yet, draws others in so completely...



I wish you well on your intellectual journey!!!



-- xytroxon
\"Many computers can print only capital letters, so we shall not use lowercase letters.\"

-- Let\'s Talk Lisp (c) 1976

bubba88

#10
Thanks, everyone:)



I will report you as soon, as I achieve something worthy to discuss.