Skip to content
This repository was archived by the owner on Jun 28, 2025. It is now read-only.

Commit 1379c87

Browse files
ivanperez-keerafdeddenRyanGlScottkaBeech
committed
Initial version of the copilot-visualizer library.
Co-authored-by: Frank Dedden <frank@systemf.dev> Co-authored-by: Ryan Scott <rscott@galois.com> Co-authored-by: Kyle Beechly <contact@kaBeech.com>
1 parent 5b8d8d3 commit 1379c87

File tree

18 files changed

+1957
-0
lines changed

18 files changed

+1957
-0
lines changed

.gitignore

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
dist
2+
dist-*
3+
cabal-dev
4+
*.o
5+
*.hi
6+
*.chi
7+
*.chs.h
8+
*.dyn_o
9+
*.dyn_hi
10+
.hpc
11+
.hsenv
12+
.cabal-sandbox/
13+
cabal.sandbox.config
14+
*.prof
15+
*.aux
16+
*.hp
17+
*.eventlog
18+
.stack-work/
19+
cabal.project.local
20+
cabal.project.local~
21+
.HTF/
22+
.ghc.environment.*
23+
copilot-profiling
24+
.DS_Store
25+
.log

CHANGELOG

Whitespace-only changes.

LICENSE

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
2024-2025 (c) NASA
2+
BSD3 License terms
3+
4+
Redistribution and use in source and binary forms, with or without
5+
modification, are permitted provided that the following conditions
6+
are met:
7+
8+
Redistributions of source code must retain the above copyright
9+
notice, this list of conditions and the following disclaimer.
10+
11+
Redistributions in binary form must reproduce the above copyright
12+
notice, this list of conditions and the following disclaimer in the
13+
documentation and/or other materials provided with the distribution.
14+
15+
Neither the name of the developers nor the names of its contributors
16+
may be used to endorse or promote products derived from this software
17+
without specific prior written permission.
18+
19+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
20+
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
21+
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
22+
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
23+
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
24+
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
25+
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
26+
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
27+
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
28+
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
29+
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

README.md

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
[![Build Status](https://travis-ci.com/Copilot-Language/copilot.svg?branch=master)](https://app.travis-ci.com/github/Copilot-Language/copilot)
2+
3+
# Copilot: a stream DSL
4+
5+
The visualizer, which draws Copilot specifications using different graphical
6+
formats.
7+
8+
Copilot is a runtime verification framework written in Haskell. It allows the
9+
user to write programs in a simple but powerful way using a stream-based
10+
approach.
11+
12+
Programs can be interpreted for testing (with the library copilot-interpreter),
13+
or translated C99 code to be incorporated in a project, or as a standalone
14+
application. The C99 backend ensures us that the output is constant in memory
15+
and time, making it suitable for systems with hard realtime requirements.
16+
17+
## Installation
18+
19+
Copilot-visualizer can be found on
20+
[Hackage](https://hackage.haskell.org/package/copilot-interpreter). It is
21+
typically only installed as part of the complete Copilot distribution. For
22+
installation instructions, please refer to the [Copilot
23+
website](https://copilot-language.github.io).
24+
25+
## Further information
26+
27+
For further information, install instructions and documentation, please visit
28+
the Copilot website:
29+
[https://copilot-language.github.io](https://copilot-language.github.io)
30+
31+
## License
32+
33+
Copilot is distributed under the BSD-3-Clause license, which can be found
34+
[here](https://raw.githubusercontent.com/Copilot-Language/copilot/master/copilot-interpreter/LICENSE).

Setup.hs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
import Distribution.Simple
2+
main = defaultMain

copilot-visualizer.cabal

Lines changed: 127 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,127 @@
1+
cabal-version: >= 1.10
2+
name: copilot-visualizer
3+
version: 4.4
4+
synopsis: Visualizer for Copilot.
5+
description:
6+
Visualizer for Copilot.
7+
.
8+
Copilot is a stream (i.e., infinite lists) domain-specific language (DSL) in
9+
Haskell that compiles into embedded C. Copilot contains an interpreter,
10+
multiple back-end compilers, and other verification tools.
11+
.
12+
A tutorial, examples, and other information are available at
13+
<https://copilot-language.github.io>.
14+
15+
author: Ivan Perez, Frank Dedden, Ryan Scott, Kyle Beechly
16+
license: BSD3
17+
license-file: LICENSE
18+
maintainer: Ivan Perez <ivan.perezdominguez@nasa.gov>
19+
homepage: https://copilot-language.github.io
20+
bug-reports: https://github.com/Copilot-Language/copilot/issues
21+
stability: Experimental
22+
category: Language, Embedded
23+
build-type: Simple
24+
extra-source-files: README.md
25+
CHANGELOG
26+
examples/gui/Main.hs
27+
examples/gui/main.html
28+
examples/tikz/Heater.hs
29+
data-files: data/tikz/tikz.tex
30+
data/static_html/index.html
31+
32+
x-curation: uncurated
33+
34+
source-repository head
35+
type: git
36+
location: https://github.com/Copilot-Language/copilot.git
37+
subdir: copilot-visualizer
38+
39+
flag examples
40+
description: Enable examples
41+
default: False
42+
manual: True
43+
44+
library
45+
46+
default-language:
47+
Haskell2010
48+
49+
hs-source-dirs:
50+
src
51+
52+
ghc-options:
53+
-Wall
54+
55+
build-depends:
56+
base >= 4.9 && < 5,
57+
aeson >= 2.0.0.0 && < 2.3,
58+
filepath >= 1.4.2 && < 1.6,
59+
hint >= 0.9.0 && < 1.10,
60+
pretty >= 1.0 && < 1.2,
61+
ogma-extra >= 1.6.0 && < 1.7,
62+
text >= 1.2.3.1 && < 2.2,
63+
websockets >= 0.12.7 && < 0.14,
64+
65+
copilot >= 4.4 && < 4.5,
66+
copilot-core >= 4.4 && < 4.5,
67+
copilot-interpreter >= 4.4 && < 4.5,
68+
copilot-language >= 4.4 && < 4.5
69+
70+
exposed-modules:
71+
72+
Copilot.Visualize.Live
73+
Copilot.Visualize.Static
74+
75+
other-modules:
76+
77+
Copilot.Visualize.Dynamic
78+
Copilot.Visualize.TypedTrace
79+
Copilot.Visualize.UntypedTrace
80+
Paths_copilot_visualizer
81+
82+
executable gui-example
83+
main-is:
84+
Main.hs
85+
86+
default-language:
87+
Haskell2010
88+
89+
hs-source-dirs:
90+
examples/gui
91+
92+
ghc-options:
93+
-Wall
94+
95+
build-depends:
96+
base >= 4.9 && < 5,
97+
98+
copilot-visualizer
99+
100+
if flag(examples)
101+
buildable: True
102+
else
103+
buildable: False
104+
105+
executable tikz-example
106+
main-is:
107+
Heater.hs
108+
109+
default-language:
110+
Haskell2010
111+
112+
hs-source-dirs:
113+
examples/tikz
114+
115+
ghc-options:
116+
-Wall
117+
118+
build-depends:
119+
base >= 4.9 && < 5,
120+
121+
copilot >= 4.4 && < 4.5,
122+
copilot-visualizer
123+
124+
if flag(examples)
125+
buildable: True
126+
else
127+
buildable: False

0 commit comments

Comments
 (0)