-- FIXED.
{- A problem in translating do-notation into the equivalent form using
>>=, etc. nhc13 fails to check if `[a]' is failure-free and complains
with the following internal compiler error:
/grp/haskell/mw-nhc13/lib/IRIX/nhc13comp: Error: No match in _nofail
Doing the translation by hand works fine (it's commented out below the
do-notation version). Using `(a:_)' or `(a:[])' instead of `[a]' in
the do-notation makes it work fine also.
Hugs and HBC work fine. -}
list :: [[Bool]]
list = do [a] <- return [True]
return [a]
{-
list = return [True] >>= \[a] ->
return [a]
-}
main = print list
|