Closed pigworker closed 4 years ago
Also holler if you think it's barbaric of me to allow
p | g -> e
-> e'
In general, a pattern is followed by a nonempty sequence of right hand sides, each of which is either | g -> e
or just -> e
.
I think you also forgot examples/guards.shonkier
, but now we have the gold for it at least.
Colour opinions:
?>
.\
, as the arguments are swapped compared to CSP's hiding operator. I'm happy with ^
.|
for guards.p | g -> e | -> e'
over p | g -> e -> e'
(ie a right hand side is either unguarded, or a nonempty sequence of | maybe-guard -> e
s)OK, I'll make those changes.
I think this branch could be merged. All tests pass.
But should it be merged? Whatever I've forgotten, I've don't remember, but perhaps you do.
Meanwhile, there might still be a few bikesheds to bother about.
%
for prioritized choice, but perhaps that's bold. I wouldn't cry over?>
or some such, as long as its asymmetric, short, etc.\
for effect masking. Again, bold. I had originally plotted^
and I might still prefer that.|
for guarding, as inp | g1 -> e1 | g2 -> e2 ...
which is very far from weird, but removes the option to use|
as a clause separator. Lots of things would work instead, including,
.Feel free to kick around before merging.