8. Нужно больше динамики! Dynamic Language Runtime(DLR) – библиотека, предоставляющая сервисы для реализации спецификации любого языка программирования. Основана на подходе представления функциональности конструкций языка с помощью узлов абстрактного синтаксического дерева.
9. DLR и IronRuby IronRuby DLR Текст AST Программа на Ruby Синтаксический разбор текста Binder CIL-код FCL/BCL ВМ CLR Выполнение CIL-кода
28. Итоги IronRubyпозволяет быстро создавать языки предметной области Предоставляет механизмы синтаксического разбора исходного кода Осуществляет вертикальную трансформацию Имеет поддержку во многих редакторах Используя метапрограммированиеможно добиться высокой гибкости и разнообразия языковых конструкций DSL
30. Проект Gestalt Silverlight-приложение, использующее DLR для предоставления возможности использовать IronRubyкак замену JavaScript в качестве языка для работы с DOM-деревом
31. Ruby… в теге script?! <inputid="sayhello"type="button"value="Say, Hello!"/> <scripttype="text/ruby"> defonclick(s,e) window.alert"Hello, World!" end document.sayhello.attach_event('onclick', System::EventHandler[ System::Windows::Browser::HtmlEventArgs ].new(method(:onclick)) ) </script>