packages feed

liquidhaskell-0.8.0.2: tests/todo/Plus.hs

module Plus where

go :: Int -> Int -> Int -> Int
{-@ go :: x:Int -> y:Int -> {v:Int|v = x-y+1} -> Int @-}
go _ _ _ = undefined


go' :: Int -> Int -> Int -> Int
{-@ go' :: x:Int -> y:Int -> {v:Int|v = (x-y)+1} -> Int @-}
go' _ _ _ = undefined


bar x y z 
  = if z then go x y (x-y+1) 
         else go' x y (x-y+1)