Mono的一个新的有趣的项目:CsharpRepl

项目官网: CsharpRepl

链接更新:
Miguel de Icaza: C# Eval: An Embeddable Compiler
R. Tyler Ballance: Resurgange of the shell.
Daniel Morgan: Mono's interacive C# and using System.Data

Miguel de Icaza(Mono创始者)的blog上看到了关于这个交互式C# shell的消息,觉得相当有趣。甚至可以说这是“a dream come true”,我一直就希望C#也能有个好用的交互式shell。

例子:
引用
csharp> 1; 
1 
csharp> "Hello, World".IndexOf (","); 
5 
csharp> Console.WriteLine ("Hello"); 
Hello 


一直认为许多动态语言的实现给用户带来的一个便利点就是REPL(read-eval-print loop)的开发方式,而这种开发方式的核心就在于交互式shell。REPL当然并不是 动态类型语言特有的,许多 静态语言的实现也带有交互式shell,例如Haskell、SML、Ocaml、F#、Scala等。从这点看,静态类型与语法本身的“动态性”并不一定矛盾。得看这个“动态”是如何定义的。在最近正在写的介绍LINQ与DLR的文章中会具体讨论这个问题。

Miguel做这个shell还挺用心的,顺带 把GNU ReadLine的功能用managed code做了个实现

你可能感兴趣的:(C++,c,scala,haskell,LINQ)