[Haskell-cafe] beginner's problem about lists

falseep at gmail.com falseep at gmail.com
Tue Oct 10 08:10:44 EDT 2006


Hi all,

I'm trying to implement a function that returns the shorter one of two given
lists,
something like
shorter :: [a] -> [a] -> [a]
such that shorter [1..10] [1..5] returns [1..5],
and it's okay for shorter [1..5] [2..6] to return either.

Simple, right?

However, it becomes difficult when dealing with infinite lists, for example,
shorter [1..5] (shorter [2..] [3..])
Could this evaluate to [1..5]? I haven't found a proper implementation.

Again it's ok for shorter [2..] [3..] to return whatever that can solve
the above problem correctly.
An infinite list could work, I guess, but I don't know how.

Thanks for any help.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/haskell-cafe/attachments/20061010/61b9c702/attachment.htm


More information about the Haskell-Cafe mailing list