[comp.sys.amiga] LISP & the Amiga..

mwm@raven.pa.dec.com (Mike (My Watch Has Windows) Meyer) (10/04/90)

In article <PPHHq2w163w@valnet> joseph@valnet.UUCP (Joseph P. Hillenburg) writes:
   > How about a complete modern LISP system based on Common LISP or
   > Scheme? Complete means it has a compiler that can generate stand-alone
   > programs, intuitionized graphical debugging package, and OOP
   > extensions. Now, make it useful on the Amiga by adding the ability to
   > access arbitrary libraries, and a clean interface to intuition & the
   > graphics library.

   I don't know, but I saw a scheme program on abcfd20 (can't remember where 
   though)

There are a number of semi-reasonable PD LISP systems available for
the Amiga. A scheme (I suspect it's the same one), SIOD, and XLISP at
least. XSCHEME may be available. Then there's AMXLISP, an XLISP
extended to have access to the Amiga graphics interface. Finally,
there's the one commercial LISP, Cambridge LISP.

A table:
		mod	comp	s/a	debug	OOP	libs	intui
AMXLISP					x	x		x
Cambridge		x				x
Scheme		x
SIOD		x
XLISP					x	x
XSCHEME		x			x	x

Mod	-> It's a modern LISP (aka Common LISP or scheme)
comp	-> It has a compiler
s/a	-> Can generate stand-alone programs
debug	-> Has debugging facilities (never mind good ones!)
OOP	-> Object Oriented extensions
libs	-> access to the arbitrary libraries
intui	-> has clean intuition & graphics interface

Cambridge LISP only had one very early release, and is probably an
orphan now. It doesn't run properly on anything but 68000s. It's a
dialect of LISP that wasn't used much in the US, and has important
features from that dialect missing. Unless you want raw speed, this
LISP is probably a waste of time.

As you can tell, none of them do very well. SIOD, without an
incredible amount of work, could be extended to include a compiler
(I've done a proof-of-principle compiler for it already), and it
should be possible to tweak it so you can generate stand-alone
programs that use an amiga library. However, it's a subset of Scheme,
so the modern x is only partial. To make up for that, full source is
available, small and fairly clean. It's also very fast.

For a speed contrast, there's XLISP & AMXLISP. Both are slow; easily
being the slowest LISPs on the list. However, they're more complete
than SIOD, and so make a better tool for someone wanting to get the
feel of LISP. There is some attempt to look like Common LISP, the
result being a nicer LISP than Cambridge. I haven't played with
XSCHEME, and so don't know to how it compares in either of these
areas.

The Scheme is (last time I looked at it) a pretty straight-forward
implementation of Scheme. If you've got the Abelson & Sussman's
"Structuer and Interpretation of Computer Programs" and are looking
for something to use with that, this is the correct choice. It's
slower than SIOD, but faster than the X* LISPs.

There are a number of freely distributable implementations of both
Scheme & Common LISP. Maybe it's time to look into doing a port of one
again.

	<mike

--
He was your reason for living				Mike Meyer
So you once said					mwm@relay.pa.dec.com
Now your reason for living				decwrl!mwm
Has left you half dead

Doug Kelly <KELLYDK@QUCDN.QueensU.CA> (10/05/90)

In article <MWM.90Oct4113055@raven.pa.dec.com>, mwm@raven.pa.dec.com (Mike (My
Watch Has Windows) Meyer) says:
>
>In article <PPHHq2w163w@valnet> joseph@valnet.UUCP (Joseph P. Hillenburg)
>writes:
>   > How about a complete modern LISP system based on Common LISP or
>   > Scheme? Complete means it has a compiler that can generate stand-alone
>
>The Scheme is (last time I looked at it) a pretty straight-forward
>implementation of Scheme. If you've got the Abelson & Sussman's
>"Structuer and Interpretation of Computer Programs" and are looking
>for something to use with that, this is the correct choice. It's
>slower than SIOD, but faster than the X* LISPs.
>
>
>        <mike
>
>--


I used XSCHEME for all my programming in a course based on Abelson &
Sussman, and didn't run into any problems.  It also seems to be pretty
fast.  A primes example using streams took about 2 minutes on my profs
Sun 3 running CScheme, but only about 35 seconds on my 18Mhz Lucas A1000.
Unfortunately, it doesn't support Amiga specific stuff very well.
Fortunately, source is included.

Doug Kelly

mwm@raven.pa.dec.com (Mike (My Watch Has Windows) Meyer) (10/05/90)

   >The Scheme is (last time I looked at it) a pretty straight-forward
   >implementation of Scheme. If you've got the Abelson & Sussman's
   >"Structuer and Interpretation of Computer Programs" and are looking
   >for something to use with that, this is the correct choice. It's
   >slower than SIOD, but faster than the X* LISPs.

   I used XSCHEME for all my programming in a course based on Abelson &
   Sussman, and didn't run into any problems.

I hadn't looked at XSCHEME before, and stated so in that posting.
From having played with it this afternoon (on a DS3100), XSCHEME seems
to be very nice. It didn't inherit the XLISP speed problems, and it's
a much complete implementation than SIOD. Unfortunately, it has no
hooks for getting to the Amiga-specific stuff, and the debugging
environment seems primitive (at best).

Note that this is _different_ from what I was calling Scheme, for
which I've not seen source, but understand that it's 68K based
assembler.

	<mike
--
He was your reason for living				Mike Meyer
So you once said					mwm@relay.pa.dec.com
Now your reason for living				decwrl!mwm
Has left you half dead

martens@python.cis.ohio-state.edu (Jeff Martens) (10/06/90)

All right.  With all this talk of Lisp and Scheme, I got curious.  I'd
especially like to play with Scheme on my ami.  But, where do I get
it?  According to a Fish xref I got from U of I pretty recently,
there's a Scheme on FF149, AMXLisp 2.0 on FF181, and XLisp 1.7 on FF39
(sounds dusty).  Is the above Scheme the one people are talking about,
or is there a better one?
--
-- Jeff (martens@cis.ohio-state.edu)

	Dan Quayle on education:  "We're going to have
	the best educated American people in the world."

jeremym@brahms.udel.edu (Jeremy A Moskowitz) (10/06/90)

In article <84475@tut.cis.ohio-state.edu> Jeff Martens <martens@cis.ohio-state.edu> writes:
>
>All right.  With all this talk of Lisp and Scheme, I got curious.  I'd
>especially like to play with Scheme on my ami.  But, where do I get
>it?  According to a Fish xref I got from U of I pretty recently,
>there's a Scheme on FF149, AMXLisp 2.0 on FF181, and XLisp 1.7 on FF39
>(sounds dusty).  Is the above Scheme the one people are talking about,
>or is there a better one?


Wanna program in Scheeme, do you? Well, the most reliable source is Compu$erve..
They have the AmigaScheme package in two places... one in the AmigaTech
libs under (i think) other lang's. Also, in C'$erv's Library's in
Artificial Inteligence (sp)/programming. (under Scheme)

So... use them. I use it a lot... I was just goofing off in Scheeme class
today playing on the net... so... if anyone has any scheeme questions, dont
hesitate to ask. 
 
jeremym@brahms.udel.edu

-Come and take a ride on the Scheeme train...