File tree Expand file tree Collapse file tree 1 file changed +15
-4
lines changed
Expand file tree Collapse file tree 1 file changed +15
-4
lines changed Original file line number Diff line number Diff line change @@ -581,8 +581,7 @@ let u_array_ext extraf f st =
581581 extraItem, arr
582582
583583let u_list_core f n st =
584- [ for _ in 1 .. n do
585- yield f st ]
584+ List.init n ( fun _ -> f st)
586585
587586let u_list f st =
588587 let n = u_ int st
@@ -1305,11 +1304,23 @@ let u_ILInstr st =
13051304// Pickle/unpickle for F# types and module signatures
13061305//---------------------------------------------------------------------------
13071306
1308- let p_Map pk pv = p_ wrap Map.toList ( p_ list ( p_ tup2 pk pv))
1307+ let p_Map_core pk pv xs st =
1308+ xs |> Map.iter ( fun k v -> pk k st; pv v st)
1309+
1310+ let p_Map pk pv x st =
1311+ p_ int ( Map.count x) st
1312+ p_ Map_ core pk pv x st
1313+
13091314let p_qlist pv = p_ wrap QueueList.toList ( p_ list pv)
13101315let p_namemap p = p_ Map p_ string p
13111316
1312- let u_Map uk uv = u_ wrap Map.ofList ( u_ list ( u_ tup2 uk uv))
1317+ let u_Map_core uk uv n st =
1318+ Map.ofSeq ( seq { for _ in 1 .. n -> ( uk st, uv st) })
1319+
1320+ let u_Map uk uv st =
1321+ let n = u_ int st
1322+ u_ Map_ core uk uv n st
1323+
13131324let u_qlist uv = u_ wrap QueueList.ofList ( u_ list uv)
13141325let u_namemap u = u_ Map u_ string u
13151326
You can’t perform that action at this time.
0 commit comments