[Haskell-cafe] Basic question....

Janis Voigtlaender voigt at tcs.inf.tu-dresden.de
Fri Aug 17 09:16:06 EDT 2007


----- Ursprüngliche Nachricht -----
Von: "rodrigo.bonifacio" <rodrigo.bonifacio at uol.com.br>
Datum: Freitag, August 17, 2007 3:11 pm
Betreff: [Haskell-cafe] Basic question....

> 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.





More information about the Haskell-Cafe mailing list