liquidhaskell-0.8.2.0: tests/todo/CatMaybes.hs
module Fixme where
import qualified Data.Set
{-@ foo :: x:[a]
-> {v:[a] | Set_sub (listElts v) (listElts x)}
@-}
foo = catMaybes . map bar
where
catMaybes [] = []
catMaybes (Nothing:xs) = catMaybes xs
catMaybes (Just x : xs) = x:catMaybes xs
bar :: a -> Maybe a
{-@ bar :: x:a -> Maybe {v:a | v = x } @-}
bar x = if prop x then Nothing else Just x
{-@ prop :: a -> Bool @-}
prop :: a -> Bool
prop = undefined