[RELEASED] Squeak 4.1

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

[RELEASED] Squeak 4.1

Andreas.Raab
On behalf of the Squeak community, I'm happy to announce the
availability of Squeak 4.1.

Squeak 4.1 combines the license change occurring in the 4.0 release with
the development work that has been going on while the relicensing
process took place.

Much of the work in this release has been focused on fundamental
improvements. Major achievements are the integration of Cog's closure
implementation, the improved UI look and feel, the new anti-aliased
fonts, the core library improvements, and the modularity advances.

To download the Squeak 4.1 release please visit:

        http://ftp.squeak.org/4.1

The Website will be updated over the next few days to reflect the
availability of Squeak 4.1.

Enjoy!

   - Andreas (on behalf of the Squeak community)

Overview of Changes in Squeak 4.1
=================================

User Interface
--------------
We have adapted the 'face lift' look originally developed for Newspeak.
For those of us who like colored windows (quite a few as it turns out)
you can switch between uniform and colored windows in the 'Extras' menu
under 'Window Colors'.

The new menu bar makes Squeak much easier to discover than before. The
process of transitioning from the world menu is not complete yet, there
are still items that can only be accessed from the world menu (i.e., by
clicking on the desktop).

The search field integrated in the menu bar allows for direct navigation
to classes and methods - simply type in a partial class or method name
and see what happens.

A new set of inexpensive sub-pixel antialiased fonts derived from the
DejaVu fonts ('Bitmap DejaVu' in the font chooser) has been added. True
type font support has been upgraded to operate directly on files on disk
without the need to load the entire file into memory.

A new set of text editors has been added, which allowed us to decouple
the Morphic and MVC implementations for improved modularity. Morphic now
has regular blinking insertion point cursors instead of the (virtually
invisible) static cursor previously.

Compiler
--------
Squeak 4.1 includes the closure implementation from Cog as a
prerequisite for full Cog adoption later. With this implementation
Squeak finally has 'full' closures, allowing classic recursive examples
like the following to work:

        fac := [:n| n > 1 ifTrue:[n * (fac value: n-1)] ifFalse:[1]].
        fac value: 5.

Support for literal ByteArray syntax has been added. Byte arrays can now
be written as #[1 2 3] instead of #(1 2 3) asByteArray  avoiding the
need for conversion.

Selectors including minus are now parsed correctly, for example 3 <- 4
is now parsed as (3) <- (4) instead of (3) < (-4). White space is no
longer allowed after an unary minus to denote a negative number literal.

Development
-----------
Syntax highlighting, based on Shout, is now included in all Squeak tools
by default. For workspaces, it can be explicitly disabled in the window
menu (press the blue button; entry 'syntax highlighting').

Sources and changes files are no longer limited to 32MB max size.
ExpandedSourceFileArray provides an implementation for source files of
arbitrary length, based on the CompiledMethodTrailer changes.

MessageTrace has been added, allowing senders and implementors to be
viewed without opening new windows all the time.  It utilizes a new
AlternatePluggableListMorphOfMany, which allows quick and easy
customization of the list. A quick adoption of DependencyBrowser has
been added allowing to browse dependencies between packages.

Core Libraries
--------------
Sets can now store nil just as any other collection. The collection
hierachy has been refactored to have both Set and Dictionary a subclass
of HashedCollection instead of having Dictionary a subclass of Set.
Squeak now uses a better distributed scaledIdentityHash for identity
sets and dictionaries.

StandardFilestream now performs read-buffering, dramatically speading up
some operations like "Object compileAll" (2x improvement) as well as
various other operations (scanning change lists etc).

A new traits implementation has been added. The implementation is
significantly smaller and simpler than the old version and can be
unloaded and reloaded without loss of information (i.e., traits
flattened during unload are restored during traits reloading).

A new extensible number parser hierharchy has been introduced
NumberParser and its subclasses provide support for parsing and building
numbers from strings and streams.

A new general cleanup protocol has been added. The cleanUp protocol
takes an optional argument to indicate whether we're doing an aggressive
cleanup (which involves deleting projects, change sets, and possibly
other destructive actions) or a more gentle cleanup that's only supposed
to clean out transient caches.

SystemDictionary and SmalltalkImage have been refactored. Smalltalk is
now an instance of SmalltalkImage, representing a facade for system-wide
queries and actions. SmalltalkImage contains a global environment, an
instance of SystemDictionary, which the environment used by classes.
Thus, SmalltalkImage current == Smalltalk, Object environment ==
Smalltalk globals.

Modularity
----------
The following packages have been made reloadable: ReleaseBuilder,
ScriptLoader, 311Deprecated, 39Deprecated, Universes, SMLoader, SMBase,
Installer-Core, VersionNumberTests, VersionNumber, Services-Base,
PreferenceBrowser, Nebraska, CollectionsTests, GraphicsTests,
KernelTests, MorphicTests, MultilingualTests, NetworkTests, ToolsTests,
TraitsTests, XML-Parser, Traits, SystemChangeNotification-Tests,
FlexibleVocabularies, EToys, Protocols, Tests, SUnitGUI. To unload all
of these, execute:

        Smalltalk unloadAllKnownPackages.

Reply | Threaded
Open this post in threaded view
|

Re: [RELEASED] Squeak 4.1

Janko Mivšek
Hi guys,

Thanks for new release, which is now accessible for our website too
http://www.squeak.org.

Janko
WebTeam

On 18. 04. 2010 05:05, Andreas Raab wrote:

> On behalf of the Squeak community, I'm happy to announce the
> availability of Squeak 4.1.
>
> Squeak 4.1 combines the license change occurring in the 4.0 release with
> the development work that has been going on while the relicensing
> process took place.
>
> Much of the work in this release has been focused on fundamental
> improvements. Major achievements are the integration of Cog's closure
> implementation, the improved UI look and feel, the new anti-aliased
> fonts, the core library improvements, and the modularity advances.
>
> To download the Squeak 4.1 release please visit:
>
>     http://ftp.squeak.org/4.1
>
> The Website will be updated over the next few days to reflect the
> availability of Squeak 4.1.
>
> Enjoy!
>
>   - Andreas (on behalf of the Squeak community)
>
> Overview of Changes in Squeak 4.1
> =================================
>
> User Interface
> --------------
> We have adapted the 'face lift' look originally developed for Newspeak.
> For those of us who like colored windows (quite a few as it turns out)
> you can switch between uniform and colored windows in the 'Extras' menu
> under 'Window Colors'.
>
> The new menu bar makes Squeak much easier to discover than before. The
> process of transitioning from the world menu is not complete yet, there
> are still items that can only be accessed from the world menu (i.e., by
> clicking on the desktop).
>
> The search field integrated in the menu bar allows for direct navigation
> to classes and methods - simply type in a partial class or method name
> and see what happens.
>
> A new set of inexpensive sub-pixel antialiased fonts derived from the
> DejaVu fonts ('Bitmap DejaVu' in the font chooser) has been added. True
> type font support has been upgraded to operate directly on files on disk
> without the need to load the entire file into memory.
>
> A new set of text editors has been added, which allowed us to decouple
> the Morphic and MVC implementations for improved modularity. Morphic now
> has regular blinking insertion point cursors instead of the (virtually
> invisible) static cursor previously.
>
> Compiler
> --------
> Squeak 4.1 includes the closure implementation from Cog as a
> prerequisite for full Cog adoption later. With this implementation
> Squeak finally has 'full' closures, allowing classic recursive examples
> like the following to work:
>
>     fac := [:n| n > 1 ifTrue:[n * (fac value: n-1)] ifFalse:[1]].
>     fac value: 5.
>
> Support for literal ByteArray syntax has been added. Byte arrays can now
> be written as #[1 2 3] instead of #(1 2 3) asByteArray  avoiding the
> need for conversion.
>
> Selectors including minus are now parsed correctly, for example 3 <- 4
> is now parsed as (3) <- (4) instead of (3) < (-4). White space is no
> longer allowed after an unary minus to denote a negative number literal.
>
> Development
> -----------
> Syntax highlighting, based on Shout, is now included in all Squeak tools
> by default. For workspaces, it can be explicitly disabled in the window
> menu (press the blue button; entry 'syntax highlighting').
>
> Sources and changes files are no longer limited to 32MB max size.
> ExpandedSourceFileArray provides an implementation for source files of
> arbitrary length, based on the CompiledMethodTrailer changes.
>
> MessageTrace has been added, allowing senders and implementors to be
> viewed without opening new windows all the time.  It utilizes a new
> AlternatePluggableListMorphOfMany, which allows quick and easy
> customization of the list. A quick adoption of DependencyBrowser has
> been added allowing to browse dependencies between packages.
>
> Core Libraries
> --------------
> Sets can now store nil just as any other collection. The collection
> hierachy has been refactored to have both Set and Dictionary a subclass
> of HashedCollection instead of having Dictionary a subclass of Set.
> Squeak now uses a better distributed scaledIdentityHash for identity
> sets and dictionaries.
>
> StandardFilestream now performs read-buffering, dramatically speading up
> some operations like "Object compileAll" (2x improvement) as well as
> various other operations (scanning change lists etc).
>
> A new traits implementation has been added. The implementation is
> significantly smaller and simpler than the old version and can be
> unloaded and reloaded without loss of information (i.e., traits
> flattened during unload are restored during traits reloading).
>
> A new extensible number parser hierharchy has been introduced
> NumberParser and its subclasses provide support for parsing and building
> numbers from strings and streams.
>
> A new general cleanup protocol has been added. The cleanUp protocol
> takes an optional argument to indicate whether we're doing an aggressive
> cleanup (which involves deleting projects, change sets, and possibly
> other destructive actions) or a more gentle cleanup that's only supposed
> to clean out transient caches.
>
> SystemDictionary and SmalltalkImage have been refactored. Smalltalk is
> now an instance of SmalltalkImage, representing a facade for system-wide
> queries and actions. SmalltalkImage contains a global environment, an
> instance of SystemDictionary, which the environment used by classes.
> Thus, SmalltalkImage current == Smalltalk, Object environment ==
> Smalltalk globals.
>
> Modularity
> ----------
> The following packages have been made reloadable: ReleaseBuilder,
> ScriptLoader, 311Deprecated, 39Deprecated, Universes, SMLoader, SMBase,
> Installer-Core, VersionNumberTests, VersionNumber, Services-Base,
> PreferenceBrowser, Nebraska, CollectionsTests, GraphicsTests,
> KernelTests, MorphicTests, MultilingualTests, NetworkTests, ToolsTests,
> TraitsTests, XML-Parser, Traits, SystemChangeNotification-Tests,
> FlexibleVocabularies, EToys, Protocols, Tests, SUnitGUI. To unload all
> of these, execute:
>
>     Smalltalk unloadAllKnownPackages.
>
>

--
Janko Mivšek
AIDA/Web
Smalltalk Web Application Server
http://www.aidaweb.si

Reply | Threaded
Open this post in threaded view
|

Re: [RELEASED] Squeak 4.1

LawsonEnglish
In reply to this post by Andreas.Raab
Andreas Raab wrote:
> On behalf of the Squeak community, I'm happy to announce the
> availability of Squeak 4.1.
>

Congrats to all. It seems quite stable and I'm hoping I can get my NeHe
tutorials on youtube with it in a way worthy of Smalltalk (not to
mention all my other 1/4 finished projects).



Lawson


Reply | Threaded
Open this post in threaded view
|

Re: [RELEASED] Squeak 4.1

Igor Stasenko
Congratulations to everyone!
It took us a long two+ years for bringing a new release, not
mentioning a relicensing, which took us even more.
So, i am happy, that we were able to get done with that, and many new
horizonts are now open.

--
Best regards,
Igor Stasenko AKA sig.

Reply | Threaded
Open this post in threaded view
|

Re: [RELEASED] Squeak 4.1

Simon Michael
In reply to this post by Andreas.Raab
Hurrah!

Thank you Andreas, and the many whose work is in this release.

Thanks for dropping the .1. This important release deserved a clear non-bugfix release number as its starting point.

It's the most compelling Squeak release since I joined the community in ~2001. I'm looking forward to using it and
seeing what it leads to. Best,

-Simon


Reply | Threaded
Open this post in threaded view
|

Re: [RELEASED] Squeak 4.1

espin
In reply to this post by Andreas.Raab
Thanks to all core developers and the others who contributed.
Squeak Boards too deserve a special thank for vision and drive!

Thanks again.
Enrico

On Sun, Apr 18, 2010 at 05:05, Andreas Raab <[hidden email]> wrote:
On behalf of the Squeak community, I'm happy to announce the availability of Squeak 4.1.
--
Enrico Spinielli
"Do Androids dream of electric sheep?"— Philip K. Dick
"Hear and forget; see and remember;do and understand."—Mitchel Resnick


Reply | Threaded
Open this post in threaded view
|

Re: [RELEASED] Squeak 4.1

Andreas.Raab
In reply to this post by Janko Mivšek
On 4/18/2010 3:00 AM, Janko Mivšek wrote:
> Hi guys,
>
> Thanks for new release, which is now accessible for our website too
> http://www.squeak.org.
>
> Janko
> WebTeam

Thanks for the quick turnaround!

Cheers,
   - Andreas

>
> On 18. 04. 2010 05:05, Andreas Raab wrote:
>> On behalf of the Squeak community, I'm happy to announce the
>> availability of Squeak 4.1.
>>
>> Squeak 4.1 combines the license change occurring in the 4.0 release with
>> the development work that has been going on while the relicensing
>> process took place.
>>
>> Much of the work in this release has been focused on fundamental
>> improvements. Major achievements are the integration of Cog's closure
>> implementation, the improved UI look and feel, the new anti-aliased
>> fonts, the core library improvements, and the modularity advances.
>>
>> To download the Squeak 4.1 release please visit:
>>
>>      http://ftp.squeak.org/4.1
>>
>> The Website will be updated over the next few days to reflect the
>> availability of Squeak 4.1.
>>
>> Enjoy!
>>
>>    - Andreas (on behalf of the Squeak community)
>>
>> Overview of Changes in Squeak 4.1
>> =================================
>>
>> User Interface
>> --------------
>> We have adapted the 'face lift' look originally developed for Newspeak.
>> For those of us who like colored windows (quite a few as it turns out)
>> you can switch between uniform and colored windows in the 'Extras' menu
>> under 'Window Colors'.
>>
>> The new menu bar makes Squeak much easier to discover than before. The
>> process of transitioning from the world menu is not complete yet, there
>> are still items that can only be accessed from the world menu (i.e., by
>> clicking on the desktop).
>>
>> The search field integrated in the menu bar allows for direct navigation
>> to classes and methods - simply type in a partial class or method name
>> and see what happens.
>>
>> A new set of inexpensive sub-pixel antialiased fonts derived from the
>> DejaVu fonts ('Bitmap DejaVu' in the font chooser) has been added. True
>> type font support has been upgraded to operate directly on files on disk
>> without the need to load the entire file into memory.
>>
>> A new set of text editors has been added, which allowed us to decouple
>> the Morphic and MVC implementations for improved modularity. Morphic now
>> has regular blinking insertion point cursors instead of the (virtually
>> invisible) static cursor previously.
>>
>> Compiler
>> --------
>> Squeak 4.1 includes the closure implementation from Cog as a
>> prerequisite for full Cog adoption later. With this implementation
>> Squeak finally has 'full' closures, allowing classic recursive examples
>> like the following to work:
>>
>>      fac := [:n| n>  1 ifTrue:[n * (fac value: n-1)] ifFalse:[1]].
>>      fac value: 5.
>>
>> Support for literal ByteArray syntax has been added. Byte arrays can now
>> be written as #[1 2 3] instead of #(1 2 3) asByteArray  avoiding the
>> need for conversion.
>>
>> Selectors including minus are now parsed correctly, for example 3<- 4
>> is now parsed as (3)<- (4) instead of (3)<  (-4). White space is no
>> longer allowed after an unary minus to denote a negative number literal.
>>
>> Development
>> -----------
>> Syntax highlighting, based on Shout, is now included in all Squeak tools
>> by default. For workspaces, it can be explicitly disabled in the window
>> menu (press the blue button; entry 'syntax highlighting').
>>
>> Sources and changes files are no longer limited to 32MB max size.
>> ExpandedSourceFileArray provides an implementation for source files of
>> arbitrary length, based on the CompiledMethodTrailer changes.
>>
>> MessageTrace has been added, allowing senders and implementors to be
>> viewed without opening new windows all the time.  It utilizes a new
>> AlternatePluggableListMorphOfMany, which allows quick and easy
>> customization of the list. A quick adoption of DependencyBrowser has
>> been added allowing to browse dependencies between packages.
>>
>> Core Libraries
>> --------------
>> Sets can now store nil just as any other collection. The collection
>> hierachy has been refactored to have both Set and Dictionary a subclass
>> of HashedCollection instead of having Dictionary a subclass of Set.
>> Squeak now uses a better distributed scaledIdentityHash for identity
>> sets and dictionaries.
>>
>> StandardFilestream now performs read-buffering, dramatically speading up
>> some operations like "Object compileAll" (2x improvement) as well as
>> various other operations (scanning change lists etc).
>>
>> A new traits implementation has been added. The implementation is
>> significantly smaller and simpler than the old version and can be
>> unloaded and reloaded without loss of information (i.e., traits
>> flattened during unload are restored during traits reloading).
>>
>> A new extensible number parser hierharchy has been introduced
>> NumberParser and its subclasses provide support for parsing and building
>> numbers from strings and streams.
>>
>> A new general cleanup protocol has been added. The cleanUp protocol
>> takes an optional argument to indicate whether we're doing an aggressive
>> cleanup (which involves deleting projects, change sets, and possibly
>> other destructive actions) or a more gentle cleanup that's only supposed
>> to clean out transient caches.
>>
>> SystemDictionary and SmalltalkImage have been refactored. Smalltalk is
>> now an instance of SmalltalkImage, representing a facade for system-wide
>> queries and actions. SmalltalkImage contains a global environment, an
>> instance of SystemDictionary, which the environment used by classes.
>> Thus, SmalltalkImage current == Smalltalk, Object environment ==
>> Smalltalk globals.
>>
>> Modularity
>> ----------
>> The following packages have been made reloadable: ReleaseBuilder,
>> ScriptLoader, 311Deprecated, 39Deprecated, Universes, SMLoader, SMBase,
>> Installer-Core, VersionNumberTests, VersionNumber, Services-Base,
>> PreferenceBrowser, Nebraska, CollectionsTests, GraphicsTests,
>> KernelTests, MorphicTests, MultilingualTests, NetworkTests, ToolsTests,
>> TraitsTests, XML-Parser, Traits, SystemChangeNotification-Tests,
>> FlexibleVocabularies, EToys, Protocols, Tests, SUnitGUI. To unload all
>> of these, execute:
>>
>>      Smalltalk unloadAllKnownPackages.
>>
>>
>


Reply | Threaded
Open this post in threaded view
|

Re: [RELEASED] Squeak 4.1

Göran Krampe
In reply to this post by Igor Stasenko
Igor Stasenko wrote:
> Congratulations to everyone!

Indeed, and a big "Thanks!" to all involved and especially thanks to
Andreas for "driving it".

regards, Göran

Reply | Threaded
Open this post in threaded view
|

Re: [RELEASED] Squeak 4.1

Chris Muller-3
In reply to this post by Andreas.Raab
Congratulations Andreas.  It's one thing to make an "app", or even a
"framework", but it's another to make a "Smalltalk".  Way to go..

On Sat, Apr 17, 2010 at 10:05 PM, Andreas Raab <[hidden email]> wrote:

> On behalf of the Squeak community, I'm happy to announce the availability of
> Squeak 4.1.
>
> Squeak 4.1 combines the license change occurring in the 4.0 release with the
> development work that has been going on while the relicensing process took
> place.
>
> Much of the work in this release has been focused on fundamental
> improvements. Major achievements are the integration of Cog's closure
> implementation, the improved UI look and feel, the new anti-aliased fonts,
> the core library improvements, and the modularity advances.
>
> To download the Squeak 4.1 release please visit:
>
>        http://ftp.squeak.org/4.1
>
> The Website will be updated over the next few days to reflect the
> availability of Squeak 4.1.
>
> Enjoy!
>
>  - Andreas (on behalf of the Squeak community)
>
> Overview of Changes in Squeak 4.1
> =================================
>
> User Interface
> --------------
> We have adapted the 'face lift' look originally developed for Newspeak. For
> those of us who like colored windows (quite a few as it turns out) you can
> switch between uniform and colored windows in the 'Extras' menu under
> 'Window Colors'.
>
> The new menu bar makes Squeak much easier to discover than before. The
> process of transitioning from the world menu is not complete yet, there are
> still items that can only be accessed from the world menu (i.e., by clicking
> on the desktop).
>
> The search field integrated in the menu bar allows for direct navigation to
> classes and methods - simply type in a partial class or method name and see
> what happens.
>
> A new set of inexpensive sub-pixel antialiased fonts derived from the DejaVu
> fonts ('Bitmap DejaVu' in the font chooser) has been added. True type font
> support has been upgraded to operate directly on files on disk without the
> need to load the entire file into memory.
>
> A new set of text editors has been added, which allowed us to decouple the
> Morphic and MVC implementations for improved modularity. Morphic now has
> regular blinking insertion point cursors instead of the (virtually
> invisible) static cursor previously.
>
> Compiler
> --------
> Squeak 4.1 includes the closure implementation from Cog as a prerequisite
> for full Cog adoption later. With this implementation Squeak finally has
> 'full' closures, allowing classic recursive examples like the following to
> work:
>
>        fac := [:n| n > 1 ifTrue:[n * (fac value: n-1)] ifFalse:[1]].
>        fac value: 5.
>
> Support for literal ByteArray syntax has been added. Byte arrays can now be
> written as #[1 2 3] instead of #(1 2 3) asByteArray  avoiding the need for
> conversion.
>
> Selectors including minus are now parsed correctly, for example 3 <- 4 is
> now parsed as (3) <- (4) instead of (3) < (-4). White space is no longer
> allowed after an unary minus to denote a negative number literal.
>
> Development
> -----------
> Syntax highlighting, based on Shout, is now included in all Squeak tools by
> default. For workspaces, it can be explicitly disabled in the window menu
> (press the blue button; entry 'syntax highlighting').
>
> Sources and changes files are no longer limited to 32MB max size.
> ExpandedSourceFileArray provides an implementation for source files of
> arbitrary length, based on the CompiledMethodTrailer changes.
>
> MessageTrace has been added, allowing senders and implementors to be viewed
> without opening new windows all the time.  It utilizes a new
> AlternatePluggableListMorphOfMany, which allows quick and easy customization
> of the list. A quick adoption of DependencyBrowser has been added allowing
> to browse dependencies between packages.
>
> Core Libraries
> --------------
> Sets can now store nil just as any other collection. The collection hierachy
> has been refactored to have both Set and Dictionary a subclass of
> HashedCollection instead of having Dictionary a subclass of Set. Squeak now
> uses a better distributed scaledIdentityHash for identity sets and
> dictionaries.
>
> StandardFilestream now performs read-buffering, dramatically speading up
> some operations like "Object compileAll" (2x improvement) as well as various
> other operations (scanning change lists etc).
>
> A new traits implementation has been added. The implementation is
> significantly smaller and simpler than the old version and can be unloaded
> and reloaded without loss of information (i.e., traits flattened during
> unload are restored during traits reloading).
>
> A new extensible number parser hierharchy has been introduced NumberParser
> and its subclasses provide support for parsing and building numbers from
> strings and streams.
>
> A new general cleanup protocol has been added. The cleanUp protocol takes an
> optional argument to indicate whether we're doing an aggressive cleanup
> (which involves deleting projects, change sets, and possibly other
> destructive actions) or a more gentle cleanup that's only supposed to clean
> out transient caches.
>
> SystemDictionary and SmalltalkImage have been refactored. Smalltalk is now
> an instance of SmalltalkImage, representing a facade for system-wide queries
> and actions. SmalltalkImage contains a global environment, an instance of
> SystemDictionary, which the environment used by classes. Thus,
> SmalltalkImage current == Smalltalk, Object environment == Smalltalk
> globals.
>
> Modularity
> ----------
> The following packages have been made reloadable: ReleaseBuilder,
> ScriptLoader, 311Deprecated, 39Deprecated, Universes, SMLoader, SMBase,
> Installer-Core, VersionNumberTests, VersionNumber, Services-Base,
> PreferenceBrowser, Nebraska, CollectionsTests, GraphicsTests, KernelTests,
> MorphicTests, MultilingualTests, NetworkTests, ToolsTests, TraitsTests,
> XML-Parser, Traits, SystemChangeNotification-Tests, FlexibleVocabularies,
> EToys, Protocols, Tests, SUnitGUI. To unload all of these, execute:
>
>        Smalltalk unloadAllKnownPackages.
>
>

Reply | Threaded
Open this post in threaded view
|

Re: [RELEASED] Squeak 4.1

Hannes Hirzel
Yes, it is a major step forward.

4.1 has a nice GUI which invites me to do write RCP like apps. The
menu bar is great and the system windows look neat.

With the ToolBuilder we can create good UIs though there is a learning curve.

There are still errors but we can fix them quickly with the  trunk
approach. It was just yesterday that I realised that there is an entry
in Monticello to post to the inbox.

Hannes

On 4/19/10, Chris Muller <[hidden email]> wrote:

> Congratulations Andreas.  It's one thing to make an "app", or even a
> "framework", but it's another to make a "Smalltalk".  Way to go..
>
> On Sat, Apr 17, 2010 at 10:05 PM, Andreas Raab <[hidden email]> wrote:
>> On behalf of the Squeak community, I'm happy to announce the availability
>> of
>> Squeak 4.1.
>>
>> Squeak 4.1 combines the license change occurring in the 4.0 release with
>> the
>> development work that has been going on while the relicensing process took
>> place.
>>
>> Much of the work in this release has been focused on fundamental
>> improvements. Major achievements are the integration of Cog's closure
>> implementation, the improved UI look and feel, the new anti-aliased fonts,
>> the core library improvements, and the modularity advances.
>>
>> To download the Squeak 4.1 release please visit:
>>
>>        http://ftp.squeak.org/4.1
>>
>> The Website will be updated over the next few days to reflect the
>> availability of Squeak 4.1.
>>
>> Enjoy!
>>
>>  - Andreas (on behalf of the Squeak community)
>>
>> Overview of Changes in Squeak 4.1
>> =================================
>>
>> User Interface
>> --------------
>> We have adapted the 'face lift' look originally developed for Newspeak.
>> For
>> those of us who like colored windows (quite a few as it turns out) you can
>> switch between uniform and colored windows in the 'Extras' menu under
>> 'Window Colors'.
>>
>> The new menu bar makes Squeak much easier to discover than before. The
>> process of transitioning from the world menu is not complete yet, there
>> are
>> still items that can only be accessed from the world menu (i.e., by
>> clicking
>> on the desktop).
>>
>> The search field integrated in the menu bar allows for direct navigation
>> to
>> classes and methods - simply type in a partial class or method name and
>> see
>> what happens.
>>
>> A new set of inexpensive sub-pixel antialiased fonts derived from the
>> DejaVu
>> fonts ('Bitmap DejaVu' in the font chooser) has been added. True type font
>> support has been upgraded to operate directly on files on disk without the
>> need to load the entire file into memory.
>>
>> A new set of text editors has been added, which allowed us to decouple the
>> Morphic and MVC implementations for improved modularity. Morphic now has
>> regular blinking insertion point cursors instead of the (virtually
>> invisible) static cursor previously.
>>
>> Compiler
>> --------
>> Squeak 4.1 includes the closure implementation from Cog as a prerequisite
>> for full Cog adoption later. With this implementation Squeak finally has
>> 'full' closures, allowing classic recursive examples like the following to
>> work:
>>
>>        fac := [:n| n > 1 ifTrue:[n * (fac value: n-1)] ifFalse:[1]].
>>        fac value: 5.
>>
>> Support for literal ByteArray syntax has been added. Byte arrays can now
>> be
>> written as #[1 2 3] instead of #(1 2 3) asByteArray  avoiding the need for
>> conversion.
>>
>> Selectors including minus are now parsed correctly, for example 3 <- 4 is
>> now parsed as (3) <- (4) instead of (3) < (-4). White space is no longer
>> allowed after an unary minus to denote a negative number literal.
>>
>> Development
>> -----------
>> Syntax highlighting, based on Shout, is now included in all Squeak tools
>> by
>> default. For workspaces, it can be explicitly disabled in the window menu
>> (press the blue button; entry 'syntax highlighting').
>>
>> Sources and changes files are no longer limited to 32MB max size.
>> ExpandedSourceFileArray provides an implementation for source files of
>> arbitrary length, based on the CompiledMethodTrailer changes.
>>
>> MessageTrace has been added, allowing senders and implementors to be
>> viewed
>> without opening new windows all the time.  It utilizes a new
>> AlternatePluggableListMorphOfMany, which allows quick and easy
>> customization
>> of the list. A quick adoption of DependencyBrowser has been added allowing
>> to browse dependencies between packages.
>>
>> Core Libraries
>> --------------
>> Sets can now store nil just as any other collection. The collection
>> hierachy
>> has been refactored to have both Set and Dictionary a subclass of
>> HashedCollection instead of having Dictionary a subclass of Set. Squeak
>> now
>> uses a better distributed scaledIdentityHash for identity sets and
>> dictionaries.
>>
>> StandardFilestream now performs read-buffering, dramatically speading up
>> some operations like "Object compileAll" (2x improvement) as well as
>> various
>> other operations (scanning change lists etc).
>>
>> A new traits implementation has been added. The implementation is
>> significantly smaller and simpler than the old version and can be unloaded
>> and reloaded without loss of information (i.e., traits flattened during
>> unload are restored during traits reloading).
>>
>> A new extensible number parser hierharchy has been introduced NumberParser
>> and its subclasses provide support for parsing and building numbers from
>> strings and streams.
>>
>> A new general cleanup protocol has been added. The cleanUp protocol takes
>> an
>> optional argument to indicate whether we're doing an aggressive cleanup
>> (which involves deleting projects, change sets, and possibly other
>> destructive actions) or a more gentle cleanup that's only supposed to
>> clean
>> out transient caches.
>>
>> SystemDictionary and SmalltalkImage have been refactored. Smalltalk is now
>> an instance of SmalltalkImage, representing a facade for system-wide
>> queries
>> and actions. SmalltalkImage contains a global environment, an instance of
>> SystemDictionary, which the environment used by classes. Thus,
>> SmalltalkImage current == Smalltalk, Object environment == Smalltalk
>> globals.
>>
>> Modularity
>> ----------
>> The following packages have been made reloadable: ReleaseBuilder,
>> ScriptLoader, 311Deprecated, 39Deprecated, Universes, SMLoader, SMBase,
>> Installer-Core, VersionNumberTests, VersionNumber, Services-Base,
>> PreferenceBrowser, Nebraska, CollectionsTests, GraphicsTests, KernelTests,
>> MorphicTests, MultilingualTests, NetworkTests, ToolsTests, TraitsTests,
>> XML-Parser, Traits, SystemChangeNotification-Tests, FlexibleVocabularies,
>> EToys, Protocols, Tests, SUnitGUI. To unload all of these, execute:
>>
>>        Smalltalk unloadAllKnownPackages.
>>
>>
>
>

Reply | Threaded
Open this post in threaded view
|

Re: [RELEASED] Squeak 4.1

Casey Ransberger-2
Squeakers: Thank you. 

4.1 is a Smalltalk system that I'm not afraid to show to my friends. In particular, the UI improvements that went in will really help me to raise awareness about Squeak in my local community (Seattle, where there is entirely too much C# going around.) I'm glad that Squeak maintains a visual identity (even if we did yoink it mostly from Newspeak, heh) rather than emulating a mainstream look and feel.

I wanted to point out: 4.1 has a much larger delta than what will be absolutely necessary to justify future releases; it could probably have been code frozen and shipped a lot sooner if we hadn't been waiting on a license-clean 4.0 artifact. 4.2 is, in my mind, much closer than 4.1 was to (temporally speaking) 4.0.

It's been a good year. Ever since the commits started rolling in, I've met some really great people, was honored to run with the relicense ball, (even if I botched the release email, lol!) and I've learned a lot about Smalltalk. 

Thanks everyone; here's to Squeak 4.2. Excelsior!

On Mon, Apr 19, 2010 at 10:09 AM, Hannes Hirzel <[hidden email]> wrote:
Yes, it is a major step forward.

4.1 has a nice GUI which invites me to do write RCP like apps. The
menu bar is great and the system windows look neat.

With the ToolBuilder we can create good UIs though there is a learning curve.

There are still errors but we can fix them quickly with the  trunk
approach. It was just yesterday that I realised that there is an entry
in Monticello to post to the inbox.

Hannes

On 4/19/10, Chris Muller <[hidden email]> wrote:
> Congratulations Andreas.  It's one thing to make an "app", or even a
> "framework", but it's another to make a "Smalltalk".  Way to go..
>
> On Sat, Apr 17, 2010 at 10:05 PM, Andreas Raab <[hidden email]> wrote:
>> On behalf of the Squeak community, I'm happy to announce the availability
>> of
>> Squeak 4.1.
>>
>> Squeak 4.1 combines the license change occurring in the 4.0 release with
>> the
>> development work that has been going on while the relicensing process took
>> place.
>>
>> Much of the work in this release has been focused on fundamental
>> improvements. Major achievements are the integration of Cog's closure
>> implementation, the improved UI look and feel, the new anti-aliased fonts,
>> the core library improvements, and the modularity advances.
>>
>> To download the Squeak 4.1 release please visit:
>>
>>        http://ftp.squeak.org/4.1
>>
>> The Website will be updated over the next few days to reflect the
>> availability of Squeak 4.1.
>>
>> Enjoy!
>>
>>  - Andreas (on behalf of the Squeak community)
>>
>> Overview of Changes in Squeak 4.1
>> =================================
>>
>> User Interface
>> --------------
>> We have adapted the 'face lift' look originally developed for Newspeak.
>> For
>> those of us who like colored windows (quite a few as it turns out) you can
>> switch between uniform and colored windows in the 'Extras' menu under
>> 'Window Colors'.
>>
>> The new menu bar makes Squeak much easier to discover than before. The
>> process of transitioning from the world menu is not complete yet, there
>> are
>> still items that can only be accessed from the world menu (i.e., by
>> clicking
>> on the desktop).
>>
>> The search field integrated in the menu bar allows for direct navigation
>> to
>> classes and methods - simply type in a partial class or method name and
>> see
>> what happens.
>>
>> A new set of inexpensive sub-pixel antialiased fonts derived from the
>> DejaVu
>> fonts ('Bitmap DejaVu' in the font chooser) has been added. True type font
>> support has been upgraded to operate directly on files on disk without the
>> need to load the entire file into memory.
>>
>> A new set of text editors has been added, which allowed us to decouple the
>> Morphic and MVC implementations for improved modularity. Morphic now has
>> regular blinking insertion point cursors instead of the (virtually
>> invisible) static cursor previously.
>>
>> Compiler
>> --------
>> Squeak 4.1 includes the closure implementation from Cog as a prerequisite
>> for full Cog adoption later. With this implementation Squeak finally has
>> 'full' closures, allowing classic recursive examples like the following to
>> work:
>>
>>        fac := [:n| n > 1 ifTrue:[n * (fac value: n-1)] ifFalse:[1]].
>>        fac value: 5.
>>
>> Support for literal ByteArray syntax has been added. Byte arrays can now
>> be
>> written as #[1 2 3] instead of #(1 2 3) asByteArray  avoiding the need for
>> conversion.
>>
>> Selectors including minus are now parsed correctly, for example 3 <- 4 is
>> now parsed as (3) <- (4) instead of (3) < (-4). White space is no longer
>> allowed after an unary minus to denote a negative number literal.
>>
>> Development
>> -----------
>> Syntax highlighting, based on Shout, is now included in all Squeak tools
>> by
>> default. For workspaces, it can be explicitly disabled in the window menu
>> (press the blue button; entry 'syntax highlighting').
>>
>> Sources and changes files are no longer limited to 32MB max size.
>> ExpandedSourceFileArray provides an implementation for source files of
>> arbitrary length, based on the CompiledMethodTrailer changes.
>>
>> MessageTrace has been added, allowing senders and implementors to be
>> viewed
>> without opening new windows all the time.  It utilizes a new
>> AlternatePluggableListMorphOfMany, which allows quick and easy
>> customization
>> of the list. A quick adoption of DependencyBrowser has been added allowing
>> to browse dependencies between packages.
>>
>> Core Libraries
>> --------------
>> Sets can now store nil just as any other collection. The collection
>> hierachy
>> has been refactored to have both Set and Dictionary a subclass of
>> HashedCollection instead of having Dictionary a subclass of Set. Squeak
>> now
>> uses a better distributed scaledIdentityHash for identity sets and
>> dictionaries.
>>
>> StandardFilestream now performs read-buffering, dramatically speading up
>> some operations like "Object compileAll" (2x improvement) as well as
>> various
>> other operations (scanning change lists etc).
>>
>> A new traits implementation has been added. The implementation is
>> significantly smaller and simpler than the old version and can be unloaded
>> and reloaded without loss of information (i.e., traits flattened during
>> unload are restored during traits reloading).
>>
>> A new extensible number parser hierharchy has been introduced NumberParser
>> and its subclasses provide support for parsing and building numbers from
>> strings and streams.
>>
>> A new general cleanup protocol has been added. The cleanUp protocol takes
>> an
>> optional argument to indicate whether we're doing an aggressive cleanup
>> (which involves deleting projects, change sets, and possibly other
>> destructive actions) or a more gentle cleanup that's only supposed to
>> clean
>> out transient caches.
>>
>> SystemDictionary and SmalltalkImage have been refactored. Smalltalk is now
>> an instance of SmalltalkImage, representing a facade for system-wide
>> queries
>> and actions. SmalltalkImage contains a global environment, an instance of
>> SystemDictionary, which the environment used by classes. Thus,
>> SmalltalkImage current == Smalltalk, Object environment == Smalltalk
>> globals.
>>
>> Modularity
>> ----------
>> The following packages have been made reloadable: ReleaseBuilder,
>> ScriptLoader, 311Deprecated, 39Deprecated, Universes, SMLoader, SMBase,
>> Installer-Core, VersionNumberTests, VersionNumber, Services-Base,
>> PreferenceBrowser, Nebraska, CollectionsTests, GraphicsTests, KernelTests,
>> MorphicTests, MultilingualTests, NetworkTests, ToolsTests, TraitsTests,
>> XML-Parser, Traits, SystemChangeNotification-Tests, FlexibleVocabularies,
>> EToys, Protocols, Tests, SUnitGUI. To unload all of these, execute:
>>
>>        Smalltalk unloadAllKnownPackages.
>>
>>
>
>




Reply | Threaded
Open this post in threaded view
|

Re: [RELEASED] Squeak 4.1

Frank Shearar
In reply to this post by Hannes Hirzel
Hannes Hirzel wrote:
> Yes, it is a major step forward.
>
> 4.1 has a nice GUI which invites me to do write RCP like apps. The
> menu bar is great and the system windows look neat.
>
> With the ToolBuilder we can create good UIs though there is a learning curve.

ToolBuilder rocks. I'm hardly an expert in using it, but what few
bugfixes I contributed, I found it easy to use.

Heck, actually, it took me all of an hour to go from never having looked
at the Browser to being able to commit a fix. I chalk that up entirely
to ToolBuilder's ease of use.

frank

Reply | Threaded
Open this post in threaded view
|

Re: [RELEASED] Squeak 4.1

Michael Haupt-3
In reply to this post by Andreas.Raab
Hi,

... way cool. Thanks to everyone involved, allegedly ostracised or not.

We're *so* going to give this to students at HPI. :-)

Moreover, I'm going to give an introductory lecture on Smalltalk this
week, and guess which one I will show them ... ;-)

Best,

Michael

Reply | Threaded
Open this post in threaded view
|

Cog timeline (was: [RELEASED] Squeak 4.1)

Yanni Chiu
In reply to this post by Andreas.Raab
Andreas Raab wrote:
> Overview of Changes in Squeak 4.1
> =================================
> ... [various release stuff deleted] ...
> Compiler
> --------
> Squeak 4.1 includes the closure implementation from Cog as a
> prerequisite for full Cog adoption later. With this implementation
> Squeak finally has 'full' closures, allowing classic recursive examples
> like the following to work:

Okay, I'll bite. Does that mean that a Cog timeline is playing out now?


Reply | Threaded
Open this post in threaded view
|

Re: [RELEASED] Squeak 4.1

Hannes Hirzel
In reply to this post by Casey Ransberger-2
On 4/19/10, Casey Ransberger <[hidden email]> wrote:
> Squeakers: Thank you.
>
> 4.1 is a Smalltalk system that I'm not afraid to show to my friends.

I fully agree

Hannes