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.