packages feed

liquidhaskell-0.4.0.0: tests/pos/go_ugly_type.hs

module ID () where

{-@ qualif Poo(v:a, x:a, y:a): (len v) = (len x) + (len y) @-}

{-@ Decrease go 2 @-}

{-@ rev :: xs:[a] -> {v: [a] | (len v) = (len xs)} @-}
rev = go [] 
  where 
    go acc []     = acc
    go acc (x:xs) = go (x:acc) xs