haskell-mafia / projector

A typed, total templating language
BSD 3-Clause "New" or "Revised" License
7 stars 7 forks source link

Polymorphism #17

Open thumphries opened 7 years ago

thumphries commented 7 years ago

Needs to be restricted to Hindley-Milner power or less.

Full H-M is probably the way to go.

Will always need type annotations on record projections and sum constructors, as they're naturally ambiguous. Frontend can inject them easily.

thumphries commented 7 years ago

Moving to v2 as (afaik) this is only needed for internal simplification and hypothetical scenarios

thumphries commented 7 years ago

Added Forall and explicit instance constraints in #238

Missing implicit instance handling for user-provided type signatures, need to figure out generalise in a way that doesn't break everything