((is of type x) OR (is of type y)) AND NOT (is of type z)
What is an example of something you would
use the feature for?
What is an example of something you would
use the feature for?
For example, if we introduce imaginary * as and, + as or, - as not, how could we form the semantically same type as:
foo: ((x + y) * -z) -> w
I'm defining x, y, z and w previously, as some existing types. In this example, function foo has a single parameter that accepts an element of the set ((x union y) intersect (not z)).
It seems it is not a new idea. I've got some answers at: https://stackoverflow.com/questions/48139262/boolean-type-checking
these are two relevant papers I got from there: http://www.cs.cmu.edu/~joshuad/papers/intcomp-jfp/Dunfield14_elaboration.pdf https://www.irif.fr/~gc/papers/icalp-ppdp05.pdf
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 293 |
Nodes: | 16 (2 / 14) |
Uptime: | 217:58:07 |
Calls: | 6,621 |
Calls today: | 3 |
Files: | 12,171 |
Messages: | 5,317,713 |