Christian Jaeger wrote:
Bob McIsaac wrote:
Instead, there are only linked lists to follow.
But what about the order in which those linked lists are being followed..? That's not specified in the language and implementation dependent.
(PS. of course nobody says that an implementation can't turn the linked lists into some other representation (like assembler). Not specifying the order of execution of function arguments was meant as to leave implementors more freedom to choose the best evaluation strategy.)
The puzzling comment to my humble form said : "This code assumes that arguments to functions are evaluated left-to-right." But what of it? There is a stream of text to be evaluated. Choices are 1. left-right evaluation in one pass; 2. parsing the stream into tokens and sorting the tokens into a tree according to the rules of the grammar ... not Lispy. Choice 1 means typing parentheses so that the evaluator can be simple and recursive. ( I assume that evaluation results in a linked list)
Cheers, -Bob