hengestone / lua-languages Goto Github PK
View Code? Open in Web Editor NEWLanguages that compile to Lua
License: Mozilla Public License 2.0
Languages that compile to Lua
License: Mozilla Public License 2.0
roblox-py is something I made like roblox-ts but for python. it works almost perfectly.
I'm particularly interested in reusing LuaJIT on bytecode level. As far as I can see my Oberon implementation currently seems to be the only one directly compiling to LuaJIT bytecode, i.e. everyone else seems to transpile to Lua source code (maybe there is another language doing this which I missed up to now). The major disadvantage of Lua as an intermediate language is the fact that line numbers reported by the debugger refer to the wrong source file (the intermediate Lua instead of the original source). I implemented a full IDE (https://github.com/rochus-keller/oberon/#oberon-ide-features) which - with a slight modification of LuaJIT - even supports row and column numbers (not only row numbers as with the original Lua engines). I don't see a way how to do this when Lua is the intermediate language. Also worth mentioning that the Oberon code compiled to bytecode runs nearly the same speed as the Oberon to native compiled version and twice as fast as the Oberon to Lua source code transpiled version (see https://github.com/rochus-keller/Oberon/blob/master/testcases/Hennessy_Results).
For me (and maybe others too) it would be helpful to explicitly track on the list which languages compile to Lua source code or LuaJIT bytecode. For people who would like to implement a bytecode backend you could add https://github.com/rochus-keller/LjTools and https://github.com/franko/luajit-lang-toolkit. Thanks.
https://github.com/TypeScriptToLua/TypeScriptToLua
Is apparently used in https://github.com/chgibb/hydro-sdk
It's a typed dialect of Lua:
https://github.com/hishamhm/tl
Here is yet another one which you could add to your list: https://github.com/richardhundt/shine
And have you been aware of TvmJIT (I wasn't so far)? Here is a link: https://github.com/perl11/tvmjit. It implements an s-expression based language on top of LuaJIT.
Nelua by default compiles to C, but it can compile to Lua too although not its main goal.
https://github.com/edubart/nelua-lang
Howdy, I was doing some digging and discovered another language that complies into Lua called Erde.
I also discovered another language called Wren, but I don't believe it compiles into Lua but its extremely similar to Lua.
Slua doesn't compile from c to lua, but from lua to c. Clua32 is a compiler written in lua for c, but it compiles to native code.
There's a Python-to-Lua compiler called python-lua, but it isn't included in this list of Python-to-Lua compilers. Should this compiler be included in the list?
https://github.com/devcat-studio/kailua
It's optional type cheker for Lua. It also supports VS code IDE.
I am interest in functional language. but i don't know how to build listed project.
I only build Hypatia success. all other falled.
Functional
https://amulet.works/ An ML-like functional programming language that transpiles to lua
https://github.com/kindl/Hypatia Hypatia, an ML-like language that transpiles to Lua
https://github.com/ptol/oczor Haskell-like language that compiles to Lua, Javascript, Emacs lisp and Ruby
https://github.com/iitalics/Lua-ML Basic ML language
https://github.com/hengestone/pumpkin ML-like language with an experimental Lua back-end
https://github.com/minoki/LunarML A Standard ML compiler that produces Lua
I believe this could go under the Binary Compiled Lua Like section?
Its got Lua Syntax kinda... It may be a stretch.
https://github.com/coetaur0/nox This is a functional, statically typed programming language that I've been working on and which compiles to Lua.
https://github.com/sctb/lumen
Sadly it does not seem like it is maintained.
now we have another python to lua transpiler , please add it to the list
https://github.com/MhadhbiXissam/pythonicLua
Nice collection, just discovered now. In case you're interested, this code currently translates Oberon-07 to LuaJIT specific Lua source code: https://github.com/rochus-keller/Oberon/. Here is an article describing the concepts: https://medium.com/@rochus.keller/implementing-call-by-reference-and-call-by-name-in-lua-47b9d1003cc2. A direct to bytecode compiler is on its way. The goal is to have an easy to handle platform to implement various frontends of statically/strongly typed languages, leaner than an LLVM solution, and easier and faster than the RPython toolchain.
There is already some infrastructure for LuaJIT bytecode analysis and an alternative interpreter implementation for exploration purpose: https://github.com/rochus-keller/LjTools.
I've just noticed that Amulet is no longer being maintained and the owner of the Github repo has archived it. Is it okay for Amulet to stay on, or should there be a different section/category called archived languages?
I suggest, that the majority of people come to this list, to find a transpiler to Lua, that is actually working.
Can we adjust the list accordingly?
Currently, its a pain to read through it, since 80% of languages are not useful anyway.
I could send the PR.
https://github.com/gijit/gi translates Go into Lua. It targets LuaJIT for 64-bit integer support.
This is neither a completely new language, nor a JS to Lua compiler. Just an alternative syntax with syntaxic sugar that is missing in Lua.
https://github.com/saharNooby/lua-js-syntax
Also, other similar projects (not mine) you may be interested in:
It also now supports C, C++, and Lunar (a modified version a MoonScript made for roblox.
Also its name has been changed to roblox-pyc and the link to the github has the new name.
Originally posted by @hengestone in #45 (comment)
Hey there, I was looking for Javascript and/or Typescript compilers when I found this list.
Some of the compilers linked here are returning 404. I cant find if they were moved to somewhere or just deleted.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.