Even if you make the compiler change, I hope you will still consider leaving the two #empty methods in place for expressiveness. They, too, would answer the single canonicalized global stored in the compiler. However, the use of #empty makes the canonicalization explicit rather than implicit, and affords appreciation of a Pharo system that describes itself, e.g., associating the word "empty" with the notation that a new Pharo user might find cryptic. On Sat, Feb 13, 2010 at 1:06 PM, Marcus Denker <marcus.denker@inria.fr> wrote:
On Feb 13, 2010, at 8:03 PM, Stéphane Ducasse wrote:
the only think is that the #() and '' will not be created all the time but in the compile method literal frame.
Yes, right now it's created once per method... the compiler could easily make sure that it's shared globally.
    Marcus
Stef
would the idea to be to rewrite every #() with Array empty?
If that was the case could you get the compiler to do that as an optimization? I quite like the fact that #() is the empty array. it's nice and compact; quite aesthetic.
cheers, Mike
On Sat, Feb 13, 2010 at 11:06 AM, Stéphane Ducasse <stephane.ducasse@inria.fr> wrote:
Hi guys
chris mueller proposed in squeak to have
Exception>>messageText    "Return an exception's message text." +    ^ messageText ifNil: [ String empty ]! - -    ^messageText!
- Added Array class>>#empty and String class>>#empty to provide applications with canonicalized instances of these oft-used objects; since they are embedded as literals in the CompiledMethod.
=============== Diff against Collections-ar.304 ===============
Item was added: + ----- Method: Array class>>empty (in category 'instance creation') ----- + empty + Â Â Â "A canonicalized empty Array instance." + Â Â Â ^ #()!
Item was added: + ----- Method: String class>>empty (in category 'instance creation') ----- + empty + Â Â Â "A canonicalized empty String instance." + Â Â Â ^ ''!
Item was removed: - ----- Method: String>>asDefaultDecodedString (in category 'converting') ----- - asDefaultDecodedString - - Â Â Â ^ self
http://code.google.com/p/pharo/issues/detail?id=1961 _______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
-- Marcus Denker  -- http://www.marcusdenker.de INRIA Lille -- Nord Europe. Team RMoD.
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project