The latest version of copilot is 4.0-0.
copilot
Version 1.0.1 revision 0 uploaded by LeePike.
Package meta
- Synopsis
- A stream DSL for writing embedded C monitors.
- Description
Can you write a list in Haskell? Then you can write embedded C code using Copilot. Here's a Copilot program that computes the Fibonacci sequence (over Word 64s) and tests for even numbers:
fib :: Streams fib = do let f = varW64 "fib" let t = varB "t" f .= [0,1] ++ f + (drop 1 f) t .= even f where even :: Spec Word64 -> Spec Bool even w' = w' `mod` 2 == 0
Copilot contains an interpreter, a compiler, and uses a model-checker to check the correctness of your program. The compiler generates constant time and constant space C code via Tom Hawkin's Atom (thanks Tom!). Copilot was originally developed to write embedded monitors for more complex embedded systems, but it can be used to develop a variety of functional-style embedded code.
- Author
- Lee Pike, Robin Morisset, Alwyn Goodloe, Sebastian Niller
- Bug reports
- n/a
- Category
- Language, Embedded
- Copyright
- n/a
- Homepage
- http://leepike.github.com/Copilot/
- Maintainer
- Lee Pike <leepike@galois.com>
- Package URL
- n/a
- Stability
- n/a