(index ("levenshtein-distance/byte" 0) ("levenshtein-distance/transpose-byte" 210) ("levenshtein-distance/sequence" 608) ("levenshtein-distance/vector*" 1838) ("levenshtein-operator" 2706) ("levenshtein-operator-key" 2776) ("levenshtein-operator-name" 2776) ("levenshtein-operator-cost" 2776) ("levenshtein-operator-above" 2776) ("levenshtein-operator-left" 2776) ("make-levenshtein-operator" 3248) ("levenshtein-operator?" 3755) ("clone-levenshtein-operator" 3894) ("levenshtein-operator-ref" 4268) ("levenshtein-operator-set!" 4402) ("levenshtein-operator-delete!" 4534) ("levenshtein-operator-reset" 4787) ("levenshtein-operator=?" 4929) ("levenshtein-path-iterator" 5140) ("print-levenshtein-matrix" 5667))
(def (sig (procedure "(levenshtein-distance/byte SOURCE TARGET)" (id levenshtein-distance/byte))) (p "Calculates the edit distance from the " (tt "SOURCE") " to the " (tt "TARGET") ". All costs are unitary."))
(def (sig (procedure "(levenshtein-distance/transpose-byte SOURCE TARGET)" (id levenshtein-distance/transpose-byte))) (p "Calculates the edit distance from the " (tt "SOURCE") " to the " (tt "TARGET") ", taking into account the Transpose operation. All costs are unitary.") (p "By using the Transpose operation the total edit cost is not at least the difference of the sizes of the two strings."))
(def (sig (procedure "(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])" (id levenshtein-distance/sequence))) (dl (dt (tt "SOURCE")) (dd (tt "string") ".") (dt (tt "TARGET")) (dd (tt "string") ".") (dt (tt "INSERT-COST")) (dd (tt "number") ", default " (tt "1") ".") (dt (tt "DELETE-COST")) (dd (tt "number") ", default " (tt "1") ".") (dt (tt "SUBSTITUTE-COST")) (dd (tt "number") ", default " (tt "1") ".") (dt (tt "ELM-EQL")) (dd (tt "procedure") "; " (tt "(-> object object boolean)") ", default " (tt "eqv?") ". The equality predicate.") (dt (tt "GET-WORK-VECTOR")) (dd (tt "procedure") ", default " (tt "make-vector") ".") (dt (tt "LIMIT-COST")) (dd (tt "number") " or " (tt "#f") ", default " (tt "#f") ". Quit when cost over limit.")) (p "The " (tt "SOURCE") " & " (tt "TARGET") " must be the same type, which the instantiating sequence module supports.") (p (b "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."))
(def (sig (procedure "(levenshtein-distance/vector* SOURCE TARGET [EDIT-OPER ...] [#:elm-eql ELM-EQL] [#:operations? OPERATIONS])" (id levenshtein-distance/vector*))) (p "Calculates the edit distance from the source vector " (tt "SOURCE") " to the target vector " (tt "TARGET") ". Returns the total edit cost or (values <total edit cost> <performed operations matrix>).") (dl (dt (tt "SOURCE")) (dd (tt "vector") ".") (dt (tt "TARGET")) (dd (tt "vector") ".") (dt (tt "EDIT-OPER")) (dd (tt "levenshtein-operator") ". Edit operation definitions to apply. Defaults are the basic Insert, Delete, and Substitute.") (dt (tt "ELM-EQL")) (dd (tt "procedure") "; " (tt "(-> object object boolean)") ", default " (tt "char=?") ". The equality predicate.") (dt (tt "OPERATIONS")) (dd (tt "boolean") ". Include the matrix of edit operations performed? Default " (tt "#f") ".")))
(def (sig (record "levenshtein-operator" (id levenshtein-operator))))
(def (sig (procedure "(levenshtein-operator-key OPER) -> {{symbol}}" (id levenshtein-operator-key)) (procedure "(levenshtein-operator-name OPER) -> {{string}}" (id levenshtein-operator-name)) (procedure "(levenshtein-operator-cost OPER) -> {{number}}" (id levenshtein-operator-cost)) (procedure "(levenshtein-operator-above OPER) -> {{fixnum}}" (id levenshtein-operator-above)) (procedure "(levenshtein-operator-left OPER) -> {{fixnum}}" (id levenshtein-operator-left))))
(def (sig (procedure "(make-levenshtein-operator KEY NAME COST ABOVE LEFT)" (id make-levenshtein-operator))) (p "Returns a new edit operator.") (dl (dt (tt "KEY")) (dd (tt "symbol") ". Key for the operation.") (dt (tt "NAME")) (dd (tt "string") ". Describes the operation.") (dt (tt "COST")) (dd (tt "number") ". The cost of the operation.") (dt (tt "ABOVE")) (dd (tt "non-negative-fixnum") ". How far back in the source.") (dt (tt "LEFT")) (dd (tt "non-negative-fixnum") ". How far back in the target.")))
(def (sig (procedure "(levenshtein-operator? OBJECT)" (id levenshtein-operator?))) (p "Is the " (tt "OBJECT") " a levenshtein operator?"))
(def (sig (procedure "(clone-levenshtein-operator EDIT-OPERATION [#:key KEY] [#:name NAME] [#:cost COST] [#:above ABOVE] [#:left LEFT])" (id clone-levenshtein-operator))) (p "Returns a duplicate of the " (tt "EDIT-OPERATION") ", with field values provided by the optional keyword arguments. " (tt "EDIT-OPERATION") " may be the key of the already defined edit operation."))
(def (sig (procedure "(levenshtein-operator-ref KEY)" (id levenshtein-operator-ref))) (p "Get the definition of an edit operation."))
(def (sig (procedure "(levenshtein-operator-set! EDIT-OPERATION)" (id levenshtein-operator-set!))) (p "Define an edit operation."))
(def (sig (procedure "(levenshtein-operator-delete! EDIT-OPERATION)" (id levenshtein-operator-delete!))) (p "Removes the " (tt "EDIT-OPERATION") " definition. " (tt "EDIT-OPERATION") " may be the " (tt "KEY") " of the already defined edit operation."))
(def (sig (procedure "(levenshtein-operator-reset)" (id levenshtein-operator-reset))) (p "Restore defined edit operations to the base set."))
(def (sig (procedure "(levenshtein-operator=? A B)" (id levenshtein-operator=?))) (p "Are the " (tt "levenshtein-operator") " " (tt "A") " & " (tt "levenshtein-operator") " " (tt "B") " equal for all fields?"))
(def (sig (procedure "(levenshtein-path-iterator PATH-MATRIX)" (id levenshtein-path-iterator))) (p "Creates an optimal edit distance operation path iterator over the performed operations matrix " (tt "PATH-MATRIX") ". The matrix is usually the result of an invocation of " (tt "(levenshtein-distance/vector* ... operations: #t)") ".") (p "Each invocation of the iterator will generate a list of the form: " (tt "((cost source-index target-index levenshtein-operator) ...)") ". The last invocation will return " (tt "#f") "."))
(def (sig (procedure "(print-levenshtein-matrix PATH-MATRIX)" (id print-levenshtein-matrix))) (p "Displays a readable representation of the " (tt "PATH-MATRIX") " on the " (tt "current-output-port") "."))
