On 11.08.2010, at 15:23, Alexandre Bergel wrote:

>> Yes please don't add that.
> 
> This is not my intention. But I just discovered some bugs in my test because 
> I instantiated a class that shouldn't be instantiated since it is abstract.
> If now we close our eyes and dream about a clean oo language. Will forbidding 
> to instantiate an abstract class a wished feature?
> 
Ok, I'm going slightly off-topic here. But what makes me wonder is that it is

Behavior>>isAbstractClass

and not

Class>>isAbstractClass

And wouldn't it than be

Class>>basicNew
        self isAbstractClass ifTrue: [ self error: 'An abstract class cannot be 
instantiated' ].
        ^ super basicNew

if you want to avoid abstract classes being instantiated? Not to forget 
basicNew:

Just a question.

Norbert

>> 
>> On Wednesday, August 11, 2010, Stanislav Paskalev <[email protected]> wrote:
>>> And it will also require modifying the Pharo by Example book that says
>>> that there's nothing wrong with instantiating abstract classes and
>>> that there is no *abstract* class marker in this sense, only abstract
>>> methods.
>>> 
>>> So, why would try to convert Pharo to another language ?
>>> 
>>> Stanislav Paskalev
>>> 
>>> 
>>> On Wed, Aug 11, 2010 at 3:43 PM, Alexandre Bergel <[email protected]> 
>>> wrote:
>>>> Hi!
>>>> 
>>>> Just wondering. What about redefining new into:
>>>> -=-=-=-=-=-=-=-=-=-=-=-=
>>>> Behavior>>new
>>>>       "Answer a new initialized instance of the receiver (which is a 
>>>> class) with no indexable variables. Fail if the class is indexable."
>>>>       self isAbstractClass ifTrue: [ self error: 'An abstract class cannot 
>>>> be instantiated' ].
>>>>       ^ self basicNew initialize
>>>> -=-=-=-=-=-=-=-=-=-=-=-=
>>>> 
>>>> This may break a lot of code however.
>>>> 
>>>> Cheers,
>>>> Alexandre
>>>> --
>>>> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
>>>> Alexandre Bergel  http://www.bergel.eu
>>>> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>>>> 
>>>> 
>>>> 
>>>> 
>>>> 
>>>> 
>>>> _______________________________________________
>>>> Pharo-project mailing list
>>>> [email protected]
>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>> 
>>> 
>>> _______________________________________________
>>> Pharo-project mailing list
>>> [email protected]
>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>> 
>> -- 
>> Lukas Renggli
>> www.lukas-renggli.ch
>> 
>> _______________________________________________
>> Pharo-project mailing list
>> [email protected]
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
> 
> -- 
> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> Alexandre Bergel  http://www.bergel.eu
> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
> 
> 
> 
> 
> 
> 
> _______________________________________________
> Pharo-project mailing list
> [email protected]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Reply via email to