[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Liberty-eiffel] STRING not conforming to ANY

From: Phil Malin
Subject: Re: [Liberty-eiffel] STRING not conforming to ANY
Date: Mon, 10 Feb 2014 23:15:00 +1100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.3.0

Hi Cyril.

On 10/02/14 01:48, Cyril ADRIAN wrote:
[snip snip: about STRING not conforming to ANY]

This is indeed deliberate. ANY provides common services (through insert), but the SmartEiffel team thought that ANY should not provide polymorphism (and I agree). STRING was one of the last remaining classes of the standard library to still conform to ANY.

Note that there is some thought about implementing conversion, although nothing has been coded yet. It will help alleviate the (ab)use of some patterns—such as the untyped/generic-typed dual classes, which I rely upon quite a lot.

Thanks for your ongoing interest :-)

Well, it's great chatting about this Eiffel compiler again on a mailing list! :-) I still use SmartEiffel quite a lot - I'd say consistently over the last 15 years or so. So it's great to see new life being pumped into her.

Ahh yes, I remember the mailing list talks about the polymorphic and behavioural inheritance (for want of a better term).

It's not a biggie - I haven't really come across any hiccups in my code as yet, only a couple of instances where I have a routine taking an object of type 'ANY' as a parameter. But I have gotten my core library to compile and so now I can move onto my others. I remember promising releasing some of my libraries out into the wild but didn't (life got in the way). Once I port fully over to Liberty I'd actually like to do this.

Out of interest, how do you reconcile this with the export rule 'feature {ANY}' ? Technically speaking, an object which inserts ANY instead of type-inheriting it shouldn't be able to view these features (perhaps the compiler doesn't let them - I haven't actually tried this).


reply via email to

[Prev in Thread] Current Thread [Next in Thread]