20:30:45|3b|ACTION might even argue IS should be HAS-VALUE or something, with test optional
20:31:03|3b|(defaulting to EQL to match the rest of CL)
20:32:07|3b|ACTION reads IS as "Is <binary predicate> true for <2 values>", probably mostly due to the predicate being there
20:32:53|3b|if it were (IS value form &key (test eql)) or similar, i'd be more likely read it the way you do, though possibly i'd still argue the order :)
20:34:34|3b|and in addition to the "assert a relation" use there is the "test against an alternate implementation that might be broken but hopefully in different ways" use, where treating them symmetrically would be preferable
20:35:29|3b|(and let me know if i'm being too annoying about this stuff, parachute is still plenty usable already :)
20:35:54Shinmeraabout that I was actually thinking of a randomised testing support thing
20:36:45|3b|yeah, random testing might require that, depending on whether you can generate problems from answers
20:38:19ShinmeraWas thinking about a thing to define a grammar and a set of invariants
20:38:33Shinmerait would then randomly generate forms from the grammar and check the invariants at every step
20:53:21ShinmeraFro the relation thing I think ARE would be a good name