
kellysmith12.21
2021-3-16 01:33:07
@samth While implementing a type system, I ran into a confusing bug, only to discover that I made the mistake of treating forall types as constructors, and it reminded me of you explaining the same issue in Typed Racket.

samth
2021-3-16 01:33:39
Indeed, don’t do that!

notjack
2021-3-16 03:33:44
huh, why shouldn’t that be done?

kellysmith12.21
2021-3-16 03:38:01
Type constructors are functions from types to types, whereas a forall type is the type of a function from types to values, which means it isn’t a type constructor at all.

notjack
2021-3-16 03:39:54
Ahh, gotcha, that makes sense