aboutsummaryrefslogtreecommitdiffstats
path: root/bin/main.ml
diff options
context:
space:
mode:
authorMarcos Magueta <maguetamarcos@gmail.com>2026-07-11 22:12:53 -0300
committerMarcos Magueta <maguetamarcos@gmail.com>2026-07-11 22:12:53 -0300
commit0886f3c71cf8551e4f8b3726654003a4f29645f0 (patch)
tree884176834dc4f20b0af2cf4ab72c48b945203107 /bin/main.ml
parentf22834d3aaed2b2dd2c5d4203e937fc8fb4b5507 (diff)
downloadSOL-0886f3c71cf8551e4f8b3726654003a4f29645f0.tar.gz
SOL-0886f3c71cf8551e4f8b3726654003a4f29645f0.zip
residuation: open membership returns residual constraints
Diffstat (limited to 'bin/main.ml')
-rw-r--r--bin/main.ml20
1 files changed, 10 insertions, 10 deletions
diff --git a/bin/main.ml b/bin/main.ml
index e7df2e2..c5c329a 100644
--- a/bin/main.ml
+++ b/bin/main.ml
@@ -8,17 +8,17 @@ let print_solutions solutions =
| [] -> print_endline "no."
| solutions ->
List.iter
- (fun solution ->
- match solution with
+ (fun { Sol.Vm.bindings; residue } ->
+ let parts =
+ List.map
+ (fun (variable, pattern) ->
+ Format.asprintf "%s = %a" variable Sol.Pattern.pp pattern)
+ bindings
+ @ List.map (Format.asprintf "%a" Sol.Vm.pp_residual) residue
+ in
+ match parts with
| [] -> print_endline "yes."
- | bindings ->
- let parts =
- List.map
- (fun (variable, pattern) ->
- Format.asprintf "%s = %a" variable Sol.Pattern.pp pattern)
- bindings
- in
- print_endline (String.concat ", " parts ^ "."))
+ | parts -> print_endline (String.concat ", " parts ^ "."))
solutions
let run_statements statements =