- 浏览: 3053196 次
- 性别:
- 来自: 海外
文章分类
- 全部博客 (430)
- Programming Languages (23)
- Compiler (20)
- Virtual Machine (57)
- Garbage Collection (4)
- HotSpot VM (26)
- Mono (2)
- SSCLI Rotor (1)
- Harmony (0)
- DLR (19)
- Ruby (28)
- C# (38)
- F# (3)
- Haskell (0)
- Scheme (1)
- Regular Expression (5)
- Python (4)
- ECMAScript (2)
- JavaScript (18)
- ActionScript (7)
- Squirrel (2)
- C (6)
- C++ (10)
- D (2)
- .NET (13)
- Java (86)
- Scala (1)
- Groovy (3)
- Optimization (6)
- Data Structure and Algorithm (3)
- Books (4)
- WPF (1)
- Game Engines (7)
- 吉里吉里 (12)
- UML (1)
- Reverse Engineering (11)
- NSIS (4)
- Utilities (3)
- Design Patterns (1)
- Visual Studio (9)
- Windows 7 (3)
- x86 Assembler (1)
- Android (2)
- School Assignment / Test (6)
- Anti-virus (1)
- REST (1)
- Profiling (1)
- misc (39)
- NetOA (12)
- rant (6)
- anime (5)
- Links (12)
- CLR (7)
- GC (1)
- OpenJDK (2)
- JVM (4)
- KVM (0)
- Rhino (1)
- LINQ (2)
- JScript (0)
- Nashorn (0)
- Dalvik (1)
- DTrace (0)
- LLVM (0)
- MSIL (0)
最新评论
-
mldxs:
虽然很多还是看不懂,写的很好!
虚拟机随谈(一):解释器,树遍历解释器,基于栈与基于寄存器,大杂烩 -
HanyuKing:
Java的多维数组 -
funnyone:
Java 8的default method与method resolution -
ljs_nogard:
Xamarin workbook - .Net Core 中不 ...
LINQ的恶搞…… -
txm119161336:
allocatestlye1 顺序为 // Fields o ...
最近做的两次Java/JVM分享的概要
链接:The IronRuby in Action book went into EAP today
IronRuby in Action在Manning的EAP链接:http://manning.com/carrero
Ivan Porto Carrero的新书,IronRuby in Action,在Manning Early Access Program上已经可以读到一部分。刚才读了其中的第一章。
觉得在很期待这本书的面世的同时,作者的观点可能不完全正确……或者是故意在一开始先以“比较大众”的方式去解释一些概念?
例如说,在1.2.1 Compiled and interpreted languages,
如果加上“从用户的角度看”这个前提条件的话,上面的叙述是没什么问题,不过作者并没有明确提到这点。一个“解释器”的内部也可以是以“编译器+虚拟机”的形式组织的,只是从用户角度看不到而已……
对这本书最大的疑问是:在IronRuby还远远没有finalize的时候,这书相对最终的IronRuby 1.0.0.0到底能有多准确呢?拭目以待了~
============================================================================
话说现在IronRuby在RubyForge上的SVN repository的版本是revision 110。先前的版本build都没遇到这个问题,这次build的时候发觉出现了好几个错误——主要问题都是出在project property的target设置到了.NET Framework 2.0;那把target设到3.5呢?System.Action跟Microsoft.Scripting.Util.Action就冲突了……好奇怪,IronRuby小组内部的人是怎么build的?
System.Action<T>是.NET Framework 2.0就开始有的,但是System.Action、System.Action<T1,T2>一直到4个参数的版本都是.NET Framework 3.5才出现的,在System.Core里。
Anyway,把冲突的地方都指定为DLR里的Action就没问题了。
我是想关注一下Tomas Matousek在ironruby-core里提到的一句:
这个YieldAction在\trunk\src\ironruby\Runtime\Calls\YieldAction.cs。不过里面几乎是空的……或许还没实现?
[Ironruby-core] Code Review: zlib
啊……终于知道代码里的/*!*/是啥意思了。嗯很好……
IronRuby in Action在Manning的EAP链接:http://manning.com/carrero
Ivan Porto Carrero的新书,IronRuby in Action,在Manning Early Access Program上已经可以读到一部分。刚才读了其中的第一章。
觉得在很期待这本书的面世的同时,作者的观点可能不完全正确……或者是故意在一开始先以“比较大众”的方式去解释一些概念?
例如说,在1.2.1 Compiled and interpreted languages,
引用
A compiled language in the context of this book is a language that requires a compiler before it can be executed. VB.NET, C# and Java all require a compilation step before they can be executed.
...
An interpreted language means that the code you feed it; gets executed by an interpreter, whose job it is to analyze each statement it encounters and consequently execute the desired action. There is no error checking at compile time because there is no compile time.
...
...
An interpreted language means that the code you feed it; gets executed by an interpreter, whose job it is to analyze each statement it encounters and consequently execute the desired action. There is no error checking at compile time because there is no compile time.
...
如果加上“从用户的角度看”这个前提条件的话,上面的叙述是没什么问题,不过作者并没有明确提到这点。一个“解释器”的内部也可以是以“编译器+虚拟机”的形式组织的,只是从用户角度看不到而已……
对这本书最大的疑问是:在IronRuby还远远没有finalize的时候,这书相对最终的IronRuby 1.0.0.0到底能有多准确呢?拭目以待了~
============================================================================
话说现在IronRuby在RubyForge上的SVN repository的版本是revision 110。先前的版本build都没遇到这个问题,这次build的时候发觉出现了好几个错误——主要问题都是出在project property的target设置到了.NET Framework 2.0;那把target设到3.5呢?System.Action跟Microsoft.Scripting.Util.Action就冲突了……好奇怪,IronRuby小组内部的人是怎么build的?
System.Action<T>是.NET Framework 2.0就开始有的,但是System.Action、System.Action<T1,T2>一直到4个参数的版本都是.NET Framework 3.5才出现的,在System.Core里。
Anyway,把冲突的地方都指定为DLR里的Action就没问题了。
我是想关注一下Tomas Matousek在ironruby-core里提到的一句:
引用
Refactors Ruby blocks and procs:
- The compiled block has now signature (BlockParam, self, formal-args) - self argument was added. Previously it was passed thru BlockParam.Proc in a very hacky way.
- Removed hacks from dynamic actions on blocks and methods created by define_method. Improved rules generated for these actions.
- RubyBlockInfo no longer inherits from RubyMemberInfo. There is no reason to do so, blocks are not directly stored in method tables and cannot be invoked via InvokeMemberAction.
Adds YieldAction - a custom Ruby action for yielding to a block that allows to pass BlockParam and self.
Implements module_eval/class_eval - both Proc and string versions.
Implements eval that takes Proc as a binding.
Adds module_eval and proc related unit tests.
...
Yes, they are 1st class. Some of the properties should be accessible, some not. There will be more cleanup later, after all operations are implemented. Some fields might move among classes (RubyBlockInfo, Proc, BlockParam) etc. The id is now 1:1 but might not be in future - some blocks could be compatible if they have the same signature shape.
Tomas
- The compiled block has now signature (BlockParam, self, formal-args) - self argument was added. Previously it was passed thru BlockParam.Proc in a very hacky way.
- Removed hacks from dynamic actions on blocks and methods created by define_method. Improved rules generated for these actions.
- RubyBlockInfo no longer inherits from RubyMemberInfo. There is no reason to do so, blocks are not directly stored in method tables and cannot be invoked via InvokeMemberAction.
Adds YieldAction - a custom Ruby action for yielding to a block that allows to pass BlockParam and self.
Implements module_eval/class_eval - both Proc and string versions.
Implements eval that takes Proc as a binding.
Adds module_eval and proc related unit tests.
...
Yes, they are 1st class. Some of the properties should be accessible, some not. There will be more cleanup later, after all operations are implemented. Some fields might move among classes (RubyBlockInfo, Proc, BlockParam) etc. The id is now 1:1 but might not be in future - some blocks could be compatible if they have the same signature shape.
Tomas
这个YieldAction在\trunk\src\ironruby\Runtime\Calls\YieldAction.cs。不过里面几乎是空的……或许还没实现?
[Ironruby-core] Code Review: zlib
John Lam 写道
non-nullable reference types (that's what the /*!*/ annotations mean).
啊……终于知道代码里的/*!*/是啥意思了。嗯很好……
发表评论
-
对象的重量
2011-08-21 17:15 0http://domino.research.ibm.com/ ... -
IronRuby 1.1系的自适应执行(解释/编译的混合模式)
2010-10-29 14:12 0IronRuby自身的compiler部分基本上还是保持不变的 ... -
Expression Tree中的Constant被编译后放到哪里去了?
2010-02-28 16:21 0Expression.Constant()可以放任意对象进去作 ... -
拿ETv2来生成方法体的两种阳春办法
2009-09-22 06:03 0System.Type System.Reflection.E ... -
C#的语言结构到Expression Tree v2的映射
2009-05-21 03:11 0在.NET Framework 4 Beta 1中,Expre ... -
.NET Framework 4.0 Beta 1里的Expression Tree一例
2009-05-20 10:23 2935既然装上了Visual Studio 20 ... -
用Iron-*语言来探索.NET
2009-05-15 23:21 3430刚才写代码的时候又是在不停查文档,甚是心烦。一怒,拿出Iron ... -
自己关于VM的帖的目录
2009-04-07 14:02 69659JavaEye的blog系统只允许把帖放到单一类别下,而不能用 ... -
MIX09上关于DLR解释器消息的一段听记(3月26更新IronPython 2.6A1消息)
2009-03-23 21:09 1864John Lam在MIX 09上做了一个关于动态语言与Silv ... -
答复: C# 4 DLR & Java 7 Invokedynamic
2009-03-22 17:12 3035原帖地址:C# 4 DLR & Java 7 Invo ... -
通过get或set方法的MethodInfo获得相应的PropertyInfo的方式
2009-02-01 22:41 3565在IronPython 46307的MemberExpress ... -
同一个ParameterExpression被用在不同嵌套层次的lambda里会怎样?
2009-01-16 00:22 2613今天写代码的时候不小心写错了几个地方,把同一个Paramete ... -
CodePlex上放出DLR v0.9 beta
2008-11-27 14:34 2028之前提到过DLR会在CodePlex上拥有自己独立的项目页面, ... -
IronRuby (r170)中respond_to?的实现
2008-11-13 23:29 0IronRuby.Libraries/Builtins/Ker ... -
DLR中的binder的演变
2008-11-11 23:29 0从模糊的“标准消息”转变为明确完整的MetaObject Pr ... -
DLR即将在Codelex开设独立的站点
2008-10-29 23:01 1468DLR官网:Dynamic Language Runtime ... -
IronPython放出RC1
2008-10-23 09:59 1858下载链接:http://www.codep ... -
新的DLR tree改变了Visitor的设计
2008-10-09 00:35 1635之前的一帖提到过访问DLR tree所使用的visitor的实 ... -
对比DLR
2008-10-08 04:32 0Managed JScript: // // AST: E ... -
目前DLR执行一棵DLR tree的过程(针对10月3日的ChangeSet 41087)
2008-10-07 01:46 1816先在Microsoft.Scripting.Actions.C ...
相关推荐
IronRuby是Ruby编程语言的一个实现,它允许开发者在.NET Framework环境下运行Ruby代码。这个标题表明我们讨论的是一个基于IronRuby的多用户博客平台的源代码,这将涵盖以下几个核心主题: 1. **IronRuby**:...
IronRuby 是 Ruby 编程语言在微软 .NET 平台上的一种实现。 IronRuby 与 Wilco Bauwer 的 IronRuby project 同名,2007年4月30日由微软于 MIX 上发表。并计划于2007年的 OSCON 公开推出。 2007年8月31日,John Lam...
IronRuby的发布标志着Ruby语言进入了.NET生态系统的广阔天地。 #### IronRuby的背景与意义 IronRuby项目始于2007年,由Microsoft和Ruby社区合作发起。它的目标是创建一个完全兼容的Ruby语言解释器,能够在.NET平台...
《Sams.IronRuby.Unleashed.Feb.2010.rar》是一个压缩包文件,其中包含一本名为《Sams.IronRuby.Unleashed.Feb.2010.pdf》的电子书。这本书主要探讨了IronRuby这一编程语言及其在2010年2月时的最新进展。 IronRuby...
《IronRuby博客中文版 Alpha_ironruby-pre-alpha1(ASP.NET源码)》是一个压缩包,其中包含了关于IronRuby和ASP.NET技术的博客资源。这个压缩文件的重点在于它提供了IronRuby在ASP.NET环境中的应用实例,这对于理解...
IronRuby是一种将Ruby语言特性与.NET框架结合的动态脚本语言实现。它允许Ruby程序直接使用.NET库和其它托管代码。IronRuby与Ruby一样支持动态类型系统、元编程和Ruby on Rails框架。 知识点二:C# 4.0 C# 4.0是微软...
【ASP.NET源码——[博客空间]IronRuby博客中文版 Alpha.zip】是一个包含ASP.NET源码的压缩包,专门针对IronRuby技术的中文版本。这个压缩包可能是一个项目或者教程,旨在帮助开发者理解和使用IronRuby在ASP.NET环境...
IronRuby是微软开发的一个开源项目,它允许在.NET Framework上运行Ruby编程语言,实现了Ruby的兼容性和.NET平台的集成。这个“ironruby-pre-alpha1.zip_pre”文件是IronRuby项目的早期预览版本,即Pre-Alpha1阶段的...
《C# 4.0 in a Nutshell》是由Joseph Albahari和Ben Albahari合著的一本关于C#编程语言的重要参考书籍,出版于2010年2月3日。这本书是针对C# 4.0版本的,该版本在C#的发展历程中是一个重要的里程碑,引入了许多新...
《DSLs in Boo: Domain Specific Languages in .NET》是一本由Manning出版社于2010年1月发行的专业技术书籍,主要探讨了在.NET框架下如何使用Boo语言来构建领域特定语言(DSLs)。这本书是针对那些对DSLs有深入兴趣...
[博客空间]IronRuby博客中文版 Alpha_ironruby-pre-alpha1.zip源码ASP.NET网站源码打包[博客空间]IronRuby博客中文版 Alpha_ironruby-pre-alpha1.zip源码ASP.NET网站源码打包[博客空间]IronRuby博客中文版 Alpha_...
《C# in Depth 4th Edition》是Jon Skeet撰写的一本深入解析C#编程语言的书籍,由著名程序员Eric Lippert作序。这本书针对的是C#的第四版,被广大开发者誉为深入理解C#的必备读物。书中详细介绍了C#的关键特性和最新...
免责声明:资料部分来源于合法的互联网渠道收集和整理,部分自己学习积累成果,供大家学习参考与交流。收取的费用仅用于收集和整理资料耗费时间的酬劳。 本人尊重原创作者或出版方,资料版权归原作者或出版方所有,...
它包含了一个运行时环境,使得动态类型和方法调用成为可能,如IronPython和IronRuby就是基于DLR实现的。 5. **Custom Attributes**:自定义属性是一种元数据,允许在代码中附加信息,这些信息可以在运行时通过反射...
总之,《Pro DLR in .NET 4》是了解和掌握.NET框架中动态语言支持的宝贵资源,对于想要深入了解和利用DLR的开发者来说,是一本不可多得的参考书。通过学习,开发者可以充分利用.NET 4的动态功能,提升代码的灵活性和...
1. **IronRuby项目:** IronRuby是Microsoft的一项计划,旨在使Ruby语言能够在.NET平台上运行。本书将探讨IronRuby如何为.NET开发者带来新的可能性。 2. **跨语言互操作性:** 随着IronRuby的发展,.NET开发者可以更...
Silverlight 2 Beta 1版本发布了,无论从Runtime还是Tools都给我们带来了很多的惊喜,如支持框架语言Visual Basic, Visual C#, IronRuby, Ironpython,对JSON、Web Service、WCF以及Sockets的支持等一系列新的特性。...