当然,我现在知道答案了。只是这资料太难找了吧,逼人加入DLR或者IronPython/IronRuby的邮件列表么。不,或许装上[url=http://www.microsoft.com/downloads/details.aspx?familyid=0ed12659-3d41-4420-bbb0-a46e51bfca86&displaylang=en]Team Explorer 2008[/url]更现实些。
事情是这样的:在比较老版本的DLR里有一组hosting API,其中有一个相当重要的类,Microsoft.Scripting.Hosting.LanguageProvider。这个类在稍微早一些时候的DLR例子里很常见,但在新的DLR里根本没这个类。于是它跑哪里去了呢,替代者是谁?
找了半天终于在MSDN某blog上看到了相关消息:
[url=http://blogs.gotdotnet.com/shozoa/archive/2008/02/03/7401868.aspx]荒井省三のBlog:簡単な言語の作り方2[/url]
[quote][list][*]LanguageProviderが廃止され、LanguageContextに統一された。
[*]上記に伴って独自のScriptEngineではなく、Microsoft.Scripting.Hosting.ScriptEngineを使用するようになった。
[/list][/quote]
重点就是LanguageProvider被统一到LanguageContext里了,而语言对ScriptEngine的实现可以继承自DLR的ScriptEngine。
很好。但是这种资料也太难找了(又抱怨了一次 = =)。在IronPython的邮件列表里搜LanguageProvider只能搜到很老的一些例子,却搜不到关于它被整合到LanguageContext的消息。
有好些零星的这些变更信息我都是在不同的地方看到的,例如说DLR里Ast.CodeBlock改名为LambdaExpression是在[url=http://blogs.msdn.com/mmaly/default.aspx]Martin Maly[/url]的blog上读到的,而DLR的核心部分从Microsoft.Scripting.dll迁移到Microsoft.Scripting.Core.dll是在IronRuby的SVN repository log上读到的……[url=http://www.iunknown.com]John Lam的blog[/url]本来也是个重要的信息来源,但要用代理才上得了所以不经常上
果然是如同Charles Nutter所说,IronRuby(以及DLR)虽然使用了MS-PL,在开源上进了一大步,但是还是不够透明,文档什么的都不放给外部,让别人很难跟踪发展的进度。不过也只能忍了,谁叫我非要用DLR的 = =
P.S. 啊啊啊,被日期“骗”了。在CodePlex上,IronPython的source code一栏里,Beta 2的Change Set号码(33171)明明比32648大,但是Beta 2那栏写着的更新日期是[b]May[/b] 3而32648是April 3,我眼花了一整个星期把May看成[b]Mar[/b]以为Beta 2比32648老 T T
想找块豆腐去撞一下了 = =
事情是这样的:在比较老版本的DLR里有一组hosting API,其中有一个相当重要的类,Microsoft.Scripting.Hosting.LanguageProvider。这个类在稍微早一些时候的DLR例子里很常见,但在新的DLR里根本没这个类。于是它跑哪里去了呢,替代者是谁?
找了半天终于在MSDN某blog上看到了相关消息:
[url=http://blogs.gotdotnet.com/shozoa/archive/2008/02/03/7401868.aspx]荒井省三のBlog:簡単な言語の作り方2[/url]
[quote][list][*]LanguageProviderが廃止され、LanguageContextに統一された。
[*]上記に伴って独自のScriptEngineではなく、Microsoft.Scripting.Hosting.ScriptEngineを使用するようになった。
[/list][/quote]
重点就是LanguageProvider被统一到LanguageContext里了,而语言对ScriptEngine的实现可以继承自DLR的ScriptEngine。
很好。但是这种资料也太难找了(又抱怨了一次 = =)。在IronPython的邮件列表里搜LanguageProvider只能搜到很老的一些例子,却搜不到关于它被整合到LanguageContext的消息。
有好些零星的这些变更信息我都是在不同的地方看到的,例如说DLR里Ast.CodeBlock改名为LambdaExpression是在[url=http://blogs.msdn.com/mmaly/default.aspx]Martin Maly[/url]的blog上读到的,而DLR的核心部分从Microsoft.Scripting.dll迁移到Microsoft.Scripting.Core.dll是在IronRuby的SVN repository log上读到的……[url=http://www.iunknown.com]John Lam的blog[/url]本来也是个重要的信息来源,但要用代理才上得了所以不经常上
果然是如同Charles Nutter所说,IronRuby(以及DLR)虽然使用了MS-PL,在开源上进了一大步,但是还是不够透明,文档什么的都不放给外部,让别人很难跟踪发展的进度。不过也只能忍了,谁叫我非要用DLR的 = =
P.S. 啊啊啊,被日期“骗”了。在CodePlex上,IronPython的source code一栏里,Beta 2的Change Set号码(33171)明明比32648大,但是Beta 2那栏写着的更新日期是[b]May[/b] 3而32648是April 3,我眼花了一整个星期把May看成[b]Mar[/b]以为Beta 2比32648老 T T
想找块豆腐去撞一下了 = =