copilot
copilot copied to clipboard
A stream-based runtime-verification framework for generating hard real-time C code.
If we have a stream A in a copilot specification that is defined by applying some preprocessing to another stream B (say an external signal), it seems that in the...
The driver of the testing suite should support structs.
By mistake the printing of large number does not work correctly in the driver of the test suite. The reason is that even the largest numbers are printed with `%d`,...
For better testing purposes, we need to be able to generate arbitrary Copilot specifications.
Being able to give names or labels to streams has the following benefits: * Traceability between the original Copilot specification and C code is improved greatly, which can be a...
The `local` combinator is intended to act like an internal `let` operation, but doesn't seem to be handled correctly. In particular, if a stream bound via `local` is passed into...
Looking at the datatypes involved in the high-level and low-level `Spec` datatypes (e.g. `SpecItem`), it seems to me that properties and theorems are both represented as a bare stream of...
If I have 2 streams carrying doubles, such as: ```haskell x :: Stream Double x = extern "x" Nothing y :: Stream Double y = extern "y" Nothing ``` Is...
This my attempt to address #379. The changes I made are: - Deprecated module Copilot.Core.Type.Equality - Replaced it's usage with the Data.Type.Equality. In particular: - Replaced typeclass EqualType with typeclass...
**Description** The module `Copilot.Core.Type.Equality` provides definitions to reason about type equality. That module is very similar to `base:Data.Type.Equality`, and all uses of the former can be replaced by uses of...