pharo 70 the key challenges
play

Pharo 70 The key challenges S. Ducasse for the RMoD Team Points - PowerPoint PPT Presentation

Pharo 70 The key challenges S. Ducasse for the RMoD Team Points Cleaning and stabilising 64 bits windows/large images Iceberg in production Pharo managed on github Bootstrap in production Retirement of Nautilus ->


  1. Pharo 70 The key challenges S. Ducasse for the RMoD Team

  2. Points • Cleaning and stabilising • 64 bits windows/large images • Iceberg in production • Pharo managed on github • Bootstrap in production • Retirement of Nautilus -> Calypso + Commander • New class definition • Cargo

  3. Nautilus

  4. Calypso • Thanks alain for giving us the name

  5. Calypso & its submarines

  6. Calypso • Basis for Remote Browsing • Fully extensible • No ifs • Developed by D. Kudriashov • Thanks alain for giving us the name

  7. Calypso • multiple panes • multiple method definitions • incomplete method definitions • scoping…

  8. Calypso • mulitple panes • multiple method definitions • incomplete method definitions • scoping…

  9. New Message Browser

  10. Iceberg • Paid by the consortium • libgit2

  11. Iceberg • Potentially for • Fossil • Mercurial

  12. Pharo on github

  13. About classes

  14. Class definition explosion • subclass:, variableSubclass:, variableByte.. variableWord, weak: • uses: • layout: • tag: • immediate:, ephemeron • category: • package: • slot: • instanceVariableNames:, classVariableNames:

  15. Need a fluid API • Only specify what is used! • No empty classVariableNames: ‘’ • Handling combinatorial explosion Class <<< #Box vars: { #width . #height }; package: #MyPackage.

  16. Possible Designs Class { Class <<< #MyClass superclass: #MySuperclass; superclass: #MySuperclas; uses: #MyTrait; uses: #MyTrait; vars: { #a. #b }; vars: { #a. #b }; classVars: { #A. #B }; classVars: { #A. #B }; package: #MyPackage; package: #MyPackage; tags: #(Core). tags: #(Core) }

  17. Need a class **definition** • a.k.a. AST • traits, slots, kinds…. • Can be manipulated • Support for Smart Suggestions • Need to be able to have **undefined** classes • Important for modules!

  18. Working on a “ClassParser” + Nodes • Can handle variations, backward compatibles…. • Support for smart suggestion in class definition • Avoid ‘*subclass:*’ matches: str

  19. Opal • Warnings into real objects • Another pass on the API

  20. PharoPro More services around the consortium • Long Term Support (LTS) • Platform Support: CentOS, NetBSD, FreeBSD • Pharo Hotline • Custom Development

  21. Pharo 70 is exciting We are excited by the possibilities You can help, contribute and have fun with us

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend