[Haskell-cafe] Empty Input list

Ketil Malde ketil at malde.org
Tue Mar 13 09:24:37 CET 2012

Kevin Clees <k.clees at web.de> writes:

> Now my function looks like this: 
> tmp:: [(Int, Int)] -> Int -> (Int, Int)
> tmp [] y = (0,0)
> tmp xs y = xs !! (y-1)

> If the function returns (0,0) it will blocked by another  function. 

Personally, I think using "special" values like this is a code smell,
and indicates poor design.  There are many implicit assumptions, for
instance that (0,0) isn't already a member of the input list, and that
this is correctly handled by surrounding functions.  Generally, it's
much more desirable to encode this in the types, so I would vastly
prefer the Maybe solution in almost all cases, which makes these
assumptions explicit.

If I haven't seen further, it is by standing in the footprints of giants

More information about the Haskell-Cafe mailing list