Web Page: http://dev.clojure.org/display/community/
Mailing List: http://groups.google.com/group/clojure
We are the core development team for Clojure and it's contributed libraries.
- Lightweight Clojure editor, repl, and documentation browser Currently everyone using Overtone must setup a clojure environment and editor, but it would be great if people who are unfamiliar with software development and/or clojure (e.g. musicians, artists, etc...) could download a single application to easily experiment with pre-existing instruments, sequencers, samplers, fx-racks made for guitars or other external instruments, etc. The app would let someone browse a built-in library of examples, evaluate code, experiment in a repl, open and save text files. The processing.org or SuperCollider applications are examples of this kind of system.
- Toolchain for dynamic Clojure development on Android A set of tools that will enable an easy dynamic development on Android using the remote REPL; a build system for Clojure/Android projects that is idiomatic and familiar to Clojure developers; and a helper library to simplify the creation of boilerplate-rich Android-specific classes (like Activities, Views etc.)
- Typed Clojure (Optional Static Type System) Clojure currently does not have a static type system. By utilizing the results of the Clojure Compiler's analysis phase (via analyze), we can build a static type checker, provided a la carte, as a library. Typed Racket is an example of adding a satisfying type system to an existing dynamically typed language, while preserving programming idioms and supporting interaction with untyped code. We will test the generality of ideas used in Typed Racket, such as Non-Uniform Variable Arity Polymorphism (typing complex variable arity functions like 'map') and occurrence typing (a type inference strategy). There are also other potentially novel problems to be solved/found, some are detailed in this draft research proposal for Typed Clojure. Typed Racket is divided into two main parts: a type system and a system managing interaction across module boundaries (eg. using typed code from untyped). This project will concentrate on adding a static type system to Clojure.