;;;; levenshtein-sequence-string.scm -*- Scheme -*- ;;;; Kon Lovett, Mar '20 ;;;; Kon Lovett, Apr '12 ;;;; Kon Lovett, May '06 (include "levenshtein-sequence-interface") (module levenshtein-sequence-string SEQUENCE-OPER (import scheme (chicken base) (chicken type) (srfi 13) type-checks type-errors) (define-type sequence string) (include "levenshtein-sequence-interface.types") ;;; (define check-sequence check-string) (define sequence-length string-length) (define (sequence-prefix-length f s1 s2 . rest) (apply string-prefix-length s1 s2 rest) ) (define (sequence-suffix-length f s1 s2 . rest) (apply string-suffix-length s1 s2 rest) ) (define (sequence-for-each f s . rest) (let ((i 0)) (apply string-for-each (lambda (c) (f i c) (set! i (add1 i))) s rest) ) ) (define subsequence/shared substring/shared) ) ;module levenshtein-sequence-string