I don't agree with you not agreeing with me, because I never said it would
be Smalltalk or Pharo (for those that think that Pharo is not Smalltalk).
Yes Strongtalk is a good example, in the case of Pharo you could retain
compatibility with Pharo if you followed the example of Hy lang

http://docs.hylang.org/en/latest/

Basically Hy is a lisp dialect that runs on top of python , using python's
AST library, from one hand it gives you lisp including macros on the other
it outputs pure python code which means you can use any python library from
Hy and any Hy library from python without any wrapping or extra steps.

If you can do this in Python imagine the potential of Pharo.

I am itching actually to implement my own lisp dialect in Pharo.

On Thu, Nov 3, 2016 at 3:06 PM Johan Fabry <jfa...@dcc.uchile.cl> wrote:

>
> 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 .
>
> 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> 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.
>
>
>

Reply via email to