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.