Repository navigation
Conversation
Map_ident, Map_int and Map_string are Map.Make instances with the same comparisons; Ext_map and Map_gen are removed. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Christoph Knittel <ck@cca.io>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Christoph Knittel <ck@cca.io>
cknitt
added this pull request to stack #8788
October 10, 2026 19:01
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Christoph Knittel <ck@cca.io>
rescript
@rescript/belt
@rescript/darwin-arm64
@rescript/darwin-x64
@rescript/linux-arm64
@rescript/linux-x64
@rescript/runtime
@rescript/win32-x64
commit: |
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Last of four PRs moving the compiler's own collections onto the OCaml standard library, stacked on #8789. This one covers maps.
Map_ident,Map_intandMap_stringare nowMap.Makeinstances with the same comparison functions, includingExt_string.compare(length first) for strings, so iteration order is unchanged. Call sites use the stdlib API and argument order. The ext-only helpers map onto stdlib functions:find_exn→findfind_default→find_optwith a defaultadjust→updatedisjoint_merge_exn→unionwith a failing mergeto_sorted_array_with_f→bindingscompare_key→Ext_string.compareExt_mapandMap_genare removed, together with the ounit tests of their helpers. With this PR the compiler has no hand-written ordered or hashed collections left apart fromOrdered_hash_mapandHash_set_ident_mask, which have no stdlib equivalent.Output: byte-identical to #8789 on 628 files (Belt, all of
tests/tests/src, and the benchmark stress inputs).Performance: the whole stack against master measures CPU +0.2% (noise) and allocation +0.6%. The removed maps had a compact leaf node that stdlib
Mapdoesn't have.🤖 Generated with Claude Code