Posted: Mar 21, 2012 4:34 am
by epepke
mizvekov wrote:Well he was prominent in the late nineties and early 2000's, when LISP was starting to gain popularity again after the AI winter.
Were you still into LISP by that time?

I still liked it (still do), but I was more interested in getting Scheme with quaternions running.

So, was it common for many implementations at the time that you could overflow the bounds of a list with CDR, or was bounds checking normally to be expected?

Not quite sure what you're asking. It was common for CAR and CDR of NIL to return NIL.

epepke wrote:The things that bugged me about LISP was how SNUMS depended on word size and were always shorter than the word size. I think that Scheme is superior in this regard, as it has exact and inexact numbers rather than number type/length.

Why did it have to be shorter than word size, they needed some bits to represent some internal states?

It was normal to use a single addressing word for everything. In a typical implementation, bit 0 was 0 for a pointer to a dotted pair, and 1 for everything else. With a 32-bit word, SNUMS could, at most, use 31 bits for the number. Typically, it was smaller than that, because you need other bits for atoms, strings, arrays, and so on.