packages feed

simple-stacked-vm 0.1.1 → 0.1.2

raw patch · 3 files changed

+13/−7 lines, 3 filesdep ~base

Dependency ranges changed: base

Files

Language/SSVM/Binary.hs view
@@ -3,7 +3,6 @@   (dumpCode, loadCode)   where -import Control.Applicative import Control.Monad (forM_) import qualified Control.Monad.State as S import Data.BinaryState
Language/SSVM/Types.hs view
@@ -3,7 +3,6 @@  import Control.Monad.State import Data.Data-import Data.Monoid import Data.Array import qualified Data.Map as M @@ -65,12 +64,15 @@   cCode :: [StackItem] }   deriving (Eq, Show, Data, Typeable) -instance Monoid Code where-  mempty = Code [M.empty] []-  mappend (Code l1 c1) (Code l2 c2) = Code (M.union m1 m2: ms) (c1 ++ c2)+instance Semigroup Code where+  (Code l1 c1) <> (Code l2 c2) = Code (M.union m1 m2: ms) (c1 ++ c2)     where       (m1:ms) = l1       (m2:_)  = l2++instance Monoid Code where+  mempty = Code [M.empty] []+  mappend = (<>)  class (Data a, Typeable a) => StackType a where   toStack :: a -> StackItem
simple-stacked-vm.cabal view
@@ -1,5 +1,5 @@ Name:           simple-stacked-vm-Version:        0.1.1+Version:        0.1.2 Cabal-Version:  >= 1.6 License:        BSD3 License-File:   LICENSE@@ -21,13 +21,18 @@                    Language.SSVM.Interpreter                    Language.SSVM.Binary -  Build-Depends:  base >= 3 && <= 5, containers,+  Build-Depends:  base >= 4.9 && <= 5, containers,                   mtl > 1, filepath, parsec >= 3,                   binary-state, array    ghc-options: -fwarn-unused-imports  executable ssvm+  Other-Modules: Language.SSVM.Types+                   Language.SSVM.Parser+                   Language.SSVM.Operations+                   Language.SSVM.Interpreter+                   Language.SSVM.Binary   Main-is: ssvm.hs