Skip to content
Tamás Koczka edited this page Feb 4, 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, give the same result as on the source language.

Quite the contrary, OneLang merely a tool which makes somewhat limited syntax transformation 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 that it behaves the same way through all target platforms

So basically don't expect from OneLang (at least in its current state) that it's a 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 only 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 be done and what not from those. 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 fun experiment of mine, but I don't have intentions to finish it at any cost. As it is a hobby project, I especially don't want to make myself keep any deadlines.

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

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 spent primarily for the required OneLang infrastructure and secondarily will support me directly to 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).

Clone this wiki locally