on master help sign in
Stop trying to load interfaces when adding the prelude
c7de365Evan Czaplicki
compiler/Metadata/Prelude.hs+1−37
@@ -1,16 +1,12 @@
1{-# OPTIONS_GHC -W #-}
1{-# OPTIONS_GHC -W #-}
2{-# LANGUAGE FlexibleContexts #-}
2{-# LANGUAGE FlexibleContexts #-}
3−module Metadata.Prelude (interfaces, add) where
3+module Metadata.Prelude (add) where
4
4
5−import Control.Monad.Error (MonadError, throwError, MonadIO, liftIO)
6import qualified Data.Map as Map
5import qualified Data.Map as Map
7import qualified Data.Set as Set
6import qualified Data.Set as Set
8
7
9import qualified AST.Module as Module
8import qualified AST.Module as Module
10import qualified AST.Variable as Var
9import qualified AST.Variable as Var
11−import qualified Build.Artifact as Artifact
12−import qualified Build.Utils as Utils
13−import qualified Elm.Compiler.Version as Compiler
14
10
15
11
16-- DEFINITION OF THE PRELUDE
12-- DEFINITION OF THE PRELUDE
@@ -97,35 +93,3 @@ addImport (name, method) importDict =
97 Var.Listing
93 Var.Listing
98 (Set.toList (Set.fromList (explicits1 ++ explicits2)))
94 (Set.toList (Set.fromList (explicits1 ++ explicits2)))
99 (open1 || open2)
95 (open1 || open2)
100−
101−
102−-- EXTRACT INTERFACES FROM STATIC FILE
103−
104−interfaces :: (MonadIO m, MonadError String m) => m Module.Interfaces
105−interfaces =
106− do filePath <- liftIO (Utils.getDataFile "interfaces.data")
107− interfaces <- mapM (isValid filePath) =<< Artifact.read filePath
108− case interfaces of
109− [] -> throwError "No interfaces found in serialized Prelude!"
110− _ -> return (Map.fromList interfaces)
111−
112−
113−isValid
114− :: (MonadError String m)
115− => FilePath
116− -> (Module.Name, Module.Interface)
117− -> m (Module.Name, Module.Interface)
118−isValid filePath (name, interface) =
119− if version == Compiler.version
120− then return (name, interface)
121− else throwError badVersion
122− where
123− version = Module.iVersion interface
124−
125− badVersion =
126− concat
127− [ "Error reading build artifact: ", filePath, "\n"
128− , " It was generated by version ", version, " of the compiler,\n"
129− , " but you are using version ", Compiler.version, "\n"
130− , " Please remove the file and try again.\n"
131− ]