Closed wilfwilson closed 3 years ago
This could be implemented by turning it into a list of SetStabs and SetTransporters -- it might need a call to "Flat" adding somewhere where we handle the constraints, if there isn't already one there, and a "fail" constraint (can't remember if we have one?) if TupleSetTransporter is called with different length tuples.
Ah yes of course, you're thinking in the Vole way 😉. I don't think we have a fail constraint.
For now I'm going to consider this closed. I implemented OnTuplesSets
and OnTuplesTuples
for VoleCon.Stabilise
and VoleCon.Transport
, the way that you suggested. Explicitly, that means you can now do, for example,
VoleCon.Stabilise(x, OnTuplesTuples)
and
VoleCon.Transport(x, y, OnTuplesSets)
I don't think there's a need to implement corresponding refiner objects as well (at least, not at this point). I might document why they're not (yet) implement - although someone who is advanced enough to want to use refiners as opposed to constraints probably is doing their own fancy stuff anyway, and would know how to do TupleSetTransporter
etc.
I think this is missing but it would be great to have (it lets us do ordered partitions, for example).