Pharo changing the game

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
40 messages Options
12
Reply | Threaded
Open this post in threaded view
|

Pharo changing the game

Torsten Bergmann
Interesting read (read [2] then [1]), maybe Pharo can change the game ...

bye
T.

[1] http://www.jarober.com/blog/blogView?showComments=true&printTitle=Balkanization_and_Smalltalk&entry=3443331580
[2] http://www.threeriversinstitute.org/blog/?p=466
--
NEU: Mit GMX DSL über 1000,- ¿ sparen!
http://portal.gmx.net/de/go/dsl02

_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: Pharo changing the game

Stéphane Ducasse
pfff.... I should say that kent should have not broken his rule.
Don't blog when you are mad. It gives a bad impression and not only about smalltalk


Now what is the solution.
        get stuck with a ANSI bad standard?
        get with vendors evolution that are not optimal?
       
        what if we do not like VW Namespace ?
        what if we would like to have first class instance variables?
Vendors like parceplace  did not really ask the community about the changes they did.

Now Seaside is developed on pharo and run on nearly all the dialects so there
is a path. It is not easy.
Now if would be better to think that what is the future of smalltalk.
        - scripting
        - first class instance variables
        - new look at the MOP
        - better modules system
        - ...
and we will not to that with ANSI kind of standardization process.

Stef

BTW this is fun because when I read the bio of Kent on his recent book I do not see
Smalltalk mentioned so this is good to know that he is back to smalltalk :)


> Interesting read (read [2] then [1]), maybe Pharo can change the game ...
>
> bye
> T.
>
> [1] http://www.jarober.com/blog/blogView?showComments=true&printTitle=Balkanization_and_Smalltalk&entry=3443331580
> [2] http://www.threeriversinstitute.org/blog/?p=466
> --
> NEU: Mit GMX DSL über 1000,- ¿ sparen!
> http://portal.gmx.net/de/go/dsl02
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: Pharo changing the game

Stéphane Ducasse
In reply to this post by Torsten Bergmann
here is also what I added to the blog entry



"Improvements can be as simple as that. Now the first level is to communicate with people and let them know that they can improve if they want. So we will probably fix that in Pharo. If somebody provides a fix it can be fix in 2 min.

The goal of pharo is to create an innovative Smalltalk that can be use to make business but also to reinvent Smalltalk. And this will not be done without breaking stuff. We do not want to live in a museum. http://www.pharo-project.org for more information and vision statement."




_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: Pharo changing the game

Lukas Renggli
In reply to this post by Stéphane Ducasse
>        get stuck with a ANSI bad standard?

The ANSI standard is not bad. It is minimal, maybe too minimal? But it
does not forbid anything like #and:and: or Traits. The ANSI standard
gives a minimal common dominator. It is absolutely essential to
projects like Monticello, OmniBrowser, SUnit, Seaside, Magritte, Pier,
...

> Now Seaside is developed on pharo and run on nearly all the dialects so there
> is a path. It is not easy.

Because we strictly adhere to the ANSI standard and because we have
our own platform layer called Grease.

http://blog.fitzell.ca/2010/01/easing-compatibility-with-grease.html

Lukas

--
Lukas Renggli
http://www.lukas-renggli.ch

_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: Pharo changing the game

Stéphane Ducasse
Now why don;t people want a better smalltalk?

>>        get stuck with a ANSI bad standard?
>
> The ANSI standard is not bad. It is minimal, maybe too minimal? But it
> does not forbid anything like #and:and: or Traits. The ANSI standard
> gives a minimal common dominator. It is absolutely essential to
> projects like Monticello, OmniBrowser, SUnit, Seaside, Magritte, Pier,
> ...
>
>> Now Seaside is developed on pharo and run on nearly all the dialects so there
>> is a path. It is not easy.
>
> Because we strictly adhere to the ANSI standard and because we have
> our own platform layer called Grease.
>
> http://blog.fitzell.ca/2010/01/easing-compatibility-with-grease.html
>
> Lukas
>
> --
> Lukas Renggli
> http://www.lukas-renggli.ch
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: Pharo changing the game

Lukas Renggli
> Now why don;t people want a better smalltalk?

Sure, everybody wants a better Smalltalk.

The ANSI standard does not make scripting impossible, it does not
forbid first class instance variables, it does not forbid a MOP or a
module system.

The ANSI standard only talks about the basic Smalltalk syntax,
Collections, Magnitudes, Streams. That's it. I don't think it is
limiting in any way.

Lukas

--
Lukas Renggli
http://www.lukas-renggli.ch

_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: Pharo changing the game

Eliot Miranda-2
In reply to this post by Lukas Renggli


On Thu, Feb 11, 2010 at 1:28 PM, Lukas Renggli <[hidden email]> wrote:
>        get stuck with a ANSI bad standard?

The ANSI standard is not bad. It is minimal, maybe too minimal? But it
does not forbid anything like #and:and: or Traits. The ANSI standard
gives a minimal common dominator. It is absolutely essential to
projects like Monticello, OmniBrowser, SUnit, Seaside, Magritte, Pier,
...

I think at best it's a curate's egg.

First it's hard to browse and lots of the names are un-Smalltalky.

Second, it doesn't standardize Smalltalk, only its core libraries.  It's all very well to specify a minimal library, but to leave the vast array of reflective facilities unspecified is, for Smalltalk, a huge mistake.  The standard, if it wasn't an attempt at a rubber stamp by the vendors, have included optional sections.  So that were an implementation to include execution reflection (thisContext) the standard could define what that looked like, but not require an implementation to include execution reflection.  The same goes for run-time class creation and method definition.

Third, it isn't an extensible standard. If it were forward looking the standard would have put in place some mechanism for adding to the standard (such as a voting scheme) so that over the years excellent extensions to the base library such as beginsWith: first: et al could be added.  It would also have defined the kind of versioning facilities that people need to know what version of the standard they can expect (we recently discussed something similar in the context of Metacello and Grease on the Pharo list).  There needs to be a global object which can be queried for version information, what core facilities exist and which don't, etc.  All of these lacks really hurt projects like Grease (there have been numerous attempts over the years) because there is a raft of dialect-specific code, and one either has to introduce a new global (SmalltalkVersion) or hang the functionality off existing dialect classes (Smalltalk, System, etc, etc).

We need a standard that standardises Smalltalk, not C with Smalltalk syntax.  Smalltalk is reflective, dynamic and evolves rapidly.  That implies a different kind of standard, not overseen by ANSI, whose objective is self-preservation, not standardisation (see Clay Shirkey; do you know how much money ANSI want for a standards process??).  We need a living standard that can evolve.  

I know it is impractical, if not impossible, to standardize the language-development side of Smalltalk, a standard that could extend to e.g. Newspeak.  But this is also pointless.  No one needs a standard for blue plane.  But we have a string need for a standard that standardises Smalltalk as it is used in the industry; one that supports systems like Seaside.  There /is/ mutual self-interest in a standard that can help convergence in agreed-upon functionality, that is open, and that can evolve at the right pace (not too fast, or it has no value, not too slow or it has no relevance).  Some bright minds at universities that use VW, Pharo, Squeak and VisualAge could do some really interesting work here.  The dialects, including those from the vendors, would surely be willing to pitch in if the standard was what Smalltalk is, malleable, incremental, open, comprehensible.

best
Eliot


> Now Seaside is developed on pharo and run on nearly all the dialects so there
> is a path. It is not easy.

Because we strictly adhere to the ANSI standard and because we have
our own platform layer called Grease.

http://blog.fitzell.ca/2010/01/easing-compatibility-with-grease.html

Lukas

--
Lukas Renggli
http://www.lukas-renggli.ch

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


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: Pharo changing the game

johnmci
In reply to this post by Lukas Renggli
Er, maybe I'll rant here since it' seems to me this the day for that. Perhaps flavoured a bit with
Ralph's accidental post about cilantro.

Should we not be talking about the Smalltalk 2010 ANSI proposal? Why the lock in to the
Smalltalk ANSI INCITS 319-1998 (R2002) standard?

I think this fits into Stephane's comment about moving forward.

On 2010-02-11, at 1:51 PM, Lukas Renggli wrote:


>> Now why don;t people want a better smalltalk?
>
> Sure, everybody wants a better Smalltalk.
>
> The ANSI standard does not make scripting impossible, it does not
> forbid first class instance variables, it does not forbid a MOP or a
> module system.
>
> The ANSI standard only talks about the basic Smalltalk syntax,
> Collections, Magnitudes, Streams. That's it. I don't think it is
> limiting in any way.
>
> Lukas
>
> --
> Lukas Renggli
> http://www.lukas-renggli.ch
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

--
===========================================================================
John M. McIntosh <[hidden email]>   Twitter:  squeaker68882
Corporate Smalltalk Consulting Ltd.  http://www.smalltalkconsulting.com
===========================================================================





_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: Pharo changing the game

Eliot Miranda-2


On Thu, Feb 11, 2010 at 3:26 PM, John M McIntosh <[hidden email]> wrote:
Er, maybe I'll rant here since it' seems to me this the day for that. Perhaps flavoured a bit with
Ralph's accidental post about cilantro.

Should we not be talking about the Smalltalk 2010 ANSI proposal? Why the lock in to the
Smalltalk ANSI INCITS 319-1998 (R2002) standard?

I haven't seen much movement since Bruce kicked it off (http://openskills.blogspot.com/2007/10/ansi-smalltalk.html).  One of the hurdles was the amount of money ANSI wanted for participation in the standard.  I for one couldn't afford it and couldn't see how Cadence, my then employer, would fund it.  I think that goes for most of the non-vendor community.  See Clay Shirky's TED presentation on institutions for why IMO ANSI is a non-starter.  ANSI is irrelevant; it meets it's own needs, not the needs of the Smalltalk community.  It can only ever create an obsolete standard.   We need to design our own standard that meets our needs.  If we can design a standard that is relevant the community as a whole will increasingly adhere to it over time, and as that happens it will become more useful, and, because it is defined by us, can evolve over time, both in content and at a meta level in its standards-making processes.


I think this fits into Stephane's comment about moving forward.

IMO, moving forward means finding new forms, not putting a new badge on the same old corpse.  We need a sci-fi movie not a zombie movie ;)


On 2010-02-11, at 1:51 PM, Lukas Renggli wrote:


>> Now why don;t people want a better smalltalk?
>
> Sure, everybody wants a better Smalltalk.
>
> The ANSI standard does not make scripting impossible, it does not
> forbid first class instance variables, it does not forbid a MOP or a
> module system.
>
> The ANSI standard only talks about the basic Smalltalk syntax,
> Collections, Magnitudes, Streams. That's it. I don't think it is
> limiting in any way.
>
> Lukas
>
> --
> Lukas Renggli
> http://www.lukas-renggli.ch
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

--
===========================================================================
John M. McIntosh <[hidden email]>   Twitter:  squeaker68882
Corporate Smalltalk Consulting Ltd.  http://www.smalltalkconsulting.com
===========================================================================





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


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: Pharo changing the game

Philippe Marschall-2-3
In reply to this post by johnmci
On 12.02.2010 00:26, John M McIntosh wrote:
> Er, maybe I'll rant here since it' seems to me this the day for that. Perhaps flavoured a bit with
> Ralph's accidental post about cilantro.
>
> Should we not be talking about the Smalltalk 2010 ANSI proposal? Why the lock in to the
> Smalltalk ANSI INCITS 319-1998 (R2002) standard?

Because even very basic things like Strings, Symbols and Numbers are a
minefield that behave in slightly different ways. And you won't find out
until later. I don't want to know how many weeks we wasted on
#seasideString.

Cheers
Philippe


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: Pharo changing the game

Philippe Marschall-2-3
In reply to this post by Stéphane Ducasse
On 11.02.2010 21:42, Stéphane Ducasse wrote:

> pfff.... I should say that kent should have not broken his rule.
> Don't blog when you are mad. It gives a bad impression and not only about smalltalk
>
>
> Now what is the solution.
> get stuck with a ANSI bad standard?
> get with vendors evolution that are not optimal?
>
> what if we do not like VW Namespace ?
> what if we would like to have first class instance variables?
> Vendors like parceplace  did not really ask the community about the changes they did.
>
> Now Seaside is developed on pharo and run on nearly all the dialects so there
> is a path. It is not easy.

Because what we settled for is that every vendor has to rewrite a chunk
of Seaside. Because we left out all the non basic stuff like files,
sockets, os access, graphics, sound, logging, xml parsing, database
access, crypto, .... Seaside itself is not portable, it's simply
possible to only load the parts which we assume to be portable.

So yeah, if you're writing a counter application that's probably
portable. But as soon as you start to do Pier or Magritte you can write
your own portability classes for everything that Seaside does not need.
If you're doing a Pier addon like AudioScrobbler or TopFeeder you're
almost guaranteed that it's not portable. Believe when I say I speak
from experience and it's really frustrating.

Cheers
Philippe


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: Pharo changing the game

Lukas Renggli
> So yeah, if you're writing a counter application that's probably
> portable. But as soon as you start to do Pier or Magritte you can write
> your own portability classes for everything that Seaside does not need.
> If you're doing a Pier addon like AudioScrobbler or TopFeeder you're
> almost guaranteed that it's not portable. Believe when I say I speak
> from experience and it's really frustrating.

For the average Smalltalk user the ANSI standard does not matter much.
It only matters for those that want to be able to port libraries
between Smalltalk dialects. I think making portability as easy as
possible should be a major focus of all Smalltalk dialects. There are
simply not enough good libraries available in any Smalltalk
implementation.

Lukas

--
Lukas Renggli
http://www.lukas-renggli.ch

_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: Pharo changing the game

Stéphane Ducasse
We are not talking only about syntax.

you mean like nil been able to be put in a set?
I would like to have nil as any other object and I hope that this is in the standard.
I would like to have immutability for certain classes (string, point....)
Does the standard says something about it?

My point is that I'm in favor of compatibility but not at the cost of been kept in the 80e
I want to live in the 2020 years.
Stef

>> So yeah, if you're writing a counter application that's probably
>> portable. But as soon as you start to do Pier or Magritte you can write
>> your own portability classes for everything that Seaside does not need.
>> If you're doing a Pier addon like AudioScrobbler or TopFeeder you're
>> almost guaranteed that it's not portable. Believe when I say I speak
>> from experience and it's really frustrating.
>
> For the average Smalltalk user the ANSI standard does not matter much.
> It only matters for those that want to be able to port libraries
> between Smalltalk dialects. I think making portability as easy as
> possible should be a major focus of all Smalltalk dialects. There are
> simply not enough good libraries available in any Smalltalk
> implementation.
>
> Lukas
>
> --
> Lukas Renggli
> http://www.lukas-renggli.ch
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: Pharo changing the game

Stéphane Ducasse
In reply to this post by Lukas Renggli
another point, what about automatic initialize?
At one point in the past VW (eliot) was really for introducing it in VW since it would not cost
anything in presence of the JIT.
Dolphin people did it on Model but they told me that if they could they would remove it.
and this is a really important change to lower the entry level and burden of newcomers.

Now because of "compatibility" we have to code without it for me this is a drawback.

Do we imagine Seaside could have been invented by  VisualAge Smalltalkers (no punt intended)?
No because there is no thisContext!!!
Sad!

My point is what is the price to pay to compatibility.

Stef



On Feb 12, 2010, at 8:02 AM, Lukas Renggli wrote:

>> So yeah, if you're writing a counter application that's probably
>> portable. But as soon as you start to do Pier or Magritte you can write
>> your own portability classes for everything that Seaside does not need.
>> If you're doing a Pier addon like AudioScrobbler or TopFeeder you're
>> almost guaranteed that it's not portable. Believe when I say I speak
>> from experience and it's really frustrating.
>
> For the average Smalltalk user the ANSI standard does not matter much.
> It only matters for those that want to be able to port libraries
> between Smalltalk dialects. I think making portability as easy as
> possible should be a major focus of all Smalltalk dialects. There are
> simply not enough good libraries available in any Smalltalk
> implementation.
>
> Lukas
>
> --
> Lukas Renggli
> http://www.lukas-renggli.ch
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: Pharo changing the game

Lukas Renggli
In reply to this post by Stéphane Ducasse
<summary>My point is that the ANSI standard is **not restrictive**. It
does **not prevent** you from inventing a better future. It allows you
to do whatever you like. I argue to not break the ANSI standard
unnecessarly, but support it and avoid further fritting of the
different Smalltalk implementations. If possible, we should also try
to adopt APIs of existing functionality in other dialects.</summary>

> you mean like nil been able to be put in a set?
> I would like to have nil as any other object and I hope that this is in the standard.

ANSI does not say anything about that. We are free to do whatever we want.

> I would like to have immutability for certain classes (string, point....)
> Does the standard says something about it?

ANSI does not say anything about that. We are free to do whatever we want.

However, since VW already implements immutability, it would probably
be beneficial to chose an API that is close to the VW implementation.

> My point is that I'm in favor of compatibility but not at the cost of been kept in the 80e
> I want to live in the 2020 years.

The ANSI standard doesn't say anything about Exceptions or Pragmas either.

- Exceptions: Today all Smalltalk platforms support the same exception
API, mainly due to the fact that Seaside makes heavy use of some very
specific exception features like resumable exceptions, exception sets,
nesting exceptions, etc. VA had a very different implementation.
Nowadays they do support basically the same protocol as Pharo, thanks
to the tests we wrote for Seaside.

- Pragmas: In the beginning only VW had pragmas. I implemented the
same API for Squeak 3.9. Today all existing Smalltalk platforms
support these kind of pragmas. Pragmas and exceptions are suddenly
portable, what is a great win.

Lukas

--
Lukas Renggli
http://www.lukas-renggli.ch

_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: Pharo changing the game

Marcus Denker-4

On Feb 12, 2010, at 10:56 AM, Lukas Renggli wrote:
>
> - Pragmas: In the beginning only VW had pragmas. I implemented the
> same API for Squeak 3.9. Today all existing Smalltalk platforms
> support these kind of pragmas. Pragmas and exceptions are suddenly
> portable, what is a great win.
>
It is interesting to note that of course, after this was added to 3.9, there was
someone *very hard* arguing that adding Pragmas was a very dumb idea...

Who that person was is left as an exercise to the reader of course ;-)

        Marcus


--
Marcus Denker  -- http://www.marcusdenker.de
INRIA Lille -- Nord Europe. Team RMoD.


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: Pharo changing the game

Lukas Renggli
> It is interesting to note that of course, after this was added to 3.9, there was
> someone *very hard* arguing that adding Pragmas was a very dumb idea...
>
> Who that person was is left as an exercise to the reader of course ;-)

Hint: FFI has its own proprietary hardcoded pragma format. It
unnecessary complicates the compiler even when not loaded. Not to
mention that it breaks all tools that have their own parser, such as
RB for example.

Lukas

--
Lukas Renggli
http://www.lukas-renggli.ch

_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: Pharo changing the game

Stéphane Ducasse
In reply to this post by Lukas Renggli

On Feb 12, 2010, at 10:56 AM, Lukas Renggli wrote:

> <summary>My point is that the ANSI standard is **not restrictive**. It
> does **not prevent** you from inventing a better future. It allows you
> to do whatever you like. I argue to not break the ANSI standard
> unnecessarly, but support it and avoid further fritting of the
> different Smalltalk implementations. If possible, we should also try
> to adopt APIs of existing functionality in other dialects.</summary>

Yes

>> you mean like nil been able to be put in a set?
>> I would like to have nil as any other object and I hope that this is in the standard.
>
> ANSI does not say anything about that. We are free to do whatever we want.

it will really break your code in other dialect.

>> I would like to have immutability for certain classes (string, point....)
>> Does the standard says something about it?

> However, since VW already implements immutability, it would probably
> be beneficial to chose an API that is close to the VW implementation.

Yes this is the idea. I hope the interface is good.

>> My point is that I'm in favor of compatibility but not at the cost of been kept in the 80e
>> I want to live in the 2020 years.
>
> The ANSI standard doesn't say anything about Exceptions or Pragmas either.
>
> - Exceptions: Today all Smalltalk platforms support the same exception
> API, mainly due to the fact that Seaside makes heavy use of some very
> specific exception features like resumable exceptions, exception sets,
> nesting exceptions, etc. VA had a very different implementation.
> Nowadays they do support basically the same protocol as Pharo, thanks
> to the tests we wrote for Seaside.
>
> - Pragmas: In the beginning only VW had pragmas. I implemented the
> same API for Squeak 3.9. Today all existing Smalltalk platforms
> support these kind of pragmas. Pragmas and exceptions are suddenly
> portable, what is a great win.

I agree.





_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: Pharo changing the game

Stéphane Ducasse
In reply to this post by Lukas Renggli
I agree with you lukas
but my point is that we should be also cautious about not limiting ourselves because of
some reasons. I prefer to see a good idea spread in other smalltalk than abandon/not implemented
because not compatible.


> <summary>My point is that the ANSI standard is **not restrictive**. It
> does **not prevent** you from inventing a better future. It allows you
> to do whatever you like. I argue to not break the ANSI standard
> unnecessarly, but support it and avoid further fritting of the
> different Smalltalk implementations. If possible, we should also try
> to adopt APIs of existing functionality in other dialects.</summary>
>
>> you mean like nil been able to be put in a set?
>> I would like to have nil as any other object and I hope that this is in the standard.
>
> ANSI does not say anything about that. We are free to do whatever we want.
>
>> I would like to have immutability for certain classes (string, point....)
>> Does the standard says something about it?
>
> ANSI does not say anything about that. We are free to do whatever we want.
>
> However, since VW already implements immutability, it would probably
> be beneficial to chose an API that is close to the VW implementation.
>
>> My point is that I'm in favor of compatibility but not at the cost of been kept in the 80e
>> I want to live in the 2020 years.
>
> The ANSI standard doesn't say anything about Exceptions or Pragmas either.
>
> - Exceptions: Today all Smalltalk platforms support the same exception
> API, mainly due to the fact that Seaside makes heavy use of some very
> specific exception features like resumable exceptions, exception sets,
> nesting exceptions, etc. VA had a very different implementation.
> Nowadays they do support basically the same protocol as Pharo, thanks
> to the tests we wrote for Seaside.
>
> - Pragmas: In the beginning only VW had pragmas. I implemented the
> same API for Squeak 3.9. Today all existing Smalltalk platforms
> support these kind of pragmas. Pragmas and exceptions are suddenly
> portable, what is a great win.
>
> Lukas
>
> --
> Lukas Renggli
> http://www.lukas-renggli.ch
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: Pharo changing the game

Stéphane Ducasse
In reply to this post by Lukas Renggli
>>
>> It is interesting to note that of course, after this was added to 3.9, therae was
>> someone *very hard* arguing that adding Pragmas was a very dumb idea...
>>
>> Who that person was is left as an exercise to the reader of course ;-)
>
> Hint: FFI has its own proprietary hardcoded pragma format. It
> unnecessary complicates the compiler even when not loaded. Not to
> mention that it breaks all tools that have their own parser, such as
> RB for example.

I guess I know who you are talking about.
        ;D


PS: do you know if FFI declarations are compatible with VW ones or they are
just funky?
_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
12