summaryrefslogtreecommitdiff
path: root/src/mono_print.sml
diff options
context:
space:
mode:
authorGravatar Adam Chlipala <adamc@hcoop.net>2008-09-07 11:33:13 -0400
committerGravatar Adam Chlipala <adamc@hcoop.net>2008-09-07 11:33:13 -0400
commit5cf1d4d086475575a31f57413c57c22bd6fda378 (patch)
treeab36ce67d2931f2c715b5b734930139c53adc670 /src/mono_print.sml
parent42c284b9204ef5dfc249cc7273ff2eaa9304e9e6 (diff)
Converting string to int
Diffstat (limited to 'src/mono_print.sml')
-rw-r--r--src/mono_print.sml13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/mono_print.sml b/src/mono_print.sml
index 7ae28cf7..da777a82 100644
--- a/src/mono_print.sml
+++ b/src/mono_print.sml
@@ -62,6 +62,11 @@ fun p_typ' par env (t, _) =
string (#1 (E.lookupDatatype env n)))
handle E.UnboundNamed _ => string ("UNBOUND_DATATYPE_" ^ Int.toString n))
| TFfi (m, x) => box [string "FFI(", string m, string ".", string x, string ")"]
+ | TOption t =>
+ (case #1 t of
+ TDatatype _ => p_typ env t
+ | TFfi ("Basis", "string") => p_typ env t
+ | _ => box [p_typ env t, string "*"])
and p_typ env = p_typ' false env
@@ -95,8 +100,8 @@ fun p_pat' par env (p, _) =
| PPrim p => Prim.p_t p
| PCon (_, n, NONE) => p_patCon env n
| PCon (_, n, SOME p) => parenIf par (box [p_patCon env n,
- space,
- p_pat' true env p])
+ space,
+ p_pat' true env p])
| PRecord xps =>
box [string "{",
p_list_sep (box [string ",", space]) (fn (x, p, _) =>
@@ -106,6 +111,10 @@ fun p_pat' par env (p, _) =
space,
p_pat env p]) xps,
string "}"]
+ | PNone _ => string "None"
+ | PSome (_, p) => box [string "Some",
+ space,
+ p_pat' true env p]
and p_pat x = p_pat' false x