Elektrine lite

← Feed

@zzt@mas.to

2026-09-23 19:57 UTC

code for anyone having trouble picturing this (I guess I'm the documentation now): (named-let recur ((x 0) (l nil)) (if (< x 10) (recur (+ x 1) (push x l)) l))

Replies (1)

  • @zzt@mas.to 2026-09-23 20:01

    ah, there's muffins: > From: Richard Stallman > Subject: Re: bytecode tail call optimization > Date: Sun, 04 Jan 2026 21:56:30 -0500 > > [[[ To any NSA and FBI agents reading my email: please consider ]]] > [[[ whether defending the US Constitution against all enemies, ]]] > [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > > > I am currently looking into the bytecode compiler. It seems that > > there's no tail-call optimization, is that intentional? Would it be a > > welcome change? > > Tail call optimization would make programs faster > but would make debugging harder. All in all, I think we are better > not doing that. > > As for implementation, Emacs bytecode is not like machine code. > An optimized tail call in machine code can be as simple > as adjusting the stack a little and jumping. > For Emacs bytecode, several data structures about function call frames > would have to be fixed.

    Open ##4822992