diff options
| author | coqbot-app[bot] | 2021-01-04 12:55:33 +0000 |
|---|---|---|
| committer | GitHub | 2021-01-04 12:55:33 +0000 |
| commit | a22da3e70551658deefbbedf261acdc3ead5403d (patch) | |
| tree | ff5823557a9d215e88ec23e673974c89b00a776b /dev/top_printers.ml | |
| parent | 006adfbd19d5ae736463f51c7509af795070e1c7 (diff) | |
| parent | ad8c2b7dab1b0759d1c304350523d6d2cc9c7b24 (diff) | |
Merge PR #13685: Add a debug printer for fconstr substitutions.
Reviewed-by: SkySkimmer
Diffstat (limited to 'dev/top_printers.ml')
| -rw-r--r-- | dev/top_printers.ml | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/dev/top_printers.ml b/dev/top_printers.ml index 4faa12af79..6ce347ad59 100644 --- a/dev/top_printers.ml +++ b/dev/top_printers.ml @@ -85,6 +85,15 @@ let pppattern = (fun x -> pp(envpp pr_constr_pattern_env x)) let pptype = (fun x -> try pp(envpp (fun env evm t -> pr_ltype_env env evm t) x) with e -> pp (str (Printexc.to_string e))) let ppfconstr c = ppconstr (CClosure.term_of_fconstr c) +let ppfsubst s = + let (s, k) = Esubst.Internal.repr s in + let sep () = str ";" ++ spc () in + let pr = function + | Esubst.Internal.REL n -> str "<#" ++ int n ++ str ">" + | Esubst.Internal.VAL (k, x) -> pr_constr (Vars.lift k (CClosure.term_of_fconstr x)) + in + pp @@ str "[" ++ prlist_with_sep sep pr s ++ str "| " ++ int k ++ str "]" + let ppnumtokunsigned n = pp (NumTok.Unsigned.print n) let ppnumtokunsignednat n = pp (NumTok.UnsignedNat.print n) |
