Venendo da un background in Clojure, mi sono preso con il potenziale che i suoi post-contrattuali/pre forniscono come base per la progettazione per contratto:Design (e) contratto per LIbario (i) per Common Lisp?
;; sqr.clj
(defn sqr [n]
{:pre [(not= 0 n) (number? n)]
:post [(pos? %) (number? %)]}
(* n n))
(sqr 10)
;=> 100
(sqr 0)
; Assertion error
Esiste una funzionalità simile pre/post in Common Lisp e/o una libreria Design by Contract più completa disponibile in natura?
Grazie
Questa è esattamente la libreria che stavo cercando. Grazie. – fogus