packages feed

unbound 0.2.1 → 0.2.2

raw patch · 2 files changed

+3/−3 lines, 2 filesPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

API changes (from Hackage documentation)

- Unbound.LocallyNameless.Types: instance (Rep p1[a1eLi], Rep p2[a1eLj]) => Rep (Rebind p1[a1eLi] p2[a1eLj])
- Unbound.LocallyNameless.Types: instance (Rep p1[a1eLi], Rep p2[a1eLj], Sat (ctx[a1ePE] p1[a1eLi]), Sat (ctx[a1ePE] p2[a1eLj])) => Rep1 ctx[a1ePE] (Rebind p1[a1eLi] p2[a1eLj])
- Unbound.LocallyNameless.Types: instance (Rep p[a1eLe], Sat (ctx[a1ePo] p[a1eLe])) => Rep1 ctx[a1ePo] (Shift p[a1eLe])
- Unbound.LocallyNameless.Types: instance (Rep p[a1eLh], Sat (ctx[a1ePw] p[a1eLh])) => Rep1 ctx[a1ePw] (Rec p[a1eLh])
- Unbound.LocallyNameless.Types: instance (Rep p[a1eLk], Rep t[a1eLl]) => Rep (Bind p[a1eLk] t[a1eLl])
- Unbound.LocallyNameless.Types: instance (Rep p[a1eLk], Rep t[a1eLl], Sat (ctx[a1ePZ] p[a1eLk]), Sat (ctx[a1ePZ] t[a1eLl])) => Rep1 ctx[a1ePZ] (Bind p[a1eLk] t[a1eLl])
- Unbound.LocallyNameless.Types: instance (Rep t[a1eLf], Sat (ctx[a1ePR] t[a1eLf])) => Rep1 ctx[a1ePR] (Embed t[a1eLf])
- Unbound.LocallyNameless.Types: instance Rep p[a1eLe] => Rep (Shift p[a1eLe])
- Unbound.LocallyNameless.Types: instance Rep p[a1eLh] => Rep (Rec p[a1eLh])
- Unbound.LocallyNameless.Types: instance Rep t[a1eLf] => Rep (Embed t[a1eLf])
+ Unbound.LocallyNameless.Fresh: instance [overlap ok] MonadFix m => MonadFix (FreshMT m)
+ Unbound.LocallyNameless.Fresh: instance [overlap ok] MonadFix m => MonadFix (LFreshMT m)
+ Unbound.LocallyNameless.Types: instance (Rep p1[a1eRo], Rep p2[a1eRp]) => Rep (Rebind p1[a1eRo] p2[a1eRp])
+ Unbound.LocallyNameless.Types: instance (Rep p1[a1eRo], Rep p2[a1eRp], Sat (ctx[a1eVK] p1[a1eRo]), Sat (ctx[a1eVK] p2[a1eRp])) => Rep1 ctx[a1eVK] (Rebind p1[a1eRo] p2[a1eRp])
+ Unbound.LocallyNameless.Types: instance (Rep p[a1eRk], Sat (ctx[a1eVu] p[a1eRk])) => Rep1 ctx[a1eVu] (Shift p[a1eRk])
+ Unbound.LocallyNameless.Types: instance (Rep p[a1eRn], Sat (ctx[a1eVC] p[a1eRn])) => Rep1 ctx[a1eVC] (Rec p[a1eRn])
+ Unbound.LocallyNameless.Types: instance (Rep p[a1eRq], Rep t[a1eRr]) => Rep (Bind p[a1eRq] t[a1eRr])
+ Unbound.LocallyNameless.Types: instance (Rep p[a1eRq], Rep t[a1eRr], Sat (ctx[a1eW5] p[a1eRq]), Sat (ctx[a1eW5] t[a1eRr])) => Rep1 ctx[a1eW5] (Bind p[a1eRq] t[a1eRr])
+ Unbound.LocallyNameless.Types: instance (Rep t[a1eRl], Sat (ctx[a1eVX] t[a1eRl])) => Rep1 ctx[a1eVX] (Embed t[a1eRl])
+ Unbound.LocallyNameless.Types: instance Rep p[a1eRk] => Rep (Shift p[a1eRk])
+ Unbound.LocallyNameless.Types: instance Rep p[a1eRn] => Rep (Rec p[a1eRn])
+ Unbound.LocallyNameless.Types: instance Rep t[a1eRl] => Rep (Embed t[a1eRl])
- Unbound.LocallyNameless: rBind :: (Rep p[a1eLk], Rep t[a1eLl]) => R (Bind p[a1eLk] t[a1eLl])
+ Unbound.LocallyNameless: rBind :: (Rep p[a1eRq], Rep t[a1eRr]) => R (Bind p[a1eRq] t[a1eRr])
- Unbound.LocallyNameless: rEmbed :: Rep t[a1eLf] => R (Embed t[a1eLf])
+ Unbound.LocallyNameless: rEmbed :: Rep t[a1eRl] => R (Embed t[a1eRl])
- Unbound.LocallyNameless: rRebind :: (Rep p1[a1eLi], Rep p2[a1eLj]) => R (Rebind p1[a1eLi] p2[a1eLj])
+ Unbound.LocallyNameless: rRebind :: (Rep p1[a1eRo], Rep p2[a1eRp]) => R (Rebind p1[a1eRo] p2[a1eRp])
- Unbound.LocallyNameless: rRec :: Rep p[a1eLh] => R (Rec p[a1eLh])
+ Unbound.LocallyNameless: rRec :: Rep p[a1eRn] => R (Rec p[a1eRn])
- Unbound.LocallyNameless: rShift :: Rep p[a1eLe] => R (Shift p[a1eLe])
+ Unbound.LocallyNameless: rShift :: Rep p[a1eRk] => R (Shift p[a1eRk])
- Unbound.LocallyNameless.Types: rBind :: (Rep p[a1eLk], Rep t[a1eLl]) => R (Bind p[a1eLk] t[a1eLl])
+ Unbound.LocallyNameless.Types: rBind :: (Rep p[a1eRq], Rep t[a1eRr]) => R (Bind p[a1eRq] t[a1eRr])
- Unbound.LocallyNameless.Types: rEmbed :: Rep t[a1eLf] => R (Embed t[a1eLf])
+ Unbound.LocallyNameless.Types: rEmbed :: Rep t[a1eRl] => R (Embed t[a1eRl])
- Unbound.LocallyNameless.Types: rRebind :: (Rep p1[a1eLi], Rep p2[a1eLj]) => R (Rebind p1[a1eLi] p2[a1eLj])
+ Unbound.LocallyNameless.Types: rRebind :: (Rep p1[a1eRo], Rep p2[a1eRp]) => R (Rebind p1[a1eRo] p2[a1eRp])
- Unbound.LocallyNameless.Types: rRec :: Rep p[a1eLh] => R (Rec p[a1eLh])
+ Unbound.LocallyNameless.Types: rRec :: Rep p[a1eRn] => R (Rec p[a1eRn])
- Unbound.LocallyNameless.Types: rShift :: Rep p[a1eLe] => R (Shift p[a1eLe])
+ Unbound.LocallyNameless.Types: rShift :: Rep p[a1eRk] => R (Shift p[a1eRk])

Files

Unbound/LocallyNameless/Fresh.hs view
@@ -82,7 +82,7 @@ --   still globally unused, and increments the index every time it is
 --   asked for a fresh name.
 newtype FreshMT m a = FreshMT { unFreshMT :: St.StateT Integer m a }
-  deriving (Functor, Applicative, Monad, St.MonadState Integer, MonadPlus, MonadIO)
+  deriving (Functor, Applicative, Monad, St.MonadState Integer, MonadPlus, MonadIO, MonadFix)
 
 -- | Run a 'FreshMT' computation (with the global index starting at zero).
 runFreshMT :: Monad m => FreshMT m a -> m a
@@ -182,7 +182,7 @@ -- avoid, and when asked for a fresh one will choose the first numeric
 -- prefix of the given name which is currently unused.
 newtype LFreshMT m a = LFreshMT { unLFreshMT :: ReaderT (Set AnyName) m a }
-  deriving (Functor, Applicative, Monad, MonadReader (Set AnyName), MonadIO, MonadPlus)
+  deriving (Functor, Applicative, Monad, MonadReader (Set AnyName), MonadIO, MonadPlus, MonadFix)
 
 -- | Run an 'LFreshMT' computation in an empty context.
 runLFreshMT :: LFreshMT m a -> m a
unbound.cabal view
@@ -1,5 +1,5 @@ name:           unbound-version:        0.2.1+version:        0.2.2 license:        BSD3 license-file:   LICENSE build-type:     Simple