Title Part1: Pharo Status
Speaker: Marcus Denker
Wed, August 20, 11:00am – 11:45am
Video:
Part1: https://www.youtube.com/watch?v=_Mv7SX-8Vlk
Part2: https://www.youtube.com/watch?v=qdZq2IZBm4k
Abstract: In this talk we will present the advances and new features in Pharo 3.0. We will present the current work on Pharo 4.0 and beyond. We will also present our new work around the Pharo consortium.
Bio: Marcus Denker is a permanent researcher (CR1, with tenure) at INRIA Lille - Nord Europe. Before, he was a postdoc at the PLEIAD lab/DCC University of Chile and the Software Composition Group, University of Bern. His research focuses on reflection and meta-programming for dynamic languages. He is an active participant in the Squeak and Pharo open source communities for many years. Marcus Denker received a PhD in Computer Science from the University of Bern/Switzerland in 2008 and a Dipl.-Inform. (MSc) from the University of Karlsruhe/Germany in 2004. He is a member of ACM, GI, and IEEE and a board-member of ESUG.
6. Yet easy to adopt
Moose switched in two afternoons (two people)
!
Others: “I just loaded my packages"
7. Infrastructure: CI
https://ci.inria.fr is stable and used a lot
!
Every fix is validated automatically before human review
Every update triggers test run on 3 Architectures
over 80 projects in pharo-contribution
10. Small Stuff
Lots of Cleanups
!
Lots of tuning (perfomance, memory)
!
Lots of small improvements
11. Lots of larger things
Closure class now standard in Pharo3
Terminal output for stderr
Cleanup Source file related code
AST Interpreter
AST based Navigation in Browser
Komitter
Launcher
Font
Speedup
….
12. New Inspector
Unify Inspector and Explorer
Make specialised inspectors visible
13. Athens: Vector Graphics
New API for Vector Graphics
Independent of Backend
For now: Cairo
Balloon3D for Debugging
Future: OpenGL
15. Opal Compiler
Uses RB AST
!
IRBuilder: Bytecode backend with high-level builder
Much easier to change
Basis for advanced Reflection
16. New ClassBuilder
Replaces the old ClassBuilder
!
Easier to understand and more flexible
!
Basis for First Class Variables (Slots)
17. New Debugger
Model now separate from View
!
Model is scriptable
!
Debugger is extensible with Commands
18. Command Line
denker$ ./pharo Pharo.image --list!
Currently installed Command Line Handlers:!
Fuel Loads fuel files!
config Install Configurations!
save Rename the image and changes file!
update Load updates!
printVersion Print image version!
st Loads and executes .st source files!
test A command line test runner!
clean Run image cleanup!
eval Directly evaluates one line scripts!
!
36. One File Pharo
• .sources, .changes. .image
!
• It is time to simplify that!
37. Epicea
• Replace .changes
• High level model:
• aggregate changes (refactoring)
• serialized to disk independent of source model
38.
39. Sources
• It is 2014: Memory is cheap.
• Complexity is expensive
• Why not just put the sources in the image?
• Externalize when needed (small devices)
• Code history is in Monticello (or Git)
40. Bootstrap
• Create an image from a git repository
• Control what the image contains
• Easier to make changes
• Enforces Modularity
41. Boostrap
• Working for Pharo3 as a prototype
!
• Can we even use this for Pharo4 on the build
server?
42. And more…
• GT Tools
• VM related news
• Spur, Sista, 64bit…
• ……….. there are lots of talks here