[Haskell-cafe] Monad instance for partially applied type constructor?

Dan Doel dan.doel at gmail.com
Wed Sep 29 15:07:54 EDT 2010


On Wednesday 29 September 2010 2:52:21 pm Christopher Done wrote:
> LiberalTypeSynonyms lets you partially apply type synonyms.

Not in general. LiberalTypeSynonyms only allows synonyms to be partially 
applied when expansions of other type synonyms will eventually cause them to 
become fully applied (or discarded, probably). So, for instance:

  type Foo a = (a, a)
  type Bar f = f Int

  Bar Foo ==> Foo Int ==> (Int, Int) -- valid

It does not make partially applied synonyms first class, such that they'd be 
able to be made instances, or parameters to datatypes, etc.

-- Dan


More information about the Haskell-Cafe mailing list