summaryrefslogtreecommitdiffstats
path: root/ShowSyntax.sml
diff options
context:
space:
mode:
authorRose Hogenson <rosehogenson@posteo.net>2025-07-04 11:19:55 -0700
committerRose Hogenson <rosehogenson@posteo.net>2025-07-04 11:19:55 -0700
commited48b02873f3ea3cab0107176d00eb00c9519766 (patch)
treeb8520790160c42466b5bef7644365259c6076bc4 /ShowSyntax.sml
parentInstantiate asdf (diff)
downloadsml-ed48b02873f3ea3cab0107176d00eb00c9519766.tar.zst
Add signatures
Diffstat (limited to 'ShowSyntax.sml')
-rw-r--r--ShowSyntax.sml4
1 files changed, 3 insertions, 1 deletions
diff --git a/ShowSyntax.sml b/ShowSyntax.sml
index f28895d..53cc2af 100644
--- a/ShowSyntax.sml
+++ b/ShowSyntax.sml
@@ -87,7 +87,9 @@ and decToStringI (indent : string) (Syntax.DVal x : Syntax.dec) : string =
| decToStringI (indent : string) (Syntax.DType x : Syntax.dec) : string =
"DType " ^ (fn indent => fn (x0, x1) => let val indent' = indent ^ " " in "(\n" ^ indent' ^ stringToStringI indent' x0 ^ ",\n" ^ indent' ^ etypeToStringI indent' x1 ^ "\n" ^ indent ^ ")" end) indent x
| decToStringI (indent : string) (Syntax.DStruct x : Syntax.dec) : string =
- "DStruct " ^ (fn indent => fn (x0, x1) => let val indent' = indent ^ " " in "(\n" ^ indent' ^ stringToStringI indent' x0 ^ ",\n" ^ indent' ^ structExprToStringI indent' x1 ^ "\n" ^ indent ^ ")" end) indent x
+ "DStruct " ^ (fn indent => fn (x0, x1, x2) => let val indent' = indent ^ " " in "(\n" ^ indent' ^ stringToStringI indent' x0 ^ ",\n" ^ indent' ^ optionToString (stringToStringI) indent' x1 ^ ",\n" ^ indent' ^ structExprToStringI indent' x2 ^ "\n" ^ indent ^ ")" end) indent x
+ | decToStringI (indent : string) (Syntax.DSig x : Syntax.dec) : string =
+ "DSig " ^ (fn indent => fn (x0, x1) => let val indent' = indent ^ " " in "(\n" ^ indent' ^ stringToStringI indent' x0 ^ ",\n" ^ indent' ^ listToString ((fn indent => fn (x0, x1) => let val indent' = indent ^ " " in "(\n" ^ indent' ^ stringToStringI indent' x0 ^ ",\n" ^ indent' ^ etypeToStringI indent' x1 ^ "\n" ^ indent ^ ")" end)) indent' x1 ^ "\n" ^ indent ^ ")" end) indent x
and decToString (x : Syntax.dec) : string = decToStringI "" x
and structExprToStringI (indent : string) (Syntax.SIdent x : Syntax.structExpr) : string =