> enthralling languages to choose from that transpile neatly to JS
I wish people would stop using "transpiling". This "to transpile" verb happened in order to inform that a language such as CoffeeScript compiles without information loss to JavaScript -- i.e. they are at the same abstraction level, CoffeeScript being just syntactic sugar.
But when it comes to other languages, like Haskell, Idris, PureScript, Scala, Clojure, those languages are not at the same abstraction level and you lose information by compiling to JS.
And we have had a perfectly adequate term for naming tools that transform one programming language into another – to compile.
Transpile comes from transcompile, (nicely defined as source-to-source compiling), which refers to a subset of compiling. It's a perfectly valid term from the 80s. (I've answered this so many times, I don't care to look through my history for the sources. Feel free to.)
You're fine to get upset when people say transpiling isn't compiling.
But getting upset that people use a more specific term than you are, is verging on the overly-pedantic, and isn't going to win you any friends on the other side of the fence.
The first transcompiler produced optimised AIX assembly code from C.
By your measure, that wouldn't be considered source code. The original meaning was somewhere along the lines of "not assembled bytecode".
Why the new term then?
Compiling was commonly thought of as including what we now refer to as the assembling step. They wanted to point out they weren't doing that. Editable code, non-hex code, non-binary code, etc. was thought of as source code.
This stuff isn't worth getting upset over. Defining terms to have reasonable conversations has always been difficult.
Here, if you see compiler or transpiler, you understand a transformative process is happening, and so does everyone else.
Accusing someone of misusing a term that can mean different things to people from different backgrounds, or being "wrong", is just going to isolate you from being able to speak reasonably to them.
Our language evolves. A word from nearly thirty years ago is coming into common usage, which means that it's definition will likely change. It might become even become more specific. Most programmers using transcompilers today, don't have thirty years of experience behind them, but they will shape the usage. You can find a middle-ground with them... Or convince them your experience isn't worth listening to.
I wish people would stop using "transpiling". This "to transpile" verb happened in order to inform that a language such as CoffeeScript compiles without information loss to JavaScript -- i.e. they are at the same abstraction level, CoffeeScript being just syntactic sugar.
But when it comes to other languages, like Haskell, Idris, PureScript, Scala, Clojure, those languages are not at the same abstraction level and you lose information by compiling to JS.
And we have had a perfectly adequate term for naming tools that transform one programming language into another – to compile.