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