about summary refs log tree commit diff
path: root/users/wpcarro/scratch/compiler/types.ml
diff options
context:
space:
mode:
authorWilliam Carroll <wpcarro@gmail.com>2022-10-24T21·51-0400
committerwpcarro <wpcarro@gmail.com>2022-10-25T03·59+0000
commit1e9c3955bf2c17206c6dd536ebaf96a7e6f4f22d (patch)
tree3ad05bbd2f8c6fc7ccfe8e6e507fe386d9957a75 /users/wpcarro/scratch/compiler/types.ml
parenta8876a4cdaaf0a1f051fefad436e08d983b402e2 (diff)
refactor(wpcarro/compiler): Modularize debug fns r/5195
Define `debug.ml` and `prettify.ml` to clean-up some code.

Change-Id: Iee2e1ed666f2ccb5e56cc50054ca85b8ba513f3b
Reviewed-on: https://cl.tvl.fyi/c/depot/+/7078
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Diffstat (limited to '')
-rw-r--r--users/wpcarro/scratch/compiler/types.ml49
1 files changed, 0 insertions, 49 deletions
diff --git a/users/wpcarro/scratch/compiler/types.ml b/users/wpcarro/scratch/compiler/types.ml
index 99f35cd5a5..79c51c6812 100644
--- a/users/wpcarro/scratch/compiler/types.ml
+++ b/users/wpcarro/scratch/compiler/types.ml
@@ -9,23 +9,6 @@ type value =
   | ValueVarApplication of string * value
   | ValueBinder of string * value * value
 
-let rec debug_value (x : value) : string =
-  match x with
-  | ValueLiteral (LiteralInt x) ->
-     Printf.sprintf "Int %d" x
-  | ValueLiteral (LiteralBool x) ->
-     Printf.sprintf "Bool %b" x
-  | ValueVariable x ->
-     Printf.sprintf "Var %s" x
-  | ValueFunction (name, x) ->
-     Printf.sprintf "Fn %s %s" name (debug_value x)
-  | ValueApplication (f, x) ->
-     Printf.sprintf "App %s %s" (debug_value f) (debug_value x)
-  | ValueVarApplication (name, x) ->
-     Printf.sprintf "App %s %s" name (debug_value x)
-  | ValueBinder (name, x, body) ->
-     Printf.sprintf "Bind %s %s %s" name (debug_value x) (debug_value body)
-
 module FromString = Map.Make (String)
 
 type _type =
@@ -34,43 +17,11 @@ type _type =
   | TypeVariable of string
   | TypeArrow of _type * _type
 
-let rec debug_type (t : _type) : string =
-  match t with
-  | TypeInt -> "Integer"
-  | TypeBool -> "Boolean"
-  | TypeVariable k -> Printf.sprintf "%s" k
-  | TypeArrow (a, b) -> Printf.sprintf "%s -> %s" (debug_type a) (debug_type b)
-
 type quantified_type = QuantifiedType of string list * _type
 
-let debug_quantified_type (q : quantified_type) : string =
-  let QuantifiedType (vars, t) = q in
-  if List.length vars == 0 then
-    Printf.sprintf "%s" (debug_type t)
-  else
-    Printf.sprintf "forall %s. %s" (String.concat "," vars) (debug_type t)
-
 type set = bool FromString.t
 type substitution = _type FromString.t
 
-let debug_substitution (s : substitution) : string =
-  FromString.fold (fun k v acc -> Printf.sprintf "%s\"%s\" |-> %s;" acc k (debug_type v)) s ""
-  |> Printf.sprintf "{ %s }"
-
 type env = quantified_type FromString.t
 
-let debug_env (s : env) : string =
-  FromString.fold (fun k v acc -> Printf.sprintf "%s\"%s\" |-> %s;" acc k (debug_quantified_type v)) s ""
-  |> Printf.sprintf "{ %s }"
-
 type inference = Inference of substitution * _type
-
-let debug_inference (Inference (s, t)) =
-  Printf.sprintf "type: %s; sub: %s" (debug_type t) (debug_substitution s)
-
-let rec pretty (t : _type) : string =
-  match t with
-  | TypeInt -> "Integer"
-  | TypeBool -> "Boolean"
-  | TypeVariable k -> Printf.sprintf "%s" k
-  | TypeArrow (a, b) -> Printf.sprintf "%s -> %s" (pretty a) (pretty b)