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
Currently for type quantities, we have empty, any, one, and nonempty.
One simple extension that may be useful is to add every (which used to be in the lanugage) back. One particular use case for this is in filters, where it can be used to assert that the predicate is true for every value in the source. For example,
[ x,y,z] --[ every such that P(_) ]-> Dst
will only succeed when P(x), P(y), and P(z) are all true.
Another possible extension is to replace type quantities with a "bounds" system, so types look something like xs : (>=n, <=m) multiset nat, meaning that n <= size x <= m, where . This gives significantly more expressive power (e.g., empty becomes (>=0, <=0), nonempty becomes (>=1, <=infinity)), but it's unclear what this is actually useful for.
The text was updated successfully, but these errors were encountered:
Currently for type quantities, we have
empty
,any
,one
, andnonempty
.One simple extension that may be useful is to add
every
(which used to be in the lanugage) back. One particular use case for this is in filters, where it can be used to assert that the predicate is true for every value in the source. For example,will only succeed when
P(x)
,P(y)
, andP(z)
are all true.Another possible extension is to replace type quantities with a "bounds" system, so types look something like
. This gives significantly more expressive power (e.g.,
xs : (>=n, <=m) multiset nat
, meaning thatn <= size x <= m
, whereempty
becomes(>=0, <=0)
,nonempty
becomes(>=1, <=infinity)
), but it's unclear what this is actually useful for.The text was updated successfully, but these errors were encountered: