[Haskell-cafe] Producing MinimumValue
Alexteslin
alexteslin at yahoo.co.uk
Thu Jul 19 16:27:25 EDT 2007
What wrong with my original solution?
allEqual2 :: [Int] -> Bool
allEqual2 xs = length xs == length (filter isEqual xs)
where
isEqual n = (head xs) == n
It looks simpler to me
Dan Weston wrote:
>
> The real lesson here is that
>
> 1) no problem is "too easy" to cheat good software engineering practices.
> 2) no solution not accompanied by at least a QuickCheck result should be
> viewed with suspicion
>
> I obviously have to go back and relearn these lessons.
>
> Dan
>
> Jason Dagit wrote:
>> On 7/19/07, Jason Dagit <dagit at codersbase.com> wrote:
>>> On 7/19/07, Dan Weston <westondan at imageworks.com> 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 <westondan at imageworks.com> 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
>>> > > Haskell-Cafe at haskell.org
>>> > > http://www.haskell.org/mailman/listinfo/haskell-cafe
>>> > >
>>> > >
>>> >
>>> >
>>> > _______________________________________________
>>> > Haskell-Cafe mailing list
>>> > Haskell-Cafe at haskell.org
>>> > http://www.haskell.org/mailman/listinfo/haskell-cafe
>>> >
>>> >
>>>
>>
>>
>
>
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
>
>
--
View this message in context: http://www.nabble.com/Producing-MinimumValue-tf4106379.html#a11697071
Sent from the Haskell - Haskell-Cafe mailing list archive at Nabble.com.
More information about the Haskell-Cafe
mailing list