You are looking at historical revision 39572 of this page. It may differ significantly from its current revision.
Outdated egg!
This is an egg for CHICKEN 4, the unsupported old release. You're almost certainly looking for the CHICKEN 5 version of this egg, if it exists.
If it does not exist, there may be equivalent functionality provided by another egg; have a look at the egg index. Otherwise, please consider porting this egg to the current version of CHICKEN.
sexp-diff
Introduction
Diffs s-expressions based on Levenshtein-like edit distance.
Documentation
DIFF-SEXP computes a diff between two s-expressions which minimizes the number of atoms in the result tree, also counting edit conditionals #:new, #:old.
Examples
(sexp-diff '(DEFUN F (X) (+ (* X 2) 1)) '(DEFUN F (X) (- (* X 2) 3 1))) ==> ((DEFUN F (X) (#:new - #:old + (* X 2) #:new 3 1))) (sexp-diff '(DEFUN F (X) (+ (* X 2) 4 1)) '(DEFUN F (X) (- (* X 2) 5 3 1))) ==> ((DEFUN F (X) (#:new - #:old + (* X 2) #:new 5 #:new 3 #:old 4 1))) (sexp-diff '(DEFUN F (X) (+ (* X 2) 4 4 1)) '(DEFUN F (X) (- (* X 2) 5 5 3 1))) ==> ((DEFUN F (X) (#:new - #:old + (* X 2) #:new 5 #:new 5 #:new 3 #:old 4 #:old 4 1)))
Authors
Michael Weber, ported to racket by Vincent St-Amour, ported to CHICKEN by felix winkelmann.
License
LGPL
History
- 0.2.1 Fixed tests (correct exit status)
- 0.2 Fixed meta file (added category)
- 0.1 Initial import