![]() |
Simplified version of DRAKON diagramming language. |
- only horizontal or vertical lines
- top-to-bottom as default direction
- connections never cross
- connections overlap only when it doesn't cause ambiguity
- deterministic: input A will always produce output B
The preferred way to work with wyvern is in containers. All scripts/commands described below will work directly on your local operating system, but the indended usage is in-container.
| command | description |
|---|---|
./start-development-environment.sh |
starts a fully dockerized development environment |
./build.sh |
builds, lints and formats code |
./run.sh |
runs code |
./test.sh |
runs tests |
exit |
terminates development environment |
cabal repl Wyvern --repl-options="-fbreak-on-error -fbreak-on-exception":load app/Main:break SkewerBlock 365:main -i "./diagrams/bubble-sort.txt" -o "./diagrams/bubble-sort.svg"
For those looking to only run a compiled version of wyvern in a container, there is a runtime image I prepared (only arm64 version for now):
docker pull ghcr.io/piotrjustyna/wyvern-runtime:latest
| command | description |
|---|---|
./run-in-container.sh |
runs code |
DRAKON is wyvern's big brother - more complex, steeper learning curve, more terms, more rules.
-
drakon-renderer - DRAKON diagrams renderer. This is where my adventure with DRAKON started. Wyvern is intended to be a very simplified, easier to fully grasp version of DRAKON.
