Saltar al contenido principal
Pharo12
http://sducasseatwork@mailo.com
http://www.pharo.org
Evref
fervE
Outline
• Pharo 12 remarkable achievements :)
• Take the time to answer your questions
Fast-paced dedication
• *Just* in the Pharo repository
• 1895 Pull Requests integrated closed 865 issues
• Around 70 contributors
• More tests
Fluid class syntax is now
default
Nice looking fonts
On retina
Tx a lot Kris
MASSIVE cleanup
• Class organization is gone
• Use class builder instead of string manipulations :)
• Metacello better architecture
Class organization is gone
• One bullet point in a task list
‣ But six months of hard work…
• Fast browsing via fully optimized package tags
• Optimized memory usage for method protocols
Leaner Metacello
• No more exception resume :)
• No more walking the stack and jumping there
• Nicer architecture
• Better domain
• Ready for new experiences e.g., package validation
aka strict mode loading
Debug points
Watch Steven’s talk
Illimani: Scalable Memory
pro
fi
ler
Refactorings
• Getting advantage of the new architecture
• Migrating refactorings
• Improving UI
Refactorings
RBMethod
RBNamespace
RBEntity
RBAbstractClass
RBPackage
RBMetaclass
RBClass
Changes
AST
ParseTreeRewriter
Condition
Program Model
Drivers
UI
Various
• Code loading speed improvement
• Opal compiler simplifications and improvements
• More robust and strict mode for FFI
Cmd-Line Launcher
• All the launcher and more at your fingers :)
• Watch the talk
VM side
• Faster ByteArray comparison
• EPoll for Idle VM
• Unlimited sockets
• New segmented image format
• Ephemeron performance improvement
• Fixes, cleanup, fixes, stability, …
• Keeping up with external libs
Another pass on packaging
• We can build
‣ Mac app
‣ Windown app
• We want to automate it
• App builder for everyone
VM side: Preparing the future
• Profile JITed code
• Druid AoT is now there
• Controlling stack growing
‣ how to detect an endless loop
‣ alternatives to check each message send
Looking for an engineer
• Two years and more
• Talk to our Guishe guillermo.polito@inria.fr
Spec 2.0: a Cornerstone!
• Book nearly sent to the printer!
• New widgets
• New layouts
• GTK40 (watch Esteban talk)
• Multiple back ends (Morphic, GTK40, Toplo)
‣ Watch (Toplo talk)
Bloc: New Generation
• Full new implementation of graphics framework
• Basis for Toplo: a new widget library based on http://
ant.design design
geometry
(polygon)
a BlElement
background
border
transformation
(a matrix with
skew and translation)
Element's visual properties
Element's outskirts
aBlElement
outskirts:
BlOutskirts outside
aBlElement
outskirts:
BlOutskirts centered
aBlElement
outskirts:
BlOutskirts inside
Toplo is coming
Toplo
• New widget library on TOP of bLOck
• Sponsored by Thales (deployed products in 2023)
• Default skins are based on https://ant.design/
• Started to work on Spec back-end
Currently
• All widgets except Tree/Table
• Skin *second iteration*
Advanced design mooc
https://advanced-design-mooc.pharo.org/
“What a great course this is. The lectures are solid. I am
working through the first exercise, and I have been
learning so much and consolidating the information from
the lectures along with practicing pharo. I believe this
course will be my model whenever I write training in the
future”
New books
2024 New books
• Spec 2.0 (~ready to be sent to the printer)
• Reflective kernel
• Concurrent programming
Questions
What do you want to know?
How can we help you?
Evref
fervE