You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
An operator definition consists of a sequence of clauses, each with a corresponding type signature.
If the values on the top of the stack can be coerced into the signature required by the clause, the clause is chosen. In case of more than one match, the first matching clause in the sequence is chosen.
There are a few checks which help ensure that clauses don't "interfere" with each other. These checks need to be re-implemented in the new PureScript core.
Ensure clauses are listed in "most-specific-first" order, such that for all every clause c_i, the length of c_i's signature is greater than or equal to c_(i+1)'s signature.
Ensure clauses do not overwrite each other. If the signature of clause c_i can be coerced to a suffix of any previous clause's signature, then it is subsumed by the previous clause and will never be executed.
The text was updated successfully, but these errors were encountered:
An operator definition consists of a sequence of clauses, each with a corresponding type signature.
If the values on the top of the stack can be coerced into the signature required by the clause, the clause is chosen. In case of more than one match, the first matching clause in the sequence is chosen.
There are a few checks which help ensure that clauses don't "interfere" with each other. These checks need to be re-implemented in the new PureScript core.
c_i
, the length ofc_i
's signature is greater than or equal toc_(i+1)
's signature.c_i
can be coerced to a suffix of any previous clause's signature, then it is subsumed by the previous clause and will never be executed.The text was updated successfully, but these errors were encountered: