idris 0.9.4 → 0.9.4.1
raw patch · 5 files changed
+58/−2 lines, 5 files
Files
- idris.cabal +3/−2
- lib/base.ipkg +15/−0
- rts/libidris_rts.a binary
- src/IRTS/BCImp.hs +19/−0
- src/IRTS/CodegenJava.hs +21/−0
idris.cabal view
@@ -1,5 +1,5 @@ Name: idris-Version: 0.9.4+Version: 0.9.4.1 License: BSD3 License-file: LICENSE Author: Edwin Brady@@ -45,6 +45,7 @@ rts/libtest.c Extra-source-files: lib/Makefile lib/*.idr lib/prelude/*.idr lib/network/*.idr lib/control/monad/*.idr lib/language/*.idr+ lib/base.ipkg tutorial/examples/*.idr rts/*.c rts/*.h rts/Makefile @@ -74,7 +75,7 @@ IRTS.Lang, IRTS.LParser, IRTS.Bytecode, IRTS.Simplified, IRTS.CodegenC, IRTS.Defunctionalise, IRTS.Inliner,- IRTS.Compiler,+ IRTS.Compiler, IRTS.CodegenJava, IRTS.BCImp, Paths_idris
+ lib/base.ipkg view
@@ -0,0 +1,15 @@+package base++opts = "--noprelude"+modules = builtins, prelude, io, system,++ prelude.algebra, prelude.cast, prelude.nat, prelude.fin,+ prelude.list, prelude.maybe, prelude.monad, prelude.applicative,+ prelude.either, prelude.vect, prelude.strings, prelude.char,+ prelude.heap, prelude.complex,++ network.cgi,++ language.reflection,++ control.monad.identity, control.monad.state
rts/libidris_rts.a view
binary file changed (27208 → 27208 bytes)
+ src/IRTS/BCImp.hs view
@@ -0,0 +1,19 @@+module IRTS.BCImp where++-- Bytecode for a register/variable based VM (e.g. for generating code in an +-- imperative language where we let the language deal with GC)++import IRTS.Lang+import IRTS.Simplified+import Core.TT++data Reg = RVal | L Int++data BC = NOP++toBC :: (Name, SDecl) -> (Name, [BC])+toBC (n, SFun n' args locs exp)+ = (n, bc RVal exp)++bc :: Reg -> SExp -> [BC]+bc = undefined
+ src/IRTS/CodegenJava.hs view
@@ -0,0 +1,21 @@+module IRTS.CodegenJava where++import IRTS.BCImp+import IRTS.Lang+import IRTS.Simplified+import Core.TT+import Paths_idris+import Util.System++import Data.Char+import System.Process+import System.Exit+import System.IO+import System.Directory+import Control.Monad++codegenJava :: [(Name, SDecl)] ->+ String -> -- output file name+ IO ()+codegenJava defs out = putStrLn "Not implemented yet"+