Peter Verswyvelen wrote:
> In Haskell, a data constructor can be used partially applied:
> data Pair a b = P a b
>
> f = P 1
>
> however, I cannot do "partial pattern matching", e.g
>
> firstCoord (P x) = x
>
> does not work.
>
> I guess a very important reason must exist why this is the case?
>

What would be the type of firstCoord?


Typically, you'd use

data Pair a b = P { firstCoord :: a
                  , secondCoord :: b
                  }

or

firstCoord (P x _) = x
secondCoord (P _ y) = y


Regards,

-- 
Jochem Berndsen | joc...@functor.nl
GPG: 0xE6FABFAB
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to