about summary refs log tree commit diff stats
path: root/dbc.lsp
diff options
context:
space:
mode:
authorDarren Bane <dbane@tilde.institute>2020-05-16 00:53:00 +0100
committerDarren Bane <dbane@tilde.institute>2020-05-16 00:53:00 +0100
commit9e46aa07a574762db4bc14fd98eca81c4f323f7f (patch)
tree8cd16d173bb2fc1ef4e50434209769c35d694ff3 /dbc.lsp
parentc066ab2a55a069802009568a051673b3505503d4 (diff)
downloadlsp-9e46aa07a574762db4bc14fd98eca81c4f323f7f.tar.gz
More playing around
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 '())