about summary refs log tree commit diff stats
path: root/dbc.lsp
diff options
context:
space:
mode:
Diffstat (limited to 'dbc.lsp')
-rw-r--r--dbc.lsp11
1 files changed, 11 insertions, 0 deletions
diff --git a/dbc.lsp b/dbc.lsp
new file mode 100644
index 0000000..3429896
--- /dev/null
+++ b/dbc.lsp
@@ -0,0 +1,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 '())