Viniendo de un fondo de Clojure, me toman con el potencial de que sus pre-post-condiciones/proporcionan como base para el diseño por contrato:Design By Contract LIbrary (s) para 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
¿Existe una capacidad similar en el pre/post en Common Lisp y/o una biblioteca más completa de Diseño por contrato disponible en la naturaleza?
Gracias
Esta es precisamente la biblioteca que estaba buscando. Gracias. – fogus