Indie Introduction

The Indie language is an effort to provide the runtime features of modern languages, including type safety and garbage collection, without the overhead of a runtime executable like the Java Virtual Machine. The hope is this will let us use Indie in lower-level system code and other areas where (today) only C is prevalent.

Indie is a research project at Stanford University. The language and our compiler will be released under the MIT open source license. Please see the Indie license for more information. You can also find more information about people behind Indie.

Motivation and Overview

Current popular languages do not support generic, reliable components. Likewise, eclectic languages like Dylan support useful features like dynamic method dispatch on all method parameters, but features like these have not broken through to widely used systems languages because of misconceptions about their efficiency and usefulness. Indie, on the other hand, will have:

  • Strict static type checking
  • A powerful generic type system
  • Garbage collection without a language runtime, including support for pluggable garbage collectors
  • Integrated component interface support as a method of mitigating complexity and enforcing design patterns
  • Multiple dispatch on method parameters
  • Built-in constructs for pre- and post-conditions for static program verification and runtime debugging

Along with these language features, Indie will eventually have a flexible, centralized class library like Java's. This is necessary for any reasonable amount of interoperability between Indie components.

We hypothesize that these modern features will not significantly harm efficiency, but will make complex systems and components much more reliable and robust.

See the documentation section for more information.

Timeline

We hope to have a working bootstrap compiler by the beginning of November and a working compiler written in Indie by Christmas. This is an ambitious schedule motivated by Stanford's quarter system. We will add many of the features to the original compiler, but some of the more time consuming features will not be added until January.

We will post source code and binaries as we complete them so the few people following our development can play with the tools we develop. See the download section for more information. We will write documentation concurrently with our development, so the language and features will be documented thoroughly as they are developed.

Contributing

Indie is currently a research project at Stanford. Bug fixes and suggestions are extremeley welcome, but active development will not be possible until the language and compiler matures. Contact us if you have any questions.

Report and browse current bugs using SourceForge's factilities. Most software posted is considered pre-alpha until Chirstmas, so please don't post obvious stuff like "feature not implemented."

Copyright ©2002 Keith Coleman, Jim Norris, and Bret Taylor
Please see the Indie license for more information.
SourceForge.net