The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning. Learn more →
Top 23 Transpiler Open-Source Projects
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
fut
Fusion programming language. Transpiling to C, C++, C#, D, Java, JavaScript, Python, Swift, TypeScript and OpenCL C.
-
aesara
Aesara is a Python library for defining, optimizing, and efficiently evaluating mathematical expressions involving multi-dimensional arrays.
-
rickroll-lang
The Rick Roll programming language is a rickroll based, process oriented, dynamic, strong, esoteric programming language. All of the keywords/statements are from Rick Astley's lyrics. Check our tutorial site, https://rick-lang.github.io/programming-language-explainer/
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
Project mention: Node Test Runner vs Bun Test Runner (with TypeScript and ESM) | dev.to | 2024-04-26It has a decent compatibility with both Jest and Vitest's APIs (you can track progress here so you can use it as almost a drop-in replacement for either. Just as Node's, it has describe/it, mock, test and others, but with the expect syntax (which I find more readable). For example:
Project mention: Wax compiler – a tiny language designed to transpile to other languages | news.ycombinator.com | 2024-04-19This remineds me of Haxe[1]. I like Wax better because of the Common-Lisp-like syntax.
[1]: https://haxe.org
Project mention: The Future of MySQL is PostgreSQL: an extension for the MySQL wire protocol | news.ycombinator.com | 2024-04-26This is probably referring to "zero changes to your driver code" and not "zero changes to the SQL you send over this driver".
Translating between SQL dialects is notoriously hard and attempts to translate [1] are working in 95% of cases. But the last 5% would require 5x amount of work. That's because "SQL dialect" also includes weird edge cases of type inference of things like COALESCE(5, FALSE) and emulation of system catalogs (pg_catalog, information_schema).
[1] https://github.com/tobymao/sqlglot
A recent practical example of the former: the fish shell re-wrote incrementally from C++ to Rust, and is almost finished https://github.com/fish-shell/fish-shell/discussions/10123
An example of the latter: c2rust, which is a work in progress but is very impressive https://github.com/immunant/c2rust
It currently translates into unsafe Rust, but the strategy is to separate the "compile C to unsafe Rust" steps and the "compile unsafe Rust to safe Rust" steps. As I see it, as it makes the overall task simpler, allows for more user freedom, and makes the latter potentially useful even for non-transpiled code. https://immunant.com/blog/2023/03/lifting/
Now I like lua, and think single pass is the way to go for interpreted, since you don't have the disadvantage of a slow compile time no matter how big your codebase gets, BUT its not great to write in. things like +=, ++, are not possible, which means the only solution is to transpile into it, which has led to some good languages like moonscript[0], teal[1] which offers static type checking, an absolute must as your codebase grows.
[0]: https://moonscript.org/
Project mention: Ask HN: Why don't browsers just build a non-JS interpreter? | news.ycombinator.com | 2024-01-10
Project mention: Pylyzer – A fast static code analyzer and language server for Python | news.ycombinator.com | 2024-04-11Looking through the code, Pylyzer seems to be a thin wrapper around Erg [1]. To typecheck, it converts your Python AST to an Erg AST, then runs its through the Erg typechecker and returns the errors.
Faster typechecking for Python is very much needed. But this project seems like it was built in a hackathon —- it is not a true standalone typchecker.
[1] https://github.com/erg-lang/erg
Project mention: Bare minimum atw-style K interpreter for learning purposes | news.ycombinator.com | 2024-01-17I've just learned that Ć is no longer a viable name (thankfully). Now it's Fusion Programming Language (or fut?) https://github.com/fusionlanguage/fut
Project mention: Ask HN: Anyone Interested in Taking over Jsweet.org? | news.ycombinator.com | 2023-12-10You can take a look at https://github.com/j4ts, which contains some Java libs transpiled by JSweet to TS/JS. The AWT/Swing implementation is just a proof of concept, but some other libs are fully functional like awt/geom.
However, you have to be aware that the initial purpose of JSweet was not to port all Java libs to JS. JSweet allows the transpiler to be customized (with extensions) to map Java APIs to JS ones so that you don't necessarily need a JS runtime. It's all explained in the "Extending the transpiler" section of the core doc: https://github.com/cincheo/jsweet/blob/master/doc/jsweet-lan...
Project mention: Microsoft DeviceScript – TypeScript for Tiny IoT Devices | news.ycombinator.com | 2023-06-08These are far from perfect, but still something:
https://github.com/andrei-markeev/ts2c/
https://github.com/evanw/thinscript
If you aim for 32 bit microcontrollers then you can go with assemblyscript to wasm and then with wasm to C transpiller
Project mention: Google/j2cl: Java to Closure JavaScript transpiler | news.ycombinator.com | 2023-12-14
Visit GitHub
Project mention: CheerpJ 3.0: a JVM replacement in HTML5 and WASM to run Java on modern browsers | news.ycombinator.com | 2023-05-09
Transpiler related posts
- The Future of MySQL is PostgreSQL: an extension for the MySQL wire protocol
- Wax compiler – a tiny language designed to transpile to other languages
- Marimo: Interactive Fluffy Ball
- Transpile Any SQL to PostgreSQL Dialect
- SQLGlot: No-dependency SQL parser, transpiler, optimizer for 21 SQL dialects
- SQLglot: Python SQL Parser and Transpiler
- Haxe 4.3.4
-
A note from our sponsor - WorkOS
workos.com | 29 Apr 2024
Index
What are some of the best open-source Transpiler projects? This list will help you:
Project | Stars | |
---|---|---|
1 | bun | 70,488 |
2 | haxe | 5,957 |
3 | sqlglot | 5,511 |
4 | c2rust | 3,673 |
5 | moonscript | 3,118 |
6 | Transcrypt | 2,808 |
7 | erg | 2,582 |
8 | c2go | 2,040 |
9 | TypeScriptToLua | 1,968 |
10 | fut | 1,688 |
11 | fetlang | 1,476 |
12 | jsweet | 1,435 |
13 | ts2c | 1,220 |
14 | j2cl | 1,162 |
15 | aesara | 1,161 |
16 | Elchemy | 1,146 |
17 | OneLang | 1,094 |
18 | SVG-to-SwiftUI | 888 |
19 | Bytecoder | 858 |
20 | nimporter | 810 |
21 | rickroll-lang | 735 |
22 | ruby-next | 722 |
23 | RapydScript | 685 |
Sponsored