[e-lang] impl: collections

Kevin Reid kpreid at attglobal.net
Sat May 14 15:07:44 EDT 2005


On May 14, 2005, at 14:15, Mark Miller wrote:
> Dean Tribble wrote:
>> However lists with different element types but the same elements all 
>> compare equal.
>
> This is a bug. They should not compare equal (using ==), since they 
> aren't.

I am surprised. I had thought the existing implementation was 
consistent, in that ConstLists never revealed element types (not in 
valueType/0, nor __optUncall/0), but I just checked and found that they 
do:

   ? [].diverge(float64).snapshot().valueType()
   # value: float64

The same is true for ConstMap.

E-on-CL reflects this belief; before I checked, I was going to say this:

   I see no reason not to make this change, but it is a semantic 
*change*, and
   not a bugfix.

I suggest that both possibilities (Const* being apparently-untyped or 
visibly typed) be considered.


Semi-incidentally: the collections in E-on-CL, where element types are 
public (that is, Flex*), deliberately allow any guard at all, and not 
just ones which are "primitive" types.

-- 
Kevin Reid                            <http://homepage.mac.com/kpreid/>



More information about the e-lang mailing list