[ANN] Traits Release beta1

Julian Fitzell julian at beta4.com
Sun Apr 25 21:12:53 UTC 2004


Cool!  Took about 15 minutes to install on my athlon 2400+ and seems to 
work great.  I agree that there are some UI features missing but it 
still seems pretty nice.  Haven't tried monticello with it yet.

Thanks for all your work!

Julian

Adrian Lienhard wrote:
> Hi all,
> 
> Traits Release beta1
> ====================
> Over the last months we have been working on a new stable implementation of
> Traits in Squeak. This is the first public beta release. Please note that
> this version features a new language kernel that supports all the necessary
> features for creating and composing traits, but that there are still many
> features missing that are absolutely crucial for getting the real "traits
> experience". (See the limitations section below).
> 
> Please find more information and papers about Traits at:
> http://www.iam.unibe.ch/~scg/Research/Traits
> 
> Our implementation consists of the following parts:
> 
> - The Kernel: In contrast to the traits prototype, the new traits
> implementation features a clean, efficient and stable kernel, which is an
> extension of the traditional Smalltalk-80 kernel of Squeak. The kernel is
> feature complete as far as creation and composition of traits is concerned,
> but it may still have bugs. Note that in the current version, the kernel
> contains some duplicated code between the class and the traits hierarchy.
> However, this is not an accident but a conscious design decision as we will
> get rid of this duplicated code by bootsrapping/refactoring the kernel using
> traits itself.
> 
> - The User Interface: We've started implementing a new traits browser with
> OmniBrowser. It supports composing and browsing classes and traits and let
> you "dive" into the composition structure of traits. In addition, the old
> browser has been modified to show a flat view for programmers who like to
> view and work with Squeak as it was before.
> 
> - Monticello: We've made Monticello traits aware, letting you save and load
> traits (even to SqueakSource). Note, that code which is saved with this
> modified version of Monticello can not be loaded with a normal Monticello
> (even if it does not include traits). This implementation should be
> considered as a prototype and should be refactored.
> As an alternative you can also use the normal fileOut mechanism which
> supports traits as well.
> 
> Installation
> ------------
> The implementation is available on SqueakMap under the name "Traits". It is
> tested in a new fresh 3.7b image. Prerequisite packages are Monticello and
> the newest version of PackageInfo.
> Beside loading the kernel and the modified Monticello and OmniBrowser there
> will also be KCP-0220-ClassOrganizerFixAndCleanup.14.cs loaded because this
> change is not in the update stream yet.
> Please note, that the installation takes about 30 Minutes (depending on the
> speed of your machine) because it needs to recompile all the classes in the
> image. (This is a consequence of the fact that we had to change the format
> of the kernel classes.)
> 
> Getting Started
> ---------------
> Open the Traits OmniBrowser: World Menu -> open -> Traits Browser
> Create a new trait: Open the context menu in the class/trait pane and select
> "create trait..."
> 
> Limitations
> -----------
> - There are still many features missing that are absolutely essential for
> getting the real "traits experience", but these are mainly related to the UI
> and IDE. For example:
>   - There are no virtual categories that present the conflicts and glue
> methods of a composite class/trait.
>   - There is no automatic computation of requirements
>   - There is no information that shows which traits/classes provide or
> require the currently selected methods
>   - There is no support for turning classes into trait
>   - etc.
> 
> - The current UI is just a "minimal placeholder" that allows one to start
> using/playing with traits. However, many improvements are still missing.
> - There are known bugs in OmniBrowser (which still is in alpha).
> - The OmniBrowser updates very slowly.
> 
> - No documentation apart from the papers yet.
> 
> Cheers,
> Adrian
> 
> _____________________
> Adrian Lienhard
> www.adrian-lienhard.ch
> www.netstyle.ch
> 
> 



More information about the Squeak-dev mailing list