I don’t agree with that, if you implement static types or interfaces it’s no longer really Smalltalk. It would be (a variant of) Strongtalk http://www.bracha.org/nwst.html http://www.strongtalk.org/index.html
-- Does this mail seem too brief? Sorry for that, I don’t mean to be rude! Please see http://emailcharter.org <http://emailcharter.org/> . Johan Fabry - http://pleiad.cl/~jfabry PLEIAD and RyCh labs - Computer Science Department (DCC) - University of Chile > On 03 Nov 2016, at 03: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. > > The compiler is written in Smalltalk after all. > > On Wed, 2 Nov 2016 at 23:02, Igor Stasenko <siguc...@gmail.com > <mailto: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.