[m-rev.] for review: provide alternatives to can-fail functions in the library

Zoltan Somogyi zoltan.somogyi at runbox.com
Thu Aug 8 09:30:10 AEST 2024


For review by anyone.

This diff also adds some "XXX STATEVAR"s to library/injection.m.
The marked predicates have non-statevar-friendly argument orders.
Given that injection.m is rarely used, I would like to simply change
those arguments orders in a follow-up diff, noting the change in NEWS.md.
Does anyone think that we need a more gradual implementation
of that change?

Something that would definitely have more impact is replacing the semidet
function in the enum typeclass. (The uenum typeclass already has a
semidet *predicate* in the same role.) Since you cannot obsolete one
typeclass method in favor of another, I can't think of a way to make any
changeover any less disruptive than just making the replacement and announcing it,
and expecting everyone to fix their instance declarations when they next update
their Mercury standard library. Can anyone else?

Zoltan.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Log.cff
Type: application/octet-stream
Size: 2216 bytes
Desc: not available
URL: <http://lists.mercurylang.org/archives/reviews/attachments/20240808/37d15483/attachment-0002.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: DIFF.cff
Type: application/octet-stream
Size: 85298 bytes
Desc: not available
URL: <http://lists.mercurylang.org/archives/reviews/attachments/20240808/37d15483/attachment-0003.obj>


More information about the reviews mailing list