liquidhaskell-0.9.0.2.1: tests/pos/LogicCurry1.hs
module LogicCurry1 where
{-@ LIQUID "--higherorder" @-}
{-@ LIQUID "--maxparams=5" @-}
{-@ measure ackF :: Int -> Int -> Int @-}
{-@ assume ack :: n:Int -> {v: (x:Int -> {v:Int | v == ackF n x}) | v == ackF n } @-}
ack :: Int -> Int -> Int
ack = undefined
bar :: Int -> Int -> Int
{-@ bar :: n:Int -> {v:_ | v == ackF n } @-}
bar m = ack m
main :: IO ()
main = pure ()