More polymorphic type for Array.alloc
and HashMap.empty
#410
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.
Replacing response type
Ur b
by simplyb
also type checks and enables uses like(see issue #404). Without this PR, the respective code would be
with
fst :: Consumable b => (a, b) -> a
.The old typing of
empty
forces the insertion ofmove
which can only happen after consuming theenv
viafst
(becauseHashMap
does not implementConsumable
).The new code seem to be better, allowing
env
to be garbage-collected unforced once we want to dispose of it.Caveat: I am relying on the linear type checker (which might be in alpha state, dunno), so there might be reasons unknown to me why this generalization is invalid. Test suite passes, though.
Also in this PR: Restrict
tasty-hedgehog < 1.2
to makecabal build
succeed.