Project Description
Muse is a high-level, multi-paradigm programming language for the CLR that is intended to bring many of the benefits of languages like Erlang and Scala to distributed programming on the .NET platform. Initially, this project will start out as an attempt to define a solid language and standard library specification. The goal is a clean language that makes programming distributed, concurrent applications easier. In its next phase a working prototype will be developed to implement the key features required to prove the value of the language for building robust, concurrent, high-availability applications. Finally, this project will define a version 1.0 of the language and runtime libraries, and provide complete Visual Studio integration, that is suitable for production deployment. An area of research during the course of this project will include attempts to bring lightweight threading (one of Erlang's most powerful features) to the CLR, insofar as the CLR allows developers to extend and customize the runtime in predefined ways.

Grand Vision

The grand vision of Muse is a complete programming and runtime environment for building robust distributed, concurrent applications on .NET that leverages existing Microsoft technologies like WF, WCF and the CCR to create a high-level framework with features similar to those found, for instance, in Erlang's OTP framework. Erlang's strict message-passing concurrency, with built-in support for arbitrarily complex supervision models, fault-tolerance, and network transparency are the main sources of inspiration. VB's ease-of-use developer-centric philosophy and Oz's constraint-programming features and multi-paradigm language contribute to the project's ambition. And Ruby on Rails is another role model. Put another way: The goal is somehow to mash the best features of all these languages together into one wonderful little fuzzball. :)

Last edited Aug 7, 2008 at 2:17 PM by bobcalco, version 5