von einem Hintergrund in Clojure kommend, bin ich mit dem Potenzial genommen, dass seine Pre-/Post-Bedingungen für das Design von Vertrag als Grundlage bieten:Nach Vertragsbibliothek (en) für 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
Gibt es eine ähnliche pre/post-Fähigkeit in Common Lisp und/oder eine umfassendere Design by Contract-Bibliothek in freier Wildbahn verfügbar?
Danke
Dies ist genau die Bibliothek, die ich suchte. Vielen Dank. – fogus