There was some discussion of this on the PL subreddit. I get where the author is coming from (in the sense that all transpilers are really just compilers, and trying to make too much of a distinction results in arbitrary and useless boundary setting), but I think this is too far in the other extreme.<p>The term transpiler is useful if we can use it to define meaningful groups of tools that share some attribute that we want to discuss and explore. For example, transpilers typically target much higher level languages than a lot of other compilers, this brings its own challenges that are worth discussing. Or many transpilers need to produce reasonably human-readable output, which is seldom a concern for a lot of traditional compilers.<p>These aspects are fairly nebulous and it's rarely useful to litigate the details (for example: Js_of_ocaml and Reason both turn OCaml code into JS, but only one of them has readability as an explicit design goal - does this mean only one of them is a "true" transpiler?) but it's still useful to recognise that there exists a subset of compilers that exhibit reasonably unique behaviours that present their own challenges.