Am Mittwoch 09 Dezember 2009 01:59:21 schrieb zaxis:
> findHelper (x:xs) = do -- not lazy, but that's not really important here
>         filex  <- fileExists (file  x)
>         filex' <- fileExists (file' x)
>         case () of
>             _
>
>                 | filex     -> return $ Just $ file  x
>                 | filex'    -> return $ Just $ file' x
>                 | otherwise -> findHelper xs

Such a 'case' is a typographically more pleasant way to test multiple 
alternatives than a 
nested if-then-else chain.

With an if-then-else chain, the code would wander to the right and be less 
easily 
followed. Using a

case () of
  _ | condition1 -> thing1
    | condition2 -> thing2
    | condition3 -> thing3
    ...

you can nicely align all possibilities. Since the 'case' here is extraneous to 
the code 
logic and serves only aesthetic ends, such a practice may be frowned upon.

>
>     file  x = foldl1 joinFileName (x ++ [helper])
>     file' x = (file x) ++ (getConfig "exe_ext")
>
> Sincerely!
>


_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to