;; Ported from https://rosettacode.org/wiki/Assertions_in_design_by_contract#Eiffel (require "contract") ;; (set-dynamic *use-contract* nil) (defcontract average-of-absolutes (values) (:in () (> (length values) 0)) (:out (res) (>= res 0)) (quotient (reduce #'+ (map ' #'abs values)) (length values))) ;; (average-of-absolutes '(1 3)) ;; (average-of-absolutes '())