[Haskell-beginners] combine pattern matching against named fields
and tuples
Thomas Davie
tom.davie at gmail.com
Tue Apr 7 03:40:02 EDT 2009
On 7 Apr 2009, at 09:30, Michael Mossey wrote:
> I'm trying to do something like this:
>
> data Thing = Thing { field1, field2 :: ( Int, Int ) }
>
> myfunc = Thing { field1 ( _, x ) } = x
>
> but it doesn't work. That is, I want to match against the second
> item of the tuple which is the named field1. I'm not just trying to
> do this particular thing, but trying to figure out if some kind of
> general pattern matching can be done like this.
Firstly, you have an extra equals in there, secondly, in a pattern
match constructions must go in parentheses, and finally, you're
missing an equals inside the record:
myFunc (Think {field1 = (_,x)}) = x
Bob
More information about the Beginners
mailing list