@@ -1227,7 +1227,7 @@ exportValue ty v = case ty of
1227
1227
1228
1228
-- records
1229
1229
TV. TVRec fields ->
1230
- V. VRecord (exportRecordValue (Map. assocs (Map. fromList fields)) v)
1230
+ V. VRecord (Map. fromList $ exportRecordValue (Map. assocs (Map. fromList fields)) v)
1231
1231
1232
1232
-- functions
1233
1233
TV. TVFun _aty _bty ->
@@ -1276,7 +1276,7 @@ exportFirstOrderValue fv =
1276
1276
| otherwise -> V. VSeq len (V. finiteSeqMap (map (V. ready . exportFirstOrderValue) vs))
1277
1277
where len = toInteger (length vs)
1278
1278
FOVTuple vs -> V. VTuple (map (V. ready . exportFirstOrderValue) vs)
1279
- FOVRec vm -> V. VRecord [ (C. packIdent n, V. ready $ exportFirstOrderValue v) | (n, v) <- Map. assocs vm ]
1279
+ FOVRec vm -> V. VRecord $ Map. fromList [ (C. packIdent n, V. ready $ exportFirstOrderValue v) | (n, v) <- Map. assocs vm ]
1280
1280
1281
1281
importFirstOrderValue :: FirstOrderType -> V. Value -> IO FirstOrderValue
1282
1282
importFirstOrderValue t0 v0 = V. runEval (V. EvalOpts C. quietLogger V. defaultPPOpts) (go t0 v0)
@@ -1289,7 +1289,7 @@ importFirstOrderValue t0 v0 = V.runEval (V.EvalOpts C.quietLogger V.defaultPPOpt
1289
1289
(FOTVec _ ty , V. VSeq len xs) -> FOVVec ty <$> traverse (go ty =<< ) (V. enumerateSeqMap len xs)
1290
1290
(FOTTuple tys , V. VTuple xs) -> FOVTuple <$> traverse (\ (ty, x) -> go ty =<< x) (zip tys xs)
1291
1291
(FOTRec fs , V. VRecord xs) ->
1292
- do xs' <- Map. fromList <$> mapM importField xs
1292
+ do xs' <- Map. fromList <$> mapM importField ( Map. assocs xs)
1293
1293
let missing = Set. difference (Map. keysSet fs) (Map. keysSet xs')
1294
1294
unless (Set. null missing)
1295
1295
(fail $ unwords $ [" Missing fields while importing finite value:" ] ++ Set. toList missing)
0 commit comments