Skip to content

Commit d25253c

Browse files
committed
First version
1 parent 290b620 commit d25253c

1 file changed

Lines changed: 29 additions & 0 deletions

File tree

scheme/scheme2/pairprocedures.scm

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
#lang scheme
2+
3+
(define pair1 (cons 1 2))
4+
(define pair2 (cons 'a 'z))
5+
(define pair3 '(car cdr))
6+
7+
(newline)
8+
"pair procedures"
9+
(define in-order-pair?
10+
(lambda (pr)
11+
(>= (cdr pr) (car pr))))
12+
(in-order-pair? '(3 . 2))
13+
(in-order-pair? '(2 . 3))
14+
(in-order-pair? '(3 . 3))
15+
(in-order-pair? pair1)
16+
17+
(define raise-to-power
18+
(lambda (pr)
19+
(expt (car pr) (cdr pr))))
20+
(raise-to-power '(3 . 2))
21+
(raise-to-power '(2 . 3))
22+
(raise-to-power '(3 . 3))
23+
(raise-to-power pair1)
24+
25+
(define multiply-by
26+
(lambda (pr)
27+
(if (null? (car pr))
28+
'()
29+
(cons (* (car (car pr)) (cdr pr)) (multiply-by (cons (cdr (car pr)) (cdr pr)))))))

0 commit comments

Comments
 (0)