Dear Pharo users and dynamic language lovers:
We have released Pharo <https://pharo.org/> version 12!
What is Pharo?
Pharo is a pure object-oriented programming language and a powerful
environment focused on simplicity and immediate feedback.
- Simple & powerful language: No constructors, no types declaration, no
interfaces, no primitive types. Yet a powerful and elegant language with a
full syntax fitting in one postcard! Pharo is objects and messages all the
way down.
- Live, immersive environment: Immediate feedback at any moment of your
development: Developing, testing, debugging. Even in production
environments, you will never be stuck in compiling and deploying steps
again!
- Amazing debugging experience: Pharo environment includes a debugger
unlike anything you've seen before. It allows you to step through code,
restart the execution of methods, create methods on the fly, and much more!
- Pharo is yours: Pharo is made by an incredible community, with more
than 100 contributors for the last revision of the platform and hundreds of
people constantly contributing with frameworks and libraries.
- Fully open-source: Pharo full stack is released under MIT
<https://opensource.org/licenses/MIT> License and available on GitHub
<https://github.com/pharo-project/pharo>
... more on the Pharo Features page <http://www.pharo.org/features>.
In this iteration of Pharo, we continue working on our objectives of
improvement, clean-up and modularization. Also, we included a number of
usability and speed improvements. A complete list of changes and
improvements is available in our Changelog
<https://github.com/pharo-project/pharo-changelogs/blob/master/Pharo120Chang…>
Some highlights of this amazing version:
Highlights New breakpoint system
The debug point system is a breakpoint model that supersedes the previous
implementation of breakpoints and watchpoints. They are configurable,
composable, and extensible. The traditional breakpoints remain available,
including conditional breakpoints, one-time breakpoints, and object-centric
breakpoints. Additionally, there are new types of breakpoints, such as
chained-breakpoints, which condition the activation of certain breakpoints
on the triggering of others (e.g., breakpoint B only activates if
breakpoint A is hit first). Debug points also feature a dedicated browser
and integration options.
Tools
- Scalable fluid class syntax is now the default one
- Preparing the introduction of the Bloc graphic system by migrating
more tools to Spec2 widgets
- Spec2 UI framework enhancements to support GTK 4
- Leaner version of the Metacello package manager
- More robust and strict mode for FFI
System
- New architecture for refactorings and domain specific transformations
- Code loading speed improvement
- Fast browsing via fully optimized package tags
- Optmized memory usage via optimized method protocols
- Compiler simplifications and improvements
Virtual machine
- Massive image support with permanent space
- String/ByteArray comparison speed up
Development Effort
This new version is the result of 1895 Pull Requests integrated just in the
Pharo repository. We have closed 865 issues and received contributions from
more than 70 different contributors. We have also a lot of work in the
separate projects that are included in each Pharo release:
- http://github.com/pharo-spec/NewTools
<https://github.com/pharo-spec/NewTools>
- http://github.com/pharo-spec/NewTools-DocumentBrowser
<https://github.com/pharo-spec/NewTools-DocumentBrowser>
- http://github.com/pharo-spec/Spec <https://github.com/pharo-spec/Spec>
- http://github.com/pharo-vcs/Iceberg
<https://github.com/pharo-vcs/Iceberg>
- http://github.com/ObjectProfile/Roassal3
<https://github.com/ObjectProfile/Roassal3>
- http://github.com/pillar-markup/Microdown
<https://github.com/pillar-markup/Microdown>
- http://github.com/pillar-markup/BeautifulComments
<https://github.com/pillar-markup/BeautifulComments>
- http://github.com/pharo-project/pharo-vm
<https://github.com/pharo-project/pharo-vm>
Contributors
We always say Pharo is yours. It is yours because we made it for you, but
most importantly because it is made by the invaluable contributions of our
great community (yourself). A large community of people from all around the
world contributed to Pharo 12.0 by making pull requests, reporting bugs,
participating in discussion threads, providing feedback, and a lot of
helpful tasks in all our community channels. Thank you all for your
contributions.
The Pharo Team
Discover Pharo: https://pharo.org/features
Try Pharo: http://pharo.org/download <https://pharo.org/download>
Learn Pharo: http://pharo.org/documentation
<https://pharo.org/documentation>
> Begin forwarded message:
>
> From: Sven Van Caekenberghe <sven(a)stfx.eu>
> Subject: [Pharo-users] [ ANN ] Pharo Days 2016
> Date: December 9, 2015 at 9:52:09 AM EST
> To: Any question about pharo is welcome <pharo-users(a)lists.pharo.org>, Pharo Development List <pharo-dev(a)lists.pharo.org>, Pharo Business <pharo-business(a)lists.pharo.org>
> Reply-To: Any question about pharo is welcome <pharo-users(a)lists.pharo.org>
>
> Dear fellow Pharoers,
>
> Mark your calendars: on Thursday March 31 & Friday April 1 we are organising the Pharo Days 2016. This year we moved the location to Namur, Belgium, just a bit south of Brussels, at the very beautiful location of the ‘Cercle de Wallonie’ overlooking the river Meuse.
>
> We’ll update the following page moving forward.
>
> https://medium.com/concerning-pharo/pharo-days-2016-c52fe4d7caf
>
> You can ask questions on any of the Pharo mailing lists or you can email the Pharo Board.
>
> Let's make this another success, together ! We hope to see as many of you as possible.
>
>
--
www.tudorgirba.com
"We are all great at making mistakes."
concretisation of the discussion of this morning on buses:
https://github.com/moosetechnology/MooseIDE/issues/320
it would possibly also solve the problem of tools asking for data of a
given type (if the bus forward the request to the tools it is connected
to), thus solving
nicolas
--
Nicolas Anquetil
RMod team -- Inria Lille
Hi everyone,
We received multiple demands to postpone the IWST deadline. To increase
papers quality and number, we decided to postpone the deadline to the
28th of July (https://esug.github.io/2020-Conference/cfpIWST2020.html).
We hope this new deadline will give all the authors more time to polish
their papers!
Thanks to all for your submissions and contributions, let's keep the
great spirit and legacy of IWST a reality!
Vincent Aranega
Hi everyone,
In light of the continued uncertainty surrounding the Covid-19
situation, to guarantee the safety and well-being of all, the IWST
Steering Committee has decided to move to a virtual event format for
this year to be held Sept. 29th and 30th. The 2020 paper review, WiP
submission and acceptance processes will proceed normally with a
modification of the upcoming deadlines:
- Submission deadline: July 15th, 2020
- Notification deadline: September 8th, 2020
- Workshop: September 29-30th, 2020.
Like last year, we are very proud to announce a Best Paper Award. We
thank the Lam Research Corporation for its financial contribution which
makes it possible for prizes for the three best papers. We are also
happy to announce that accepted papers will be published in the ACM
Digital Library.
We will follow up with further details on conference organization,
presentation formats, and howto guides.
The global idea is to collect all required material a week ahead of
schedule to prevent any live technical issue: slides, but also video.
Only the post presentation Q&A sessions will be interactive.
IWST has now a significant history and has served for years as a smart
playground for young researchers to practice writing articles &
presenting results.
In parallel, senior researchers take benefit from IWST to expose mature
work and propose some retrospective or draw future directions.
Mixing these two kinds of contributors makes IWST that attractive.
Let’s do the 2020 edition conformed to this legacy
https://esug.github.io/2020-Conference/cfpIWST2020.html
Vincent Aranega
Loïc Lagadec
This may interest some of you.
I’m PC chair of the following conference.
S.
FIRST CALL FOR PAPERS - ICSR 2020, November 9-11, 2020, Hammamet - TUNISIA
19 th INTERNATIONAL CONFERENCE ON SOFTWARE AND SYSTEMS REUSE
www.icsr2020.org
The International Conference on Software and Systems Reuse (ICSR) is the premier event in the field of software reuse research and technology. The main goal of ICSR is to present the most recent advances and breakthroughs in the area of software reuse and to promote an intensive and continuous exchange among researchers and practitioners.
The 19th International Conference on Software and Systems Reuse (ICSR-2020) will be held on November 9-11 2020, in Hammamet, Tunisia. The guiding theme of this edition is:
*Reuse in emerging software engineering practices*
We invite submissions on new and innovative research results and industrial experience reports dealing with all aspects of software reuse within the context of the modern software development landscape, characterized by: 1) Large ecosystems of reusable, open-source components and service-oriented, containerized cloud-hosted applications; 2) Context-aware (IoT) applications, which combine a complex and heterogeneous mix of ever more powerful hardware and evolving software frameworks and containers; and 3) The resurgence of AI as both, (i) an enabling technology for reuse for domain engineering (e.g. domain ontologies, identification of reusable assets) and application engineering (e.g. component retrieval), and (ii) an object of reuse that addresses the full lifecycle and scope of “intelligent” software components, i.e. well beyond the simple (re)use of machine learning libraries. These developments have had important—and sometimes contradictory—effects on reuse theory and practice.
We welcome papers dealing with : 1) Reuse organizational, managerial, economic, and legal issues, in general, and as they pertain to the new development landscape, 2) Technical aspects of reuse, in general (see full CFP at www.icsr2020.org), and as they pertain to large ecosystems of open-source libraries (npm, pip, etc), IoT frameworks, and machine learning artefacts (business components, models, libraries, training data, etc.), and 3) Software reuse in industry (success & failure stories; success factors and lessons learned; ROI studies).
As with previous editions, accepted papers will appear in the conference proceedings, to be published by Springer’s Lecture Notes in Computer Science. New this edition, the program committee will award a Best Paper Award to the best paper in terms of, 1) originality, 2) presentation, and 3) impact. The finalists will be submitted to a special issue of a refereed journal.
*Research paper abstracts due June 19th, 2020, full papers due July 3rd, 2020*.
*Please check the conference site for more information: www.icsr2020.org*
--------------------------------------------
Stéphane Ducasse
http://stephane.ducasse.free.fr / http://www.pharo.org
03 59 35 87 52
Assistant: Julie Jonas
FAX 03 59 57 78 50
TEL 03 59 35 86 16
S. Ducasse - Inria
40, avenue Halley,
Parc Scientifique de la Haute Borne, Bât.A, Park Plaza
Villeneuve d'Ascq 59650
France
--------------------------------------------
Stéphane Ducasse
http://stephane.ducasse.free.fr / http://www.pharo.org
03 59 35 87 52
Assistant: Julie Jonas
FAX 03 59 57 78 50
TEL 03 59 35 86 16
S. Ducasse - Inria
40, avenue Halley,
Parc Scientifique de la Haute Borne, Bât.A, Park Plaza
Villeneuve d'Ascq 59650
France
hello,
I am trying to achieve something like
RTInteractionExample>>exampleExpandable but with several levels of
expansion: a node with nodes inside with nodes inside
and each container node can be "opened" (expanded) or closed.
Not sure how to do it and mainly how to resize all the ancestors of a
node when an inner node is expanded
imagine for example representing the pharo class hierarchy as a single
Object node, clicking on the node expand it and shows all its
subclasses inside, clicking on a subclass expands it, ...
Any suggestion ?
nicolas
--
Nicolas Anquetil
RMod team -- Inria Lille
TL;DR: Reviewing form for Roassal3: https://docs.google.com/forms/d/1-8CJM5_TDu3HBE2d_2dPjqq1pTLZRuauMtPcZZYZXI…
Longer version:
Dear Community,
Right after ESUG 2019 we released a beta version of Roassal3, and we got many very constructive feedbacks from all over the World. We thank you for this. We really tried to improve Roassal3 and specially to provide a smooth and intuitive API to lower the entrance bar for Roassal3.
Now is time to enter a new reviewing phase. Our ultimate goal is to provide the visualization engine that the Pharo and Smalltalk communities deserve.
The GiHub page contains some information, including a small tutorial:
https://github.com/ObjectProfile/Roassal3
Additional tutorials will soon come.
You can install Roassal3 either from the catalog (just look for Roassal3), or execute the following instruction:
Metacello new
baseline: ‘Roassal3’;
repository: ‘github://ObjectProfile/Roassal3’;
load.
Roassal3 comes with many examples. You should look for the package: Roassal3-Examples
We would like to end the reviewing page at the end of March 2020. A second edition of Agile Visualization will begin after March 31. Your comment will definitely have an impact on this new book.
Reviewers of Roassal3 will:
- Have their name listed in Roassal3's website
- Have their name listed in the new edition of Agile Visualization
- Have a beer next time we meet at ESUG or at Annual Smalltalk meetup in Palo Alto
- Make the Pharo community stronger, really.
Here is the google form to gather your feedback: https://docs.google.com/forms/d/1-8CJM5_TDu3HBE2d_2dPjqq1pTLZRuauMtPcZZYZXI…
Thanks!
The Roassal3 development team
Hi!
In Moose there is a project call "Hashtable". The goal of this project
is to provide faster collections when they have a big number of
elements.
I think this is something that can be useful for more than just Moose
so I extracted it to pharo-contributions so that we can use it and
improve it more.
https://github.com/pharo-contributions/Hashtable
Have a nice day.
--
Cyril Ferlicot
https://ferlicot.fr
Le mar. 3 déc. 2019 à 12:34, Nour Jihene Agouf <a.n.djihan(a)gmail.com> a
écrit :
>
>
> Le mar. 3 déc. 2019 à 12:09, Stéphane Ducasse <stephane.ducasse(a)inria.fr>
> a écrit :
>
>>
>>
>> On 3 Dec 2019, at 11:46, Nour Jihene Agouf <a.n.djihan(a)gmail.com> wrote:
>>
>> Hello,
>>
>> The ClassNames Blueprint is based on packages (package models). There is
>> no package model in the moose panel when generating an mse file of a
>> certain project.
>>
>>
>> How do you import it.
>>
> "Import model from MSE file"
>
>> let us move this discussion to the moose mailing0-list
>>
>> However, if we import FAMIX smalltalk model from the current image we get
>> "all package models" in the moose panel which shows a FAMIXPackageGoup of
>> the selected packages which we can later on visualize.
>> This way the FeatureSelector (first layer) from my thesis project will be
>> replaced by: directly selecting the packages we want to visualize from the
>> moose panel and calling the new visualize method.
>>
>> Basically these will be the steps:
>> 1- Import FAMIX smalltalk model from the current image,
>> 2- click on all package models,
>> 3- "self visualiseCNB" => this method will visualize the ClassNames
>> Blueprint of the selected packages.
>>
>>
>> No click we should be able to program that.
>>
> Do you mean a ClassNames Blueprint option in the navigation panel?
>
>> Then and only then we can have an action in the menu.
>>
>
>> Stef
>>
>>
>> Nour
>>
>>
>> Le lun. 25 nov. 2019 à 21:57, Nour Jihene Agouf <a.n.djihan(a)gmail.com> a
>> écrit :
>>
>>> Okey I'm on it :)
>>>
>>> Le lun. 25 nov. 2019 à 21:32, Stéphane Ducasse <
>>> stephane.ducasse(a)inria.fr> a écrit :
>>>
>>>> here is what I suggest.
>>>>
>>>> You create a separate package that should be the only one manipulating
>>>> Moose metamodel.
>>>> This way your project will work without Moose and when you load this
>>>> extra package, it will work with Moose.
>>>>
>>>> S.
>>>>
>>>> On 25 Nov 2019, at 21:13, Nour Jihene Agouf <a.n.djihan(a)gmail.com>
>>>> wrote:
>>>>
>>>> Okey, I will :)
>>>>
>>>> Le lun. 25 nov. 2019 à 21:09, Stéphane Ducasse <
>>>> stephane.ducasse(a)inria.fr> a écrit :
>>>>
>>>>>
>>>>>
>>>>> Hello,
>>>>>
>>>>> Yes that would be great!
>>>>>
>>>>>
>>>>> Ok we will come back with a list
>>>>> The first one is to make sure that your visualsiation (class name
>>>>> blueprint can run on top of Moose)
>>>>> you should ask for help on discord about Moose).
>>>>>
>>>>>
>>>>> And about the visa, unfortunately there is no available dates to
>>>>> submit my visa application;, the closest date is in January 2020. Taking
>>>>> under consideration the time for the file processing which is about 2 to 3
>>>>> months, should I ask Alexia for an other promise of employment starting
>>>>> from 01/03/2020? I hope I receive the hosting agreement before January,
>>>>> However, I don't know if this delay has other complications, if so let me
>>>>> know please.
>>>>>
>>>>>
>>>>> no ask again
>>>>>
>>>>>
>>>>> Nour
>>>>>
>>>>>
>>>>> Le lun. 25 nov. 2019 à 17:19, Stéphane Ducasse <
>>>>> stephane.ducasse(a)inria.fr> a écrit :
>>>>>
>>>>>> Hi nour
>>>>>>
>>>>>> We are discussing with Oleksandr and we were thinking if we should
>>>>>> propose you some small objectives
>>>>>> so that you can learn more waiting for your visa.
>>>>>>
>>>>>> So let me know.
>>>>>>
>>>>>> Stef
>>>>>> --------------------------------------------
>>>>>> Stéphane Ducasse
>>>>>> http://stephane.ducasse.free.fr / http://www.pharo.org
>>>>>> 03 59 35 87 52
>>>>>> Assistant: Julie Jonas
>>>>>> FAX 03 59 57 78 50
>>>>>> TEL 03 59 35 86 16
>>>>>> S. Ducasse - Inria
>>>>>> 40, avenue Halley,
>>>>>> Parc Scientifique de la Haute Borne, Bât.A, Park Plaza
>>>>>> Villeneuve d'Ascq 59650
>>>>>> France
>>>>>>
>>>>>>
>>>>> --------------------------------------------
>>>>> Stéphane Ducasse
>>>>> http://stephane.ducasse.free.fr / http://www.pharo.org
>>>>> 03 59 35 87 52
>>>>> Assistant: Julie Jonas
>>>>> FAX 03 59 57 78 50
>>>>> TEL 03 59 35 86 16
>>>>> S. Ducasse - Inria
>>>>> 40, avenue Halley,
>>>>> Parc Scientifique de la Haute Borne, Bât.A, Park Plaza
>>>>> Villeneuve d'Ascq 59650
>>>>> France
>>>>>
>>>>>
>>>> --------------------------------------------
>>>> Stéphane Ducasse
>>>> http://stephane.ducasse.free.fr / http://www.pharo.org
>>>> 03 59 35 87 52
>>>> Assistant: Julie Jonas
>>>> FAX 03 59 57 78 50
>>>> TEL 03 59 35 86 16
>>>> S. Ducasse - Inria
>>>> 40, avenue Halley,
>>>> Parc Scientifique de la Haute Borne, Bât.A, Park Plaza
>>>> Villeneuve d'Ascq 59650
>>>> France
>>>>
>>>>
>> --------------------------------------------
>> Stéphane Ducasse
>> http://stephane.ducasse.free.fr / http://www.pharo.org
>> 03 59 35 87 52
>> Assistant: Julie Jonas
>> FAX 03 59 57 78 50
>> TEL 03 59 35 86 16
>> S. Ducasse - Inria
>> 40, avenue Halley,
>> Parc Scientifique de la Haute Borne, Bât.A, Park Plaza
>> Villeneuve d'Ascq 59650
>> France
>>
>>