liquidhaskell-0.8.0.0: tests/pos/ResolveA.hs
module ResolveA where
import qualified ResolveB as RB
import qualified ResolveB
{-@ measure getFooA :: Foo -> Int
getFooA (Foo x) = x
@-}
data Foo = Foo Int
y = RB.Foo 1
z = RB.A
{-@ qualif NotA(v:RB.Bar): (notA v) @-}
{-@ measure notA :: RB.Bar -> Bool
notA (RB.A) = false
notA (RB.B) = true
notA (RB.C) = false
@-}
{-@ predicate NotA V = V != RB.A @-}