copilot-core: An intermediate representation for Copilot.

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.


Intermediate representation for Copilot.

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.2, 0.2.1, 0.2.2, 0.2.3, 0.2.4, 2.1.1, 2.1.2, 2.2.0, 2.2.1, 3.0, 3.0, 3.0.1, 3.1
Change logNone available
Dependenciesbase (>=4.9 && <5), containers (>=0.4 && <0.7), dlist, mtl (>=2.0 && <2.3), pretty (>=1.0 && <1.2), random (>1.0 && <1.2) [details]
AuthorFrank Dedden, Lee Pike, Robin Morisset, Alwyn Goodloe, Sebastian Niller, Nis Nordbyop Wegmann
MaintainerFrank Dedden <>
CategoryLanguage, Embedded
Source repositoryhead: git clone
UploadedMon Apr 1 22:15:27 UTC 2019 by frankdedden




Maintainers' corner

For package maintainers and hackage trustees

Readme for copilot-core-3.0

[back to package description]

Build Status

Copilot: a stream DSL

The core language, which efficiently represents Copilot expressions. The core is only of interest to implementers wishing to add a new back-end to Copilot.

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-core 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.