
----- Ursprüngliche Nachricht -----
Von: "rodrigo.bonifacio"
Hi all.
I want to create the following polymorphic type (EnvItem) that we can apply two functions (envKey and envValue). I tried the following:
type Key = String
data EnvItem a = EnvItem (Key, a)
envKey :: EnvItem (Key, a) -> String envKey EnvItem (key, value) = key
envValue :: EnvValue(Key, a) -> a envValue EnvItem (key, value) = value
But this is resulting in the error: [Constructor "EnvItem" must have exactly 1 argument in pattern]
I think this is a very basic problem, but I don't know what is wrong.
You are simply missing some brackets:
envKey :: EnvItem (Key, a) -> String envKey (EnvItem (key, value)) = key
envValue :: EnvValue(Key, a) -> a envValue (EnvItem (key, value)) = value
Ciao, Janis.