Conversation

mmmm I seeeeee so is the phase distinction and subsequent erasure of types what “statically typed” means or is that slightly different? I’m used to thinking of it as “dealt with at compile time” but wasn’t aware haskell deals with them (in part) by abandoning them in the result!
2
1
These are often conflated, but they don't need to be. For example languages with full-spectrum dependent types are ‘statically typed‘, but *lack* a clear phase distinction, which can make it trickier to erase/specialise stuff and hence compile them to fast code.
1
1