on master help sign in
Merge branch 'cabal-library' of https://github.com/puffnfresh/Idris-dev into puffnfresh-cabal-library

Conflicts: idris.cabal

commit53b84ec27e9b760c87cfc775abb647d170290085 authorEdwin Brady <ecb10@st-andrews.ac.uk> dateSun 22 Dec 2013, 18:31 (13 years ago) parent97e39ca1f5beb6
63 files changed+328−206
idris.cabal+122−9 src/IRTS/BCImp.hs+1−1 src/IRTS/Bytecode.hs+1−1 src/IRTS/CodegenC.hs+2−1 src/IRTS/CodegenCommon.hs+1−1 src/IRTS/CodegenJava.hs+2−1 src/IRTS/CodegenJavaScript.hs+1−1 src/IRTS/CodegenLLVM.hs+3−2 src/IRTS/Compiler.hs+3−3 src/IRTS/Defunctionalise.hs+1−1 src/IRTS/DumpBC.hs+1−1 src/IRTS/Inliner.hs+1−1 src/IRTS/Java/JTypes.hs+1−1 src/IRTS/Java/Mangling.hs+1−1 src/IRTS/Lang.hs+1−1 src/IRTS/Simplified.hs+1−1 src/IRTS/System.hs+63 src/Idris/AbsSyntax.hs+4−4 src/Idris/AbsSyntaxTree.hs+4−4 src/Idris/CaseSplit.hs+3−3 src/Idris/Completion.hs+2−2 src/Core/CaseTree.hs → src/Idris/Core/CaseTree.hs+2−2 src/Core/Constraints.hs → src/Idris/Core/Constraints.hs+2−2 src/Core/Elaborate.hs → src/Idris/Core/Elaborate.hs+8−8 src/Core/Evaluate.hs → src/Idris/Core/Evaluate.hs+3−3 src/Core/Execute.hs → src/Idris/Core/Execute.hs+4−4 src/Core/ProofState.hs → src/Idris/Core/ProofState.hs+6−6 src/Core/TT.hs → src/Idris/Core/TT.hs+1−1 src/Core/Typecheck.hs → src/Idris/Core/Typecheck.hs+3−3 src/Core/Unify.hs → src/Idris/Core/Unify.hs+3−3 src/Idris/Coverage.hs+3−3 src/Idris/DSL.hs+2−2 src/Idris/DataOpts.hs+1−1 src/Idris/DeepSeq.hs+1−1 src/Idris/Delaborate.hs+2−2 src/Idris/Docs.hs+2−2 src/Idris/ElabDecls.hs+6−6 src/Idris/ElabTerm.hs+3−3 src/Idris/Error.hs+3−3 src/Idris/IBC.hs+3−3 src/Idris/IdeSlave.hs+1−1 src/Idris/Imports.hs+1−1 src/Idris/Inliner.hs+1−1 src/Idris/ParseData.hs+2−2 src/Idris/ParseExpr.hs+2−2 src/Idris/ParseHelpers.hs+2−2 src/Idris/ParseOps.hs+1−1 src/Idris/Parser.hs+2−2 src/Idris/PartialEval.hs+2−2 src/Idris/Primitives.hs+2−2 src/Idris/ProofSearch.hs+5−5 src/Idris/Prover.hs+5−5 src/Idris/Providers.hs+2−2 src/Idris/REPL.hs+4−4 src/Idris/REPLParser.hs+1−1 src/Idris/Transforms.hs+2−2 src/Idris/Unlit.hs+1−1 src/Idris/UnusedArgs.hs+2−2 src/Main.hs+6−5 src/Pkg/PParser.hs+1−1 src/Pkg/Package.hs+3−1 src/Util/LLVMStubs.hs+1−1 src/Util/System.hs+2−62
idris.cabal+122−9
@@ -329,20 +329,132 @@ Flag release
329329 Description: This is an official release
330330 Default: False
331331 manual: True
332+Library
333+ hs-source-dirs: src
334+ Exposed-modules:
335+ Idris.Core.CaseTree
336+ , Idris.Core.Constraints
337+ , Idris.Core.Elaborate
338+ , Idris.Core.Evaluate
339+ , Idris.Core.Execute
340+ , Idris.Core.ProofState
341+ , Idris.Core.TT
342+ , Idris.Core.Typecheck
343+ , Idris.Core.Unify
344+
345+ , Idris.AbsSyntax
346+ , Idris.AbsSyntaxTree
347+ , Idris.CaseSplit
348+ , Idris.Chaser
349+ , Idris.Colours
350+ , Idris.Completion
351+ , Idris.Coverage
352+ , Idris.DSL
353+ , Idris.DataOpts
354+ , Idris.DeepSeq
355+ , Idris.Delaborate
356+ , Idris.Docs
357+ , Idris.ElabDecls
358+ , Idris.ElabTerm
359+ , Idris.Error
360+ , Idris.Help
361+ , Idris.IBC
362+ , Idris.IdeSlave
363+ , Idris.Imports
364+ , Idris.Inliner
365+ , Idris.Parser
366+ , Idris.ParseHelpers
367+ , Idris.ParseOps
368+ , Idris.ParseExpr
369+ , Idris.ParseData
370+ , Idris.PartialEval
371+ , Idris.Primitives
372+ , Idris.ProofSearch
373+ , Idris.Prover
374+ , Idris.Providers
375+ , Idris.REPL
376+ , Idris.REPLParser
377+ , Idris.Transforms
378+ , Idris.Unlit
379+ , Idris.UnusedArgs
380+
381+ , IRTS.BCImp
382+ , IRTS.Bytecode
383+ , IRTS.CodegenC
384+ , IRTS.CodegenCommon
385+ , IRTS.CodegenJava
386+ , IRTS.CodegenJavaScript
387+ , IRTS.Compiler
388+ , IRTS.Defunctionalise
389+ , IRTS.DumpBC
390+ , IRTS.Inliner
391+ , IRTS.Java.ASTBuilding
392+ , IRTS.Java.JTypes
393+ , IRTS.Java.Mangling
394+ , IRTS.Java.Pom
395+ , IRTS.Lang
396+ , IRTS.Simplified
397+ , IRTS.System
398+
399+ Other-modules:
400+ Util.Pretty
401+ , Util.System
402+ , Util.DynamicLinker
403+ , Util.Net
404+
405+ , Pkg.Package
406+ , Pkg.PParser
407+
408+ -- Auto Generated
409+ Paths_idris
410+
411+ Extensions: MultiParamTypeClasses
412+ , FunctionalDependencies
413+ , FlexibleInstances
414+ , TemplateHaskell
415+
416+ ghc-prof-options: -auto-all -caf-all
417+ ghc-options: -threaded -rtsopts
418+
419+ if os(linux)
420+ cpp-options: -DLINUX
421+ build-depends: unix
422+ if os(freebsd)
423+ cpp-options: -DFREEBSD
424+ build-depends: unix
425+ if os(darwin)
426+ cpp-options: -DMACOSX
427+ build-depends: unix
428+ if os(windows)
429+ cpp-options: -DWINDOWS
430+ build-depends: Win32
431+ if flag(LLVM)
432+ other-modules: IRTS.CodegenLLVM
433+ cpp-options: -DIDRIS_LLVM
434+ build-depends: llvm-general == 3.3.8.*
435+ , llvm-general-pure == 3.3.8.*
436+ else
437+ other-modules: Util.LLVMStubs
438+ if flag(FFI)
439+ build-depends: libffi
440+ cpp-options: -DIDRIS_FFI
441+ if flag(GMP)
442+ build-depends: libffi
443+ cpp-options: -DIDRIS_GMP
332444
333445Executable idris
334446 Main-is: Main.hs
335447 hs-source-dirs: src
336448 Other-modules:
337− Core.CaseTree
338− , Core.Constraints
339− , Core.Elaborate
340− , Core.Evaluate
341− , Core.Execute
342− , Core.ProofState
343− , Core.TT
344− , Core.Typecheck
345− , Core.Unify
449+ Idris.Core.CaseTree
450+ , Idris.Core.Constraints
451+ , Idris.Core.Elaborate
452+ , Idris.Core.Evaluate
453+ , Idris.Core.Execute
454+ , Idris.Core.ProofState
455+ , Idris.Core.TT
456+ , Idris.Core.Typecheck
457+ , Idris.Core.Unify
346458
347459 , Idris.AbsSyntax
348460 , Idris.AbsSyntaxTree
@@ -396,6 +508,7 @@ Executable idris
396508 , IRTS.Java.Pom
397509 , IRTS.Lang
398510 , IRTS.Simplified
511+ , IRTS.System
399512
400513 , Util.Pretty
401514 , Util.System
src/IRTS/BCImp.hs+1−1
@@ -5,7 +5,7 @@ module IRTS.BCImp where
55
66import IRTS.Lang
77import IRTS.Simplified
8−import Core.TT
8+import Idris.Core.TT
99
1010data Reg = RVal | L Int
1111
src/IRTS/Bytecode.hs+1−1
@@ -5,7 +5,7 @@ module IRTS.Bytecode where
55
66import IRTS.Lang
77import IRTS.Simplified
8−import Core.TT
8+import Idris.Core.TT
99import Data.Maybe
1010
1111{- We have:
src/IRTS/CodegenC.hs+2−1
@@ -4,8 +4,9 @@ import Idris.AbsSyntax
44import IRTS.Bytecode
55import IRTS.Lang
66import IRTS.Simplified
7+import IRTS.System
78import IRTS.CodegenCommon
8−import Core.TT
9+import Idris.Core.TT
910import Paths_idris
1011import Util.System
1112
src/IRTS/CodegenCommon.hs+1−1
@@ -1,6 +1,6 @@
11module IRTS.CodegenCommon where
22
3−import Core.TT
3+import Idris.Core.TT
44import IRTS.Simplified
55
66import Control.Exception
src/IRTS/CodegenJava.hs+2−1
@@ -1,7 +1,7 @@
11{-# LANGUAGE PatternGuards #-}
22module IRTS.CodegenJava (codegenJava) where
33
4−import Core.TT hiding (mkApp)
4+import Idris.Core.TT hiding (mkApp)
55import IRTS.CodegenCommon
66import IRTS.Java.ASTBuilding
77import IRTS.Java.JTypes
@@ -9,6 +9,7 @@ import IRTS.Java.Mangling
99import IRTS.Java.Pom (pomString)
1010import IRTS.Lang
1111import IRTS.Simplified
12+import IRTS.System
1213import Util.System
1314
1415import Control.Applicative hiding (Const)
src/IRTS/CodegenJavaScript.hs+1−1
@@ -7,7 +7,7 @@ import IRTS.Bytecode
77import IRTS.Lang
88import IRTS.Simplified
99import IRTS.CodegenCommon
10−import Core.TT
10+import Idris.Core.TT
1111import Paths_idris
1212import Util.System
1313
src/IRTS/CodegenLLVM.hs+3−2
@@ -4,8 +4,9 @@ module IRTS.CodegenLLVM (codegenLLVM) where
44import IRTS.CodegenCommon
55import IRTS.Lang
66import IRTS.Simplified
7−import qualified Core.TT as TT
8−import Core.TT (ArithTy(..), IntTy(..), NativeTy(..), nativeTyWidth)
7+import IRTS.System
8+import qualified Idris.Core.TT as TT
9+import Idris.Core.TT (ArithTy(..), IntTy(..), NativeTy(..), nativeTyWidth)
910
1011import Util.System
1112import Paths_idris
src/IRTS/Compiler.hs+3−3
@@ -21,9 +21,9 @@ import Idris.AbsSyntax
2121import Idris.UnusedArgs
2222import Idris.Error
2323
24−import Core.TT
25−import Core.Evaluate
26−import Core.CaseTree
24+import Idris.Core.TT
25+import Idris.Core.Evaluate
26+import Idris.Core.CaseTree
2727
2828import Control.Monad.State
2929import Data.List
src/IRTS/Defunctionalise.hs+1−1
@@ -2,7 +2,7 @@ module IRTS.Defunctionalise(module IRTS.Defunctionalise,
22 module IRTS.Lang) where
33
44import IRTS.Lang
5−import Core.TT
5+import Idris.Core.TT
66
77import Debug.Trace
88import Data.Maybe
src/IRTS/DumpBC.hs+1−1
@@ -2,7 +2,7 @@ module IRTS.DumpBC where
22
33import IRTS.Lang
44import IRTS.Simplified
5−import Core.TT
5+import Idris.Core.TT
66
77import IRTS.Bytecode
88import Data.List
src/IRTS/Inliner.hs+1−1
@@ -1,6 +1,6 @@
11module IRTS.Inliner where
22
3−import Core.TT
3+import Idris.Core.TT
44
55import IRTS.Defunctionalise
66
src/IRTS/Java/JTypes.hs+1−1
@@ -1,7 +1,7 @@
11{-# LANGUAGE PatternGuards #-}
22module IRTS.Java.JTypes where
33
4−import Core.TT
4+import Idris.Core.TT
55import IRTS.Lang
66import Language.Java.Syntax
77import qualified Language.Java.Syntax as J
src/IRTS/Java/Mangling.hs+1−1
@@ -3,7 +3,7 @@
33
44module IRTS.Java.Mangling where
55
6−import Core.TT
6+import Idris.Core.TT
77import IRTS.Lang
88import IRTS.Simplified
99
src/IRTS/Lang.hs+1−1
@@ -1,7 +1,7 @@
11module IRTS.Lang where
22
33import Control.Monad.State hiding (lift)
4−import Core.TT
4+import Idris.Core.TT
55import Data.List
66import Debug.Trace
77
src/IRTS/Simplified.hs+1−1
@@ -1,7 +1,7 @@
11module IRTS.Simplified where
22
33import IRTS.Defunctionalise
4−import Core.TT
4+import Idris.Core.TT
55import Data.Maybe
66import Control.Monad.State
77
src/IRTS/System.hsnew file+63
@@ -0,0 +1,63 @@
1+{-# LANGUAGE CPP #-}
2+module IRTS.System(getTargetDir,getCC,getLibFlags,getIdrisLibDir,
3+ getIncFlags,getMvn,getExecutablePom) where
4+
5+import Util.System
6+
7+import Control.Applicative ((<$>))
8+import Data.Maybe (fromMaybe)
9+import System.FilePath ((</>), addTrailingPathSeparator)
10+import System.Environment
11+
12+import Paths_idris
13+
14+getCC :: IO String
15+getCC = fromMaybe "gcc" <$> environment "IDRIS_CC"
16+
17+mvnCommand :: String
18+#ifdef mingw32_HOST_OS
19+mvnCommand = "mvn.bat"
20+#else
21+mvnCommand = "mvn"
22+#endif
23+
24+getMvn :: IO String
25+getMvn = fromMaybe mvnCommand <$> environment "IDRIS_MVN"
26+
27+environment :: String -> IO (Maybe String)
28+environment x = catchIO (do e <- getEnv x
29+ return (Just e))
30+ (\_ -> return Nothing)
31+
32+getTargetDir :: IO String
33+getTargetDir = environment "TARGET" >>= maybe getDataDir return
34+
35+#ifdef FREEBSD
36+extraLib = " -L/usr/local/lib"
37+#else
38+extraLib = ""
39+#endif
40+
41+#ifdef IDRIS_GMP
42+gmpLib = " -lgmp"
43+#else
44+gmpLib = ""
45+#endif
46+
47+getLibFlags = do dir <- getDataDir
48+ return $ "-L" ++ (dir </> "rts") ++
49+ " -lidris_rts" ++ extraLib ++ gmpLib ++ " -lpthread"
50+
51+getIdrisLibDir = do dir <- getDataDir
52+ return $ addTrailingPathSeparator dir
53+
54+#ifdef FREEBSD
55+extraInclude = " -I/usr/local/include"
56+#else
57+extraInclude = ""
58+#endif
59+getIncFlags = do dir <- getDataDir
60+ return $ "-I" ++ dir </> "rts" ++ extraInclude
61+
62+getExecutablePom = do dir <- getDataDir
63+ return $ dir </> "java" </> "executable_pom.xml"
src/Idris/AbsSyntax.hs+4−4
@@ -3,10 +3,10 @@
33
44module Idris.AbsSyntax(module Idris.AbsSyntax, module Idris.AbsSyntaxTree) where
55
6−import Core.TT
7−import Core.Evaluate
8−import Core.Elaborate hiding (Tactic(..))
9−import Core.Typecheck
6+import Idris.Core.TT
7+import Idris.Core.Evaluate
8+import Idris.Core.Elaborate hiding (Tactic(..))
9+import Idris.Core.Typecheck
1010import Idris.AbsSyntaxTree
1111import Idris.Colours
1212import Idris.IdeSlave
src/Idris/AbsSyntaxTree.hs+4−4
@@ -3,10 +3,10 @@
33
44module Idris.AbsSyntaxTree where
55
6−import Core.TT
7−import Core.Evaluate
8−import Core.Elaborate hiding (Tactic(..))
9−import Core.Typecheck
6+import Idris.Core.TT
7+import Idris.Core.Evaluate
8+import Idris.Core.Elaborate hiding (Tactic(..))
9+import Idris.Core.Typecheck
1010import IRTS.Lang
1111import IRTS.CodegenCommon
1212import Util.Pretty
src/Idris/CaseSplit.hs+3−3
@@ -15,9 +15,9 @@ import Idris.Delaborate
1515import Idris.Parser
1616import Idris.Error
1717
18−import Core.TT
19−import Core.Typecheck
20−import Core.Evaluate
18+import Idris.Core.TT
19+import Idris.Core.Typecheck
20+import Idris.Core.Evaluate
2121
2222import Data.Maybe
2323import Data.Char
src/Idris/Completion.hs+2−2
@@ -1,8 +1,8 @@
11-- | Support for command-line completion at the REPL and in the prover
22module Idris.Completion (replCompletion, proverCompletion) where
33
4−import Core.Evaluate (ctxtAlist)
5−import Core.TT
4+import Idris.Core.Evaluate (ctxtAlist)
5+import Idris.Core.TT
66
77import Idris.AbsSyntaxTree
88import Idris.Help
src/Core/CaseTree.hs → src/Idris/Core/CaseTree.hsrenamed+2−2
@@ -1,10 +1,10 @@
11{-# LANGUAGE PatternGuards, DeriveFunctor, TypeSynonymInstances #-}
22
3−module Core.CaseTree(CaseDef(..), SC, SC'(..), CaseAlt, CaseAlt'(..),
3+module Idris.Core.CaseTree(CaseDef(..), SC, SC'(..), CaseAlt, CaseAlt'(..),
44 Phase(..), CaseTree,
55 simpleCase, small, namesUsed, findCalls, findUsedArgs) where
66
7−import Core.TT
7+import Idris.Core.TT
88
99import Control.Monad.State
1010import Data.Maybe
src/Core/Constraints.hs → src/Idris/Core/Constraints.hsrenamed+2−2
@@ -1,7 +1,7 @@
11-- | Check universe constraints.
2−module Core.Constraints(ucheck) where
2+module Idris.Core.Constraints(ucheck) where
33
4−import Core.TT
4+import Idris.Core.TT
55
66import Control.Applicative
77import Control.Arrow
src/Core/Elaborate.hs → src/Idris/Core/Elaborate.hsrenamed+8−8
@@ -8,14 +8,14 @@
88 tactics out of the primitives.
99-}
1010
11−module Core.Elaborate(module Core.Elaborate,
12− module Core.ProofState) where
13−
14−import Core.ProofState
15−import Core.TT
16−import Core.Evaluate
17−import Core.Typecheck
18−import Core.Unify
11+module Idris.Core.Elaborate(module Idris.Core.Elaborate,
12+ module Idris.Core.ProofState) where
13+
14+import Idris.Core.ProofState
15+import Idris.Core.TT
16+import Idris.Core.Evaluate
17+import Idris.Core.Typecheck
18+import Idris.Core.Unify
1919
2020import Control.Monad.State
2121import Data.Char
src/Core/Evaluate.hs → src/Idris/Core/Evaluate.hsrenamed+3−3
@@ -1,7 +1,7 @@
11{-# LANGUAGE MultiParamTypeClasses, FlexibleInstances,
22 PatternGuards #-}
33
4−module Core.Evaluate(normalise, normaliseTrace, normaliseC, normaliseAll,
4+module Idris.Core.Evaluate(normalise, normaliseTrace, normaliseC, normaliseAll,
55 rt_simplify, simplify, specialise, hnf, convEq, convEq',
66 Def(..), CaseInfo(..), CaseDefs(..),
77 Accessibility(..), Totality(..), PReason(..),
@@ -17,8 +17,8 @@ import Control.Monad.State
1717import qualified Data.Binary as B
1818import Data.Binary hiding (get, put)
1919
20−import Core.TT
21−import Core.CaseTree
20+import Idris.Core.TT
21+import Idris.Core.CaseTree
2222
2323data EvalState = ES { limited :: [(Name, Int)],
2424 nexthole :: Int }
src/Core/Execute.hs → src/Idris/Core/Execute.hsrenamed+4−4
@@ -1,5 +1,5 @@
11{-# LANGUAGE PatternGuards, ExistentialQuantification, CPP #-}
2−module Core.Execute (execute) where
2+module Idris.Core.Execute (execute) where
33
44import Idris.AbsSyntax
55import Idris.AbsSyntaxTree
@@ -7,9 +7,9 @@ import IRTS.Lang(FType(..))
77
88import Idris.Primitives(Prim(..), primitives)
99
10−import Core.TT
11−import Core.Evaluate
12−import Core.CaseTree
10+import Idris.Core.TT
11+import Idris.Core.Evaluate
12+import Idris.Core.CaseTree
1313
1414import Debug.Trace
1515
src/Core/ProofState.hs → src/Idris/Core/ProofState.hsrenamed+6−6
@@ -4,14 +4,14 @@
44 proofs, and some high level commands for introducing new theorems,
55 evaluation/checking inside the proof system, etc. --}
66
7−module Core.ProofState(ProofState(..), newProof, envAtFocus, goalAtFocus,
7+module Idris.Core.ProofState(ProofState(..), newProof, envAtFocus, goalAtFocus,
88 Tactic(..), Goal(..), processTactic,
99 dropGiven, keepGiven) where
1010
11−import Core.Typecheck
12−import Core.Evaluate
13−import Core.TT
14−import Core.Unify
11+import Idris.Core.Typecheck
12+import Idris.Core.Evaluate
13+import Idris.Core.TT
14+import Idris.Core.Unify
1515
1616import Control.Monad.State
1717import Control.Applicative hiding (empty)
@@ -847,7 +847,7 @@ process t h = tactic (Just h) (mktac t)
847847 mktac Solve = solve
848848 mktac (StartUnify n) = start_unify n
849849 mktac Compute = compute
850− mktac Simplify = Core.ProofState.simplify
850+ mktac Simplify = Idris.Core.ProofState.simplify
851851 mktac HNF_Compute = hnf_compute
852852 mktac (Intro n) = intro n
853853 mktac (IntroTy ty n) = introTy ty n
src/Core/TT.hs → src/Idris/Core/TT.hsrenamed+1−1
@@ -18,7 +18,7 @@
1818 programs with implicit syntax into fully explicit terms.
1919-}
2020
21−module Core.TT where
21+module Idris.Core.TT where
2222
2323import Control.Monad.State
2424import Control.Monad.Trans.Error (Error(..))
src/Core/Typecheck.hs → src/Idris/Core/Typecheck.hsrenamed+3−3
@@ -1,14 +1,14 @@
11{-# LANGUAGE MultiParamTypeClasses, FlexibleInstances, DeriveFunctor,
22 PatternGuards #-}
33
4−module Core.Typecheck where
4+module Idris.Core.Typecheck where
55
66import Control.Monad.State
77import Debug.Trace
88import qualified Data.Vector.Unboxed as V (length)
99
10−import Core.TT
11−import Core.Evaluate
10+import Idris.Core.TT
11+import Idris.Core.Evaluate
1212
1313-- To check conversion, normalise each term wrt the current environment.
1414-- Since we haven't converted everything to de Bruijn indices yet, we'll have to
src/Core/Unify.hs → src/Idris/Core/Unify.hsrenamed+3−3
@@ -1,9 +1,9 @@
11{-# LANGUAGE PatternGuards #-}
22
3−module Core.Unify(match_unify, unify, Fails) where
3+module Idris.Core.Unify(match_unify, unify, Fails) where
44
5−import Core.TT
6−import Core.Evaluate
5+import Idris.Core.TT
6+import Idris.Core.Evaluate
77
88import Control.Monad
99import Control.Monad.State
src/Idris/Coverage.hs+3−3
@@ -2,9 +2,9 @@
22
33module Idris.Coverage where
44
5−import Core.TT
6−import Core.Evaluate
7−import Core.CaseTree
5+import Idris.Core.TT
6+import Idris.Core.Evaluate
7+import Idris.Core.CaseTree
88
99import Idris.AbsSyntax
1010import Idris.Delaborate
src/Idris/DSL.hs+2−2
@@ -5,8 +5,8 @@ module Idris.DSL where
55import Idris.AbsSyntax
66import Paths_idris
77
8−import Core.TT
9−import Core.Evaluate
8+import Idris.Core.TT
9+import Idris.Core.Evaluate
1010
1111import Control.Monad.State
1212import Debug.Trace
src/Idris/DataOpts.hs+1−1
@@ -6,7 +6,7 @@ module Idris.DataOpts where
66
77import Idris.AbsSyntax
88import Idris.AbsSyntaxTree
9−import Core.TT
9+import Idris.Core.TT
1010
1111import Control.Applicative
1212import qualified Data.IntMap as M
src/Idris/DeepSeq.hs+1−1
@@ -1,6 +1,6 @@
11module Idris.DeepSeq where
22
3−import Core.TT
3+import Idris.Core.TT
44import Idris.AbsSyntax
55import Idris.AbsSyntaxTree
66
src/Idris/Delaborate.hs+2−2
@@ -6,8 +6,8 @@ module Idris.Delaborate where
66-- purposes.
77
88import Idris.AbsSyntax
9−import Core.TT
10−import Core.Evaluate
9+import Idris.Core.TT
10+import Idris.Core.Evaluate
1111
1212import Debug.Trace
1313
src/Idris/Docs.hs+2−2
@@ -3,8 +3,8 @@ module Idris.Docs where
33import Idris.AbsSyntax
44import Idris.AbsSyntaxTree
55import Idris.Delaborate
6−import Core.TT
7−import Core.Evaluate
6+import Idris.Core.TT
7+import Idris.Core.Evaluate
88
99import Data.Maybe
1010import Data.List
src/Idris/ElabDecls.hs+6−6
@@ -19,12 +19,12 @@ import Idris.DeepSeq
1919import IRTS.Lang
2020import Paths_idris
2121
22−import Core.TT
23−import Core.Elaborate hiding (Tactic(..))
24−import Core.Evaluate
25−import Core.Execute
26−import Core.Typecheck
27−import Core.CaseTree
22+import Idris.Core.TT
23+import Idris.Core.Elaborate hiding (Tactic(..))
24+import Idris.Core.Evaluate
25+import Idris.Core.Execute
26+import Idris.Core.Typecheck
27+import Idris.Core.CaseTree
2828
2929import Control.DeepSeq
3030import Control.Monad
src/Idris/ElabTerm.hs+3−3
@@ -7,9 +7,9 @@ import Idris.DSL
77import Idris.Delaborate
88import Idris.ProofSearch
99
10−import Core.Elaborate hiding (Tactic(..))
11−import Core.TT
12−import Core.Evaluate
10+import Idris.Core.Elaborate hiding (Tactic(..))
11+import Idris.Core.TT
12+import Idris.Core.Evaluate
1313
1414import Control.Monad
1515import Control.Monad.State
src/Idris/Error.hs+3−3
@@ -6,9 +6,9 @@ import Prelude hiding (catch)
66import Idris.AbsSyntax
77import Idris.Delaborate
88
9−import Core.TT
10−import Core.Typecheck
11−import Core.Constraints
9+import Idris.Core.TT
10+import Idris.Core.Typecheck
11+import Idris.Core.Constraints
1212
1313import System.Console.Haskeline
1414import System.Console.Haskeline.MonadException
src/Idris/IBC.hs+3−3
@@ -2,9 +2,9 @@
22
33module Idris.IBC where
44
5−import Core.Evaluate
6−import Core.TT
7−import Core.CaseTree
5+import Idris.Core.Evaluate
6+import Idris.Core.TT
7+import Idris.Core.CaseTree
88import Idris.AbsSyntax
99import Idris.Imports
1010import Idris.Error
src/Idris/IdeSlave.hs+1−1
@@ -10,7 +10,7 @@ import qualified Data.ByteString.UTF8 as UTF8
1010import Text.Trifecta hiding (Err)
1111import Text.Trifecta.Delta
1212
13−import Core.TT
13+import Idris.Core.TT
1414
1515import Control.Applicative
1616
src/Idris/Imports.hs+1−1
@@ -2,7 +2,7 @@ module Idris.Imports where
22
33import Idris.AbsSyntax
44
5−import Core.TT
5+import Idris.Core.TT
66import Paths_idris
77
88import System.FilePath
src/Idris/Inliner.hs+1−1
@@ -2,7 +2,7 @@
22
33module Idris.Inliner where
44
5−import Core.TT
5+import Idris.Core.TT
66import Idris.AbsSyntax
77
88inlineDef :: IState -> [([Name], Term, Term)] -> [([Name], Term, Term)]
src/Idris/ParseData.hs+2−2
@@ -17,8 +17,8 @@ import Idris.ParseOps
1717import Idris.ParseExpr
1818import Idris.DSL
1919
20−import Core.TT
21−import Core.Evaluate
20+import Idris.Core.TT
21+import Idris.Core.Evaluate
2222
2323import Control.Applicative
2424import Control.Monad
src/Idris/ParseExpr.hs+2−2
@@ -17,7 +17,7 @@ import Idris.ParseHelpers
1717import Idris.ParseOps
1818import Idris.DSL
1919
20−import Core.TT
20+import Idris.Core.TT
2121
2222import Control.Applicative
2323import Control.Monad
@@ -985,7 +985,7 @@ Constant ::=
985985 ;
986986@
987987-}
988−constant :: IdrisParser Core.TT.Const
988+constant :: IdrisParser Idris.Core.TT.Const
989989constant = do reserved "Integer";return (AType (ATInt ITBig))
990990 <|> do reserved "Int"; return (AType (ATInt ITNative))
991991 <|> do reserved "Char"; return (AType (ATInt ITChar))
src/Idris/ParseHelpers.hs+2−2
@@ -13,8 +13,8 @@ import qualified Text.Parser.Token.Highlight as Hi
1313
1414import Idris.AbsSyntax
1515
16−import Core.TT
17−import Core.Evaluate
16+import Idris.Core.TT
17+import Idris.Core.Evaluate
1818
1919import Control.Applicative
2020import Control.Monad
src/Idris/ParseOps.hs+1−1
@@ -14,7 +14,7 @@ import qualified Text.Parser.Token.Highlight as Hi
1414import Idris.AbsSyntax
1515import Idris.ParseHelpers
1616
17−import Core.TT
17+import Idris.Core.TT
1818
1919import Control.Applicative
2020import Control.Monad
src/Idris/Parser.hs+2−2
@@ -38,8 +38,8 @@ import Paths_idris
3838
3939import Util.DynamicLinker
4040
41−import Core.TT
42−import Core.Evaluate
41+import Idris.Core.TT
42+import Idris.Core.Evaluate
4343
4444import Control.Applicative
4545import Control.Monad
src/Idris/PartialEval.hs+2−2
@@ -6,8 +6,8 @@ module Idris.PartialEval(partial_eval, getSpecApps, specType,
66import Idris.AbsSyntax
77import Idris.Delaborate
88
9−import Core.TT
10−import Core.Evaluate
9+import Idris.Core.TT
10+import Idris.Core.Evaluate
1111
1212import Control.Monad.State
1313import Debug.Trace
src/Idris/Primitives.hs+2−2
@@ -6,8 +6,8 @@ import Idris.AbsSyntax
66
77import IRTS.Lang
88
9−import Core.TT
10−import Core.Evaluate
9+import Idris.Core.TT
10+import Idris.Core.Evaluate
1111import Data.Bits
1212import Data.Word
1313import Data.Int
src/Idris/ProofSearch.hs+5−5
@@ -1,10 +1,10 @@
11module Idris.ProofSearch(trivial, proofSearch) where
22
3−import Core.Elaborate hiding (Tactic(..))
4−import Core.TT
5−import Core.Evaluate
6−import Core.CaseTree
7−import Core.Typecheck
3+import Idris.Core.Elaborate hiding (Tactic(..))
4+import Idris.Core.TT
5+import Idris.Core.Evaluate
6+import Idris.Core.CaseTree
7+import Idris.Core.Typecheck
88
99import Idris.AbsSyntax
1010import Idris.Delaborate
src/Idris/Prover.hs+5−5
@@ -1,10 +1,10 @@
11module Idris.Prover where
22
3−import Core.Elaborate hiding (Tactic(..))
4−import Core.TT
5−import Core.Evaluate
6−import Core.CaseTree
7−import Core.Typecheck
3+import Idris.Core.Elaborate hiding (Tactic(..))
4+import Idris.Core.TT
5+import Idris.Core.Evaluate
6+import Idris.Core.CaseTree
7+import Idris.Core.Typecheck
88
99import Idris.AbsSyntax
1010import Idris.Delaborate
src/Idris/Providers.hs+2−2
@@ -1,8 +1,8 @@
11{-# LANGUAGE PatternGuards #-}
22module Idris.Providers (providerTy, getProvided) where
33
4−import Core.TT
5−import Core.Evaluate
4+import Idris.Core.TT
5+import Idris.Core.Evaluate
66import Idris.AbsSyntax
77import Idris.AbsSyntaxTree
88import Idris.Error
src/Idris/REPL.hs+4−4
@@ -31,10 +31,10 @@ import Util.System
3131import Util.DynamicLinker
3232import Util.Net (listenOnLocalhost)
3333
34−import Core.Evaluate
35−import Core.Execute (execute)
36−import Core.TT
37−import Core.Constraints
34+import Idris.Core.Evaluate
35+import Idris.Core.Execute (execute)
36+import Idris.Core.TT
37+import Idris.Core.Constraints
3838
3939import IRTS.Compiler
4040import IRTS.CodegenCommon
src/Idris/REPLParser.hs+1−1
@@ -5,7 +5,7 @@ import System.Console.ANSI (Color(..))
55
66import Idris.Colours
77import Idris.AbsSyntax
8−import Core.TT
8+import Idris.Core.TT
99import qualified Idris.Parser as P
1010
1111import Control.Applicative
src/Idris/Transforms.hs+2−2
@@ -3,8 +3,8 @@
33module Idris.Transforms where
44
55import Idris.AbsSyntax
6−import Core.CaseTree
7−import Core.TT
6+import Idris.Core.CaseTree
7+import Idris.Core.TT
88
99data TTOpt = TermTrans (TT Name -> TT Name) -- term transform
1010 | CaseTrans (SC -> SC) -- case expression transform
src/Idris/Unlit.hs+1−1
@@ -1,6 +1,6 @@
11module Idris.Unlit(unlit) where
22
3−import Core.TT
3+import Idris.Core.TT
44import Data.Char
55
66unlit :: FilePath -> String -> TC String
src/Idris/UnusedArgs.hs+2−2
@@ -2,8 +2,8 @@ module Idris.UnusedArgs where
22
33import Idris.AbsSyntax
44
5−import Core.CaseTree
6−import Core.TT
5+import Idris.Core.CaseTree
6+import Idris.Core.TT
77
88import Control.Monad.State
99import Data.Maybe
src/Main.hs+6−5
@@ -12,10 +12,10 @@ import Control.Monad.Trans.Error ( ErrorT(..) )
1212import Control.Monad.Trans.State.Strict ( execStateT, get, put )
1313import Control.Monad ( when )
1414
15−import Core.TT
16−import Core.Typecheck
17−import Core.Evaluate
18−import Core.Constraints
15+import Idris.Core.TT
16+import Idris.Core.Typecheck
17+import Idris.Core.Evaluate
18+import Idris.Core.Constraints
1919
2020import Idris.AbsSyntax
2121import Idris.Parser
@@ -25,7 +25,8 @@ import Idris.Primitives
2525import Idris.Imports
2626import Idris.Error
2727
28−import Util.System ( getLibFlags, getIdrisLibDir, getIncFlags )
28+import IRTS.System ( getLibFlags, getIdrisLibDir, getIncFlags )
29+
2930import Util.DynamicLinker
3031
3132import Pkg.Package
src/Pkg/PParser.hs+1−1
@@ -2,7 +2,7 @@ module Pkg.PParser where
22
33import Text.Trifecta hiding (span, stringLiteral, charLiteral, natural, symbol, char, string, whiteSpace)
44
5−import Core.TT
5+import Idris.Core.TT
66import Idris.REPL
77import Idris.AbsSyntaxTree
88import Idris.ParseHelpers
src/Pkg/Package.hs+3−1
@@ -14,10 +14,12 @@ import Control.Monad
1414import Data.List
1515import Data.List.Split(splitOn)
1616
17−import Core.TT
17+import Idris.Core.TT
1818import Idris.REPL
1919import Idris.AbsSyntax
2020
21+import IRTS.System
22+
2123import Pkg.PParser
2224
2325import Paths_idris (getDataDir)
src/Util/LLVMStubs.hs+1−1
@@ -7,7 +7,7 @@ Replaces stuff from LLVM.General.Target and IRTS.CodegenLLVM.
77
88module Util.LLVMStubs where
99
10−import qualified Core.TT as TT
10+import qualified Idris.Core.TT as TT
1111import IRTS.Simplified
1212import IRTS.CodegenCommon
1313
src/Util/System.hs+2−62
@@ -1,46 +1,24 @@
1−{-# LANGUAGE CPP #-}
2−module Util.System(tempfile,withTempdir,getTargetDir,getCC,
3− getLibFlags,getIdrisLibDir,getIncFlags,rmFile,
4− getMvn,getExecutablePom,catchIO) where
1+module Util.System(tempfile,withTempdir,rmFile,catchIO) where
52
63-- System helper functions.
74import Control.Monad (when)
8−import Control.Applicative ((<$>))
9−import Data.Maybe (fromMaybe)
105import Distribution.Text (display)
116import System.Directory (getTemporaryDirectory
127 , removeFile
138 , removeDirectoryRecursive
149 , createDirectoryIfMissing
1510 )
16−import System.FilePath ((</>), addTrailingPathSeparator, normalise)
17−import System.Environment
11+import System.FilePath ((</>), normalise)
1812import System.IO
1913import System.IO.Error
2014import Control.Exception as CE
2115
22−import Paths_idris
23−
2416catchIO :: IO a -> (IOError -> IO a) -> IO a
2517catchIO = CE.catch
2618
2719throwIO :: IOError -> IO a
2820throwIO = CE.throw
2921
30−
31−getCC :: IO String
32−getCC = fromMaybe "gcc" <$> environment "IDRIS_CC"
33−
34−mvnCommand :: String
35−#ifdef mingw32_HOST_OS
36−mvnCommand = "mvn.bat"
37−#else
38−mvnCommand = "mvn"
39−#endif
40−
41−getMvn :: IO String
42−getMvn = fromMaybe mvnCommand <$> environment "IDRIS_MVN"
43−
4422tempfile :: IO (FilePath, Handle)
4523tempfile = do dir <- getTemporaryDirectory
4624 openTempFile (normalise dir) "idris"
@@ -57,46 +35,8 @@ withTempdir subdir callback
5735 when removeLater $ removeDirectoryRecursive tmpDir
5836 return result
5937
60−environment :: String -> IO (Maybe String)
61−environment x = catchIO (do e <- getEnv x
62− return (Just e))
63− (\_ -> return Nothing)
64−
65−getTargetDir :: IO String
66−getTargetDir = environment "TARGET" >>= maybe getDataDir return
67−
6838rmFile :: FilePath -> IO ()
6939rmFile f = do putStrLn $ "Removing " ++ f
7040 catchIO (removeFile f)
7141 (\ioerr -> putStrLn $ "WARNING: Cannot remove file "
7242 ++ f ++ ", Error msg:" ++ show ioerr)
73−
74−#ifdef FREEBSD
75−extraLib = " -L/usr/local/lib"
76−#else
77−extraLib = ""
78−#endif
79−
80−#ifdef IDRIS_GMP
81−gmpLib = " -lgmp"
82−#else
83−gmpLib = ""
84−#endif
85−
86−getLibFlags = do dir <- getDataDir
87− return $ "-L" ++ (dir </> "rts") ++
88− " -lidris_rts" ++ extraLib ++ gmpLib ++ " -lpthread"
89−
90−getIdrisLibDir = do dir <- getDataDir
91− return $ addTrailingPathSeparator dir
92−
93−#ifdef FREEBSD
94−extraInclude = " -I/usr/local/include"
95−#else
96−extraInclude = ""
97−#endif
98−getIncFlags = do dir <- getDataDir
99− return $ "-I" ++ dir </> "rts" ++ extraInclude
100−
101−getExecutablePom = do dir <- getDataDir
102− return $ dir </> "java" </> "executable_pom.xml"