copilot
copilot copied to clipboard
A stream-based runtime-verification framework for generating hard real-time C code.
**Description** Multiple definitions in `Copilot.Core.Type.Array` are not being used by any other part of Copilot or, as far as we know, by any user of Copilot. These include the `InnerType`...
# Motivation It would be great to have domain-specific Haskell types in streams, as this can give extra type safety in the high-level model that, with correct code generation, holds...
Minor enhancements to the code generation process. This adds volatile qualifiers to external stream global variables, and allows users to select an output directory for generated code.
**Description** One of Copilot's new requirements is to produce proofs that the C code produced matches the semantics. In order to produce such proofs, we must extend `copilot-theorem` to enable...
**Description** Currently, the architecture of Copilot mixes backends with other libraries, which makes the result not uniform. For example, the interpreter and the Graphviz prettyprinter are part of `copilot-core`, while...
**Description** Appending values to a stream should delay the samples. When `(++)` is applied to a stream of arrays, the values produced by the C99 backend are incorrect. Consider the...
Here's a little standalone example showing what I mean, along with a makefile that counts the size of the resulting C file in bytes. Look for the XXX in the...
**Description** In our effort to move Copilot to Class D, we have to comply with a style guide. In order to progressively follow those rules, we split complying with the...
The generated C code takes some care to copy the values of all the "external" streams from shared global variables to private globals before beginning the remainder of its work....
If we have a Copilot specification where we have multiple conditions for triggering the same function (but perhaps we are providing different arguments), then in generated C code we would...