Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: utzoo!linus!philabs!seismo!hao!hplabs!sri-unix!SSteinberg.SoftArts@MIT-MULTICS
From: SSteinberg.SoftArts%MIT-MULTICS@sri-unix.UUCP
Newsgroups: net.micro.pc
Subject: IQLISP
Message-ID: <2801@sri-arpa.UUCP>
Date: Fri, 1-Jul-83 04:02:00 EDT
Article-I.D.: sri-arpa.2801
Posted: Fri Jul  1 04:02:00 1983
Date-Received: Sat, 9-Jul-83 20:42:17 EDT
Lines: 32

I have been playing around with IQLISP and have been pretty happy with
it.  I have two classes of complaints.

1) Strange Conventions and Names

First of all they are uppercase only and I don't have a TTY 33 to hook
up to my IBM-PC.  Their reader is a bit weird and tries to guess if an
atom is a number before it is extracted as an atom.  This means that
the symbol 1+ is turned into the atoms 1 and +.

They also have weird names.  Everyone who writes a LISP feels
obligated to making up new names rather than looking at someone else's
LISP to figure out what to call putprop.  They use CAR and CDR instead
of HEAD and TAIL so they aren't as weird as all that.

2) Missing Functions

There is no function to read and parse a source file.  Luckily this
only takes a few commands but it would be nice.

There is no catch or throw.  I haven't figured out how to do non-local
control.  They obviously can do it since the error handler calls
subroutines.  I would use their context code stuff but they have
carefully set up the functions to make it hard to scan the stack.

String handling is weak.  Their substring operator cannot return zero
length strings so every string operation has to be in the middle of a
test.  They also cannot set the insides of strings which is kind of
weird since they do support arrays.

Luckily they do interface with assembly language code so a lot of
these problems can be remedied.