Waclaw Kusnierczyk (13.9.2007 9:14):
In fact, there is a difference between l(f:V) and l(F:v) in that there is no requirement on the uniqueness of values in a record, and in this sense the pattern l(F:v ...) would be nondeterministic, provided no requirement on sorting the features. But I don't see why the question 'does it contain the feature f?' would have to be, in general, more interesting than 'does it contain a feature with the value v?'
Features and values are not equal. Look at the RecordC constraints, and think of your proposals in terms of incremental record specification.
ok. as said before, i was not concerned with the implementation, but rather with the interface.
I was not talking about implementation, either. I just don't see what behavior do you propose for the cases when the record arity is not fully determined yet. If you propose that the minimum feature is selected, then you'd have to wait until the arity is determined.

Which brings me to a more constructive comment:

local
  fun {InsideOut R}
     NR={Dictionary.new}
  in
     {Record.forAllInd R
      proc {$ F V} N in
         {Dictionary.condExchange NR V F N N}
      end
     }
     {Dictionary.toRecord {Label R} NR}
  end
in
  case {InsideOut a(b:c d:e)}
  of a(c:F ...) then
     {Show F}
  end
end

Cheers,
Filip

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

Reply via email to