packages feed

liquidhaskell-0.9.0.2.1: tests/pos/State00.hs

module State00 () where

type State  = Int
data ST a b = Superb (b -> (a, b)) 

{-@ fresh :: ST {v:Int | v >= 0} {v:Int | v >= 0} @-}
fresh :: ST Int Int
fresh = Superb (\n -> (n, n+1))