Your SlideShare is downloading. ×
Not So Foreign Functions
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

Not So Foreign Functions

227
views

Published on

ESUG 2011, Edinburgh

ESUG 2011, Edinburgh

Published in: Technology, Education

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

  • Be the first to like this

No Downloads
Views
Total Views
227
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
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. Not-So-Foreign Functions Calling Ruby from SmalltalkMartin McClure2011 ESUG
  • 2. Why ForeignFunctions?
  • 3. Shared library call
  • 4. Distributed object system Shared library call
  • 5. Distributed object system Is there an in-between way? Shared library call
  • 6. Distributed object systemMulti-language VM Shared library call
  • 7. Multi-language VMMagLev: Ruby and Smalltalk in the same VM
  • 8. How does that work?
  • 9. How does that work? An object...
  • 10. How does that work? An object... ...is an object...
  • 11. How does that work? An object... ...is an object... ...is an object...
  • 12. How does that work? A class...
  • 13. How does that work? A class... ...is a class...
  • 14. How does that work? A class... ...is a class... ...is a class...
  • 15. How does that work? BUT...
  • 16. How does that work? A message...
  • 17. How does that work? A message... ...is Smalltalk...
  • 18. How does that work? A message... ...is Smalltalk... ...or is Ruby.
  • 19. How does that work? A class...
  • 20. How does that work? A class......may define different Ruby and Smalltalk methods...
  • 21. How does that work? A class...
  • 22. How does that work? A class......may have different Ruby and Smalltalk names...
  • 23. How does that work? A class...
  • 24. How does that work? A class......may have different Ruby and Smalltalk superclasses.
  • 25. Selector Supplements● Environment ID● Number/type of sent arguments
  • 26. Selector Supplements● Default send environment = compile environment● Must override this default
  • 27. Onward to the Demo
  • 28. Thanks to: Peter McLainTim Felgentreff
  • 29. rubygems.org>25000 gems
  • 30. maglev-gem install mailfactory
  • 31. Whats Next?● Name “RubyService”?● You tell us...
  • 32. ?Martin McClure2011 ESUG