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.
This PR adds some additional functions to different structures.
Description
Time.tick
This is the smallest time value. It is useful to be able to know what the smallest time unit is in code, and this addition was recommended in SMLFamily/BasisLibrary#35.
Universal.tagTryProject
It is a common usage pattern to do the following:
Because
universal
is implemented using an optional, this code performs additional checks.It also encourages a bad pattern (check + unwrap) instead of pattern matching.
Now one can write:
Unsafe.ptrEq
This definition was referenced in #327, and it makes sense to add it to the
Unsafe
module to bless this as a valid implementation.How Has This Been Tested?
Time.tick
andUniversal.tagTryProject
are trivially tested, but these are trivial additions.Unsafe.ptrEq
has not been extensively tested.