Skip to content
The Managed Compiler Infrastructure is a modern and intuitive compiler back end for managed languages.
D Python Other
Latest commit 0dd7843 Jun 6, 2013 @alexrp alexrp Remove .arcconfig.
Failed to load latest commit information.
bootdoc @ ef5d0ca
docs Only allow tail calls in functions with standard CC. Nov 13, 2012
libffi-d @ 3db96e1
libgc-d @ 4d0e22c
tests Only allow tail calls in functions with standard CC. Nov 13, 2012
.gitmodules Remove libphlycus submodule. Jun 6, 2013


            == MCI: Managed Compiler Infrastructure ==

                -- Introduction --

Welcome to the MCI!

The MCI (Managed Compiler Infrastructure) is a project that seeks to
write a complete compiler infrastructure and JIT (just-in-time) compiler
in the D language (version 2.0). The goal is a modern, intuitive, and
future-proof API usable by as many front ends as possible.

The rationale for such a project is that developing and maintaining such
systems in C/C++ (or similar languages) is tedious and error-prone. Other
languages also don't offer the possibility to expose a clean and simple
API, particularly due to the lack of a garbage collector and an exhaustive
standard library.

The MCI presents an intuitive, four-address intermediate representation that
will easily represent common constructs in programming languages today. At
the same time, it is powerful enough to represent languages as low-level as C.

The MCI is also a virtual machine: It provides threading infrastructure,
automatic memory management through garbage collection, foreign function (FFI)
invocation, and many other features commonly needed by managed virtual
machines and languages.

We don't mean for the MCI to be usable as a virtual machine by itself, however.
It is generally meant to be a fundamental building block for higher-level
virtual machines.

For further information, see:

      - Licensing and copyright information.
      - Supported compilers, architectures, operating systems, etc.
      - Instructions on building and installing the MCI.
      - Names and contact information for MCI developers.
    * THANKS
      - Credits and appreciation where due.
    * STYLE
      - Coding style rules (only relevant if you're a contributor).

See also the documentation in the 'docs' directory.

You can reach the MCI community in several ways:

    * IRC channels
      - #lycus @
      - #mci @
    * Mailing lists
      - lycus-announce:
      - lycus-discuss:
      - lycus-develop:
Something went wrong with that request. Please try again.