3 ms·
Transpilation usually refers to the fact the target of your compiler is another language source code, which then has to be parsed again. Which leads to issues s
by josevalim 2y ago
Transpilation usually refers to the fact the target of your compiler is another language source code, which then has to be parsed again. Which leads to issues such as mismatched lines in stacktraces at runtime. Elixir and LFE use the same compiler tooling as Erlang, but the source is parsed just once, and all line information pertains to the original Elixir/LFE source code.
- lpil 2y agoGleam also uses that same compiler tooling, though it does not embed the line information presently.
- josevalim 2y agoYes, it all goes through the same pipe, but we enter the pipe through different places, which leads to different outcomes. You get different limitations and results depending if your input is Erlang source (Gleam), Erlang AST (Elixir), or Core Erlang AST (which is what LFE used in the past but I am not sure if it is still the case).
- lpil 2y agoExactly! Beyond line numbers in stack traces it’s all the same.