Various setup for join operator
This MR contains various changes and fixes as a basis for implementing the join operator. This includes:
- a dockerfile to build a container where broom can be run without the need to install anything manually
docker build . -t broom docker run -it -v $(pwd)/src:/broom/src -v $(pwd)/scripts:/broom/scripts broom ./scripts/broom <...> - configuration fixes so that qtest works and inline tests can be executed (
dune test) - moved some code from
StateTableinto the new modulesEntailmentandJoin - code to log joins (input+output) to a file, and a script to make this output a bit prettier
Then, use
diff --git a/src/biabduction/Config.ml b/src/biabduction/Config.ml index d12453c..985a649 100644 --- a/src/biabduction/Config.ml +++ b/src/biabduction/Config.ml @@ -227,7 +227,7 @@ let print_contracts () = !_print_contracts let _dry_run = ref false let dry_run () = !_dry_run -let _log_joins = ref Option.none +let _log_joins = ref (Option.some "/tmp/joins") let log_joins () = !_log_joins let _use_legacy_join = ref true./visualizeJoins.py /tmp/joins - a config switch to switch between old and new join operator (both currently exactly the same)
→use_legacy_joininConfig.ml
As of now, this should not change anything about the functionality.
Edited by Lukas Rysavy