Skip to content

Commit

Permalink
More useful debug messages
Browse files Browse the repository at this point in the history
  • Loading branch information
matijapretnar committed May 24, 2023
1 parent c754534 commit 130709b
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 18 deletions.
10 changes: 5 additions & 5 deletions src/03-typechecker/unification.ml
Original file line number Diff line number Diff line change
Expand Up @@ -385,9 +385,9 @@ and dirt_eq_step ~loc sub paused rest_queue { Dirt.effect_set = o1; row = row1 }
apply_substitution sub' sub paused rest_queue

let rec unify ~loc type_definitions (sub, paused, (queue : Constraint.t)) =
Print.debug "SUB: %t" (Substitution.print sub);
Print.debug "PAUSED: %t" (Constraints.print paused);
Print.debug "QUEUE: %t" (Constraint.print queue);
(* Print.debug "SUB: %t" (Substitution.print sub); *)
(* Print.debug "PAUSED: %t" (Constraints.print paused); *)
(* Print.debug "QUEUE: %t" (Constraint.print queue); *)
match queue with
| { skeleton_equalities = (sk1, sk2) :: skeleton_equalities; _ } ->
skel_eq_step ~loc sub paused { queue with skeleton_equalities } sk1 sk2
Expand Down Expand Up @@ -464,8 +464,8 @@ let solve ~loc type_definitions constraints =
unify ~loc type_definitions
(Substitution.empty, Constraints.empty, constraints)
in
(* Print.debug "sub: %t" (Substitution.print_substitutions sub); *)
(* Print.debug "solved: %t" (Constraint.print_constraints solved); *)
(* Print.debug "sub: %t" (Substitution.print sub); *)
(* Print.debug "solved: %t" (Constraints.print constraints); *)
let constraints' = garbage_collect constraints in
let subs', constraints' =
unify ~loc type_definitions (sub, constraints, constraints')
Expand Down
30 changes: 17 additions & 13 deletions src/04-optimizer/optimizer.ml
Original file line number Diff line number Diff line change
Expand Up @@ -121,18 +121,20 @@ let recast_computation hnd comp =
| _ -> None

let rec optimize_expression state exp =
(* Print.debug "Optimizing expression: %t" (Term.print_expression exp); *)
let exp' = optimize_expression' state exp in
(* if exp' <> exp'' then
Print.debug "%t ~> %t"
(Term.print_expression exp')
(Term.print_expression exp''); *)
(* if exp <> exp' then
Print.debug "Subterms optimized to: %t" (Term.print_expression exp')
else Print.debug "No subterms optimized"; *)
assert (Type.equal_ty exp.ty exp'.ty);
let exp'' = reduce_expression state exp' in
(* if exp' <> exp'' then
Print.debug "%t ~> %t"
(Term.print_expression exp')
(Term.print_expression exp''); *)
Print.debug "Reduced to: %t" (Term.print_expression exp'')
else Print.debug "No reductions"; *)
assert (Type.equal_ty exp'.ty exp''.ty);
(* Print.debug "Done optimizing expression: %t ~> %t"
(Term.print_expression exp)
(Term.print_expression exp''); *)
exp''

and optimize_expression' state exp =
Expand All @@ -153,18 +155,20 @@ and optimize_expression' state exp =
Term.castExp (optimize_expression state exp, coer)

and optimize_computation state cmp =
(* Print.debug "Optimizing computation: %t" (Term.print_computation cmp); *)
let cmp' = optimize_computation' state cmp in
(* if cmp <> cmp' then
Print.debug "%t ~> %t"
(Term.print_computation cmp)
(Term.print_computation cmp'); *)
Print.debug "Subterms optimized to: %t" (Term.print_computation cmp')
else Print.debug "No subterms optimized"; *)
assert (Type.equal_dirty cmp.ty cmp'.ty);
let cmp'' = reduce_computation state cmp' in
(* if cmp' <> cmp'' then
Print.debug "%t ~> %t"
(Term.print_computation cmp')
(Term.print_computation cmp''); *)
Print.debug "Reduced to: %t" (Term.print_computation cmp'')
else Print.debug "No reductions"; *)
assert (Type.equal_dirty cmp'.ty cmp''.ty);
(* Print.debug "Done optimizing computation: %t ~> %t"
(Term.print_computation cmp)
(Term.print_computation cmp''); *)
cmp''

and optimize_computation' state cmp =
Expand Down

0 comments on commit 130709b

Please sign in to comment.