Comments for 2023-09-09: Hapax (WWW) 2023-12-03 Hey, > Lastly, each machine code I've used features jump instructions as the primary means of flow > control, with call and return instructions for subprograms also available, but call and return > aren't usually suited to implementing loops. The unfortunate side-effect of pushing the continuation on the stack makes the mechanism unfit for a loop as it wastes precious memory (if, of course, we are talking about a machine with the call instruction being similar to PDP's PUSHJ instruction), but I would argue the idea of a function call is in fact an elegant looping construct. Are you familiar with Guy Lewis Steele, Jr.'s work? Particularly, the AI Memos 353, 379 and 443. The Common Lisp's LOOP macro you mentioned could in fact be implemented as a labeled lexical closure calling itself as the last expression. A smart compiler would realize the function call could be translated as an unconditional branch (or a calling convention supporting tail-recursion would dictate outputting a branch anyway). The distinction is not really visible when looking at the machine code (unless all the stack frames have been allocated explicitly by the compiler), but it shows how certain ideas can be visualized in a high-level language like Lisp. Prince Trippy () 2023-12-03 Hello, Hapax. I've read many of the AI Memos, but apparently not those in particular. I agree that function calls can make elegant loops, but such transformations occur not at the machine code level, which is part of the appeal of programming at that level, alongside making control flows and whatnot that simply don't exist in high-level programming systems for one reason or another. I'll certainly add those AI Memos to my reading list. Personally, I see reason to resist the tendency to paint the world with one brush, to express everything with one thing, because interesting qualities tend to be overlooked when such occurs; infinite loops are interesting to me for their own sake, at a baseline. Copyright (c) 2023 Prince Trippy Comments are owned by and the burden of their respective authors. .