4 ms·
For tsonic (https://github.com/tsoniclang/tsonic https://github.com/tsoniclang/tsonic) which is trying to convert TS to C# and then to native binary via NativeA
by jeswin 6mo ago
For tsonic (https://github.com/tsoniclang/tsonic https://github.com/tsoniclang/tsonic) which is trying to convert TS to C# and then to native binary via NativeAOT, I took almost the opposite tradeoff from JSIR.
JSIR is optimizing for round-trips back to JavaScript source. But since in language to language conversion teh consumer is a backend emitter (C# in my case), instead of preserving source structure perfectly, my IR preserves resolved semantic facts: types, generic substitutions, overload decisions, package/binding resolution, and other lowering-critical decisions.
I could be wrong, but I suspect transpilers are easier to build if it's lowering oriented (for specific targets).