;;;; levenshtein-sequence-interface.scm -*- Scheme -*- ;;;; Kon Lovett, Mar '20 ;;;; Kon Lovett, Apr '12 (import scheme) (import (chicken base)) (import (chicken type)) (define-interface SEQUENCE-OPER ( sequence-length ;sequence -> number sequence-prefix-length ;procedure sequence sequence #!rest sequence -> number sequence-suffix-length ;procedure sequence sequence #!rest sequence -> number sequence-for-each ;procedure sequence #!rest sequence -> number subsequence/shared)) ;sequence number #!optional number -> sequence (define-type sequence (or vector list string (struct shared-vector)))