Skip to content

Commit 5dd5cd0

Browse files
Merge branch 'develop-visualizer'. Close #624.
**Description** The `copilot-visualizer` was developed outside of this repo, but there's interest in having all Copilot projects and libraries merged into a main repo for ease of management. **Type** - Management: files need to be moved between repos. **Additional context** None. **Requester** - Ivan Perez. **Method to check presence of bug** Not applicable (not a bug). **Expected result** The last state of the `copilot-visualizer` is included in this repository, disregarding history, and adjusting the changelog to make the old issues refer to `copilot-visualizer#<ISSUE_NUM>` so that they are not interpreted as related to the main Copilot repo. The following dockerfile checks out the latest version of copilot-visualizer, v4.4, and compares it against the version being merged, ignoring differences in the CHANGELOG (which is expected to be different) and any git-related files, and checking that there are no other differences, after which it prints the message "Success": ```Dockerfile FROM ubuntu:noble ENV DEBIAN_FRONTEND=noninteractive RUN apt-get update RUN apt-get install --yes git RUN git config --global advice.detachedHead false CMD git clone $REPO $NAME \ && cd $NAME \ && git checkout $COMMIT \ && cd .. \ && git clone -b v4.4 https://github.com/Copilot-Language/copilot-visualizer copilot-visualizer-original \ && diff --exclude '.git' --exclude '.gitignore' --exclude 'CHANGELOG' -r $NAME/copilot-visualizer copilot-visualizer-original/ \ && echo "Success" ``` Command (substitute variables based on new path after merge): ``` $ docker run -e "REPO=https://github.com/Copilot-Language/copilot" -e "NAME=copilot" -e "COMMIT=<HASH>" -it copilot-verify-624 ``` **Solution implemented** Copy last state of `copilot-visualizer` as subdirectory of main repo. Remove duplicated `.gitignore`, so that files to ignore are managed at the top level of the repo. Adjust Changelog in `copilot-visualizer` to make older issues point to correct repo. **Further notes** None.
2 parents 894f0aa + b38f158 commit 5dd5cd0

File tree

17 files changed

+1941
-0
lines changed

17 files changed

+1941
-0
lines changed

copilot-visualizer/CHANGELOG

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
2025-06-27
2+
* Include in mainline. (#624)
3+
4+
2025-06-26
5+
* Release 4.4. (copilot-visualizer#5)
6+
* Initial version. (copilot-visualizer#4)

copilot-visualizer/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.

copilot-visualizer/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).

copilot-visualizer/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
Lines changed: 130 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,130 @@
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/gui/copilot.css
29+
examples/gui/copilot.js
30+
examples/tikz/Heater.hs
31+
32+
data-files: data/tikz/tikz.tex
33+
data/static_html/index.html
34+
35+
x-curation: uncurated
36+
37+
source-repository head
38+
type: git
39+
location: https://github.com/Copilot-Language/copilot.git
40+
subdir: copilot-visualizer
41+
42+
flag examples
43+
description: Enable examples
44+
default: False
45+
manual: True
46+
47+
library
48+
49+
default-language:
50+
Haskell2010
51+
52+
hs-source-dirs:
53+
src
54+
55+
ghc-options:
56+
-Wall
57+
58+
build-depends:
59+
base >= 4.9 && < 5,
60+
aeson >= 2.0.0.0 && < 2.3,
61+
filepath >= 1.4.2 && < 1.6,
62+
hint >= 0.9.0 && < 1.10,
63+
pretty >= 1.0 && < 1.2,
64+
ogma-extra >= 1.6.0 && < 1.7,
65+
text >= 1.2.3.1 && < 2.2,
66+
websockets >= 0.12.7 && < 0.14,
67+
68+
copilot >= 4.4 && < 4.5,
69+
copilot-core >= 4.4 && < 4.5,
70+
copilot-interpreter >= 4.4 && < 4.5,
71+
copilot-language >= 4.4 && < 4.5
72+
73+
exposed-modules:
74+
75+
Copilot.Visualize.Live
76+
Copilot.Visualize.Static
77+
78+
other-modules:
79+
80+
Copilot.Visualize.Dynamic
81+
Copilot.Visualize.TypedTrace
82+
Copilot.Visualize.UntypedTrace
83+
Paths_copilot_visualizer
84+
85+
executable gui-example
86+
main-is:
87+
Main.hs
88+
89+
default-language:
90+
Haskell2010
91+
92+
hs-source-dirs:
93+
examples/gui
94+
95+
ghc-options:
96+
-Wall
97+
98+
build-depends:
99+
base >= 4.9 && < 5,
100+
101+
copilot-visualizer
102+
103+
if flag(examples)
104+
buildable: True
105+
else
106+
buildable: False
107+
108+
executable tikz-example
109+
main-is:
110+
Heater.hs
111+
112+
default-language:
113+
Haskell2010
114+
115+
hs-source-dirs:
116+
examples/tikz
117+
118+
ghc-options:
119+
-Wall
120+
121+
build-depends:
122+
base >= 4.9 && < 5,
123+
124+
copilot >= 4.4 && < 4.5,
125+
copilot-visualizer
126+
127+
if flag(examples)
128+
buildable: True
129+
else
130+
buildable: False

0 commit comments

Comments
 (0)