@@ -42,11 +42,16 @@ type ImportDict =
4242
4343createInitialEnv :: ModuleName.Canonical -> ImportDict -> I.Interfaces -> [Src.Import] -> Result i w Env.Env
4444createInitialEnv home importDict interfaces sourceImports =
45− do imports <- traverse (verifyImport importDict interfaces) sourceImports
45+ do imports <- traverse (verifyImport importDict interfaces) (filter isNotKernel sourceImports)
4646 (State vs ts cs bs qvs qts qcs) <- foldM addImport emptyState imports
4747 Result.ok (Env.Env home (Map.map Env.Foreign vs) ts cs bs qvs qts qcs)
4848
4949
50+isNotKernel :: Src.Import -> Bool
51+isNotKernel (Src.Import (A.At _ name) _ _) =
52+ not (ModuleName.isKernel name)
53+
54+
5055
5156-- STATE
5257
@@ -65,7 +70,12 @@ data State =
6570
6671emptyState :: State
6772emptyState =
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
74+
75+
76+emptyTypes :: Env.Exposed Env.Type
77+emptyTypes =
78+ Map.singleton "List" (OneOrMore.one (Env.Union 1 ModuleName.list))
6979
7080
7181