[Haskell-cafe] Re: Is Haskell a 5GL?
Ch. A. Herrmann
herrmann at uni-passau.de
Thu Oct 5 04:48:33 EDT 2006
Hi,
Henning Thielemann wrote:
> ...
>
>The notation
> [f x | x <- xs]
> describes operations on list elements, and looks like the imperative
> "forall x in xs do f x",
>whereas
> map f xs
> is a list transformation. The second one is more abstract, isn't it?
>
>
for that simple example yes, but what's about list comprehensions like:
sequence of parsers:
(p <+> q) r = [ (f (x,y), r2) | (x, r1) <- p r, (y, r2) <- q r1 ]
or triples:
[ (x,y,z) | x<-[1..n], let x2=x*x, y<-[1..x], let y2=y*y, let z=isq
(x2,y2), x2+y2==z*z ]
or database queries:
[ (name,salary) | ((_,name),dateofbirth,((Just salary))) <- table,
dateofbirth>1980 && salary>100000 ]
I just typed these examples but did not check them.
There are many other examples like n queens, functions on shaped
matrices etc.
Cheers
--
Christoph
More information about the Haskell-Cafe
mailing list