From cd67ae66337085c23ca93d6f26496c634a0c5e0b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jens=20Axel=20S=C3=B8gaard?= Date: Mon, 2 Jul 2012 17:21:39 +0200 Subject: [PATCH] Fixed unparsing of a sum as factor. Issue #3. --- bracket/unparse.rkt | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/bracket/unparse.rkt b/bracket/unparse.rkt index 4b1ea5e38..d54124d8f 100644 --- a/bracket/unparse.rkt +++ b/bracket/unparse.rkt @@ -75,14 +75,14 @@ [(list-expression? form) (format "{~a}" (string-append* (add-between (map/first? #t unparse (operands form)) ",")))] - [(or (compound-expression? form) - (set-expression? form)) - (format "~a(~a)" (operator form) - (string-append* (add-between (map/first? #t unparse (operands form)) ",")))] [(plus-expression? form) (format "(~a)" (unparse-sum form #t))] [(times-expression? form) (format "(~a)" (unparse-product form #t))] + [(or (compound-expression? form) + (set-expression? form)) + (format "~a(~a)" (operator form) + (string-append* (add-between (map/first? #t unparse (operands form)) ",")))] [else ; pass value unchanged: stuff like #void, #eof, special values etc. form])) @@ -153,4 +153,6 @@ (check-equal? (unparse '(Times -2 (Sin x))) "-2*Sin(x)") (check-equal? (unparse '(Times -2 (Sin x) (Cos y))) "-2*Sin(x)*Cos(y)") (check-equal? (unparse '(Power (Times -2 (Sin x)) 5)) "(-2*Sin(x))^5") + ; A sum as factor + (check-equal? (unparse '(Times x (Plus -9 (Power x 2)))) "x*(-9+x^2)") )