From 744083442a869d45968611b333533473fd832507 Mon Sep 17 00:00:00 2001 From: Gregor Kleen Date: Wed, 10 Aug 2016 17:23:51 +0200 Subject: cleanup instances of Bindable --- events/src/Events/Spec/Types.hs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/events/src/Events/Spec/Types.hs b/events/src/Events/Spec/Types.hs index 1f319c7..cc3c4e4 100644 --- a/events/src/Events/Spec/Types.hs +++ b/events/src/Events/Spec/Types.hs @@ -44,14 +44,14 @@ instance (Val m a ~ m a, Bindable m b) => Bindable m (m a -> b) where liftE :: (m a -> b) -> Expr m (a ': Ctx m b) (Fin m b) liftE = (EPri :: (Val m a -> Expr m (Ctx m b) (Fin m b)) -> Expr m (a ': Ctx m b) (Fin m b)) . ((liftE :: b -> Expr m (Ctx m b) (Fin m b)) . ) -instance {-# OVERLAPPABLE #-} (Val m a ~ m a, Val m b ~ m b, Ctx m (m b) ~ '[], Fin m (m b) ~ b) => Bindable m (m a -> m b) where - liftE :: (m a -> m b) -> Expr m '[a] b - liftE = EPri . (EVal .) - instance (Val m a ~ m a, Fin m (m a) ~ a, Ctx m (m a) ~ '[]) => Bindable m (m a) where liftE :: m a -> Expr m '[] a liftE = EVal +instance {-# OVERLAPS #-} (Applicative m, Val m a ~ m a, Fin m a ~ a, Ctx m a ~ '[]) => Bindable m a where + liftE :: a -> Expr m '[] a + liftE = EVal . pure + type Spec m = Expr (Eval m) '[] () -- cgit v1.2.3