Thank you for resurrecting Lua-ML and demonstrating its purpose. I was (and still am) a bit torn about the many functors that Lua-ML is composed off. I believe it was quite a bit of a testing ground for Norman Ramsey and it is not necessarily the simplest design. The attraction of Lua’s C implementation always was its simplicity and that seems to have been lost in Lua-ML. The type-safe composition of the interpreter core, the standard libraries, and one’s own new datatypes requires to to go trough a long list of functor applications that are mostly applied mechanically and would take quite a bit to understand properly. I fear that this design provides for a flexibility that is rarely required but hinders adoption.
Well, no one still knows what the right design is, and there’s no better way to find out than to try it out in real, practical programs. Maybe open sum types open up a simpler path to type-safe library composition, we’ll see.
Then, ocaml-lua has zero dependent packages, and hslua (the Haskell bindings for the PUC-Rio Lua) doesn’t appear to be popular either. We don’t know what hinders their adoption. Perhaps a middle ground between flexibility and simplicity is what’s required for mass appeal.