Development/ developer documentation

These pages may contain out-of-date information. We hope to update or replace this information in the future.

  • Developer introduction

    Tips and tricks for developers just starting to work with the Mercury source code.

  • Overall structure of the Mercury implementation

    Outlines the main parts of the Mercury implementation, shows what directories contain each component, and the rationale behind this design.

  • Compiler design

    Outlines the overall structure of the compiler, and explains how each module fits into it.

  • Coding standard for Mercury code

    The code style standard we use for Mercury code in the Mercury implementation.

  • Coding standard for C code

    The code style standard we use for C code in the Mercury implementation. The runtime system of Mercury is written in C, and so are some of the lowest-level parts of the Mercury standard library.

  • Code review

    The procedure we use to review proposed changes, including what should be done to prepare for reviews.

  • Bootstrapping

    What to do when a change requires bootstrapping.

  • Glossary

    Explanations of some terms used in the Mercury implementation.

  • Partially implemented features

    Features on which work has begun but has stopped short of completion.

More documents

These documents, plus more specific, incomplete and sometimes outdated documents are kept in the compiler/notes/ directory of the source tree. They are also available online.