packages feed

liquidhaskell-0.8.0.2: tests/pos/DepData.hs

{-# LANGUAGE GADTs #-}

{-@ LIQUID "--no-measure" @-}

module DepData where

data Foo = Foo { thing1 :: Int, thing2 :: Int }

{-@ data Foo where
      Foo :: pig:Int -> thing2:{v : Int | pig < v} -> Foo
  @-}

{- data Foo = Foo { thing1 :: Int, thing2 :: {v : Int | thing1 < v } } @-}

{-@ bog :: Foo -> Nat @-}
bog :: Foo -> Int
bog (Foo x y) = y - x