copilot-c99: A compiler for Copilot targeting C99.

This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.


This package is a back-end from Copilot to C.

Copilot is a stream (i.e., infinite lists) domain-specific language (DSL) in Haskell that compiles into embedded C. Copilot contains an interpreter, multiple back-end compilers, and other verification tools. A tutorial, bug reports, and todos are available at

Examples are available at

[Skip to ReadMe]


Versions0.1, 0.2, 0.2.1, 0.2.2, 0.2.3, 0.2.4, 0.2.5, 2.1.1, 2.1.2, 2.2.0, 2.2.1, 3.0, 3.0, 3.0.1, 3.0.2, 3.1, 3.1.1
Change logNone available
Dependenciesbase (>=4.9 && <5), containers (>=0.4 && <0.7), copilot-core (==3.0.*), directory (==1.3.*), filepath (==1.4.*), language-c99 (>=0.1.1 && <0.2), language-c99-simple (>=0.1.1 && <0.2), language-c99-util (>=0.1.1 && <0.2), mtl (==2.2.*), pretty (==1.1.*) [details]
AuthorFrank Dedden , Alwyn Goodloe
MaintainerFrank Dedden <>
CategoryLanguage, Embedded
Source repositoryhead: git clone git://
UploadedMon Apr 1 22:15:19 UTC 2019 by frankdedden




Maintainers' corner

For package maintainers and hackage trustees

Readme for copilot-c99-3.0

[back to package description]

Build Status

Copilot: a stream DSL

Copilot-c99 implements a C99 backend for Copilot, producing high quality code suitable for hard realtime applications.

Copilot is a runtime verification framework written in Haskell. It allows the user to write programs in a simple but powerful way using a stream-based approach.

Programs can be interpreted for testing, or translated C99 code to be incorporated in a project, or as a standalone application. The C99 backend ensures us that the output is constant in memory and time, making it suitable for systems with hard realtime requirements.


Copilot-c99 can be found on Hackage. It is typically only installed as part of the complete Copilot distribution. For installation instructions, please refer to the Copilot website.

Further information

For further information, install instructions and documentation, please visit the Copilot website:


Copilot is distributed under the BSD-3-Clause license, which can be found here.