On 3 November 2016 at 07:11, Dimitris Chloupis <kilon.al...@gmail.com>
wrote:

> Actually sorry Igor but you are wrong, you just defeated the purpose of
> Smalltalk. To expose you to the internals. Of course you can implement
> interfaces. You can even implement static types. You can do anything you
> want.
>
>
So, why you asking then 'why smalltalk doesn't have .... ' when you know
that in smalltalk you can do anything you want?
Yes, you can do anything you want, but not everything you can do makes
sense to do.
And it doesn't defeats the purpose of smalltalk, it just defeats the common
sense.

And last one, i don't understand what kind of 'exposure to internals' you
are talking about.
In smalltalk people used to write a functional tests, to check that your
code behaves as intended. Now you proposing to introduce static interfaces,
borrowed from other lanuages, the only purpose of which is to declare that
your code *could* behave as intended, no guarantees , nothing.
Just a set of formal rules on top of existing ones, with ZERO end effect
and benefits.
You want it? You are free to implement it. Good look with it..

I wonder, why so many people think that if they put soft pillows
everywhere, seal the doors (because outside is dangerous) , and after
sealing and pillowing everything they happily rest with thought 'now we are
safe'.. not realizing, that they built a perfect jail for themselves,
without any means to escape from it and do something in real world.

The compiler is written in Smalltalk after all.
>
> On Wed, 2 Nov 2016 at 23:02, Igor Stasenko <siguc...@gmail.com> wrote:
>
>
> If you want to ensure that your class(es) comply with certain protocol,
> just write a test that covers the protocol and checks that class instances
> will understand messages you want it to understand.
> But there's no way to restrict your class to comply to whole protocol once
> at a time, because tools made in a way, that you populating your class with
> methods, each method is add individually and compiled separately, and the
> only validation, the compiler is capable of is basically compliance with
> smalltalk syntax. And it doesn't cares about higher lever requirement, like
> whether your class turns to be 'valid' because of a method you just added,
> ready to be used and for what.
> Even more, there's no way to connect all those 'interface' formalisation
> garbage rules with send sites (the place where you actually invoking one or
> another method of one of potetial implementor of your interface), so it
> makes no sense to do any (pre)validation on whatever class/object in a
> system in order to check whether it conforms with it or not.
> That's " Why don't Smalltalk or Smalltalklike languages have checked
> interfaces?"
>
> --
> Best regards,
> Igor Stasenko.
>
>


-- 
Best regards,
Igor Stasenko.

Reply via email to