Jesse Phillips, el 16 de noviembre a las 13:19 me escribiste: > Is there a reason not to have all interfaces compile time checked? It > would still be allowable to state a class implements an interface and > have the compiler check it. > > The reason I say this is it would remove the complexity of having the > two types of interfaces. And if you wanted to be able to check for the > interface at run-time the same interface can be used.
The problem is "regular" interfaces provide dynamic dispatch. Andrei could implement all the range stuff using interfaces, but that would mean: 1) You have to inherit from the interface (i.e., you can't use arrays) 2) All calls to ranges functions are virtual (inefficient; this is particularly relevant since they are called inside loops => lot of times) A static interface don't have those problems, and I don't see a way to mix static and dynamic interfaces without introducing a "new" type of interfaces (static interface). -- Leandro Lucarella (AKA luca) http://llucax.com.ar/ ---------------------------------------------------------------------- GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145 104C 949E BFB6 5F5A 8D05) ---------------------------------------------------------------------- Si pudiera acercarme un poco más, hacia vos Te diría que me tiemblan los dos pies, cuando me mirás Si supieras todo lo que me costó, llegar Hoy sabrías que me cuesta respirar, cuando me mirás