packages feed

liquidhaskell-0.8.10.7: tests/measure/pos/PruneHO.hs

module PruneHO where

-- test that you suitably deal with _pruned_ higher order binders.
-- CURRENTLY, this works with --reflection because we don't nuke 
-- the TUPLE CONTAINING `incr` from the env; note that `snd p` 
-- introduces the "malformed" refinement `v = snd p` but `p` is 
-- HIGHER order and so is nuked, causing the problem.

incr :: Int -> Int 
incr x = x + 1 

{-@ foo :: Nat @-}
foo :: Int 
foo = snd (incr, 12)