I have done some search in the forum but yet I haven't found the answer for a just-out-of-curiosity question: Does newLISP do tail call optimization?
No.
... but newLISP has 'catch' and 'throw' if you want to write trampoline-style functions doing continuation passing style calls.
I see. I just want to write functions with functional programming style. In my oppinion, it's a disadvantage of newLISP not to have tail call optimization.