[Haskell-beginners] Pattern matching over functions
Giacomo Tesio
giacomo at tesio.it
Wed Dec 7 11:34:28 CET 2011
Hi Haskellers,
I'm wondering why, given that functions and referential transparency are
first class citizens in haskell, it isn't possible to write a mapping
function this way:
f1 :: a -> b
f2 :: a -> b
f3 :: c -> a -> b
map :: (a -> b) -> T a -> T b
map f1 = anEquivalentOfF1InTCategory
map f2 = anEquivalentOfF2InTCategory
map f3 $ c = anEquivalentOfF3withCInTCategory
map unknown = aGenericMapInTCategory
Is it "just" the implementation complexity of the feature in ghc that
prevents this?
Or is it "conceptually" wrong?
At a first look, I thought that most of complexity here should be related
to function's equality, but than I thought that the function full name
should uniquely map from the category of meanings in the programmer mind to
the category of implementations available to the compiler's.
Giacomo
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/beginners/attachments/20111207/b4177171/attachment.htm>
More information about the Beginners
mailing list