Which brings me to a more constructive comment:

which is fine, thanks, though does not scale up to patterns such as a(F1:v F2:v ...), since v cannot be the feature of two fields, as it would have to be in the inversed record.

True, and in addition to that, the values must be atoms / ints.

You can probably also try other "inversing" tricks, something like

case {ScanRecordForValues R [v1 v2 v3 v4]}
of r(1:[F1 F2] 2:[F3] 3:F4|F5|F6|_ 4:nil) then ....
end

or even

case {ScanRecordForValues_Labelled R spec(l1:v1 l2:v2 l3:v3 l4:v4)}
of r(l1:[F1 F2] l2:[F3] l3:F4|F5|F6|_ l4:nil) then ....
end

Cheers,
Filip

_________________________________________________________________________________
mozart-users mailing list                               
[email protected]
http://www.mozart-oz.org/mailman/listinfo/mozart-users

Reply via email to