packages feed

liquidhaskell-0.9.0.2.1: tests/pos/Cmptag0.hs

module Cmptag0 () where

{-@ type OList a = [a]<{\fld v -> (v >= fld)}> @-}

{-@ foo :: (Ord a) => z:a -> OList a -> [{v:a | z <= v}] @-}
foo y xs = bar y xs

bar :: (Ord a) => a -> [a] -> [a]
bar y []     = []
bar y z@(x:xs) = case compare y x of 
                   EQ -> xs
                   GT -> bar y xs
                   LT -> x:xs