@@ -3,12 +3,14 @@ module Initialize (build, buildFromSource) where
33import Control.Applicative ((<$>))
44import Control.Monad.Error
55import Data.List (lookup,nub)
6+import qualified Data.Map as Map
67
78import Ast
89import Data.Either (lefts,rights)
910import Data.List (intercalate,partition)
1011import Parse.Parser (parseProgram, preParse)
1112import Rename
13+import Libraries (libraries)
1214import Types.Types ((-:))
1315import Types.Hints (hints)
1416import Types.Unify
@@ -27,9 +29,7 @@ checkTypes (Module name ex im stmts) =
2729 let stmts' = dealias stmts
2830 modul = Module name ex im stmts'
2931 in do subs <- unify hints modul
30− let --im' | any ((=="Prelude") . fst) im = im
31− -- | otherwise = ("Prelude", Importing []) : im
32− modul' = optimize . renameModule $ Module name ex im stmts'
32+ let modul' = optimize . renameModule $ Module name ex im stmts'
3333 subs `seq` return modul'
3434
3535check :: Module -> Either String Module
@@ -90,13 +90,7 @@ readDeps seen root = do
9090 where realDeps = filter (`notElem` builtIns) deps
9191 newDeps = filter (`notElem` seen) realDeps
9292 seen' = root : seen ++ newDeps
93− builtIns = [] {--
94− ["List","Char","Either","Maybe","Dict","Set","Date",
95− "Signal","Mouse","Keyboard.Raw","Keyboard","Touch",
96− "WebSocket","Window","Time","HTTP","Input","Random",
97− "Graphics","Text","Color","JavaScript","Automaton",
98− "JavaScript.Experimental","Prelude","JSON"]
99− --}
93+ builtIns = Map.keys libraries
10094
10195isNative name = takeWhile (/='.') name == "Native"
10296toFilePath name = map swapDots name ++ ext