diff options
author | Aria Shrimpton <me@aria.rip> | 2024-03-30 16:38:53 +0000 |
---|---|---|
committer | Aria Shrimpton <me@aria.rip> | 2024-03-30 17:34:56 +0000 |
commit | ca565e3d32c0815722302331edbc59ce8a1ca9b8 (patch) | |
tree | 201a3c79d3727bbcbc0ebe8045188ff8c5f30bc8 /README.md | |
parent | ffa16f507ae3ca7f109aa8dacf2ea7e2a696a948 (diff) |
notes on how to reproduce
Diffstat (limited to 'README.md')
-rw-r--r-- | README.md | 32 |
1 files changed, 27 insertions, 5 deletions
@@ -1,7 +1,29 @@ -# dissertation +# Candelabra -## requirements +These are the supplementary materials for my thesis, Candelabra. -``` -$ raco pkg install rosette -``` + - `src/` is a Rust workspace containing the actual source code + - `analysis/` contains the benchmark results, and the Elixir livebook notebook used to process and visualise the data. + - `thesis/` contains the LaTeX code used to build the actual thesis, as well as VegaLite JSON files for graphs + +Check the `README` in each directory for more information. + +## Getting dependencies + +The easiest way to install the required dependencies is using Nix. +After [installing it](https://nixos.org/download/), simply run `nix develop`. +This environment includes everything necessary for building the program, visualisations, and thesis. + +You can also build the program itself with `nix build .#default`. + +Alternatively, manually set up the following programs: + + - Rust nightly toolchain 2024-01-22 + - Racket v8.10, with the `rosette` package installed - `raco pkg install rosette`. You may also need to manually install `z3`. + - [Just](https://crates.io/crates/just) 1.24.0 + - To generate visualisations: + - [Livebook](https://livebook.dev/) 0.11.3 + - [vega-cli](https://www.npmjs.com/package/vega-cli 5.26.0 + - To build the thesis: + - Texlive, with the packages listed in `nix/tex-env.nix` + - `latexmk` |