4 ms·
I think a lot of dynamic language implementations suck because their authors haven't bothered to study Lisp implementations. The widely used implementations of
by Zak 17y ago
I think a lot of dynamic language implementations suck because their authors haven't bothered to study Lisp implementations. The widely used implementations of Common Lisp and Scheme don't suck at all[0]. Of course, some implementors of other dynamic languages do seem to have studied Lisp implementations and it shows in the results. Lua doesn't suck at all.
[0] Ok, the multi-platform support of some of the CL implementations could be better.
- riffraff 17y agoI'd say they suck because the authors cared about specific issues other than making the implementation not suck (which I guess means fast performance performance?). But how does lua bears lisp inheritance in its implementation? IIRC lua does not use pointer tagging which is a typical lispism, uses tables for everything, has no lists, and uses a different approach for implementing closures. Are you thinking of LuaJIT(2) ?
- silentbicycle 17y agoLua's designers have acknowledged a lot of Scheme influence, especially from 4.0 onward, but I think it's more about the semantics than the implementation. Lua uses a type tag + union rather than tagged pointers because it's not strictly portable, and they've placed a high priority on strict ANSI C compliance (with the sole exception of dynamic library loading). Also, Lua tables recognize when they're being used as arrays and use an array internally.