I hope this post creates an interesting discussion around the subject.
It might be too late (and surely break all the current Flock scripts out there), but for consistency (at least with ETL) the semantics of rule reach and extension in Flock should work the other way round, so migrate rules should:
1. Be "not greedy" by default (hence there should be a greedy annotation and not a strict)
2. Not inherit by default, so u will need an extends keyword and possibly an abstract annotation (if you want to skip instances of super-types from being migrated)
It would be nice to hear ideas/experience regarding this topic
Horacio Hoyos Rodriguez
University Of York
I can see the benefits of making these changes but I agree with Louis that overhauling the default semantics of the language at this point is probably not an option. One option for a future version of Flock could be to provide a runtime flag that inverts the default semantics.