
Hi guys, There is something I think not to fully understand: what are the differences between these two type synonyms? type FInt x = Either One x type FInt = Either One Their kind is the same, so do they differ or are exactly the same type? Thanks, hugo

On Wednesday 26 March 2008, Hugo Pacheco wrote:
Hi guys,
There is something I think not to fully understand: what are the differences between these two type synonyms?
type FInt x = Either One x type FInt = Either One
Their kind is the same, so do they differ or are exactly the same type?
The difference comes in that type synonyms must be fully applied to all the type parameters listed in their declaration. So, for instance, with the second, you could declare (with a type synonym instances extension), say: instance Monad FInt where ... But you could not with the first, because FInt would be partially applied; the first needs to always appear as 'FInt x' for some x. -- Dan
participants (2)
-
Dan Doel
-
Hugo Pacheco