2021-12-27 15:07:07 +00:00
|
|
|
#lang scheme
|
|
|
|
|
2021-12-29 02:32:43 +00:00
|
|
|
(define (displayln x)
|
|
|
|
(display x)
|
|
|
|
(newline))
|
|
|
|
(define (printbool x)
|
|
|
|
(displayln (bool->int x)))
|
2021-12-17 05:45:22 +00:00
|
|
|
|
2021-12-29 02:32:43 +00:00
|
|
|
(define (true x y)
|
|
|
|
x)
|
|
|
|
(define (false x y)
|
|
|
|
y)
|
|
|
|
(define (and x y)
|
|
|
|
(x y x))
|
|
|
|
(define (or x y)
|
|
|
|
(x x y))
|
|
|
|
(define (not x)
|
|
|
|
(x false true))
|
2021-12-17 05:45:22 +00:00
|
|
|
|
2021-12-29 02:32:43 +00:00
|
|
|
(define (bool->int x)
|
|
|
|
(if (equal? x true) 1 (if (equal? x false) 0 (- 1))))
|
2021-12-17 05:45:22 +00:00
|
|
|
|
|
|
|
(printbool true)
|
|
|
|
(printbool false)
|
|
|
|
(printbool bool->int)
|
|
|
|
(printbool (not true))
|
|
|
|
(printbool (not false))
|
|
|
|
(printbool (and true true))
|
|
|
|
(printbool (and true false))
|
|
|
|
(printbool (and false true))
|
|
|
|
(printbool (and false false))
|
|
|
|
(printbool (or true true))
|
|
|
|
(printbool (or true false))
|
|
|
|
(printbool (or false true))
|
|
|
|
(printbool (or false false))
|
2021-12-29 02:32:43 +00:00
|
|
|
(printbool (and (or true false) (or false true)))
|