Megalextoria
Retro computing and gaming, sci-fi books, tv and movies and other geeky stuff.

Home » Archive » net.micro.cpm » iLISP (SCHEME dialect) interpreter for CP/M
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Switch to threaded view of this topic Create a new topic Submit Reply
iLISP (SCHEME dialect) interpreter for CP/M [message #112306] Mon, 16 September 2013 13:42
kend is currently offline  kend
Messages: 1
Registered: September 2013
Karma: 0
Junior Member
Message-ID: <122@dadlaa.UUCP>
Date: Tue, 8-Jan-85 12:33:19 EST
Article-I.D.: dadlaa.122
Posted: Tue Jan  8 12:33:19 1985
Date-Received: Fri, 11-Jan-85 22:41:55 EST
Organization: Tektronix, Beaverton OR
Lines: 76
Xref: watmath net.micro.cpm:3322 net.lang.lisp:298


 
iLISP is a lexically scoped lisp based on the SCHEME dialect  
of Lisp which runs on Z80 CP/M 2.X 

I have been going through some of the exercises from Abelson & 
Sussmans' STRUCTURE AND INTERPRETATION OF COMPUTER PROGRAMS (MIT
Press '85)--which is an excellent book--and having a lot of fun
doing so.  For $55, this is a really fun system for playing with
objects, packages, constraint systems, etc.  There are some
differences in this dialect and that described in Struct &
Interp, but I have yet to come across something I couldn't do
in a clean and obvious way.

Synopsis:
  Just like the big boys: read and run time macros, optimized
tail recursion (does not burn stack space; no [ugly] PROG or GO
needed), error handling and toploop fully user controlled, init
(startup) file, assembler interface, CATCH, floating point math,
CP/M access, assembler interface, list editor, TRACEing, BREAK,
user control of error handling, ramdom access function library
system (most convenient!), pretty printing functions, readable
reference manual (165 pg, + 60 pg intro for non-lispers), terminal
configuration options, full control of string and cons space
allocation, etc, etc.  Aside from this it is jus' plain fun to 
use (this is NOT a paid ad, really)!.   Warning: the intro for
beginners is much too formal.  The Struct & Interp is a much
better introduction for new lispers, who may need some hand-
holding in any case.  Unfortunately, no vectors or compilation.

general prims:
+ - * / ABS ADD1 ARCTAN COSINE FIX FLOAT MINUS REM SINE SUB1 SQRT
APPEND CAR CARS CDR CDRS CONS COPY DREVERSE LAST LENGTH LIST
MEMB MEMBER NCONC NTH REPLACA REPLACD REPLACAD TCONC GETPL GETPROP
LISTGET LISTPUT LISTREM PUTPROP REMPROP SETPL ALPHAORDER NCHARS 
PACK SET UNPACK UNSET ATOM EQ EQUAL LISTP LITATOM MACROP NULL
NUMNBERP PROPP VALUEP ZEROP = >= <= > < 

i/o and special prims:
CLEARBUF DIRIO FILLBUF INB INPUT PEEKC READ READP READC READLINE
SYNTAB SYNTAX CS CURSOR LINELENGTH MARGIN OUTB OUTPUT POSITION
PRIN1 PRIN2 PRINTLEVEL PRINT OUTB SPACES TAB CLOSE DISK DSKRES
FILEDIR GFD IOBYTE OPEN OPENP SFP ARGCNT ASCII BYTE CHAR ERR
EVAL DEFEXP DESCRIBE EXIT FREE FULL LOAD MEMORY PROG1 RECLAIM
RESET MAP TERPRI TYPE UNSETF

also has a number of macros and special forms (MAP functions, 
PROGN, DEFINE, SETQ, SELECTQ, COND, LET, LETSYS, etc) and a
bunch of utility functions (string handling, statistics, Eliza,
etc).  There is more, but I'm tired of typing and you get the idea.

As functions are full-fledged data objects, they can be assigned
to, allowing you to do things like generalize "+" to lists, eg:
(SETQ OLD-ADD +)	; expects 2 args
(DEFINE + ARGS (MAP ID ARGS OLD-ADD 0))
(UNSET 'OLD-ADD)
will now allow (+ 4 3 6) =>13 instead of an error (2 args expected)
and (+ ) =>0.

Oh, yes:
COMPUTING INSIGHTS
PO BOX 4033
Madison, Wisconsin 53711
($49.95 + $5 ship)

Lithp ith lithening!
-Ken Dickey
---------------------------------------------------
UUCP:           HOST!tektronix!dadla!kend
   Where HOST is any one of:
	masscomp,decvax,allegra,uf-cgrl,mit-eddie,mit-ems,
	uoregon,psu-cs,orstcs,zehntel,ucbcad,ucbvax,purdue,
	uw-beaver,reed, ogcvax,ihnp4,tekred,minn-ua,cbosg

CSnet: kend%dadla@tektronix 
ARPAnet: kend%dadla%tektronix@csnet-relay
---------------------------------------------------
  Switch to threaded view of this topic Create a new topic Submit Reply
Previous Topic: Re: Kaypro DSDD
Next Topic: Thanks for wildexp.c
Goto Forum:
  

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ] [ PDF ]

Current Time: Sun Jan 23 05:08:42 EST 2022

Total time taken to generate the page: 0.00536 seconds