From a6b97572ae0b3442f3996bdaf2742cd855ef0983 Mon Sep 17 00:00:00 2001 From: Eduardo Julian Date: Sun, 18 Dec 2016 15:35:28 -0400 Subject: - Better formatting for types and lists. --- stdlib/source/lux/data/text/format.lux | 7 ++++++- stdlib/source/lux/type.lux | 14 +++++++------- 2 files changed, 13 insertions(+), 8 deletions(-) (limited to 'stdlib/source') diff --git a/stdlib/source/lux/data/text/format.lux b/stdlib/source/lux/data/text/format.lux index 743502d11..95dd10914 100644 --- a/stdlib/source/lux/data/text/format.lux +++ b/stdlib/source/lux/data/text/format.lux @@ -51,4 +51,9 @@ (def: #export (%list formatter) (All [a] (-> (Formatter a) (Formatter (List a)))) (lambda [values] - (format "(list " (text;join-with " " (map formatter values)) ")"))) + (case values + #;Nil + "(list)" + + _ + (format "(list " (text;join-with " " (map formatter values)) ")")))) diff --git a/stdlib/source/lux/type.lux b/stdlib/source/lux/type.lux index 91b44bfd8..c81d5e23d 100644 --- a/stdlib/source/lux/type.lux +++ b/stdlib/source/lux/type.lux @@ -216,10 +216,10 @@ (#;HostT name params) (case params #;Nil - ($_ Text/append "(^ " name ")") + ($_ Text/append "(host " name ")") _ - ($_ Text/append "(^ " name " " (|> params (List/map to-text) list;reverse (list;interpose " ") (List/fold Text/append "")) ")")) + ($_ Text/append "(host " name " " (|> params (List/map to-text) list;reverse (list;interpose " ") (List/fold Text/append "")) ")")) #;VoidT "Void" @@ -262,11 +262,11 @@ (let [[type-fun type-args] (flatten-application type)] ($_ Text/append "(" (to-text type-fun) " " (|> type-args (List/map to-text) list;reverse (list;interpose " ") (List/fold Text/append "")) ")")) - (#;UnivQ env body) - ($_ Text/append "(All " (to-text body) ")") - - (#;ExQ env body) - ($_ Text/append "(Ex " (to-text body) ")") + (^template [ ] + ( env body) + ($_ Text/append "(" " {" (|> env (List/map to-text) (text;join-with " ")) "} " (to-text body) ")")) + ([#;UnivQ "All"] + [#;ExQ "Ex"]) (#;NamedT [module name] type) ($_ Text/append module ";" name) -- cgit v1.2.3