On 7/19/07, Jason Dagit <[EMAIL PROTECTED]> wrote:
On 7/19/07, Dan Weston <[EMAIL PROTECTED]> wrote:
> Oops, you got me. I didn't even look at the third line, I just took it
> from the previous post. My first instinct actually was to write:
>
> allEqual x@(h:t) = and (zipWith (==) x t)
I prefer,
allEqual [] = True
allEqual xs = foldl1 (==) xs
But, unfortunately, it's not a one liner like yours (unless you allow
allEqual [] = undefined).
Oh and silly me, that only works for [Bool].
I'll hushup :)
Jason
>
> but I don't think that zipWith is allowed in the question.
>
> Dan
>
>
> Antoine Latter wrote:
> > On 7/19/07, Dan Weston <[EMAIL PROTECTED]> wrote:
> >>
> >> I would define:
> >>
> >> allEqual [] = True
> >> allEqual [_] = True
> >> allEqual (x1:x2:xs) = (x1 == x2) && allEqual xs
> >
> > What does this function do for "allEqual [1, 1, 2]" ?
> >
> > Antoine
> > _______________________________________________
> > Haskell-Cafe mailing list
> > [email protected]
> > http://www.haskell.org/mailman/listinfo/haskell-cafe
> >
> >
>
>
> _______________________________________________
> Haskell-Cafe mailing list
> [email protected]
> http://www.haskell.org/mailman/listinfo/haskell-cafe
>
>
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe