The Pyjama Project is a framework for computing. At its core is an integrated editor and interactive console for writing and exploring computer science through dynamic languages. It is designed to be a simple, yet powerful, integrated development environment (IDE) for students, teachers, researchers, and regular humans, too. It runs on most any operating system, including Linux, Mac OS X, and Windows, and is built using .NET and Mono. All sources for the Pyjama Project are open and free---freely available and you are free to use them in various ways. All source code conforms to OSI approved licenses.The PyjamaDevelopment Page has a screenshot of the IDE so far and instructions for building for Mono or on Windows with Visual Studio Express. It says this of the languages you can use for developing for Pyjama:
Pyjama is built using the Dynamic Language Runtime (DLR) system from Microsoft. This means that languages (such as Python and Ruby) can share data and use a set of common libraries. For example, rather than writing a library for Python, one can write one library (in a portable way) and it will be usable from Python, Ruby, or any of a number of languages without making any changes. Generally, any .NET/Mono library can be turned into a dynamically loaded module for any DLR language. Pyjama was initially designed to control robots interactively, but it can be used for many tasks.
Pyjama is currently under development. It contains many components:
Other Libraries - including neural networks, music, and art
- Myro - library and infrastructure for controlling robots
- Editor - simple, but powerful customizable editor
- Shell - integrated languages
- Graphics - 2D and 3D
Pyjama is planned to be ready to sample Summer 2009.
Pyjama Scheme is a new implementation of a Scheme-based language for .NET/Mono. It implements many core Scheme functions, but also adds some functionality to bring it into line with the other modern languages like Python and Ruby. The goal is to have a complete environment for teaching, called Pyjama.
Pyjama Scheme is actually written in Scheme. It is written in a special form (continuation-passing style) and then automatically converted through a series of transformations, into C# so that it can be run on .NET/Mono. The generated language could be any language, but for this project we chose Scheme (because we need a Scheme for Pyjama).
Pyjama Scheme is currently under development. Plans:
Pyjama Scheme is not a regular scheme and is not meant to be compatible with others. It is designed for education and research.
- get a basic scheme working in .NET/Mono [done]
- use the Dynamic Language Runtime (DLR) for environments
- integrate it with the rest of the DLR