Most constraints do not have any state or internal variables. This one saves each object in a history list and returns false if it has already seen an object.
This can be used to eliminate duplicates.b = SeenBefore.new; f = { 100.rand }; // or choose a random soundfile path 100.do { arg i; var v; v = f.value; if(b.value(v),{ [k,v].postln }) };
No arguments