Welcome to MSDN Blogs Sign in | Join | Help

June 2007 - Posts

Python Workshop the Edge 2007
Python Workshop the Edge 2007 が開催されています。このイベントでMicrosoft Corporation のMaheshさんがIronPythonと動的言語について講演されました。今頃は、成田エクスプレスの中でしょうが... 私の方はIronPythonのハンズオンを担当させていただきました。参加頂いた方へ、有難うございます。そしてごめんなさい。時間が50分ということと始まりが遅かったのと何度もプロジェクタの電源が落ちてしまいました。お話したように課題の参考回答をアップさせていただきます。 Read More...
[MD3]動的言語のオブジェクト共有(4)
DLRを使って複数の言語間でオブジェクトを共有できると既に説明しました。今回は、実際にどのように確認するかを説明したいと思います。現時点では、共有オブジェクトを試すことのできる環境は、ASP.NET FuturesかSilverLight1.1アルファとなります。SilverLight1.1アルファで簡単に試せるのがDLRConsoleのサンプルです。このサンプルは、以下から入手できます。 SilverLight1.1アルファSDK Dynamic SilverLight Sample どちらでダウンロードしてもDLRConsoleのサンプルを入手することができます。このサンプルにキーボード対応を Read More...
[MD3]動的言語について3
Dynamic Language Runtime(DLR)の設計目標において、共有オブジェクトという考え方があります。具体的には、以下の図のようなことを実現するためのものです。 異なる言語間でオブジェクトを共有しようとしますので、「obj.x」という記述から「obj」というオブジェクトインスタンスに対して以下の手順を踏むことを表わしています。 xというメンバーを持っていますか(ゲッター)。 持っていればメンバーを返します。 返されたメンバーを使って呼び出します。 このオブジェクトに対して、DLRは Read More...
[MD3] PowerShellについて
MD3の説明でPowerShellの関数って、言語拡張のように見せれるので、中々おもしろいという話をしました。この説明で例題に取り上げたのが、「 Windows PowerShell in Action 」という書籍なのですが、この書籍で提供されるているサンプルをご紹介したいと思います。本自体は、500頁ちょっとありますので、読むのも大変なんですけど(私の堅い枕の1つです)。 Capter8のサンプルに「class.ps1」と「demo-class.ps1」というファイルがあります。詳細は「class.ps1」を見ていただく必要がありますが、「demo-class.ps1」で以下のような記述を行っています。 Read More...
[MD3]動的言語について2
前回の続きで、今回は動的言語による柔軟性を少しまとめたいと思います。 Pythonでは、eval()関数とexec文が命令の動的実行として用意されています。たとえば、「eval("1 + 1") 」とか、「exec """class: ps .... """」という感じです。eval()関数は文字列で指定した式の実行を行い、exec文は文字列で指定した文の集まりを実行することができます。 PowerShellでは、Invoke-Expressionコマンドレットが文字列で指定した式の実行を行い、$ExecutionContext.InvokeCommand.InvokeScript()メソッドで文字列で指定した文の実行を行うことができます。これ以外に、PowerShellでは以下のような記述もできます。 Read More...
[MD3] 動的言語について1
MD3でご説明したDynamic Languageですが、論点は大きく2種類に分類できます。 リリース済みの言語 Dynamic Language Runtime対応の言語 ・リリース済みの言語 IronPython(1.0、1.0.1、1.1)とWindows PowerShell 1.0がリリースされている動的言語(スクリプト言語)として説明しました。それぞれのl特徴として言語レベルのリフレクションを持ち、実行時にオブジェクトを拡張できるという特徴を持っています。Pythonでは、setattr()、getattr()、hasattr()関数などを持ち、関数デコレータによる関数(或いは、メソッド)の拡張とメタクラスによるクラス拡張をサポートしています。 Read More...
MD3にご参加頂きありがとうございます
MD3の動的言語のセッションにご参加いただいた方々、ありがとうございました。 ご要望を頂きました、PPTとSilverLight1.1SDKに含まれているDLR Consoleのキーボードマッピングを日本語キーボードに対応させたスクリプトをUpさせていただきます。 内容に関しては、後日エントリを追加させていただきます。 Read More...
Dynamic Languageについて(MD3)
MD3に向けて、Dynamic Languageに取り組んでいます。可能であれば、IronRubyなどもお見せできたら良いなぁと考えていますが、無理そうです( John Lamのブログ に7月の予定とありました)。このためASP.NET FuturesとIronPython2.0アルファ1、SilverLight1.1アルファを調べています。 Dynamic Language Runtime対応ということで、言語向けASTからDLR用のASTを生成しているように見えます。このDLR用のASTで動的言語のオブジェクト(DynamicType)を共有しているようです。もっとも、インスタンスを作成する演算子(例えば、JavaScriptではnew、Pythonでは「()」など)は、実装する言語依存のようで他の言語のオブジェクトとの連携を言語実装者がどこまで実装するかに依存しているようです Read More...
Blogを始めました
皆様、こんにちは。荒井でございます。 今度から、msdnブログを始めました。まだ、どのような内容を記述していくかは、決めていませんが、その時々の情報をお知らせしていければと考えていますので、宜しくお願いいたします。 取り急ぎ、ご挨拶まで。 Read More...
Page view tracker