-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathkeep.scm
29 lines (25 loc) · 900 Bytes
/
keep.scm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
(define (evens nums)
(cond ((empty? nums) '())
((= (remainder (first nums) 2) 0)
(se (first nums) (evens (bf nums))))
(else (evens (bf nums)))))
(define (ewords sent)
(cond ((empty? sent) '())
((member? 'e (first sent))
(se (first sent) (ewords (bf sent))))
(else (ewords (bf sent)))))
(define (pronouns sent)
(cond ((empty? sent) '())
((member? (first sent)
'(I me you he the it him her we us they them))
(se (first sent) (pronouns (bf sent))))
(else (pronouns (bf sent)))))
(define (keep PRED sent)
(cond ((empty? sent) '())
((PRED (first sent))
(se (first sent) (keep PRED (bf sent))))
(else (keep PRED (bf sent)))))
(define (ewords? sent)
(member? 'e sent))
(define (pronouns? sent)
(member? sent '(I me you he the it him her we us they them)))