37 lines
717 B
Scheme
37 lines
717 B
Scheme
#lang scheme
|
|
|
|
(define (displayln x)
|
|
(display x)
|
|
(newline))
|
|
(define (printbool x)
|
|
(displayln (bool->int x)))
|
|
|
|
(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))
|
|
|
|
(define (bool->int x)
|
|
(if (equal? x true) 1 (if (equal? x false) 0 (- 1))))
|
|
|
|
(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))
|
|
(printbool (and (or true false) (or false true)))
|