summaryrefslogtreecommitdiffstats
path: root/ShowSyntax.sml
diff options
context:
space:
mode:
authorRose Hogenson <rosehogenson@posteo.net>2025-11-04 18:58:28 -0800
committerRose Hogenson <rosehogenson@posteo.net>2025-11-04 21:05:18 -0800
commiteaa183b7dfc841df75d42ace7a90ada1e40ff282 (patch)
tree1d627b8088d5996a7bbf7c0a7439360e31de3dc3 /ShowSyntax.sml
parentc48a992a6ed6ebd79c344b37364a680ddd948dea (diff)
downloadsml-eaa183b7dfc841df75d42ace7a90ada1e40ff282.tar.zst
Add listsHEADmain
Diffstat (limited to 'ShowSyntax.sml')
-rw-r--r--ShowSyntax.sml4
1 files changed, 4 insertions, 0 deletions
diff --git a/ShowSyntax.sml b/ShowSyntax.sml
index 519fb2b..70f082b 100644
--- a/ShowSyntax.sml
+++ b/ShowSyntax.sml
@@ -44,6 +44,8 @@ and patToStringI (indent : string) (Syntax.PWild : Syntax.pat) : string =
"PTuple " ^ listToString (patToStringI) indent x
| patToStringI (indent : string) (Syntax.PCon x : Syntax.pat) : string =
"PCon " ^ (fn indent => fn (x0, x1) => let val indent' = indent ^ " " in "(\n" ^ indent' ^ listToString (stringToStringI) indent' x0 ^ ",\n" ^ indent' ^ patToStringI indent' x1 ^ "\n" ^ indent ^ ")" end) indent x
+ | patToStringI (indent : string) (Syntax.PList x : Syntax.pat) : string =
+ "PList " ^ listToString (patToStringI) indent x
and patToString (x : Syntax.pat) : string = patToStringI "" x
and identTypeToStringI (indent : string) (Syntax.ITVar : Syntax.identType) : string =
@@ -140,6 +142,8 @@ and typedPatToStringI (indent : string) (Syntax.TPWild : Syntax.typedPat) : stri
"TPTuple " ^ listToString ((fn indent => fn (x0, x1) => let val indent' = indent ^ " " in "(\n" ^ indent' ^ typedPatToStringI indent' x0 ^ ",\n" ^ indent' ^ tyToStringI indent' x1 ^ "\n" ^ indent ^ ")" end)) indent x
| typedPatToStringI (indent : string) (Syntax.TPCon x : Syntax.typedPat) : string =
"TPCon " ^ (fn indent => fn (x0, x1) => let val indent' = indent ^ " " in "(\n" ^ indent' ^ listToString (stringToStringI) indent' x0 ^ ",\n" ^ indent' ^ (fn indent => fn (x0, x1) => let val indent' = indent ^ " " in "(\n" ^ indent' ^ typedPatToStringI indent' x0 ^ ",\n" ^ indent' ^ tyToStringI indent' x1 ^ "\n" ^ indent ^ ")" end) indent' x1 ^ "\n" ^ indent ^ ")" end) indent x
+ | typedPatToStringI (indent : string) (Syntax.TPList x : Syntax.typedPat) : string =
+ "TPList " ^ listToString ((fn indent => fn (x0, x1) => let val indent' = indent ^ " " in "(\n" ^ indent' ^ typedPatToStringI indent' x0 ^ ",\n" ^ indent' ^ tyToStringI indent' x1 ^ "\n" ^ indent ^ ")" end)) indent x
and typedPatToString (x : Syntax.typedPat) : string = typedPatToStringI "" x
and typedExprToStringI (indent : string) (Syntax.TEIdent x : Syntax.typedExpr) : string =