- Live demo on https://ide.onelang.io
- Compiler backend documentation on Wiki
- Run locally:
git clone --recursive https://github.com/koczkatamas/onelang,
What is OneLang.io?
OneLang has a hard time defining itself.
Some may call it a transpiler, a special compiler which can compile source code from an input language to another. Those will have a hard time using it, as OneLang has its own rules and does not respect those of the input language, sometimes not even its syntax.
So the question arises, is OneLang a new programming language? Although we can talk about it with words like object-oriented or generic or strongly-typed, it has its own type system and AST, would you call something a programming language which does not have its own syntax?
Thus let's just define OneLang as the following for the time being: OneLang is a tool which helps writing code in multiple langauges at the same time.
It doesn't solve the problem for you, it just helps you a bit in it. You still need to master the target languages and OneLang to be able to produce anything usable.
So you may ask:
What is its purpose?
OneLang is the love child of @koczkatamas and it was not a planned child. It just happened to be conceived on a long flight home from Vegas.
Thanks to its luck and its parent's enthusiasm for understanding different programming languages, it survived the threatening monster of early abortion (this sadly cannot be said about its brother and sister projects which may rest in peace in the Git heavens...)
So in the end, we can say OneLang came into this world without explicit purpose.
Maturity of OneLang
OneLang is six months old at the time of writing and it already speaks, but don't expect any comfortable conversation with it yet. It cannot grow without a loving family, and as a single dad I cannot take care of it alone. It needs more mommies and daddies who can help raise it up.
- Haxe: https://haxe.org/
- progsbase: https://www.progsbase.com/
- Universal-transpiler: https://jarble.github.io/transpiler/
- pseudo: https://github.com/pseudo-lang/pseudo