Haters gonna hate tail-call optimization.

Femtolisp is kind of badass. But this comment right here is what elevates it to Mad Science:

This is what I do for fun, because it is the exact opposite of the kind of thing people will pay for: an obscure implementation of a programming language everybody hates.

Previously.

Tags: , , ,

10 Responses:

  1. Mark Kriegsman says:

    Femtolisp looks like a latter-day, badass, ninja-grade SIOD -- in a good way. Very slick.

    I that that the (only) LISP whose star is actually rising these days is Ruby. And as long as we don't tell anyone what they're drinking, they'll keep drinking it and recommending that their friends drink it too.

    Now, if only it had macros...

    • John Styles says:

      Soylent Green is LISP. Nooooooooooooo!

    • Adam A says:

      I was about to suggest checking out Julia - it has Ruby like syntax, CLOS style multi methods, and is more LISP-like than Ruby (it's actually kinda like what I hoped Dylan would be). And then I noticed that the guy who wrote FemtoLisp is also behind Julia, and Julia uses Femtolisp in its compiler. Thought it looked familiar...

      • Mark Kriegsman says:

        Dylan... Now that's a name I've not heard in a long time. A long time.
        Julia does look very slick. Pity that the best languages don't win, eh?
        /me genuflects toward McCarthy's old cons cell, now GC'd.

        • adam alpern says:

          I think I still have my CDs of the Apple Dylan TR. Actually, no, I think I threw them out, but I still have copies of their contents. Nothing to run it on, though. It was incredibly unstable on real Macs (both 68K and PPC), and it crashes both Sheepsaver and Basilisk II.

    • Edouard says:

      Ruby is LISP? LISP?

      LISP?

      Ruby is Smalltalk my friend, and don't you forget it.

  2. Noah Friedman says:

    I've never before heard the claim that tail call elimination is slow. Depending on your implementation it's actually easier always to replace the current frame with the tail call even if it's not recursive. You get efficient recursion for free.

    • hattifattener says:

      It is a weird claim. C compilers like gcc do TCO because the code runs faster, not because C programmers expect or depend on it.

  • Previously