Browser-Lua project is an abstract wrapper to several alternative backends that allow to run Lua code in browser.
Browser-Lua allows user to call Lua code from JS and JS code from Lua.
Browser-Lua is still in its embryonic phase of development. More detailed description would be added later.
See the copyright information in the file named COPYRIGHT
.
(None so far)
- lua-alchemy (http://code.google.com/p/lua-alchemy)
- lua5.1.js (https://github.com/logiceditor-com/lua5.1.js)
- lua.vm.js (http://kripken.github.io/lua.vm.js/lua.vm.js.html)
js-lua (http://github.com/agladysh/js-lua)- ljs (http://code.matthewwild.co.uk/ljs)
- nacl (http://code.google.com/p/nativeclient/)
- emscripten (https://github.com/kripken/emscripten)
- jill (http://code.google.com/p/jillcode/), as Java applet (with some js-lua-like wrapper)
- lua.js (https://github.com/mherkender/lua.js)
- brozula (https://github.com/creationix/brozula)
(To be implemented)
-
BrowserLua.init([enabled_backends])
-
BrowserLua.doString(lua_code, [chunkname])
-
BrowserLua.callLua(functionName, args, ...) --> array of return values
-
BrowserLua.provideFile(path, file_contents_string)
-
BrowserLua.doFile(path)
-
BrowserLua.callJS(functionName, args, ...) --> return value
-
BrowserLua.dofile(filename)
-
BrowserLua.loadfile(filename, chunkname)
-
BrowserLua.initWrapper()
Does the equivalent of this:
getenv().dofile = BrowserLua.dofile
getenv().loadfile = BrowserLua.loadfile
(To be designed and implemented)
- Data manipulation API just like lua-alchemy sugar.
- For JS (to manipulate Lua data)
- For Lua (to manipulate JS data)
- Modules, native to backend
- socket module (imitating luasocket.*)