Project Description

Quartz 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 Goal

The 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 (

Project Road Map

To achieve such an ambitious goal, we'll approach it in four phases, hoping it to be the path of least resistance:
  1. Starting from the source code of IronRuby (, make a conversion of the syntax and style of Ruby to C#.
  2. Remove some Ruby's historical inconsistencies and fine-tune the "C# feeling" of the language.
  3. Add .Net/C# specific features like LINQ query comprehensions, iterator blocks, etc.
  4. Add, if they fit, some features and/or idioms of F# like pattern matching, union types, monads, etc.

Last edited Feb 3, 2010 at 8:23 PM by RafaCastaneda, version 2