Fwd: [squeak-dev] Updated trunk image

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

Fwd: [squeak-dev] Updated trunk image

Stéphane Ducasse

Hi guys

I would really like that we have a look at the squeak improvement lists and see the ones that could be
interesting for pharo. Note that some of them are already included in pharo.

Stef


> From: Andreas Raab <[hidden email]>
> Date: November 15, 2009 12:18:01 AM GMT+01:00
> To: The general-purpose Squeak developers list <[hidden email]>
> Subject: [squeak-dev] Updated trunk image
> Reply-To: The general-purpose Squeak developers list <[hidden email]>
>
> Folks -
>
> I've uploaded an updated trunk image at
>
> http://ftp.squeak.org/trunk/Squeak3.10.2-Trunk-091114.zip
>
> Since there were some complaints recently that it's difficult to follow the commit messages, below is the "What's New" (also in the above image) which is a summarized version of the main changes.
>
> Cheers,
> - Andreas
>
> This is a list of the main achievements that went into the trunk image.
> The list is in reverse chronological order, newest additions on the top:
>
> Kernel
> ------
> Support for isolation layers has been retired. "self-evaluation" as a concept has been removed since every object can be forced to be self-evaluating by asking for its storeString.
>
> Projects
> --------
> Project refactoring are an ongoing process. Project itself has been split into Project / MVCProject / MorphicProject such that Project itself is abstract and various requests are handled properly in the subclasses.
>
> Collections
> -----------
> Several improvements have been added to Collections. Sets have become faster, Arrays now print in brace form by default, Dictionary>>keys return an array instead of a set.
>
> Monticello
> ----------
> Various load-order issues have been fixed within Monticello, making loading of packages more robust. Monticello and PackageInfo have been sped up in several areas making browsing of large repositories significantly faster.
>
> Faster UTF-8 Conversions
> ------------------------
> Generalize trick from ByteString>>#squeakToUtf8 to every converter using class instance variables. Dramatically improves performance of file operations.
>
> FaceLift
> --------
> An adaptation of Newspeak's Facelift look has been added to Squeak under the code name of "Botox" (meaning a small set of carefully chosen injections to improve the out of the box look for Squeak).
>
> Shout
> -----
> Shout (Syntax Hightlighting As You Type) has been added to this image. As with all new additions, it can be easily unloaded for people wanting smaller images.
>
> ToolBuilder conversion
> ----------------------
> All the tools have been given a make-over, removing pretty much all of the interface construction code and replacing it by ToolBuilder specs. This removes a huge amount of dependencies between the tools and particular UI frameworks, and puts all the UIs on equal footing (there were several tools that were either not all or only partially supported in MVC before).
>
> New Text Editors
> ----------------
> A complete new set of text editors (Editor, TextEditor and SmalltalkEditor) are available. They replace TextMorphEditor and break one of the last hard links between Morphic and MVC. With the new editors it will finally become possible to have Morphic be self-contained without the need to rely on portions of MVC.
>
> Morphic Text Improvements
> -------------------------
> Morphic has now regular blinking insertion point cursors instead of the (virtually invisible) static cursor previously. In addition, various problems with mixing fonts and the heights of text have been fixed.
>
> Preference Pragmas
> ------------------
> Preference pragmas simplify dealing with preferences by providing automatic discovery for preferences defined in your classes. No more littering Preferences; you can now define preferences local to your class and store the values in regular class variables. The preference gets automatically discovered by using the <preference:category:description:type:> pragma.
>
> Beautiful, Anti-Aliased Fonts
> -----------------------------
> We have a new set of beautiful anti-aliased Deja Vu bitmap fonts in this image. The default sizes include 7pt (for handheld devices), 9pt (generic text, list and menu fonts) as well as 12pt (window and title fonts):
> Deja Vu 7pt: Regular, Bold, Italics
> Deja Vu 9pt: Regular, Bold, Italics
> Deja Vu 12pt: Regular, Bold, Italics
>
> Russian Language Support
> ------------------------
> To input text in Russian language, install a font supporting the Cyrillic alphabet, then switch the locale accordingly:
>
> TTFileDescription installFamilyNamed: 'Arial'.
> Locale switchToID: (LocaleID isoLanguage: 'ru').
>
> This will enable Russian text input, display and processing.
>
> Improved Truetype Support
> -------------------------
> The new TTFileDescription works just like TTFontDescription but operates on the files directly on disk. This helps greatly to support the m17n efforts since we no longer load all the fonts into memory. To use the available fonts on your platform, select some text, hit Cmd-k (Alt-k) and select "More (non-portable) fonts".
>
> Full Closure Support
> --------------------
> This is a closure converted image. With full closure support, you can finally use recursive blocks like here:
>
> fac := [:n| n > 1 ifTrue:[n * (fac value: n-1)] ifFalse:[1]].
> fac value: 5.
>
> and close over temps correctly, such as here:
>
> (1 to: 10) do:[:i| WorldState addDeferredUIMessage:[Transcript cr; show: i]].
>
> A new Development Model
> -----------------------
> This image is being developed using a new development model described at
>
> http://board.squeak.org/2009/07/02/a-new-community-development-model/
>
> The image itself started as Squeak3.10.2-7179-basic.image. It was then updated from http://source.squeak.org/trunk. In order to keep track of ongoing development, simply hit the 'Load Code Updates' button.
>



_______________________________________________
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: Fwd: [squeak-dev] Updated trunk image

Stéphane Ducasse
Hi

I checked a bit

>> ------
>> Support for isolation layers has been retired.

I imagine that this is the stuff related to project having their own changeset.
This is something that we are slowly removing and should go away with Project removal.

>> Collections
>> -----------
>> Several improvements have been added to Collections. Sets have become faster,


>> Arrays now print in brace form by default,
Now
        {10@10 . Browser new} -> {10@10. aBrowser}
but this is nice not to have #(1 2)
but now I'm confused because after an update when I type #(1 2 3) I get #(1 2 3).


>> Dictionary>>keys return an array instead of a set.
Nicolas does this bring some speed up, lukas thought so.



>> Monticello
>> ----------
>> Various load-order issues have been fixed within Monticello, making loading of packages more robust. Monticello and PackageInfo have been sped up in several areas making browsing of large repositories significantly faster.

I think that we should have most of them. We should probably check.


>> Faster UTF-8 Conversions
>> ------------------------
>> Generalize trick from ByteString>>#squeakToUtf8 to every converter using class instance variables. Dramatically improves performance of file operations.

Nicolas is it related to your FasterLatin1Conversion?



>>
>>
>> Shout
>> -----
>> Shout (Syntax Hightlighting As You Type) has been added to this image. As with all new additions, it can be easily unloaded for people wanting smaller images.

Probably worth to look at that.

>> ToolBuilder conversion
>> ----------------------
>> All the tools have been given a make-over, removing pretty much all of the interface construction code and replacing it by ToolBuilder specs. This removes a huge amount of dependencies between the tools and particular UI frameworks, and puts all the UIs on equal footing (there were several tools that were either not all or only partially supported in MVC before).

Nice we should have a look at that.


>> New Text Editors
>> ----------------
>> A complete new set of text editors (Editor, TextEditor and SmalltalkEditor) are available. They replace TextMorphEditor and break one of the last hard links between Morphic and MVC. With the new editors it will finally become possible to have Morphic be self-contained without the need to rely on portions of MVC.

Juan told me that it will send us  a package with the latest code integrated in squeak.



>> Morphic Text Improvements
>> -------------------------
>> Morphic has now regular blinking insertion point cursors instead of the (virtually invisible) static cursor previously.
We should have already this one

>> In addition, various problems with mixing fonts and the heights of text have been fixed.
Would be nice if some font hackers would have a look


>> Beautiful, Anti-Aliased Fonts
>> -----------------------------
>> We have a new set of beautiful anti-aliased Deja Vu bitmap fonts in this image. The default sizes include 7pt (for handheld devices), 9pt (generic text, list and menu fonts) as well as 12pt (window and title fonts):
>> Deja Vu 7pt: Regular, Bold, Italics
>> Deja Vu 9pt: Regular, Bold, Italics
>> Deja Vu 12pt: Regular, Bold, Italics

We have them :)
Lukas will send a nice script.


>>
>> Russian Language Support
>> ------------------------
>> To input text in Russian language, install a font supporting the Cyrillic alphabet, then switch the locale accordingly:
>>
>> TTFileDescription installFamilyNamed: 'Arial'.
>> Locale switchToID: (LocaleID isoLanguage: 'ru').

worth to have a look but a russian guy


>> This will enable Russian text input, display and processing.
>>
>> Improved Truetype Support
>> -------------------------
>> The new TTFileDescription works just like TTFontDescription but operates on the files directly on disk. This helps greatly to support the m17n efforts since we no longer load all the fonts into memory. To use the available fonts on your platform, select some text, hit Cmd-k (Alt-k) and select "More (non-portable) fonts".
Do not the status of this one.


_______________________________________________
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: Fwd: [squeak-dev] Updated trunk image

Lukas Renggli
>>> Beautiful, Anti-Aliased Fonts
>>> -----------------------------
>>> We have a new set of beautiful anti-aliased Deja Vu bitmap fonts in this image. The default sizes include 7pt (for handheld devices), 9pt (generic text, list and menu fonts) as well as 12pt (window and title fonts):
>>>      Deja Vu 7pt: Regular, Bold, Italics
>>>      Deja Vu 9pt: Regular, Bold, Italics
>>>      Deja Vu 12pt: Regular, Bold, Italics
>
> We have them :)
> Lukas will send a nice script.

The following script will activate the *nice looking* and *fast
displaying* fonts in any recent 1.0 image:

StrikeFont installDejaVu.
Preferences setDefaultFonts: #(
        (setBalloonHelpFontTo: 'BitmapDejaVu' 9)
        (setButtonFontTo: 'BitmapDejaVu' 9)
        (setCodeFontTo: 'BitmapDejaVu' 9)
        (setHaloLabelFontTo: 'BitmapDejaVu' 9)
        (setListFontTo: 'BitmapDejaVu' 9)
        (setMenuFontTo: 'BitmapDejaVu' 9)
        (setSystemFontTo: 'BitmapDejaVu' 9)
        (setWindowTitleFontTo: 'BitmapDejaVuBold' 12))

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: Fwd: [squeak-dev] Updated trunk image

Nicolas Cellier
In reply to this post by Stéphane Ducasse
2009/11/30 Stéphane Ducasse <[hidden email]>:

> Hi
>
> I checked a bit
>
>>> ------
>>> Support for isolation layers has been retired.
>
> I imagine that this is the stuff related to project having their own changeset.
> This is something that we are slowly removing and should go away with Project removal.
>
>>> Collections
>>> -----------
>>> Several improvements have been added to Collections. Sets have become faster,
>
>
>>> Arrays now print in brace form by default,
> Now
>        {10@10 . Browser new} -> {10@10. aBrowser}
> but this is nice not to have #(1 2)
> but now I'm confused because after an update when I type #(1 2 3) I get #(1 2 3).
>

In trunk, Array still print #( ) if literal or {} if non literal.
The difference with Pharo is that anArray() form has been abandonned.
In Pharo, {} or anArray() is triggered by #isSelfEvaulating.

>
>>> Dictionary>>keys return an array instead of a set.
> Nicolas does this bring some speed up, lukas thought so.
>

Yes, the two advantages:
- speed up
- uniform behavior keys - values

The drawback:
- a few packages will require a #asSet here and there (keys asSet) (I
estimate about 5% of senders)

>
>
>>> Monticello
>>> ----------
>>> Various load-order issues have been fixed within Monticello, making loading of packages more robust. Monticello and PackageInfo have been sped up in several areas making browsing of large repositories significantly faster.
>
> I think that we should have most of them. We should probably check.
>
>
>>> Faster UTF-8 Conversions
>>> ------------------------
>>> Generalize trick from ByteString>>#squeakToUtf8 to every converter using class instance variables. Dramatically improves performance of file operations.
>
> Nicolas is it related to your FasterLatin1Conversion?

Yes, it was proposed first in Pharo and is in already Pharo.

Nicolas

>
>
>
>>>
>>>
>>> Shout
>>> -----
>>> Shout (Syntax Hightlighting As You Type) has been added to this image. As with all new additions, it can be easily unloaded for people wanting smaller images.
>
> Probably worth to look at that.
>
>>> ToolBuilder conversion
>>> ----------------------
>>> All the tools have been given a make-over, removing pretty much all of the interface construction code and replacing it by ToolBuilder specs. This removes a huge amount of dependencies between the tools and particular UI frameworks, and puts all the UIs on equal footing (there were several tools that were either not all or only partially supported in MVC before).
>
> Nice we should have a look at that.
>
>
>>> New Text Editors
>>> ----------------
>>> A complete new set of text editors (Editor, TextEditor and SmalltalkEditor) are available. They replace TextMorphEditor and break one of the last hard links between Morphic and MVC. With the new editors it will finally become possible to have Morphic be self-contained without the need to rely on portions of MVC.
>
> Juan told me that it will send us  a package with the latest code integrated in squeak.
>
>
>
>>> Morphic Text Improvements
>>> -------------------------
>>> Morphic has now regular blinking insertion point cursors instead of the (virtually invisible) static cursor previously.
> We should have already this one
>
>>> In addition, various problems with mixing fonts and the heights of text have been fixed.
> Would be nice if some font hackers would have a look
>
>
>>> Beautiful, Anti-Aliased Fonts
>>> -----------------------------
>>> We have a new set of beautiful anti-aliased Deja Vu bitmap fonts in this image. The default sizes include 7pt (for handheld devices), 9pt (generic text, list and menu fonts) as well as 12pt (window and title fonts):
>>>      Deja Vu 7pt: Regular, Bold, Italics
>>>      Deja Vu 9pt: Regular, Bold, Italics
>>>      Deja Vu 12pt: Regular, Bold, Italics
>
> We have them :)
> Lukas will send a nice script.
>
>
>>>
>>> Russian Language Support
>>> ------------------------
>>> To input text in Russian language, install a font supporting the Cyrillic alphabet, then switch the locale accordingly:
>>>
>>>      TTFileDescription installFamilyNamed: 'Arial'.
>>>      Locale switchToID: (LocaleID isoLanguage: 'ru').
>
> worth to have a look but a russian guy
>
>
>>> This will enable Russian text input, display and processing.
>>>
>>> Improved Truetype Support
>>> -------------------------
>>> The new TTFileDescription works just like TTFontDescription but operates on the files directly on disk. This helps greatly to support the m17n efforts since we no longer load all the fonts into memory. To use the available fonts on your platform, select some text, hit Cmd-k (Alt-k) and select "More (non-portable) fonts".
> Do not the status of this one.
>
>
> _______________________________________________
> 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: Fwd: [squeak-dev] Updated trunk image

Stéphane Ducasse
>>
>>
>
> In trunk, Array still print #( ) if literal or {} if non literal.
> The difference with Pharo is that anArray() form has been abandonned.
> In Pharo, {} or anArray() is triggered by #isSelfEvaulating.

ok I see.
Lot of "features" from simple changes :)

>>>> Dictionary>>keys return an array instead of a set.
>> Nicolas does this bring some speed up, lukas thought so.
>>
>
> Yes, the two advantages:
> - speed up
> - uniform behavior keys - values
>
> The drawback:
> - a few packages will require a #asSet here and there (keys asSet) (I
> estimate about 5% of senders)

Ok we should integrate this one.

>>>>
>
> Yes, it was proposed first in Pharo and is in already Pharo.
>
> Nicolas

Thanks nicolas.


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