;;; hamming.el --- Hamming (exercism) ;;; Commentary: ;;; Code: (require 'cl-seq) (require 'cl-lib) (defun kj/sum (lst) (cl-reduce #'+ lst :initial-value 0)) (defun hamming-distance (l1 l2) (when (not (eql (length l1) (length l2))) (error 'lengths-differ)) (let ((fn (lambda (x y) (if (equal x y) 0 1)))) (kj/sum (cl-mapcar fn l1 l2)))) (provide 'hamming) ;;; hamming.el ends here