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 +0/−1
- Language/SSVM/Types.hs +6/−4
- simple-stacked-vm.cabal +7/−2
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