
27 May
2007
27 May
'07
9:12 a.m.
junkywunky:
That's the thing. I want to return a list of people who are not overdrawn. Something like:
type NI = Int type Age = Int type Balance = Int type Person = (NI, Age, Balance) type Bank = [Person]
credit :: Bank -> [Person] credit [(a,b,c)] = [(a,b,c)] if c >= 0 then [(a,b,c)] else error "overdrawn customer"
except this doesn't work with things like:
Right, you mean to write a list filter. List comprehensions are useful for this: credit xs = [ p | p@(a,b,c) <- xs, c >= 0 ] or maybe: credit xs = filter ok xs where ok (a,b,c) = c >= 0 -- Don