Project DescriptionQuartz is a dynamic programming language for the DLR based on Ruby but with C#-like syntax. Quartz is developed in C# 4.0/.Net 4.0.
Project GoalThe goal of Quartz is to have a dynamic programming language with seamless .Net interoperability, syntax familiarity (C# style), easily hosted in scripting environments, and all the goodness of the Ruby language like string interpolation, mix-ins, open classes, first-class closures/blocks, meta-programming, pure object-orientation, etc. Obviously, we'll get almost all these high-level features for free targeting the Dynamic Language Runtime (
http://dlr.codeplex.com/)
Project Road MapTo achieve such an ambitious goal, we'll approach it in four phases, hoping it to be the path of least resistance:
- Starting from the source code of IronRuby (http://ironruby.net/), make a conversion of the syntax and style of Ruby to C#.
- Remove some Ruby's historical inconsistencies and fine-tune the "C# feeling" of the language.
- Add .Net/C# specific features like LINQ query comprehensions, iterator blocks, etc.
- Add, if they fit, some features and/or idioms of F# like pattern matching, union types, monads, etc.