;;;; levenshtein-sequence-utf8.scm -*- Scheme -*- ;;;; Kon Lovett, Mar '20 ;;;; Kon Lovett, Apr '12 ;;;; Kon Lovett, May '06 (include "levenshtein-sequence-interface") (module levenshtein-sequence-utf8 SEQUENCE-OPER (import scheme utf8 (chicken base) (chicken type) utf8-srfi-13 (only (check-errors basic) define-check+error-type)) (include "levenshtein-sequence-utf8.types") ;;; (define-check+error-type sequence 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-utf8