summaryrefslogtreecommitdiff
path: root/src/Obs/Pretty.idr
diff options
context:
space:
mode:
authorGreg Brown <greg.brown01@ed.ac.uk>2023-01-05 17:06:33 +0000
committerGreg Brown <greg.brown01@ed.ac.uk>2023-01-05 17:06:33 +0000
commit06bd13433cb5e7edcff551454107c9d4e4d88f8f (patch)
treea2eae19d92df1564290f3ff53c68587d0d696384 /src/Obs/Pretty.idr
parent3950a84c00f54ab39f2a209c368cc02460eeebd7 (diff)
Add more program structure to normal forms.
Diffstat (limited to 'src/Obs/Pretty.idr')
-rw-r--r--src/Obs/Pretty.idr17
1 files changed, 10 insertions, 7 deletions
diff --git a/src/Obs/Pretty.idr b/src/Obs/Pretty.idr
index 52a358c..bd163ee 100644
--- a/src/Obs/Pretty.idr
+++ b/src/Obs/Pretty.idr
@@ -4,19 +4,22 @@ import public Text.PrettyPrint.Prettyprinter
-- ty is rendered Open
export
-prettyDecl : (name : String) -> (ty : Doc ann) -> Doc ann
-prettyDecl name ty = parens $ group (pretty name <++> colon <+> line <+> align ty)
+prettyDecl : (name : Maybe String) -> (ty : Doc ann) -> Doc ann
+prettyDecl Nothing ty = parens $ group $ align ty
+prettyDecl (Just name) ty = parens $ group (pretty name <++> colon <+> line <+> align ty)
--- ty and tail are rendered Open
+-- names are rendered Open
export
prettyDeclForm : (prec : Prec) ->
- (name : String) ->
- (ty : Doc ann) ->
+ (decls : List (Doc ann)) ->
(sep : String) ->
(tail : Doc ann) ->
Doc ann
-prettyDeclForm d name ty sep tail =
- parenthesise (d > Open) $ group $ vsep $ [prettyDecl name ty <++> pretty sep, align tail]
+prettyDeclForm d decls sep tail =
+ parenthesise (d > Open) $
+ group $
+ concatWith (\x, y => x <++> pretty sep <+> line <+> y) $
+ decls ++ [align tail]
-- body is rendered Open
export