Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

New Copilot stuff.

  • Loading branch information...
commit d58e4adc31d54f76d564c509647e919492f9c5ed 1 parent e776013
@leepike authored
Showing with 57 additions and 108 deletions.
  1. +37 −42 Language/Copilot.hs
  2. +20 −66 copilot.cabal
View
79 Language/Copilot.hs
@@ -1,44 +1,39 @@
-module Language.Copilot
- ( module Language.Copilot.Core
- , module Language.Copilot.Analyser
- , module Language.Copilot.Interpreter
- , module Language.Copilot.Help
- , module Language.Copilot.AtomToC
- , module Language.Copilot.Compiler
- , module Language.Copilot.Language
- -- , module Language.Copilot.Sampling
- -- , module Language.Copilot.Casting
- -- , module Language.Copilot.Dispatch
- , module Language.Copilot.Interface
- , module Language.Copilot.Tests.Random
- -- , module Language.Copilot.Libs.Indexes
- -- , module Language.Copilot.Libs.LTL
- -- , module Language.Copilot.Libs.PTLTL
- -- , module Language.Copilot.Libs.Clocks
- -- , module Language.Copilot.AdHocC
- -- , module Language.Copilot.Examples.Examples
- -- , module Language.Copilot.Examples.LTLExamples
- -- , module Language.Copilot.Examples.PTLTLExamples
+module Language.Copilot
+ (
+ module Copilot.Language
+ , module Copilot.Language.Prelude
+ , module Copilot.Language.Reify
+
+ -- Code generators
+ -- , module Copilot.Compile.C99
+ -- , module Copilot.Compile.SBV
+
+ -- Libraries
+ , module Copilot.Library.Clocks
+ , module Copilot.Library.LTL
+ , module Copilot.Library.PTLTL
+ , module Copilot.Library.Statistics
+ , module Copilot.Library.RegExp
+ , module Copilot.Library.Utils
+ , module Copilot.Library.Voting
+ , module Copilot.Library.Stacks
) where
-import Language.Copilot.Core (Streams, Spec, emptySM, StreamableMaps(..)) -- XXX for libs, probably need to export all the maps. Maybe put in a different file?
-import Language.Copilot.Analyser
-import Language.Copilot.Interpreter
-import Language.Copilot.Help
-import Language.Copilot.AtomToC
-import Language.Copilot.Compiler
-import Language.Copilot.Tests.Random
-import Language.Copilot.Language
--- import Language.Copilot.Language.Sampling
--- import Language.Copilot.Language.Casting
--- import Language.Copilot.PrettyPrinter()
--- import Language.Copilot.Dispatch
-import Language.Copilot.Interface
--- import Language.Copilot.Libs.Indexes
--- import Language.Copilot.Libs.LTL
--- import Language.Copilot.Libs.PTLTL
--- import Language.Copilot.Libs.Clocks
--- import Language.Copilot.AdHocC
--- import Language.Copilot.Examples.Examples
--- import Language.Copilot.Examples.LTLExamples
--- import Language.Copilot.Examples.PTLTLExamples
+import Copilot.Language
+import Copilot.Language.Prelude
+import Copilot.Language.Reify
+
+-- Code generators
+-- import Copilot.Compile.C99
+-- import Copilot.Compile.SBV
+
+-- Libraries
+import Copilot.Library.Clocks
+import Copilot.Library.LTL
+import Copilot.Library.PTLTL
+import Copilot.Library.Statistics
+import Copilot.Library.RegExp
+import Copilot.Library.Utils
+import Copilot.Library.Voting
+import Copilot.Library.Stacks
+
View
86 copilot.cabal
@@ -1,85 +1,39 @@
name: copilot
-version: 1.0.3
-cabal-version: >= 1.6
+version: 2.0
+cabal-version: >= 1.10
license: BSD3
license-file: LICENSE
-author: Lee Pike, Robin Morisset, Alwyn Goodloe, Sebastian Niller
-synopsis: A stream DSL for writing embedded C monitors.
+author: Nis Nordby Wegmann, Lee Pike, Robin Morisset, Sebastian Niller, Alwyn Goodloe
+synopsis: A stream DSL for writing embedded C (constant memory and constant time) programs.
build-type: Simple
maintainer: Lee Pike <leepike@galois.com>
category: Language, Embedded
homepage: http://leepike.github.com/Copilot/
-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.
+stability: Experimental
+description: Documentation is available at the website, and see the included examples.
-extra-source-files: README
+extra-source-files: README.md
source-repository head
type: git
location: git://github.com/leepike/Copilot.git
library
- ghc-options: -Wall
- -- These build depends represent my current system. This will probably
- -- build on packages outside these constraints.
+ default-language: Haskell2010
+ ghc-options:
+ -Wall
+ -fwarn-tabs
+ -auto-all
+ -caf-all
+ -fno-warn-orphans
+
+
build-depends:
base >= 4.0
- , atom >= 1.0.8
- , containers >= 0.2.0.1
- , process >= 1.0.0.0
- , random >= 1.0.0.0
- , directory >= 1.0.0.0
- , mtl >= 1.0.0.0
- , filepath >= 1.0.0.0
- , parsec >= 2.0
- , unix >= 2.0
+ , copilot-core
+ , copilot-language
+ , copilot-libraries
+ , copilot-cbmc
- extensions:
exposed-modules: Language.Copilot
- Language.Copilot.AdHocC
- Language.Copilot.Core
- Language.Copilot.Language
- Language.Copilot.Language.Sampling
- Language.Copilot.Language.FunctionCalls
- Language.Copilot.Language.RandomOps
- Language.Copilot.Language.Casting
- Language.Copilot.AtomToC
- Language.Copilot.Compiler
- Language.Copilot.Interpreter
- Language.Copilot.Help
- Language.Copilot.Analyser
- Language.Copilot.PrettyPrinter
- Language.Copilot.Tests.Test
- Language.Copilot.Tests.Random
- Language.Copilot.Dispatch
- Language.Copilot.Interface
- Language.Copilot.Libs.ErrorChks
- Language.Copilot.Libs.PTLTL
- Language.Copilot.Libs.LTL
- Language.Copilot.Libs.Indexes
- Language.Copilot.Libs.Statistics
- Language.Copilot.Libs.Vote
- Language.Copilot.Libs.Clocks
- Language.Copilot.Libs.RegExp
- Language.Copilot.Examples.Examples
- Language.Copilot.Examples.LTLExamples
- Language.Copilot.Examples.PTLTLExamples
- Language.Copilot.Examples.StatExamples

0 comments on commit d58e4ad

Please sign in to comment.
Something went wrong with that request. Please try again.