Pharo4: Plans and Dreams

download Pharo4: Plans and Dreams

If you can't read please download the document

description

Pharo4: Plans and Dreams. Talk from Fosdem 2014 On Youtube: http://www.youtube.com/watch?v=mUV9E03u52g More about Pharo at: http://pharo.org

Transcript of Pharo4: Plans and Dreams

  • 1.Pharo4 Plans and Dreams Marcus Denkerhttp://rmod.lille.inria.fr

2. A bit earlyWe are hard working to get Pharo3 outNot much yet happened with planning Pharo4 3. 1 Year 4. March 2014-December 20149 Months +Time for Bug xing 5. This is not a lot! 6. So not too many dreams 7. It needs to be doable 8. Ideas SlotsGITReectivityAthensOne-File PharoBootstrapToolsSista 9. Bootstrap Create an image from a git repository Control what the image containsEasier to make changesEnforces Modularity 10. Boostrap Working for Pharo3 as a prototype !Can we even use this for Pharo4 on the build server? 11. One File Pharo .sources, .changes. .image !It is time to simplify that! 12. Epicea Replace .changesHigh level model: aggregate changes (refactoring)serialized to disk independent of source model 13. Step2: Sources It is 2014: Memory is cheap.Complexity is expensiveWhy not just put the sources in the image? Just current version (compressed, of course)Code history is in Monticello (or Git) 14. Slots First class Instance VariablesAlready in Pharo3, but compatible (ivar Slot)For Pharo4: Provide different Slot kinds 15. Property Slots Object subclass: #PropertyObject layout: PointerLayout slots: { eld => Slot property1 => PropertySlot. property2 => PropertySlot. ... propertyN => PropertySlot. } 16. Others BitSlotBooleanSlotAliasRelationships (e.g. one-one, one-many). Your Domain level Slot! 17. More in Paper from OOPSLA 18. Reectivity Partial Behavioral ReectionAssociate MetaObject with structural object e.g. SlotsAST nodes 19. Can we modify the behaviour of code? >Annotate the AST with meta-links Method Meta Link 20. Why? Change behaviour for selected AST NodesAll assignmentsthis message send But without changing the program code! 21. Behavioral Reectionmeta-object linksactivation condition source code (AST) Marcus Denker 22. Uses Debugger BreakPoints, WatchPointsProlersCoverage AnalysisAOP 23. And Beyond Every year one ReleaseResearch happens in Parallel Lots of Interesting StuffSadly another talk 24. Questions ?