packages feed

liquidhaskell-0.9.0.2.1: 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 @-}