Your SlideShare is downloading. ×
Pharo4: Plans and Dreams
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

Pharo4: Plans and Dreams

1,780
views

Published on

Pharo4: Plans and Dreams. …

Pharo4: Plans and Dreams.
Talk from Fosdem 2014

On Youtube: http://www.youtube.com/watch?v=mUV9E03u52g

More about Pharo at: http://pharo.org


0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,780
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
2
Comments
0
Likes
3
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Pharo4 Plans and Dreams Marcus Denker http://rmod.lille.inria.fr
  • 2. A bit early… • We are hard working to get Pharo3 out • Not much yet happened with planning Pharo4
  • 3. 1 Year
  • 4. March 2014-December 2014 9 Months +Time for Bug fixing
  • 5. This is not a lot!
  • 6. So not too many dreams…
  • 7. It needs to be doable
  • 8. Ideas • Slots • GIT • Reflectivity • Athens • One-File Pharo • Bootstrap • Tools • Sista
  • 9. Bootstrap • Create an image from a git repository • Control what the image contains • Easier to make changes • Enforces 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 .changes • High level model: • aggregate changes (refactoring) • serialized to disk independent of source model
  • 13. Step2: Sources • It is 2014: Memory is cheap. • Complexity is expensive • Why 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 Variables • Already in Pharo3, but compatible (ivar Slot) • For Pharo4: Provide different Slot kinds
  • 15. Property Slots Object subclass: #PropertyObject layout: PointerLayout slots: { field => Slot property1 => PropertySlot. property2 => PropertySlot. ... propertyN => PropertySlot. }
  • 16. Others • BitSlot • BooleanSlot • Alias • Relationships (e.g. one-one, one-many) • …. Your Domain level Slot!
  • 17. More in Paper from OOPSLA
  • 18. Reflectivity • Partial Behavioral Reflection • Associate MetaObject with structural object • e.g. Slots • AST 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 Nodes • “All assignments” • “this message send” But without changing the program code!
  • 21. Behavioral Reflection meta-object links activation condition source code (AST) © Marcus Denker
  • 22. Uses… • Debugger • BreakPoints, WatchPoints • Profilers • Coverage Analysis • AOP
  • 23. … And Beyond • Every year one Release • Research happens in Parallel • Lots of Interesting Stuff • Sadly another talk
  • 24. Questions ?