liquidhaskell-0.8.10.7: tests/synthesis/static/ListZipWith.hs
{-@ LIQUID "--typed-holes" @-}
module ListZipWith where
import Language.Haskell.Liquid.Synthesize.Error
{-@ zipWith' :: f: (a -> b -> c)
-> xs: [a]
-> { ys: [b] | len ys == len xs}
-> {v: [c] | len v == len xs }
@-}
zipWith' :: (a -> b -> c) -> [a] -> [b] -> [c]
zipWith' x_S0 x_S1 x_S2 =
case x_S1 of
[] -> []
(:) x_St x_Su ->
case x_S2 of
[] -> error " Dead code! "
(:) x_S1d x_S1e -> (:) (x_S0 x_St x_S1d) (zipWith' x_S0 x_Su x_S1e)