@@ -87,7 +87,7 @@ import qualified Cryptol.ModuleSystem.Renamer as MR
87
87
import qualified Cryptol.Utils.Ident as C
88
88
89
89
import Cryptol.Utils.PP hiding ((</>) )
90
- import Cryptol.Utils.Ident (Ident , preludeName , preludeReferenceName
90
+ import Cryptol.Utils.Ident (Ident , preludeName , arrayName , preludeReferenceName
91
91
, packIdent , interactiveName , identText
92
92
, packModName , textToModName , modNameChunks
93
93
, prelPrim )
@@ -189,10 +189,12 @@ initCryptolEnv sc = do
189
189
let modEnv1 = modEnv0 { ME. meSearchPath = cryptolPaths ++
190
190
(instDir </> " lib" ) : ME. meSearchPath modEnv0 }
191
191
192
- -- Load Cryptol prelude
192
+ -- Load Cryptol prelude and magic Array module
193
193
(_, modEnv2) <-
194
194
liftModuleM modEnv1 $
195
- MB. loadModuleFrom False (MM. FromModule preludeName)
195
+ do _ <- MB. loadModuleFrom False (MM. FromModule preludeName)
196
+ _ <- MB. loadModuleFrom False (MM. FromModule arrayName)
197
+ return ()
196
198
197
199
-- Load Cryptol reference implementations
198
200
((_,refMod), modEnv) <-
@@ -213,6 +215,7 @@ initCryptolEnv sc = do
213
215
return CryptolEnv
214
216
{ eImports = [ (OnlyPublic , P. Import preludeName Nothing Nothing )
215
217
, (OnlyPublic , P. Import preludeReferenceName (Just preludeReferenceName) Nothing )
218
+ , (OnlyPublic , P. Import arrayName Nothing Nothing )
216
219
]
217
220
, eModuleEnv = modEnv
218
221
, eExtraNames = mempty
0 commit comments