zeolite-lang 0.1.2.5 → 0.1.2.6
raw patch · 6 files changed
+15/−10 lines, 6 filesdep ~directoryPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependency ranges changed: directory
API changes (from Hackage documentation)
- Base.CompileError: class (Monad m, MonadFail m) => CompileErrorM m
+ Base.CompileError: class (Functor m, Monad m, MonadFail m) => CompileErrorM m
- Base.Mergeable: class Monad m => MergeableM m
+ Base.Mergeable: class (Functor m, Monad m) => MergeableM m
- Compilation.CompilerState: class Monad m => CompilerContext c m s a | a -> c s
+ Compilation.CompilerState: class (Functor m, Monad m) => CompilerContext c m s a | a -> c s
- Parser.Common: put12 :: Monad m => m a -> m ([a], [b])
+ Parser.Common: put12 :: (Functor m, Monad m) => m a -> m ([a], [b])
- Parser.Common: put13 :: Monad m => m a -> m ([a], [b], [c])
+ Parser.Common: put13 :: (Functor m, Monad m) => m a -> m ([a], [b], [c])
- Parser.Common: put22 :: Monad m => m b -> m ([a], [b])
+ Parser.Common: put22 :: (Functor m, Monad m) => m b -> m ([a], [b])
- Parser.Common: put23 :: Monad m => m b -> m ([a], [b], [c])
+ Parser.Common: put23 :: (Functor m, Monad m) => m b -> m ([a], [b], [c])
- Parser.Common: put33 :: Monad m => m c -> m ([a], [b], [c])
+ Parser.Common: put33 :: (Functor m, Monad m) => m c -> m ([a], [b], [c])
Files
- src/Base/CompileError.hs +3/−2
- src/Base/Mergeable.hs +2/−1
- src/Compilation/CompilerState.hs +2/−1
- src/Parser/Common.hs +6/−5
- src/Types/Positional.hs +1/−0
- zeolite-lang.cabal +1/−1
src/Base/CompileError.hs view
@@ -27,6 +27,7 @@ import Control.Monad (Monad(..)) import Data.Foldable+import Data.Functor #if MIN_VERSION_base(4,9,0) import Control.Monad.Fail@@ -41,9 +42,9 @@ -- For some GHC versions, pattern-matching failures require MonadFail. #if MIN_VERSION_base(4,9,0)-class (Monad m, MonadFail m) => CompileErrorM m where+class (Functor m, Monad m, MonadFail m) => CompileErrorM m where #else-class Monad m => CompileErrorM m where+class (Functor m, Monad m) => CompileErrorM m where #endif compileErrorM :: String -> m a isCompileErrorM :: m a -> Bool
src/Base/Mergeable.hs view
@@ -27,6 +27,7 @@ import Control.Monad (Monad(..)) import Data.Foldable+import Data.Functor class Mergeable a where@@ -37,7 +38,7 @@ mergeDefault :: a mergeDefault = mergeAll Nothing -class Monad m => MergeableM m where+class (Functor m, Monad m) => MergeableM m where mergeAnyM :: (Mergeable a, Foldable f) => f (m a) -> m a mergeAllM :: (Mergeable a, Foldable f) => f (m a) -> m a mergeNestedM :: Mergeable a => m a -> m a -> m a
src/Compilation/CompilerState.hs view
@@ -63,6 +63,7 @@ import Control.Monad.Trans (lift) import Control.Monad.Trans.State (StateT(..),execStateT,get,mapStateT,put)+import Data.Functor import Data.Monoid import qualified Data.Set as Set @@ -78,7 +79,7 @@ type CompilerState a m = StateT a m -class Monad m => CompilerContext c m s a | a -> c s where+class (Functor m, Monad m) => CompilerContext c m s a | a -> c s where ccCurrentScope :: a -> m SymbolScope ccResolver :: a -> m AnyTypeResolver ccSameType :: a -> TypeInstance -> m Bool
src/Parser/Common.hs view
@@ -100,6 +100,7 @@ import Data.Char import Data.Foldable+import Data.Functor import Data.Monoid import Prelude hiding (foldl,foldr) import Text.Parsec@@ -328,23 +329,23 @@ _ -> return ['\\',v] notEscaped = fmap (:[]) $ noneOf "\"" -put12 :: Monad m => m a -> m ([a],[b])+put12 :: (Functor m, Monad m) => m a -> m ([a],[b]) put12 = fmap put where put x = ([x],[]) -put22 :: Monad m => m b -> m ([a],[b])+put22 :: (Functor m, Monad m) => m b -> m ([a],[b]) put22 = fmap put where put x = ([],[x]) merge2 :: (Foldable f, Monoid a, Monoid b) => f (a,b) -> (a,b) merge2 = foldr merge (mempty,mempty) where merge (xs1,ys1) (xs2,ys2) = (xs1<>xs2,ys1<>ys2) -put13 :: Monad m => m a -> m ([a],[b],[c])+put13 :: (Functor m, Monad m) => m a -> m ([a],[b],[c]) put13 = fmap put where put x = ([x],[],[]) -put23 :: Monad m => m b -> m ([a],[b],[c])+put23 :: (Functor m, Monad m) => m b -> m ([a],[b],[c]) put23 = fmap put where put x = ([],[x],[]) -put33 :: Monad m => m c -> m ([a],[b],[c])+put33 :: (Functor m, Monad m) => m c -> m ([a],[b],[c]) put33 = fmap put where put x = ([],[],[x]) merge3 :: (Foldable f, Monoid a, Monoid b, Monoid c) => f (a,b,c) -> (a,b,c)
src/Types/Positional.hs view
@@ -25,6 +25,7 @@ import Control.Monad (Monad(..)) import Control.Monad.Trans (MonadTrans(..))+import Data.Functor import Base.CompileError
zeolite-lang.cabal view
@@ -1,5 +1,5 @@ name: zeolite-lang-version: 0.1.2.5+version: 0.1.2.6 synopsis: Zeolite is a statically-typed, general-purpose programming language. description: