In a related problem, I want use the reified version of in/2 from ic_sets: B #= (I in Set) but I find that it only propagates when I is instantiated, not when it is constrained, so: [eclipse 32]: I :: [0,1,2,3,4], B #= (I in [1,2]), I #> 2. B = B{[0, 1]} I = I{[3, 4]} B is not instantiated even though clearly I cannot be in [1,2]. I have discovered, however, that the following trick works: [eclipse 8]: I :: [0,1,2,3,4], J in [1,2], B #= (I #= J), I #> 2. I = I{[3, 4]} J = J{[1, 2]} B = 0 Yes (0.00s cpu) Can anyone think of a good reason why doing this would be inadvisable? Malcolm -- "If there is one thing worse than the modern weakening of major morals it is the modern strengthening of minor morals. Thus it is considered more withering to accuse a man of bad taste than of bad ethics." -- G.K.Chesterton, On Lying in BedReceived on Tue Sep 18 2007 - 08:38:27 CEST
This archive was generated by hypermail 2.2.0 : Thu Feb 02 2012 - 02:31:58 CET