News for hackers. Stuff that matters.
Re:Wisp: Small-but-featureful embeddable Lisp interpreter wr... by _mpu on Sunday November 03, 2013 @06:15PM (#6665593)
Wrapping an if in a lambda is unlikely to work as expected.
Re:Wisp: Small-but-featureful embeddable Lisp interpreter wr... by pygy_ on Sunday November 03, 2013 @06:35PM (#6665647)

    ((if foo + -) 4 6)
Can be compiled to

    (function()
        if foo then return plus
        else return minus
        end
    end)()(4, 6)
It is far too verbose to be used in manually crafted Lua, but acceptable if you treat it as a compiler target (with the caveat that the lambda creation will prevent LuaJIT from JITting that piece of code).
Re:Wisp: Small-but-featureful embeddable Lisp interpreter wr... by meric on Monday November 04, 2013 @05:47AM (#6667894)
Plug https://github.com/meric/l2l

"A object-oriented, unicode-enabled lisp that compiles to and runs as fast as Lua. Equipped with macros and compile-time compiler manipulation. Comes with all built-in Lua functions."

Re:Wisp: Small-but-featureful embeddable Lisp interpreter wr... by pygy_ on Monday November 04, 2013 @05:54PM (#6671786)
Nice one! I started coding one after writing the above comment.

I have a question regarding your implementation: why do you use `goto`s rather than `elseif` to compile `(cond)` blocks? For nested blocks?

Re:Wisp: Small-but-featureful embeddable Lisp interpreter wr... by meric on Sunday November 10, 2013 @01:21AM (#6705526)
Oh I think it it was for the return value of cond.