diff --git a/bracket/bracket.rkt b/bracket/bracket.rkt index 6fc663853..7872864fc 100644 --- a/bracket/bracket.rkt +++ b/bracket/bracket.rkt @@ -861,12 +861,15 @@ (concurrent-substitute u ts rs)) (define (Equal u1 u2) + (define out (cond [(and (number? u1) (number? u2)) (= u1 u2)] [(and (string? u1) (string? u2)) (string=? u1 u2)] [else (construct 'Equal (list u1 u2))])) + (displayln (list 'Equal u1 u1 '=> out)) + out) (define (Expand u) ; [Cohen, Elem, p.253] diff --git a/bracket/unparse.rkt b/bracket/unparse.rkt index b49efd662..8fb5470a7 100644 --- a/bracket/unparse.rkt +++ b/bracket/unparse.rkt @@ -95,6 +95,10 @@ ; Note: Set expressions are compound expressions. (format "~a(~a)" (operator form) (string-append* (add-between (map/first? #t unparse (operands form)) ",")))])] + [(eq? form #t) + "true"] + [(eq? form #f) + "false"] [else ; TODO: pass value unchanged: stuff like #void, #eof, special values etc. (format "~a" (object-name form)) @@ -184,4 +188,7 @@ (check-equal? (unparse '(Set 1 2 3)) "Set(1,2,3)") ; Equal (check-equal? (unparse '(Equal x 2)) "x=2") + ; Booleans + (check-equal? (unparse #t) "true") + (check-equal? (unparse #f) "false") )