(define (matcherbot-creator pattern)
(lambda (sent)
(cond ( (if (memsent? pattern sent)
(outfollow pattern sent)
#f)
((endofsent? pattern sent) '())
((empty? pattern) sent)))
))
(define (memsent? pattern sent)
(cond ((empty? pattern) #t)
((empty? sent) #f)
((equal? (first pattern) (first sent))
(memsent? (bf pattern) (bf sent)))
(else (memsent? pattern (bf sent)))))
(define (outfollow pattern sent)
(cond ((empty? sent) '())
((empty? pattern) 'sent)
((equal? (first pattern) (first sent))
(se '() (outfollow (bf pattern) (bf sent))))
(else (outfollow pattern (bf sent)))
))
(define (endofsent? pattern sent)
(cond ((empty? sent) #t)
((empty? pattern) sent)
((equal? (first pattern) (first sent))
(endofsent? (bf pattern) (bf sent)))
(else (endofsent? pattern (bf sent)))))
需要通过(require math/bigfloat)
导入math/bigfloat
库