packages feed

liquidhaskell-0.4.0.0: tests/neg/meas7.hs

module Meas () where

-- some tests for the 'expandDefaultCase' trick to case-split 
-- on the "missing" constructors.

mylen          :: [a] -> Int
mylen []       = 0
mylen (_:xs)   = 1 + mylen xs


{-@ foo :: [a] -> {v: Int | v = 0} @-}
foo :: [a] -> Int
foo zs = case zs of
           [] -> 0
           _  -> mylen zs