- (levenshtein-distance/sequence SOURCE TARGET [:insert-cost INSERT-COST] [#:delete-cost DELETE-COST] [#:substitute-cost SUBSTITUTE-COST] (#:get-work-vector GET-WORK-VECTOR) [#:elm-eql ELM-EQL] [#:limit-cost LIMIT-COST]) -> (or false cost)procedure
- SOURCE
- string.
- TARGET
- string.
- INSERT-COST
- number, default 1.
- DELETE-COST
- number, default 1.
- SUBSTITUTE-COST
- number, default 1.
- ELM-EQL
- procedure; (-> object object boolean), default eqv?. The equality predicate.
- GET-WORK-VECTOR
- procedure, default make-vector.
- LIMIT-COST
- number or #f, default #f. Quit when cost over limit & return #f.
The SOURCE & TARGET must be the same type, which the instantiating sequence module supports.
Note that the element comparison procedure is passed via the argument list, and not via the sequence implementation module. Annoying when using strings but useful when using vectors.