Skip to content
andigena edited this page Feb 19, 2018 · 5 revisions

Frequently asked questions

Table of Contents

Why doesn't my code compile / works differently than expected?

OneLang does not guarantee that your code will compile, even if it's syntactically and semantically correct. Even if it compiles, OneLang does not guarantee that it will run the same way or give the same result as on the source language.

Quite the contrary, OneLang is merely a tool which makes somewhat limited syntax transformations between languages, but it is still your responsibility to

  • understand how OneLang works (currently it is lacking documentation)
  • understand how the target languages work
  • post-process the generated code to satisfy your requirements
  • rigorously test your compiled code so that it behaves the same way through all target platforms

So basically don't expect OneLang (at least in its current state) to be a fully working transpiler or code converter and especially do not try to convert existing code.

It's the best if you change your mental picture of OneLang as fast as you can, and do not try to use it for jobs it cannot handle.

Of course the capabilities of OneLang will grow over time, but this will probably take years.

Why doesn't OneLang accept my syntactically correct source code?

When you are writing code in eg. "TypeScript" for OneLang, you are actually writing OneLang code via a "TypeScript"-like frontend, but it is not TypeScript code, it is OneLang code, thus it works (and it will work) differently.

You can use only a limited subset of the input language, but this is not documented anywhere.

What is the stability / maturity of the project?

The project is in a proof-of-concept state, meaning some stuff may work sometimes, but don't expect anything. Play with it if you want, but don't try to use it anywhere near production.

There is no documentation, nor tests.

Where is the documentation?

There is no such thing. Your best chance is to go through the test inputs and try to learn from those what can and cannot be done. But even some of those test inputs are broken, too.

When will it be done?

Maybe never. Even if we assume that done can be defined in some way at all. OneLang is a fun experiment of mine, but I don't intend to finish it at any cost. Actually if the project does not find a few core contributors and/or financial support, then I will probably stop developing it.

If you want to see OneLang in production then I would consider supporting the project (see the next section).

Do you need help? Can I help you?

Yes, of course, I do need a ton of help. If you can develop stuff and you are willing to spend your free time on the project, then contact me (Github, Gitter).

You can also support me / the project financially via Patreon, this money will be spent primarily on the required OneLang infrastructure and secondarily will support me directly to be able to spend more time on OneLang.

If you think OneLang could be really valuable for your company, even if you have to spend massive amount of resources and money on it, then consider taking over the whole project. If you or somebody you know is interested in such kind of things, the contact me (Github, Gitter).