[kepler-dev] Re: zero-length arrays

Shawn Bowers bowers at sdsc.edu
Thu Aug 12 11:43:29 PDT 2004


Doh! thanks; I wasn't paying enough attention there. Actually, I haven't 
looked at the record operations in Ptolemy.

 From the documentation, it sounds like the intersect operation is 
really just a set-based intersection over the attribute names. It 
returns a new record with one component for each resulting attribute 
name in the intersection such that the value of the component is the 
value of the component with the same name in the first record.

I think it makes sense here for empty records, since there is a 
distinction between records and sets/arrays as types in Ptolemy and 
there is probably some motivation for having intersect be closed. It 
seems like there might be some strange cases though where distinguishing 
records from sets/arrays isn't quite correct.  For example, if we could 
do set (i.e., array) based intersection, should intersect({f=1},{g=1}) 
== intserect({1},{0}) be true or false.  Since records are really just 
special forms of sets, the answer should probably be true -- but by 
separating the two data types, the answer would probably be false.


shawn



Tobin Fricke wrote:

> On Thu, 12 Aug 2004, Shawn Bowers wrote:
> 
> 
>>>But it seems that Ptolemy allows empty records: intersect({foo=0},{bar=0})
>>
>>These aren't empty records though, right? They both have one component:
>>one has foo and the other bar.  Maybe I don't understand your example.
> 
> 
> That expression evaluates to the empty record:
> 
> 
>>>intersect({foo=0},{bar=6})
> 
> {}
> 
> tobin
> 
> _______________________________________________
> kepler-dev mailing list
> kepler-dev at ecoinformatics.org
> http://www.ecoinformatics.org/mailman/listinfo/kepler-dev




More information about the Kepler-dev mailing list