@@ -42,11 +42,16 @@ type ImportDict =
43createInitialEnv :: ModuleName.Canonical -> ImportDict -> I.Interfaces -> [Src.Import] -> Result i w Env.Env
43createInitialEnv :: ModuleName.Canonical -> ImportDict -> I.Interfaces -> [Src.Import] -> Result i w Env.Env
44createInitialEnv home importDict interfaces sourceImports =
44createInitialEnv home importDict interfaces sourceImports =
45− do imports <- traverse (verifyImport importDict interfaces) sourceImports
45+ do imports <- traverse (verifyImport importDict interfaces) (filter isNotKernel sourceImports)
46 (State vs ts cs bs qvs qts qcs) <- foldM addImport emptyState imports
46 (State vs ts cs bs qvs qts qcs) <- foldM addImport emptyState imports
47 Result.ok (Env.Env home (Map.map Env.Foreign vs) ts cs bs qvs qts qcs)
47 Result.ok (Env.Env home (Map.map Env.Foreign vs) ts cs bs qvs qts qcs)
50+isNotKernel :: Src.Import -> Bool
51+isNotKernel (Src.Import (A.At _ name) _ _) =
52+ not (ModuleName.isKernel name)
@@ -65,7 +70,12 @@ data State =
66emptyState :: State
71emptyState :: State
67emptyState =
72emptyState =
68− State Map.empty Map.empty Map.empty Map.empty Map.empty Map.empty Map.empty
73+ State Map.empty emptyTypes Map.empty Map.empty Map.empty Map.empty Map.empty
76+emptyTypes :: Env.Exposed Env.Type
78+ Map.singleton "List" (OneOrMore.one (Env.Union 1 ModuleName.list))