Skip to content

Internal Explanations

This section contains explanations of rationale of implementation details of Accelerate, explanations of concepts and complex components, and guidelines for contributing to the project.

It is intended to developers who want to contribute to the project. It provides explanations of the rationale behind implementation details and explains complex components and how they work together. For detailed documentation of the classes and how to use them, see the Internal Reference section.

Coding Conventions

This article describes the coding conventions Accelerate uses. Following these conventions makes the code base feel like a consistent whole.

Translating a Program or Library

This article describes the steps that Accelerate takes to translate a program from source code to output or how it translates a library.

Body Elements and Expressions

This article explains the Body and Expression class hierarchies: How to use them, and how to implement subclasses.

Ownership and Lifetimes

Accelerate has complex relationships between its data structures. This article explains the lifetimes and ownership relationships of the main data structures.

Ideas for Later

This article collects ideas for improvements.