[Haskell-cafe] order of arguments matters
Roel van Dijk
vandijk.roel at gmail.com
Fri Mar 18 12:13:47 CET 2011
I checked out the GHC documentation on the GADTs extension [1]:
"The key point about GADTs is that pattern matching causes type
refinement."
So in
tr2 (Tree Int) (Node _ (t:_)) = Node 1 [t]
the 'a' in 'Type a' is refined to 'Type (Tree a)'.
But in
tr1 (Node _ (t:_)) (Tree Int) = Node 1 [t]
you want to "generalise" the type 'Tree a' to 'Type (Tree a)', which
is not possible.
1 - http://www.haskell.org/ghc/docs/7.0-latest/html/users_guide/data-type-extensions.html#gadt
More information about the Haskell-Cafe
mailing list