about summary refs log blame commit diff stats
path: root/dbc.lsp
blob: 3429896164c7a2aa163b80b695f366a2be8b608a (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11










                                                                                   
;; 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 '<list> #'abs values)) (length values)))
;; (average-of-absolutes '(1 3))
;; (average-of-absolutes '())