ghc-typelits-presburger-0.4.0.0: test/ErrorsWithPlugin.hs
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE GADTs #-}
{-# OPTIONS_GHC -fdefer-type-errors #-}
{-# OPTIONS_GHC -fplugin GHC.TypeLits.Presburger #-}
module ErrorsWithPlugin where
import Shared
zipMVec :: Vec n a -> Vec n b -> Vec n (a, b)
zipMVec Nil Nil = Nil
zipMVec zs@(a :- as) (b :- bs) = (a, b) :- zipMVec zs bs
spin :: Vec n a -> Vec n a -> ()
spin _ _ = ()
unSpin :: Vec n a -> ()
unSpin Nil = ()
unSpin zs@(_ :- ws) = spin zs ws