Hi Doug, > I can then doPrint() on what doRead() returns - although I don't see > the customary parentheses around the list I hand that to doEval().
Calling the high-level Lisp function 'doEval' is not a good idea, because it first evaluates its arguments, which is not what is needed here. The same is the case for 'doRead', but it doesn't do much harm if you just pass it NIL (i.e. no arguments). And also for 'doPrint': If you pass it something other than a number, if will print not that item but its value. Better just call 'print()' for debugging. So instead of calling 'doEval', you could do any res; cell c1; Push(c1, doRead(Nil)); x = EVAL(data(c1)); drop(c1); return x; > doEval() returns a value (an "any" pointer, which when cast to a long is 6 > which seems odd). '6' is a valid 'any', the number '1': num xxxxxx10 2 00000110 Cheers, - Alex -- UNSUBSCRIBE: mailto:firstname.lastname@example.org?subject=Unsubscribe