« Return to Thread: elem of infinite set of tuple

elem of infinite set of tuple

by leledumbo :: Rate this Message:

Reply to Author | View in Thread

I don't know how Haskell should behave on this. Consider this function:
elemOf (x,y) = (x,y) `elem` [ (a,b) | a <- [0..], b <- [0..] ]

If I try to query elemOf (1,1), the program keeps searching and searching but it never makes it. But if I query elemOf (0,1) (or anything as long as the first element is 0), it can find it easily. I wonder how it's handled.

From my point of view, instead of starting from (1,0), the program starts from (0,0), which will never finish since the limit of the second element is infinite.

 « Return to Thread: elem of infinite set of tuple