From ea60a04d96a1d5ad66afcbb3228128691ab2e53e Mon Sep 17 00:00:00 2001 From: sforman Date: Fri, 4 Aug 2023 08:14:45 -0700 Subject: [PATCH] joy-expression-to-string --- implementations/scheme-chicken/joy.scm | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/implementations/scheme-chicken/joy.scm b/implementations/scheme-chicken/joy.scm index d197de7..b983396 100644 --- a/implementations/scheme-chicken/joy.scm +++ b/implementations/scheme-chicken/joy.scm @@ -44,6 +44,17 @@ (define (text-to-expression text) (parse (tokenize text))) -(display (text-to-expression "ab cd [[]] 234 [true] false")) + +(define (joy-term-to-string term) + (cond ((boolean? term) (if term "true" "false")) + ((number? term) (->string term)) + ((list? term) (conc "[" (joy-expression-to-string term) "]")) + (else term))) + +(define (joy-expression-to-string expr) + (string-intersperse (map joy-term-to-string expr) " ")) + + +(display (joy-expression-to-string (text-to-expression "ab cd [[ ]] 234 [true] false"))) (newline) -- 2.11.0