You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hydra uses Hindley-Milner type inference, but its actual type grammar has moved on from Hindley-Milner to System F. Rather than inferring type schemes, Hydra must now infer forall types -- the main difference being the ordering of type variables. Since the algorithm is still Hindley-Milner, forall types will only be produced at the top level; they will be eliminated from subterms. Previously, all elements (top-level terms with names) had to be manually annotated with types anyway, so there was no need to get forall types right. Now it should be possible to omit all type annotations except in the case of cycles.
The text was updated successfully, but these errors were encountered:
We are actually going back to type schemes for now. Again, the overriding concern right now is translatability, although symmetry between the term grammar and the type grammar is still a concern as well. Every let-binding is potentially annotated with a type scheme, and type variables are not introduced anywhere else.
Hydra uses Hindley-Milner type inference, but its actual type grammar has moved on from Hindley-Milner to System F. Rather than inferring type schemes, Hydra must now infer forall types -- the main difference being the ordering of type variables. Since the algorithm is still Hindley-Milner, forall types will only be produced at the top level; they will be eliminated from subterms. Previously, all elements (top-level terms with names) had to be manually annotated with types anyway, so there was no need to get forall types right. Now it should be possible to omit all type annotations except in the case of cycles.
The text was updated successfully, but these errors were encountered: