Browse by Tags
All Tags »
DLR »
TechEd (RSS)
前回のエントリで Silverlight Dynamic Language SDK 0.3.0がリリースされたと記載しました。このSDKで提供されているサンプルにDLR Consoleがあります。もっともDLR Consoleは、SDK 0.2.0(Silverlight 2.0 ベータ2と一緒に提供されたものです)で動作するようになっています。SDK 0.3.0に含まれているDLRを調べると、IronPythonのChangeset38029以降のもののようです。このためIronRubyプロジェクトで今日時点で公開されているSVN138よりも新しいDLRになります。このDLRでは、ホスティングAPIなどの細かな変更やネームスペースの変更が行われています。
Read More...
TechEd 2008 Yokohamaでお話したようにDLRのホスティングのサンプルを公開します。今回は、1)MyCalc、2)Toolサンプルの2種類が含まれています。どちらもIronPython 2.0ベータ4のDLR対応ですので、DLRは IronPythonプロジェクト からダウンロードしてください。TechEdに参加して頂いた方には、事後になりますがカンファレンスDVDにも収録しますので、そちらを見ていただいても結構です。もっともDVDが届くのまで時間がかかりますので、早く知りたいという場合は、ここからダウンロードしてください。
Read More...
いよいよ明日からTechEd Yokohamaが始まります。実は、まだデモの準備をしている最中なのですが... 先週中にIronRubyとIronPythonプロジェクトで動きがありました。具体的には、IronRuby SVNが135になって週末には137になっていました。IronPythonでもChangeset 37512が週末にUpされました。これらのリビジョンに含まれるDLRですが、かなり同期している模様です。前回のエントリに記載したChangeset36656とSVN132に含まれるDLRとは異なりますので、ご注意ください。
Read More...
FXさんからのフィードバッグから色々と調べていました。 IronRuby SVN 132とIronPython Changeset35778で試したところDLRが同期している模様です。両方のソースコードからビルドして組み合わせて見ると問題なく動作することを確認できました。Changeset35778の詳細をまだ調べきれていませんが、ベータ4に対してネームスペースなどのリファクタリングが行われています。一番顕著なのが、System.Scripting.Runtimeネームスペースが、Microsoft.Scripting.Runtimeになっていることです。つまり、Microsoft.Scripting.CoreプロジェクトからMicrosoft.Scriptingプロジェクトへ変更になっているのです。
Read More...
IronPython 2.0 Beta4のリリースに伴ってDLRにも変更が行われています。細かく調べていくと、Microsoft.Scripting.Core.dllに含まれるネームスペースが大きく変更されています。具体的には、以下のようなものです。 Microsoft.Scripting -> System.Scripting Microsoft.Scripting.Runtime -> System.Scripting.Runtime など Microsoft.Scripting.Ast
Read More...
Shiroさんのブログ にIronPython 2.0 Beta4でOLEオートメーションサポートがどのようになるかが詳しく解説されています。彼の記述した内容の概要は、以下のようなものです。 IronPython 1.x系では、オンザフライでインタロップ・アセンブリを生成するか、インタロップ・アセンブリを明示的に指定してCOMオブジェクトを使用する(チュートリアルにあるマーリンのデモがこれです)。 IronPython 2.0Beta3では、デフォルトでPIAかインタロップアセンブリを生成します(実際に私がBeta2で実験すると、-X:PreferComDispatchスイッチによってSystem.__ComObjectを使用していますし、Beta3ではスイッチが削除されています)。
Read More...
John Lam が OSC2008で最初のバイナリーセットであるアルファをリリースしたとアナウンスしています。RubyForgeの IronRubyプロジェクト からダウンロードできます。合わせて、IronRubyの 協力者向けの(Contributor)プロジェクト もアナウンスされています。 これから色々と試してみる予定です。 リポジトリをチェックすると127になっています。
Read More...
Silverlight 2.0 Beta2やIronPython 2.0 Beta3に含まれているDLRのホスティングAPIの概要図を作成しました。 TechEd Yokohamaに向けて準備したものです。この作業の中でBeta2向けに移植した簡単な言語シリーズもBeta3向けに移植しています。Beta2からBeta3への移行は、それほど難しくないので、TechEd Yokohamaが終了してから公開する予定でいます。それまでに新しいベータがでなかればという条件が付きますけど。 会場では可能な限り最新版のDLRでお見せしたいと考えています
Read More...
IronPython 1.1.2RC1がリリースされています。バグフィックスが主体のようです。 今は、今年のTechEd Yokohama のプレゼンテーション資料の作成を行っています。テーマは「Lightweight Language」にしたので、内容を色々と検討しています。今、考えているのは以下のようなものです。 DLRホスティングモデル (コンソール、Silverlight 2.0) オブジェクト共有(DynamicObject) 俺様言語 DynamicSiteの利点と欠点 etc DLRのASTに関しては、プレアルファから極端な変更がないので、基本的な考えは昨年のセッションを参考にすれば良いかと考えています。今回はホスティングモデルの拡張性を中心にしようかと考えています。ホスティングモデルが理解できれば、John
Read More...
遅まきながら日経ソフトウェア7月号に掲載された「Silverlightで動的言語を使う」の記事が 日経BP IT Pro でオンライン公開されました。詳細な記事というより、IronPythonやIronRubyでSilverlightアプリが作れるという紹介程度なんですけど... SilverLight2.0 Beta2でIronPythonを使う場合に、追加のアセンブリを読み込むには import clr clr.AddReference("アセンブリ名") とすることで読み込むことができるようになっています。Beta1の場合は、アセンブリの完全名である必要があったのですが、Beta2から使いやすくなっています。IronRubyの場合は、requireでアセンブリの完全名を記述するのは、Pre
Read More...
IronPython 2.0 Beta3が公開されてから気がついたのですが、ソースリポジトリにBeta3が入っていないですねぇ。何ででしょうね。少し、不思議な気がしています。まだまだ準備に入れていないのですが、今年のTechEd横浜でもDLR関係のセッションを持たせていただくことになりました。内容などはまだまだこれからです。 米国のTechEdでは、IronPythonとIronRubyのハンズオンがあったようです。それと今月の初めにあったRailsConfでIronRubyを使ってRuby on
Read More...
TechEdのデモでお見せしたDLR電卓とは、以下のようなものです。 SilverLight1.1アルファのサンプルである、DLR Consoleを使って電卓アプリをPythonとJScriptから操作するというサンプルです。このサンプルをLL魂でもお見せしているのですが、LL魂で使ったコードから60%のリファクタリングを行ったものをTechEdでは使用しました。見た目は同じなのですが、UIの作成方法が完全に異なっています。具体的に異なっている点は以下です。 UIのコードをXAMLで定義。 XAMLファイルを動的に読み込む
Read More...
明日から今年のTechEd Yokohamaが始まります。その準備に追われているのですが、実はまだデモの内容で悩んでいます。作成済みのデモコードを大幅に手直ししたり、新しいデモ内容を作ってみたりしています。というのも私の担当しているセッションの会場がAルームなもので、会場が広いからどのようなモノをお見せしたものかなという悩みがあるからです。このような状況ですので、さっきもデモの内容を確認したりしています。 デモのテーマとしては、以下のようなものを考えています。 現状でできること DLRのオブジェクト共有
Read More...
前回、VM魂にパネラーと参加させていただいたことを記載しました。その時にお見せしたDLR電卓が アットマーク・アイティさんで記事 になっています。本音を言うと、DLRに感動してもらってホッとしています。記事では、コードが読みにくいのですが、実際にお見せしたのは以下のようなコードです。 py> import calc as x # Pythonでモジュールの読み込み js> c = new x.Calc(canvas) //JScriptでインスタンスの作成 js> x.enliven(c)
Read More...
前回のエントリーでIronPython 2.0A3がリリースされたことをお知らせしました。リリースノートによると、IronRuby1.0プレアルファに含まれるDLRと同期したバージョンだと記載がされています。このA3を使って作成済みの資料に影響があるかどうかを調べています。結果としてはASTレベルでは、特に影響は見られませんでした。ほっと一息をついたのですが、色々と調べていくと生成されるILレベルでは、変化が見られました。このことは、DLRの中に関する変更が行われたということを意味しています。どういう変更かは、生成されるILをA2と較べてみていただければ理解できるかと思います。
Read More...