kempe 0.2.0.12 → 0.2.0.13
raw patch · 12 files changed
+18/−19 lines, 12 filesdep ~microlens-mtl
Dependency ranges changed: microlens-mtl
Files
- CHANGELOG.md +6/−2
- docs/manual.pdf binary
- kempe.cabal +3/−3
- src/Kempe/Asm/Arm/Trans.hs +1/−1
- src/Kempe/Asm/Liveness.hs +1/−2
- src/Kempe/Asm/X86/Linear.hs +1/−2
- src/Kempe/Asm/X86/Trans.hs +1/−1
- src/Kempe/Asm/X86/Type.hs +2/−2
- src/Kempe/File.hs +1/−1
- src/Kempe/IR/Type.hs +0/−1
- src/Kempe/Lexer.x +0/−2
- src/Kempe/Pipeline.hs +2/−2
CHANGELOG.md view
@@ -1,10 +1,14 @@ # kempe -# 0.2.0.12+## 0.2.0.13 + * Update for latest `alex` templates++## 0.2.0.12+ * Typechecker is 𝜖 faster -# 0.2.0.11+## 0.2.0.11 * Fix bug in typechecker
docs/manual.pdf view
binary file changed (217165 → 227744 bytes)
kempe.cabal view
@@ -1,6 +1,6 @@ cabal-version: 3.0 name: kempe-version: 0.2.0.12+version: 0.2.0.13 license: BSD-3-Clause license-file: LICENSE copyright: Copyright: (c) 2020-2022 Vanessa McHale@@ -108,7 +108,7 @@ transformers, prettyprinter >=1.7.0, composition-prelude >=2.0.2.0,- microlens-mtl,+ microlens-mtl >=0.1.8.0, process >=1.2.3.0, temporary @@ -127,7 +127,7 @@ ghc-options: -Wunused-packages if !flag(cross)- build-tool-depends: alex:alex, happy:happy+ build-tool-depends: alex:alex >=3.3.0.0, happy:happy executable kc main-is: Main.hs
src/Kempe/Asm/Arm/Trans.hs view
@@ -9,8 +9,8 @@ import Data.Int (Int64) import Data.List (scanl') import Data.Semigroup ((<>))-import Kempe.AST.Size import Kempe.Asm.Arm.Type+import Kempe.AST.Size import Kempe.IR.Monad import qualified Kempe.IR.Type as IR import System.Info (arch, os)
src/Kempe/Asm/Liveness.hs view
@@ -1,8 +1,7 @@ -- FIXME: this module is slow -- | Based on the Appel book.-module Kempe.Asm.Liveness ( Liveness- , reconstruct+module Kempe.Asm.Liveness ( reconstruct ) where import Data.Copointed
src/Kempe/Asm/X86/Linear.hs view
@@ -4,8 +4,7 @@ -- | Linear scan register allocator -- -- See: https://web.stanford.edu/class/archive/cs/cs143/cs143.1128/lectures/17/Slides17.pdf-module Kempe.Asm.X86.Linear ( X86Reg (..)- , allocRegs+module Kempe.Asm.X86.Linear ( allocRegs ) where import Control.Monad.State.Strict (State, evalState, gets)
src/Kempe/Asm/X86/Trans.hs view
@@ -8,8 +8,8 @@ import Data.Foldable.Ext import Data.List (scanl') import Data.Word (Word8)-import Kempe.AST.Size import Kempe.Asm.X86.Type+import Kempe.AST.Size import Kempe.IR.Monad import qualified Kempe.IR.Type as IR
src/Kempe/Asm/X86/Type.hs view
@@ -24,7 +24,7 @@ import GHC.Generics (Generic) import Kempe.Asm.Pretty import Kempe.Asm.Type-import Prettyprinter (Doc, Pretty (pretty), brackets, colon, concatWith, hardline, (<+>))+import Prettyprinter (Doc, Pretty (pretty), brackets, colon, hardline, (<+>)) import Prettyprinter.Ext type Label = Word@@ -295,7 +295,7 @@ prettyAsm = ((prolegomena <#> macros <#> "section .text" <> hardline) <>) . prettyLines . fmap pretty prettyDebugAsm :: (As8 reg, Pretty reg) => [X86 reg Liveness] -> Doc ann-prettyDebugAsm = concatWith (<#>) . fmap prettyLive+prettyDebugAsm = prettyLines . fmap prettyLive prolegomena :: Doc ann prolegomena = "section .bss" <> hardline <> "kempe_data: resb 0x8012" -- 32 kb
src/Kempe/File.hs view
@@ -24,9 +24,9 @@ import Data.Semigroup ((<>)) import Data.Tuple.Ext (fst3) import Data.Typeable (Typeable)-import Kempe.AST import qualified Kempe.Asm.Arm.Type as Arm import qualified Kempe.Asm.X86.Type as X86+import Kempe.AST import Kempe.CGen import Kempe.Check.Lint import Kempe.Check.Pattern
src/Kempe/IR/Type.hs view
@@ -150,4 +150,3 @@ pretty WordShiftLIR = "<<" pretty WordModIR = "%~" pretty WordDivIR = "/~"-
src/Kempe/Lexer.x view
@@ -177,8 +177,6 @@ instance Pretty AlexPosn where pretty (AlexPn _ line col) = pretty line <> colon <> pretty col -deriving instance Ord AlexPosn- deriving instance Generic AlexPosn deriving instance NFData AlexPosn
src/Kempe/Pipeline.hs view
@@ -9,8 +9,6 @@ import Control.Exception (throw) import Data.Bifunctor (first) import Data.Typeable (Typeable)-import Kempe.AST-import Kempe.AST.Size import qualified Kempe.Asm.Arm.ControlFlow as Arm import qualified Kempe.Asm.Arm.Linear as Arm import Kempe.Asm.Arm.Opt@@ -21,6 +19,8 @@ import qualified Kempe.Asm.X86.Linear as X86 import Kempe.Asm.X86.Trans import qualified Kempe.Asm.X86.Type as X86+import Kempe.AST+import Kempe.AST.Size import Kempe.Check.Restrict import Kempe.IR import Kempe.IR.Opt