News

31 August 2010: Instructions for fetching via mercurial are now available on the download page.

26 August 2010: New doc describing implementation method for BitC's layout rules.

25 August 2010: We are finally retiring the S-expression syntax, and getting close to a first release.

18 January 2009: Can now browse compiler or runtime online.

5 November 2008: Closed type classes.

23 October 2008: Online Code Browser added.

Info

People
History

The BitC Programming Language

BitC is a new systems programming language. It seeks to combine the flexibility, safety, and richness of Standard ML or Haskell with the low-level expressiveness of C.

Objectives

BitC is a programming language that tries to meet the following objectives:

As a litmus test, it is possible to write a MPEG decoder or SHA-1 hash algorithm in BitC that is fully safe, but performs competatively with the C implementation. Today, that can't be done in SML, O'Caml, or Haskell.

Target Platforms

The BitC bootstrap compiler compiles to portable ANSI C code. By tweaking a single header file and writing a target-specific header file and writing a procedure object thunk function it is possible to port the research compiler to essentially any target platform. The current source tree is known to work on IA32 and AMD64/X86-64 targets, and includes untested ports to SPARC and SPARC64. Contributions for new targets would be very welcome.

Mailing Lists

At present, the main mailing list for the BitC project is bitc-dev. These lists are intended primarily for developers and architects. When a release exists, we will add a user-oriented list as well.