The current version of Sempiler core is 0.1.39.
- NOT to be confused with the version number for each distro.
Sempiler is currently available in the following formats:
Sempiler currently supports the following languages as source code input:
TypeScript is a suitable source language for the project given it’s expressive, modern syntax and well defined type system.
Sempiler currently supports the following targets for native code emission:
C++ is still incredibly popular and will continue to be given it’s role as the de facto language of choice for the AAA game industry and CPU intensive projects like TensorFlow.
By targeting C++ we can write truly native desktop apps on platforms like Windows without needing to host them inside a virtualization layer.
We can even build WASM web apps by using emscripten stub APIs in TypeScript, and sempiling to C++ 🤖
Initial Swift support was introduced shortly after C++ because it is fundamentally different semantically from the C family of languages, which helped in establishing the validity of the sempiler concept.
Moreover, it allows us to sempile to truly native mobile apps from a web language without the use of a heavy framework or virtual machine on the client.
And More to come…
The project is in the early stages so we thank you for your patience, and greatly appreciate your interest.
Issues & Requests
Bug reports and feature requests can be submitted on the Github repository.
General questions and comments can be submitted via Twitter.
If the problem is missing support for a language construct please submit this as a feature request rather than a bug.
In either case please include the following (where applicable):
- Clear description
- Steps to reproduce
- Example source code
- Environment specs
This information will be conducive to a focused and efficient discussion.
Please always be respectful to other community members - no matter how frustrating a bug or missing feature is!
If you would like to write stub APIs for core symbols or popular libraries on target platforms that would be awesome!
For now please submit them as a feature request for us to include them on
Extending both the source and target languages is an ongoing goal for the Sempiler project, and each one added helps validate the idea of semantic transpilation.
For now please submit a new language feature request to get a dialog going.