Hacker News new | ask | show | jobs
by octopine 5054 days ago
Is Haskell then a "Third Hand" language because it is compiled into C?
1 comments

It seems like he's using the term "third-hand" to refer to languages that merely undergo syntactic expansion in the process of translation to their target language. In the programming languages community, we often refer to this as a "desguaring" transformation, since when CoffeeScript is "compiled" to JS, the syntactic sugar is removed and replaced with JS that exactly replicates the semantics.

This is in contrast to Haskell, which undergoes a fair amount of static analysis and optimization before code generation ever happens. Also, GHC doesn't only output C, and doesn't even translate Haskell directly to C. Instead, Haskell is transformed into C-- code, and GHC can be made to target C to be compiled by GCC, as you say, or the LLVM intermediate representation, or, most commonly, machine code directly.