Pharo-users
By thread
pharo-users@lists.pharo.org
By month
Messages by month
- ----- 2026 -----
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- 2 participants
- 50347 messages
Re: [Pharo-users] [Esug-list] [ANN] Pharo 2.0
by stephane ducasse
I love this picture!!!
Stef
> <Lighthouse-Rocket-Launch--55330.jpg>
March 18, 2013
Re: [Pharo-users] Glorp + Postgres array type
by Guillermo Polito
Hi Chris, I'm not really sure Glorp supports that... but at least I can try
to give a look at how the driver responds to it, so:
- Which driver are you using? OpenDBX or the native postgres one?
- can you provide me some script to setup the problem? I'm not really an
expert on postgresql specifics :)
On Sun, Mar 17, 2013 at 11:46 AM, Chris <cpmbailey(a)btinternet.com> wrote:
> Hi, does anyone know if Glorp supports the array type in Postgres? I did a
> basicExecuteSQLString: and it came back with '{1,2,3}' so as if it might
> not be too complicated to make work for my scenario at least. I really want
> to do a toManyMapping using these integers in the array as a join to
> another table and have it resolve their objects, but wouldn't know where to
> start!
>
>
I'll forward this question to the glorp and DBXtalk lists also, probably
someone else has more idea.
> Thanks
> Chris
>
> Tx,
Guille
March 18, 2013
Re: [Pharo-users] [ANN] Pharo 2.0
by Benjamin
As I said previously, we are encountering issues with the deployment of the website allowing to register.
Hopefully, it should be deployed very soon
Ben
On Mar 18, 2013, at 12:29 PM, Nicolai Hess <nicolaihess(a)web.de> wrote:
>
>
>
> 2013/3/18 Norbert Hartl <norbert(a)hartl.name>
> Congrats!
>
> Norbert
>
> Am 18.03.2013 um 11:12 schrieb Marcus Denker <marcus.denker(a)inria.fr>:
>
> > We are proud to announce the release of Pharo 2.0!
> >
> > You can find information about Pharo at: http://www.pharo-project.org
> >
> > About this release
> > ------------------
> > All in all, there were over 1600 issues treated in the issue tracker
> > and 1350 improvements integrated into 2.0.
> >
> > http://code.google.com/p/pharo/issues/list?can=1&q=Milestone%3D2.0+status%3…
> >
> > Read it again, yes 1350 is huge, take two minutes and have a look at the list of
> > improvements! Now you got the feel of the effort. And this was a true community
> > effort. It is possible because people worldwide helped! We want to deeply thank them.
> >
> > We want to thank Inria for its constant support, in particular for the salary of Igor
> > Stasenko and Esteban Lorenzano, and for the help in the infrastructure.
> >
> > We have accomplished this huge task for a better system because we were together. Do not
> > forget that we are working on a consortium to support our system:
> >
> > - http://consortium.pharo.org (for companies and organizations)
> > - http://association.pharo.org (for individuals)
> >
> > Our goal is to build a system so that we can make a living with our creativity and
> > programming skills.
> >
> > You can find information about Pharo on http://www.pharo-project.org. In particular,
> > you may be interested in:
> >
> > - Joining us and getting help http://www.pharo-project.org/community
> > - Getting the Pharo By Example book (available as a free PDF): http://www.pharobyexample.org
> > - Watching the screencasts http://www.pharocasts.com
> > - Reporting problems http://www.pharo-project.org/community/issue-tracking
> > - Reading the forth coming book http://rmod.lille.inria.fr/pbe2
> > - Reading the Pharo vision document http://bit.ly/HNkEru
> >
> > Thanks a lot for your participation, energy and fun.
> >
> > -- The Pharo Team
> >
> > Summarized issues for 2.0
> > ==================
> >
> > UI
> > ---
> >
> > - Spec
> > - Widget enhancements
> > - Layout improvements/cleanups
> > - Keybindings
> > - New icons (famfam)
> > - Growl style notifications
> > - Revamp progress bar
> >
> > Developer tools
> > ---------------
> >
> > - Nautilus browser
> > - Critics browser
> > - Improved version diff browsing
> > - Spotlight
> > - Revamp Code Completion and smart chars
> > - Interactive navigation using ctrl/cmd+click over classes/methods
> > - Shout themes
> > - Andreas profiler
> >
> > Networking
> > -----------
> >
> > - Update Zinc
> > - Zodiac (SSL)
> >
> > System
> > -------
> >
> > - System Announcer
> > - RPackage replacing PackageInfo
> > - Command line tools / Headless mode
> > - Native boost
> > - Update Ring metamodel
> > - Fuel serializer
> > - Freetype fonts
> >
> > Kernel
> > ------
> >
> > - DateAndTime refactoring
> > - Updated FileSystem and replaced FileDirectory
> >
> > VM
> > --
> >
> > - Latests cog builds
> > - SSLPlugin
> > - FilePlugin enhancements
> > - SocketPlugin fixes
> > - Included libraries: freetype2, cairo
> >
> > Cleanups
> > -------------
> >
> > - FileDirectory removed (replaced by FileSystem)
> > - SmartRefStream and ReferenceStream removed (replaced by Fuel)
> > - PackageInfo deprecated (replaced by RPackage)
> >
> > Other
> > -------
> >
> > - Zeroconf scripts
> > - Continuous Integration for every aspect of our release process.
> >
> > Not all the changes are reported here, but this is to give you an impression,
> > you can find better explanation here: https://code.google.com/p/pharo/wiki/ActionsInPharo20
> >
> >
> >
>
>
>
>
>
>
> What about issue tracking?
> All issues at google code are locked and
> I can not sign in at FogBugz (it isn't public yet?)
>
> regards
> Nicolai
March 18, 2013
Re: [Pharo-users] [ANN] Pharo 2.0
by Tudor Girba
+1
Doru
On Mon, Mar 18, 2013 at 12:13 PM, Sven Van Caekenberghe <sven(a)stfx.eu>wrote:
>
> On 18 Mar 2013, at 11:26, stephane ducasse <stephane.ducasse(a)free.fr>
> wrote:
>
> > Thanks to everybody for all the energy put in this good version.
> >
> > Stef
>
> Finally, 2.0 released !
>
> My general feeling is that of gratitude towards the community for
> everybody's contributions.
>
> Sven
>
> > On Mar 18, 2013, at 11:21 AM, Benjamin <
> benjamin.vanryseghem.pharo(a)gmail.com> wrote:
> >
> >>
> >> Ben
> >>
> >> On Mar 18, 2013, at 11:12 AM, Marcus Denker <marcus.denker(a)inria.fr>
> wrote:
> >>
> >>> We are proud to announce the release of Pharo 2.0!
> >>>
> >>> You can find information about Pharo at: http://www.pharo-project.org
> >>>
> >>> About this release
> >>> ------------------
> >>> All in all, there were over 1600 issues treated in the issue tracker
> >>> and 1350 improvements integrated into 2.0.
> >>>
> >>>
> http://code.google.com/p/pharo/issues/list?can=1&q=Milestone%3D2.0+status%3…
> >>>
> >>> Read it again, yes 1350 is huge, take two minutes and have a look at
> the list of
> >>> improvements! Now you got the feel of the effort. And this was a true
> community
> >>> effort. It is possible because people worldwide helped! We want to
> deeply thank them.
> >>>
> >>> We want to thank Inria for its constant support, in particular for the
> salary of Igor
> >>> Stasenko and Esteban Lorenzano, and for the help in the infrastructure.
> >>>
> >>> We have accomplished this huge task for a better system because we
> were together. Do not
> >>> forget that we are working on a consortium to support our system:
> >>>
> >>> - http://consortium.pharo.org (for companies and organizations)
> >>> - http://association.pharo.org (for individuals)
> >>>
> >>> Our goal is to build a system so that we can make a living with our
> creativity and
> >>> programming skills.
> >>>
> >>> You can find information about Pharo on http://www.pharo-project.org.
> In particular,
> >>> you may be interested in:
> >>>
> >>> - Joining us and getting help http://www.pharo-project.org/community
> >>> - Getting the Pharo By Example book (available as a free PDF):
> http://www.pharobyexample.org
> >>> - Watching the screencasts http://www.pharocasts.com
> >>> - Reporting problems
> http://www.pharo-project.org/community/issue-tracking
> >>> - Reading the forth coming book http://rmod.lille.inria.fr/pbe2
> >>> - Reading the Pharo vision document http://bit.ly/HNkEru
> >>>
> >>> Thanks a lot for your participation, energy and fun.
> >>>
> >>> -- The Pharo Team
> >>>
> >>> Summarized issues for 2.0
> >>> ==================
> >>>
> >>> UI
> >>> ---
> >>>
> >>> - Spec
> >>> - Widget enhancements
> >>> - Layout improvements/cleanups
> >>> - Keybindings
> >>> - New icons (famfam)
> >>> - Growl style notifications
> >>> - Revamp progress bar
> >>>
> >>> Developer tools
> >>> ---------------
> >>>
> >>> - Nautilus browser
> >>> - Critics browser
> >>> - Improved version diff browsing
> >>> - Spotlight
> >>> - Revamp Code Completion and smart chars
> >>> - Interactive navigation using ctrl/cmd+click over classes/methods
> >>> - Shout themes
> >>> - Andreas profiler
> >>>
> >>> Networking
> >>> -----------
> >>>
> >>> - Update Zinc
> >>> - Zodiac (SSL)
> >>>
> >>> System
> >>> -------
> >>>
> >>> - System Announcer
> >>> - RPackage replacing PackageInfo
> >>> - Command line tools / Headless mode
> >>> - Native boost
> >>> - Update Ring metamodel
> >>> - Fuel serializer
> >>> - Freetype fonts
> >>>
> >>> Kernel
> >>> ------
> >>>
> >>> - DateAndTime refactoring
> >>> - Updated FileSystem and replaced FileDirectory
> >>>
> >>> VM
> >>> --
> >>>
> >>> - Latests cog builds
> >>> - SSLPlugin
> >>> - FilePlugin enhancements
> >>> - SocketPlugin fixes
> >>> - Included libraries: freetype2, cairo
> >>>
> >>> Cleanups
> >>> -------------
> >>>
> >>> - FileDirectory removed (replaced by FileSystem)
> >>> - SmartRefStream and ReferenceStream removed (replaced by Fuel)
> >>> - PackageInfo deprecated (replaced by RPackage)
> >>>
> >>> Other
> >>> -------
> >>>
> >>> - Zeroconf scripts
> >>> - Continuous Integration for every aspect of our release process.
> >>>
> >>> Not all the changes are reported here, but this is to give you an
> impression,
> >>> you can find better explanation here:
> https://code.google.com/p/pharo/wiki/ActionsInPharo20
> >>>
> >>>
> >>>
> >>
> >
>
>
>
--
www.tudorgirba.com
"Every thing has its own flow"
March 18, 2013
Re: [Pharo-users] [Esug-list] [ANN] Pharo 2.0
by Benjamin
Note that this can also be found on our new issue tracker: https://pharo.fogbugz.com/default.asp?W6
Ben
On Mar 18, 2013, at 11:12 AM, Marcus Denker <marcus.denker(a)inria.fr> wrote:
> We are proud to announce the release of Pharo 2.0!
>
> You can find information about Pharo at: http://www.pharo-project.org
>
> About this release
> ------------------
> All in all, there were over 1600 issues treated in the issue tracker
> and 1350 improvements integrated into 2.0.
>
> http://code.google.com/p/pharo/issues/list?can=1&q=Milestone%3D2.0+status%3…
>
> Read it again, yes 1350 is huge, take two minutes and have a look at the list of
> improvements! Now you got the feel of the effort. And this was a true community
> effort. It is possible because people worldwide helped! We want to deeply thank them.
>
> We want to thank Inria for its constant support, in particular for the salary of Igor
> Stasenko and Esteban Lorenzano, and for the help in the infrastructure.
>
> We have accomplished this huge task for a better system because we were together. Do not
> forget that we are working on a consortium to support our system:
>
> - http://consortium.pharo.org (for companies and organizations)
> - http://association.pharo.org (for individuals)
>
> Our goal is to build a system so that we can make a living with our creativity and
> programming skills.
>
> You can find information about Pharo on http://www.pharo-project.org. In particular,
> you may be interested in:
>
> - Joining us and getting help http://www.pharo-project.org/community
> - Getting the Pharo By Example book (available as a free PDF): http://www.pharobyexample.org
> - Watching the screencasts http://www.pharocasts.com
> - Reporting problems http://www.pharo-project.org/community/issue-tracking
> - Reading the forth coming book http://rmod.lille.inria.fr/pbe2
> - Reading the Pharo vision document http://bit.ly/HNkEru
>
> Thanks a lot for your participation, energy and fun.
>
> -- The Pharo Team
>
> Summarized issues for 2.0
> ==================
>
> UI
> ---
>
> - Spec
> - Widget enhancements
> - Layout improvements/cleanups
> - Keybindings
> - New icons (famfam)
> - Growl style notifications
> - Revamp progress bar
>
> Developer tools
> ---------------
>
> - Nautilus browser
> - Critics browser
> - Improved version diff browsing
> - Spotlight
> - Revamp Code Completion and smart chars
> - Interactive navigation using ctrl/cmd+click over classes/methods
> - Shout themes
> - Andreas profiler
>
> Networking
> -----------
>
> - Update Zinc
> - Zodiac (SSL)
>
> System
> -------
>
> - System Announcer
> - RPackage replacing PackageInfo
> - Command line tools / Headless mode
> - Native boost
> - Update Ring metamodel
> - Fuel serializer
> - Freetype fonts
>
> Kernel
> ------
>
> - DateAndTime refactoring
> - Updated FileSystem and replaced FileDirectory
>
> VM
> --
>
> - Latests cog builds
> - SSLPlugin
> - FilePlugin enhancements
> - SocketPlugin fixes
> - Included libraries: freetype2, cairo
>
> Cleanups
> -------------
>
> - FileDirectory removed (replaced by FileSystem)
> - SmartRefStream and ReferenceStream removed (replaced by Fuel)
> - PackageInfo deprecated (replaced by RPackage)
>
> Other
> -------
>
> - Zeroconf scripts
> - Continuous Integration for every aspect of our release process.
>
> Not all the changes are reported here, but this is to give you an impression,
> you can find better explanation here: https://code.google.com/p/pharo/wiki/ActionsInPharo20
>
>
>
> _______________________________________________
> Esug-list mailing list
> Esug-list(a)lists.esug.org
> http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org
March 18, 2013
Re: [Pharo-users] [ANN] Pharo 2.0
by Nicolai Hess
2013/3/18 Norbert Hartl <norbert(a)hartl.name>
> Congrats!
>
> Norbert
>
> Am 18.03.2013 um 11:12 schrieb Marcus Denker <marcus.denker(a)inria.fr>:
>
> > We are proud to announce the release of Pharo 2.0!
> >
> > You can find information about Pharo at: http://www.pharo-project.org
> >
> > About this release
> > ------------------
> > All in all, there were over 1600 issues treated in the issue tracker
> > and 1350 improvements integrated into 2.0.
> >
> >
> http://code.google.com/p/pharo/issues/list?can=1&q=Milestone%3D2.0+status%3…
> >
> > Read it again, yes 1350 is huge, take two minutes and have a look at the
> list of
> > improvements! Now you got the feel of the effort. And this was a true
> community
> > effort. It is possible because people worldwide helped! We want to
> deeply thank them.
> >
> > We want to thank Inria for its constant support, in particular for the
> salary of Igor
> > Stasenko and Esteban Lorenzano, and for the help in the infrastructure.
> >
> > We have accomplished this huge task for a better system because we were
> together. Do not
> > forget that we are working on a consortium to support our system:
> >
> > - http://consortium.pharo.org (for companies and organizations)
> > - http://association.pharo.org (for individuals)
> >
> > Our goal is to build a system so that we can make a living with our
> creativity and
> > programming skills.
> >
> > You can find information about Pharo on http://www.pharo-project.org.
> In particular,
> > you may be interested in:
> >
> > - Joining us and getting help http://www.pharo-project.org/community
> > - Getting the Pharo By Example book (available as a free PDF):
> http://www.pharobyexample.org
> > - Watching the screencasts http://www.pharocasts.com
> > - Reporting problems
> http://www.pharo-project.org/community/issue-tracking
> > - Reading the forth coming book http://rmod.lille.inria.fr/pbe2
> > - Reading the Pharo vision document http://bit.ly/HNkEru
> >
> > Thanks a lot for your participation, energy and fun.
> >
> > -- The Pharo Team
> >
> > Summarized issues for 2.0
> > ==================
> >
> > UI
> > ---
> >
> > - Spec
> > - Widget enhancements
> > - Layout improvements/cleanups
> > - Keybindings
> > - New icons (famfam)
> > - Growl style notifications
> > - Revamp progress bar
> >
> > Developer tools
> > ---------------
> >
> > - Nautilus browser
> > - Critics browser
> > - Improved version diff browsing
> > - Spotlight
> > - Revamp Code Completion and smart chars
> > - Interactive navigation using ctrl/cmd+click over classes/methods
> > - Shout themes
> > - Andreas profiler
> >
> > Networking
> > -----------
> >
> > - Update Zinc
> > - Zodiac (SSL)
> >
> > System
> > -------
> >
> > - System Announcer
> > - RPackage replacing PackageInfo
> > - Command line tools / Headless mode
> > - Native boost
> > - Update Ring metamodel
> > - Fuel serializer
> > - Freetype fonts
> >
> > Kernel
> > ------
> >
> > - DateAndTime refactoring
> > - Updated FileSystem and replaced FileDirectory
> >
> > VM
> > --
> >
> > - Latests cog builds
> > - SSLPlugin
> > - FilePlugin enhancements
> > - SocketPlugin fixes
> > - Included libraries: freetype2, cairo
> >
> > Cleanups
> > -------------
> >
> > - FileDirectory removed (replaced by FileSystem)
> > - SmartRefStream and ReferenceStream removed (replaced by Fuel)
> > - PackageInfo deprecated (replaced by RPackage)
> >
> > Other
> > -------
> >
> > - Zeroconf scripts
> > - Continuous Integration for every aspect of our release process.
> >
> > Not all the changes are reported here, but this is to give you an
> impression,
> > you can find better explanation here:
> https://code.google.com/p/pharo/wiki/ActionsInPharo20
> >
> >
> >
>
>
>
What about issue tracking?
All issues at google code are locked and
I can not sign in at FogBugz (it isn't public yet?)
regards
Nicolai
March 18, 2013
Re: [Pharo-users] [ANN] Pharo 2.0
by Sven Van Caekenberghe
On 18 Mar 2013, at 11:26, stephane ducasse <stephane.ducasse(a)free.fr> wrote:
> Thanks to everybody for all the energy put in this good version.
>
> Stef
Finally, 2.0 released !
My general feeling is that of gratitude towards the community for everybody's contributions.
Sven
> On Mar 18, 2013, at 11:21 AM, Benjamin <benjamin.vanryseghem.pharo(a)gmail.com> wrote:
>
>>
>> Ben
>>
>> On Mar 18, 2013, at 11:12 AM, Marcus Denker <marcus.denker(a)inria.fr> wrote:
>>
>>> We are proud to announce the release of Pharo 2.0!
>>>
>>> You can find information about Pharo at: http://www.pharo-project.org
>>>
>>> About this release
>>> ------------------
>>> All in all, there were over 1600 issues treated in the issue tracker
>>> and 1350 improvements integrated into 2.0.
>>>
>>> http://code.google.com/p/pharo/issues/list?can=1&q=Milestone%3D2.0+status%3…
>>>
>>> Read it again, yes 1350 is huge, take two minutes and have a look at the list of
>>> improvements! Now you got the feel of the effort. And this was a true community
>>> effort. It is possible because people worldwide helped! We want to deeply thank them.
>>>
>>> We want to thank Inria for its constant support, in particular for the salary of Igor
>>> Stasenko and Esteban Lorenzano, and for the help in the infrastructure.
>>>
>>> We have accomplished this huge task for a better system because we were together. Do not
>>> forget that we are working on a consortium to support our system:
>>>
>>> - http://consortium.pharo.org (for companies and organizations)
>>> - http://association.pharo.org (for individuals)
>>>
>>> Our goal is to build a system so that we can make a living with our creativity and
>>> programming skills.
>>>
>>> You can find information about Pharo on http://www.pharo-project.org. In particular,
>>> you may be interested in:
>>>
>>> - Joining us and getting help http://www.pharo-project.org/community
>>> - Getting the Pharo By Example book (available as a free PDF): http://www.pharobyexample.org
>>> - Watching the screencasts http://www.pharocasts.com
>>> - Reporting problems http://www.pharo-project.org/community/issue-tracking
>>> - Reading the forth coming book http://rmod.lille.inria.fr/pbe2
>>> - Reading the Pharo vision document http://bit.ly/HNkEru
>>>
>>> Thanks a lot for your participation, energy and fun.
>>>
>>> -- The Pharo Team
>>>
>>> Summarized issues for 2.0
>>> ==================
>>>
>>> UI
>>> ---
>>>
>>> - Spec
>>> - Widget enhancements
>>> - Layout improvements/cleanups
>>> - Keybindings
>>> - New icons (famfam)
>>> - Growl style notifications
>>> - Revamp progress bar
>>>
>>> Developer tools
>>> ---------------
>>>
>>> - Nautilus browser
>>> - Critics browser
>>> - Improved version diff browsing
>>> - Spotlight
>>> - Revamp Code Completion and smart chars
>>> - Interactive navigation using ctrl/cmd+click over classes/methods
>>> - Shout themes
>>> - Andreas profiler
>>>
>>> Networking
>>> -----------
>>>
>>> - Update Zinc
>>> - Zodiac (SSL)
>>>
>>> System
>>> -------
>>>
>>> - System Announcer
>>> - RPackage replacing PackageInfo
>>> - Command line tools / Headless mode
>>> - Native boost
>>> - Update Ring metamodel
>>> - Fuel serializer
>>> - Freetype fonts
>>>
>>> Kernel
>>> ------
>>>
>>> - DateAndTime refactoring
>>> - Updated FileSystem and replaced FileDirectory
>>>
>>> VM
>>> --
>>>
>>> - Latests cog builds
>>> - SSLPlugin
>>> - FilePlugin enhancements
>>> - SocketPlugin fixes
>>> - Included libraries: freetype2, cairo
>>>
>>> Cleanups
>>> -------------
>>>
>>> - FileDirectory removed (replaced by FileSystem)
>>> - SmartRefStream and ReferenceStream removed (replaced by Fuel)
>>> - PackageInfo deprecated (replaced by RPackage)
>>>
>>> Other
>>> -------
>>>
>>> - Zeroconf scripts
>>> - Continuous Integration for every aspect of our release process.
>>>
>>> Not all the changes are reported here, but this is to give you an impression,
>>> you can find better explanation here: https://code.google.com/p/pharo/wiki/ActionsInPharo20
>>>
>>>
>>>
>>
>
March 18, 2013
Re: [Pharo-users] [Esug-list] [ANN] Pharo 2.0
by Guillermo Polito
Wiii :D Felicitaciones!
On Mon, Mar 18, 2013 at 11:51 AM, jannik laval <jannik.laval(a)gmail.com>wrote:
> Congrats !
>
> Jannik
>
>
> 2013/3/18 Luc Fabresse <luc.fabresse(a)gmail.com>
>
>>
>> THANK you all!
>> More or less my feelings:
>>
>> Luc
>>
>> 2013/3/18 stephane ducasse <stephane.ducasse(a)free.fr>
>>
>>> For those of you that want to know a bit more:
>>> http://code.google.com/p/pharo/w/edit/ActionsInPharo20
>>>
>>>
>>> Here is a log of all the actions done in 2.0. The idea is not to
>>> replicate the bug tracker, as it is easy to get a complete list [
>>> http://code.google.com/p/pharo/issues/list?can=1&q=milestone%3D2.0here]
>>> Instead, the idea is to have a list of the major improvements with some
>>> explanations.
>>>
>>> ==UI==
>>> We started a long term effort on the Pharo UI.
>>>
>>> * *Spec: a new way to build UI.* We started to rethink the way we
>>> build user interfaces in Pharo. Spec has been developed by Benjamin van
>>> Ryseghem under the guidance of Stéphane Ducasse. Spec is based on a
>>> declarative syntax to specify user interfaces and on valueHolder port
>>> composition. Spec supports widgets definition, reuse and composition. New
>>> widgets can be created by composing existing widgets. Many existing tools
>>> have been reimplemented using Spec. We wrote a tutorial for Spec. Spec will
>>> be used for the UIPainter that we will develop for Pharo 3.0. In Pharo 3.0
>>> we will revisit and improve Spec. One of the idea is that Spec should be
>>> independent of Morphic so that we can use it to build native tools or with
>>> Amber.
>>>
>>> * *Widget enhancements.* Several important widgets were greatly
>>> enhanced. This effort was led by Benjamin van Ryseghem. For example,
>>> multiple selection and single selection lists were unified. A new widget
>>> list has been developed from scratch and it exhibits massive speed
>>> improvements.
>>>
>>> * *Layout improvements/cleanups.* We improved the protocol used for
>>> creating LayoutFrame. We cleaned its implementation and simplify clients
>>> code. Now instance of layoutFrame are systematically well initialized.
>>> Clients do not need to check against nil values and a new protocol avoids
>>> to be forced to specify rectangle when only one number is required.
>>>
>>> * *Keybindings.* Keybindings is a new library developed by Guillermo
>>> Polito to manage key bindings. We started to use it to define widgets
>>> keybinding as well as menu shortcut. In Pharo 3.0 we will systematically
>>> rewrite all the hard-coded bindings with it and write a documentation. It
>>> supports:
>>> * source code navigation
>>> * running tests
>>> * basic refactoring
>>> * creating classes
>>> * and many more shortcuts: see "Shortcuts Description" in the window
>>> menu (triangle on the top right) in Nautilus
>>>
>>> * *New icons (famfam).* Pharo now uses new icons. We are looking for
>>> designers that could help us to define the UI look of the future Pharo
>>> versions.
>>>
>>> * *"Growl" style notifications.* To avoid to get UI blocked by simple
>>> notifications, Pharo now uses a growl like notification systems.
>>>
>>> * *Revamp progress bar.* We started to rewrite the progress bar
>>> framework. We introduced the Job class and notification to specify progress
>>> bar.
>>>
>>> * *Rectangle intersection improvements.* Rectangle intersection is a
>>> central part for UI redrawing and invalidating screen regions. Rectangle
>>> intersection is then an important functionality. We started to address the
>>> problem of the non-specification of the intersection of non overlapping
>>> rectangles. We introduced the intersect:ifNone protocol. As a side effect
>>> this improves the damage recording mechanisms and provide a faster system.
>>>
>>> ==Developer tools==
>>>
>>> * *Nautilus browser.* Nautilus, a new code browser has been developed
>>> by B. van Ryseghem. It supports: in place hierarchy, groups, refactorings,
>>> multiple views, icon navigation and many other features. Nautilus has a
>>> plugin infrastructure so everybody can use existing plugin or write new
>>> ones. Nautilus is fully navigable using shortcut. In Pharo 3.0 we plan to
>>> rewrite Nautilus using Spec.
>>>
>>> * *Critics browser.* From Pharo 2.0 on we want to systematically run
>>> rule checking rules. We revisited the SmallLint rules to customize them to
>>> Pharo and we better documented them. We developed a new browser that will
>>> helps you to apply SmallLint rules. In particular it supports the notion of
>>> todos. We can mark an issue as a false positive or as todos and get the bar
>>> green. We wrote a complete chapter on the Critics Browser. We will start to
>>> work on an infrastructure to systematically evaluate SmallLint rules on the
>>> projects published in the Pharo distribution.
>>>
>>> * *Omnipresence of the Refactoring Engine.* We believe that Pharo
>>> itself should use the best tools it has to change itself. This is why we
>>> decided to introduce the Refactoring Engine and SmallLint rule checkers.
>>> Note that this move to integrate extra tool is not against our vision to
>>> produce a minimal core. Once we have fast fuel based package loading we
>>> will be able to remove Metacello from the core.
>>>
>>> * *Improved version diff browsing.* We improved the diff and merging
>>> tool.
>>>
>>> * *Spotlight.* Spotlight is a ubiquitous tool to find classes and
>>> methods. You can activate it just press shift+enter.
>>>
>>> * *Revamp E/O Completion and smart chars.* In the past, smart
>>> characters (automatically closing parenthesis, single quote...) did not
>>> play well with auto completeion. In addition, they were duplicated
>>> functionality between two automatic ecompletion algorithms. In Pharo 2.0 we
>>> unified the two algorithms under a single umbrella and integrate them
>>> smoothly with smart-characters.
>>>
>>> * *Interactive navigation using "ctrl/cmd+click" over
>>> classes/methods.* Now Pharo supports the interactive navigation of source
>>> code using cmd/ctrl-click on selectors and class names in the source-code
>>> [implementors, senders, users].
>>>
>>> * *Shout themes.* Several syntax highlighting themes have been defined.
>>>
>>> * *Andreas profiler.* As a tribute to Andreas Raab, we included an
>>> alternate profiler developed by Andreas.
>>>
>>> ==Networking==
>>>
>>> * *New version of Zinc.* Zinc is developed by Sven Van Caekenberghe.
>>> New versions of Zinc the http client/server library has been integrated.
>>>
>>> * *Zodiac (SSL).* Zodiac is an extension of Zinc to support SSL
>>> connections.
>>>
>>> ==System==
>>>
>>> * *System Announcer.* Pharo had a change notification system. A change
>>> notification system is important because tools can register to events to
>>> update or react without getting coupled with the system. The problem was
>>> that the previous change notification broadcasted only symbols and not
>>> plain objects. It was limiting the power that we can get about first class
>>> objects. In addition not all the events were raised and competing with
>>> Announcements (announcements raised plain objects). In Pharo 2.0, we
>>> redefined system events as Announcements, introduced a System Announcer
>>> whose responsibility is to raise announcement for all the events and
>>> removed the old SystemChangeNotifier. This sets up the basis for the future
>>> communication between tools.
>>>
>>> * *RPackage replacing PackageInfo.* PackageInfo is a way to identify
>>> if a method belongs to a package. The implementation is based on dynamic
>>> queries. Such queries it leads to problems to produce new generation
>>> browser and tools. We defined a new implementation of the package
>>> management of Pharo. The idea is to represent package as real objects. In
>>> Pharo3.0 we will continue to remove the dependency to PackageInfo.
>>>
>>> * *Manifest: Package metadata.* We introduce the notion of package
>>> metadata. Package metadata are used to manage all false positives or
>>> todos of SmallLint so that you do not have to check all the time rule
>>> results. Each package can now have a class named
>>> ManifestNameOfXPackageNameX. It will be the place to add documentation and
>>> other information.
>>>
>>> * *Command line tools / Headless mode.* We really want to make sure
>>> that Pharo can be used in non interactive mode and that we can pass scripts
>>> to it on the command-line. For this reason we continued to work on making
>>> sure that Pharo can be used headless. In particular we introduced a new way
>>> to handle command line parameters. See `pharoVM my.image --help` and
>>> `pharoVM my.image --list`
>>> * st Handle .st source files
>>> * Fuel Handle fuel files
>>> * config Install and inspect Metacello Configurations from the
>>> command line
>>> * save Rename the image and changes file
>>> * test Run tests from command line
>>> * update Load updates
>>> * printVersion Print image version
>>> * eval Evaluate directly passed-in one line script
>>>
>>> * *Native boost.* NativeBoost is a library that generates assembly
>>> code on the fly. It is used to generate FFI calls. By default [
>>> http://www.esug.org/wiki/pier/Conferences/2011/Schedule-And-Talks/Native-bo…] is included mostly for future use. In Pharo3.0 vector graphics
>>> will be used and Nativeboost will be used to invoke the graphics primitives.
>>>
>>> * *Ring metamodel.* Ring is a new meta model introduced in Pharo 1.4.
>>> It is used to represent code that is not currently executed. Ring has an
>>> API that is polymorphic with a subpart of the core executing entities of
>>> Pharo (Class and CompiledMethod). This has the nice property that the tools
>>> that manipulate such entities can also manipulate ring objects. Hence Ring
>>> supports of image browsing. In Pharo 3.0 we will rewrite certain tools to
>>> use ring and deprecate some abstractions like pseudo-classes and file
>>> packages.
>>>
>>>
>>> * *Fuel.* Fuel is one of the fastest and versatile object serializer.
>>> In Pharo 2.0, we decided to use fuel as a default serializer. In
>>> particular, on error the execution stack is saved now in fuel format.
>>> Therefore it is possible to reopen a debugger on a similar image for
>>> debugging purpose.
>>>
>>> * *Freetype fonts.* We offer now a better handling of freetype fonts
>>> and their management.
>>>
>>> * *Metacello: a universal package map.* Metacello is a framework to
>>> describe is included in the default image. In the future Pharo will be
>>> managed by Metacello. The idea also is that once we have fast fuel based
>>> package loading we will be able to remove Metacello from the core.
>>>
>>>
>>> ==Kernel==
>>>
>>> * *New object-oriented and powerful filesystem.* The old library to
>>> support file was dated and cumbersome to use. This version of Pharo uses
>>> FileSystem a new framework developed by Colin Putney. We revisited and
>>> integrated deeply into Pharo core. A full chapter is available in the new
>>> book http://rmod.lille.inria.fr/pbe2/. The work includes a complete
>>> removal of FileDirectory. There is a compatibility package to support the
>>> transition. Enjoy the new and clean API.
>>>
>>> * *DateAndTime refactoring.* All the DateAndTime internals are now
>>> UTC-based. This prevents bugs in certain edge-cases where the image is
>>> moved through different time-zones, most prominently for daylight saving
>>> time.
>>>
>>> ==VM==
>>> * Latests cog builds
>>> * SSLPlugin
>>> * FilePlugin enhancements
>>> * SocketPlugin fixes
>>> * Included libraries: freetype2, cairo
>>>
>>> ==Large Cleanups==
>>> * *FileDirectory removal.* FileDirectory the old file system has been
>>> removed. It is packaged as a separate package to support migration to
>>> Pharo2.0.
>>>
>>> * *Deprecation of old serialization framework.* *ReferenceStream* and
>>> *SmartRefStream* are removed. In addition, *DataStream* is cleaned to be
>>> only used by Monticello. For a general purpose serializer, use *[
>>> http://rmod.lille.inria.fr/web/pier/software/Fuel Fuel]* instead.
>>>
>>> * *Large amount of bugs fixes.* You already guessed in addition we
>>> integrated *a lot* of small improvements, cleanups and bug fixes.
>>>
>>> ==Continuous Integration==
>>> * *Zeroconf scripts.* Weren't you fed up not be able to install Pharo
>>> from a single command line or to pass it arguments? Using a nice debugger
>>> and an interactive environment development does not mean that Pharo
>>> developers do not value automatic scripts and love command line. Yes we do
>>> and we want the best of both worlds! Since Pharo 2.0, Pharo supports a way
>>> to define and handle command line argument and offer zero conf scripts. We
>>> even wrote a chapter on them.
>>> Here is a nice start with a zero-conf bash scripts: `wget --quiet -O -
>>> http://files.pharo.org/script/ciPharo20PharoVM.sh | bash`
>>>
>>> * *CI for everything.* A new infrastructure to support continuous
>>> integration is now in place.
>>> * First new images and vms are mirrored under
>>> http://files.pharo.org/
>>> * Second the key parts of pharo are automatically built on [
>>> https://ci.inria.fr/pharo/]
>>> * Third community project can be hosted at [
>>> http://ci.inria.fr/pharo-contribution/]
>>>
>>>
>>>
>>
>
>
> --
>
> ~~Dr. Jannik Laval~~
> Ãcole des Mines de Douai
> Enseignant-chercheur
> http://www.jannik-laval.eu
>
> _______________________________________________
> Esug-list mailing list
> Esug-list(a)lists.esug.org
> http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org
>
>
March 18, 2013
Re: [Pharo-users] [Esug-list] [ANN] Pharo 2.0
by jannik laval
Congrats !
Jannik
2013/3/18 Luc Fabresse <luc.fabresse(a)gmail.com>
>
> THANK you all!
> More or less my feelings:
>
> Luc
>
> 2013/3/18 stephane ducasse <stephane.ducasse(a)free.fr>
>
>> For those of you that want to know a bit more:
>> http://code.google.com/p/pharo/w/edit/ActionsInPharo20
>>
>>
>> Here is a log of all the actions done in 2.0. The idea is not to
>> replicate the bug tracker, as it is easy to get a complete list [
>> http://code.google.com/p/pharo/issues/list?can=1&q=milestone%3D2.0 here].
>> Instead, the idea is to have a list of the major improvements with some
>> explanations.
>>
>> ==UI==
>> We started a long term effort on the Pharo UI.
>>
>> * *Spec: a new way to build UI.* We started to rethink the way we build
>> user interfaces in Pharo. Spec has been developed by Benjamin van Ryseghem
>> under the guidance of Stéphane Ducasse. Spec is based on a declarative
>> syntax to specify user interfaces and on valueHolder port composition. Spec
>> supports widgets definition, reuse and composition. New widgets can be
>> created by composing existing widgets. Many existing tools have been
>> reimplemented using Spec. We wrote a tutorial for Spec. Spec will be used
>> for the UIPainter that we will develop for Pharo 3.0. In Pharo 3.0 we will
>> revisit and improve Spec. One of the idea is that Spec should be
>> independent of Morphic so that we can use it to build native tools or with
>> Amber.
>>
>> * *Widget enhancements.* Several important widgets were greatly
>> enhanced. This effort was led by Benjamin van Ryseghem. For example,
>> multiple selection and single selection lists were unified. A new widget
>> list has been developed from scratch and it exhibits massive speed
>> improvements.
>>
>> * *Layout improvements/cleanups.* We improved the protocol used for
>> creating LayoutFrame. We cleaned its implementation and simplify clients
>> code. Now instance of layoutFrame are systematically well initialized.
>> Clients do not need to check against nil values and a new protocol avoids
>> to be forced to specify rectangle when only one number is required.
>>
>> * *Keybindings.* Keybindings is a new library developed by Guillermo
>> Polito to manage key bindings. We started to use it to define widgets
>> keybinding as well as menu shortcut. In Pharo 3.0 we will systematically
>> rewrite all the hard-coded bindings with it and write a documentation. It
>> supports:
>> * source code navigation
>> * running tests
>> * basic refactoring
>> * creating classes
>> * and many more shortcuts: see "Shortcuts Description" in the window
>> menu (triangle on the top right) in Nautilus
>>
>> * *New icons (famfam).* Pharo now uses new icons. We are looking for
>> designers that could help us to define the UI look of the future Pharo
>> versions.
>>
>> * *"Growl" style notifications.* To avoid to get UI blocked by simple
>> notifications, Pharo now uses a growl like notification systems.
>>
>> * *Revamp progress bar.* We started to rewrite the progress bar
>> framework. We introduced the Job class and notification to specify progress
>> bar.
>>
>> * *Rectangle intersection improvements.* Rectangle intersection is a
>> central part for UI redrawing and invalidating screen regions. Rectangle
>> intersection is then an important functionality. We started to address the
>> problem of the non-specification of the intersection of non overlapping
>> rectangles. We introduced the intersect:ifNone protocol. As a side effect
>> this improves the damage recording mechanisms and provide a faster system.
>>
>> ==Developer tools==
>>
>> * *Nautilus browser.* Nautilus, a new code browser has been developed
>> by B. van Ryseghem. It supports: in place hierarchy, groups, refactorings,
>> multiple views, icon navigation and many other features. Nautilus has a
>> plugin infrastructure so everybody can use existing plugin or write new
>> ones. Nautilus is fully navigable using shortcut. In Pharo 3.0 we plan to
>> rewrite Nautilus using Spec.
>>
>> * *Critics browser.* From Pharo 2.0 on we want to systematically run
>> rule checking rules. We revisited the SmallLint rules to customize them to
>> Pharo and we better documented them. We developed a new browser that will
>> helps you to apply SmallLint rules. In particular it supports the notion of
>> todos. We can mark an issue as a false positive or as todos and get the bar
>> green. We wrote a complete chapter on the Critics Browser. We will start to
>> work on an infrastructure to systematically evaluate SmallLint rules on the
>> projects published in the Pharo distribution.
>>
>> * *Omnipresence of the Refactoring Engine.* We believe that Pharo
>> itself should use the best tools it has to change itself. This is why we
>> decided to introduce the Refactoring Engine and SmallLint rule checkers.
>> Note that this move to integrate extra tool is not against our vision to
>> produce a minimal core. Once we have fast fuel based package loading we
>> will be able to remove Metacello from the core.
>>
>> * *Improved version diff browsing.* We improved the diff and merging
>> tool.
>>
>> * *Spotlight.* Spotlight is a ubiquitous tool to find classes and
>> methods. You can activate it just press shift+enter.
>>
>> * *Revamp E/O Completion and smart chars.* In the past, smart
>> characters (automatically closing parenthesis, single quote...) did not
>> play well with auto completeion. In addition, they were duplicated
>> functionality between two automatic ecompletion algorithms. In Pharo 2.0 we
>> unified the two algorithms under a single umbrella and integrate them
>> smoothly with smart-characters.
>>
>> * *Interactive navigation using "ctrl/cmd+click" over classes/methods.*
>> Now Pharo supports the interactive navigation of source code using
>> cmd/ctrl-click on selectors and class names in the source-code
>> [implementors, senders, users].
>>
>> * *Shout themes.* Several syntax highlighting themes have been defined.
>>
>> * *Andreas profiler.* As a tribute to Andreas Raab, we included an
>> alternate profiler developed by Andreas.
>>
>> ==Networking==
>>
>> * *New version of Zinc.* Zinc is developed by Sven Van Caekenberghe.
>> New versions of Zinc the http client/server library has been integrated.
>>
>> * *Zodiac (SSL).* Zodiac is an extension of Zinc to support SSL
>> connections.
>>
>> ==System==
>>
>> * *System Announcer.* Pharo had a change notification system. A change
>> notification system is important because tools can register to events to
>> update or react without getting coupled with the system. The problem was
>> that the previous change notification broadcasted only symbols and not
>> plain objects. It was limiting the power that we can get about first class
>> objects. In addition not all the events were raised and competing with
>> Announcements (announcements raised plain objects). In Pharo 2.0, we
>> redefined system events as Announcements, introduced a System Announcer
>> whose responsibility is to raise announcement for all the events and
>> removed the old SystemChangeNotifier. This sets up the basis for the future
>> communication between tools.
>>
>> * *RPackage replacing PackageInfo.* PackageInfo is a way to identify if
>> a method belongs to a package. The implementation is based on dynamic
>> queries. Such queries it leads to problems to produce new generation
>> browser and tools. We defined a new implementation of the package
>> management of Pharo. The idea is to represent package as real objects. In
>> Pharo3.0 we will continue to remove the dependency to PackageInfo.
>>
>> * *Manifest: Package metadata.* We introduce the notion of package
>> metadata. Package metadata are used to manage all false positives or
>> todos of SmallLint so that you do not have to check all the time rule
>> results. Each package can now have a class named
>> ManifestNameOfXPackageNameX. It will be the place to add documentation and
>> other information.
>>
>> * *Command line tools / Headless mode.* We really want to make sure
>> that Pharo can be used in non interactive mode and that we can pass scripts
>> to it on the command-line. For this reason we continued to work on making
>> sure that Pharo can be used headless. In particular we introduced a new way
>> to handle command line parameters. See `pharoVM my.image --help` and
>> `pharoVM my.image --list`
>> * st Handle .st source files
>> * Fuel Handle fuel files
>> * config Install and inspect Metacello Configurations from the
>> command line
>> * save Rename the image and changes file
>> * test Run tests from command line
>> * update Load updates
>> * printVersion Print image version
>> * eval Evaluate directly passed-in one line script
>>
>> * *Native boost.* NativeBoost is a library that generates assembly
>> code on the fly. It is used to generate FFI calls. By default [
>> http://www.esug.org/wiki/pier/Conferences/2011/Schedule-And-Talks/Native-bo…] is included mostly for future use. In Pharo3.0 vector graphics
>> will be used and Nativeboost will be used to invoke the graphics primitives.
>>
>> * *Ring metamodel.* Ring is a new meta model introduced in Pharo 1.4.
>> It is used to represent code that is not currently executed. Ring has an
>> API that is polymorphic with a subpart of the core executing entities of
>> Pharo (Class and CompiledMethod). This has the nice property that the tools
>> that manipulate such entities can also manipulate ring objects. Hence Ring
>> supports of image browsing. In Pharo 3.0 we will rewrite certain tools to
>> use ring and deprecate some abstractions like pseudo-classes and file
>> packages.
>>
>>
>> * *Fuel.* Fuel is one of the fastest and versatile object serializer.
>> In Pharo 2.0, we decided to use fuel as a default serializer. In
>> particular, on error the execution stack is saved now in fuel format.
>> Therefore it is possible to reopen a debugger on a similar image for
>> debugging purpose.
>>
>> * *Freetype fonts.* We offer now a better handling of freetype fonts
>> and their management.
>>
>> * *Metacello: a universal package map.* Metacello is a framework to
>> describe is included in the default image. In the future Pharo will be
>> managed by Metacello. The idea also is that once we have fast fuel based
>> package loading we will be able to remove Metacello from the core.
>>
>>
>> ==Kernel==
>>
>> * *New object-oriented and powerful filesystem.* The old library to
>> support file was dated and cumbersome to use. This version of Pharo uses
>> FileSystem a new framework developed by Colin Putney. We revisited and
>> integrated deeply into Pharo core. A full chapter is available in the new
>> book http://rmod.lille.inria.fr/pbe2/. The work includes a complete
>> removal of FileDirectory. There is a compatibility package to support the
>> transition. Enjoy the new and clean API.
>>
>> * *DateAndTime refactoring.* All the DateAndTime internals are now
>> UTC-based. This prevents bugs in certain edge-cases where the image is
>> moved through different time-zones, most prominently for daylight saving
>> time.
>>
>> ==VM==
>> * Latests cog builds
>> * SSLPlugin
>> * FilePlugin enhancements
>> * SocketPlugin fixes
>> * Included libraries: freetype2, cairo
>>
>> ==Large Cleanups==
>> * *FileDirectory removal.* FileDirectory the old file system has been
>> removed. It is packaged as a separate package to support migration to
>> Pharo2.0.
>>
>> * *Deprecation of old serialization framework.* *ReferenceStream* and
>> *SmartRefStream* are removed. In addition, *DataStream* is cleaned to be
>> only used by Monticello. For a general purpose serializer, use *[
>> http://rmod.lille.inria.fr/web/pier/software/Fuel Fuel]* instead.
>>
>> * *Large amount of bugs fixes.* You already guessed in addition we
>> integrated *a lot* of small improvements, cleanups and bug fixes.
>>
>> ==Continuous Integration==
>> * *Zeroconf scripts.* Weren't you fed up not be able to install Pharo
>> from a single command line or to pass it arguments? Using a nice debugger
>> and an interactive environment development does not mean that Pharo
>> developers do not value automatic scripts and love command line. Yes we do
>> and we want the best of both worlds! Since Pharo 2.0, Pharo supports a way
>> to define and handle command line argument and offer zero conf scripts. We
>> even wrote a chapter on them.
>> Here is a nice start with a zero-conf bash scripts: `wget --quiet -O -
>> http://files.pharo.org/script/ciPharo20PharoVM.sh | bash`
>>
>> * *CI for everything.* A new infrastructure to support continuous
>> integration is now in place.
>> * First new images and vms are mirrored under
>> http://files.pharo.org/
>> * Second the key parts of pharo are automatically built on [
>> https://ci.inria.fr/pharo/]
>> * Third community project can be hosted at [
>> http://ci.inria.fr/pharo-contribution/]
>>
>>
>>
>
--
~~Dr. Jannik Laval~~
Ãcole des Mines de Douai
Enseignant-chercheur
http://www.jannik-laval.eu
March 18, 2013
Highlighter PetitParser
by Jesus Nuñez
Hello everybody,
The following code highlights prolog code statically making use of
PPTextHighlighter, I leave the code to share with the community since it
might be of help to someone else.
Could someone point out how can this be converted to its dynamic
counterpart?; The keystroke handler for GLMTextPresentation and what model
is currently being used for instance to highlight smalltalk code would be
very much appreciated.
>From http://bergel.eu/download/Dyla2010/dyla10_submission_4.pdf I know that
it might be neccesary a fuzzy highlighter as is written at the end of the
code, and it is probably the right object to use but I can not figure out
where to plug it.
Thank beforehand,
Jesus
| text textRenderer textShower |
text := 'p(Q,R):-q(R), unify_st(X, smalltalk_code), r(T).
q(Q):-d(R).
q(Q).'.
textRenderer := [
PPTextHighlighter new
parser: PPPrologParser new;
color: 'small_atom' with: Color blue muchDarker;
bold: 'small_atom';
color: 'unify_st' with: Color green muchDarker;
bold: 'unify_st';
color: 'string' with: Color gray muchDarker;
color: 'number' with: Color gray muchDarker;
color: 'boolean' with: Color gray muchDarker;
highlight: text asText.
].
" __
|
<Renders IN>
|
W
GLMTextPresentation
|
<Renders IN>
|
W
GLMMorphicRenderer
"
textShower := GLMMorphicRenderer new.
(textShower open: (
GLMTextPresentation new display: textRenderer; renderGlamorouslyOn:
textShower; yourself )) window title: 'Prolog Editor'.
"Here I created a highlighter through the transform method of the grammar"
grammar := PPPrologParser new.
highlighter := grammar transform: [ :parser |
Transcript show: parser.
parser class = TokenParser
ifTrue: [ parser ==> [ :token |
textShower model highlight: token style range: token interval ] ]
ifFalse: [ parser ] ].
text := 'p(Q,R):-q(R), unify_st(X, smalltalk_code), r(T).
q(Q):-d(R).
q(Q).'.
pp := highlighter parse: text asText.
March 18, 2013