packages feed

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 @-}