hello,
what's the common idiom in functional programming regarding checking
the validity of arguments to functions. i think this is called
defensive programming vs contract programming.

for example:

;; this first version of foo checks the validity of arguments inside
foo
(defn foo [context arg]
  (if (arg-valid? arg)
    (change-context context arg)
    context))

;; this version assumes that the caller of foo fulfills the
preconditions of foo
(defn foo
  "Precondition: (arg-valid? arg)"
  [context arg]
  (change context arg))



--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To post to this group, send email to clojure@googlegroups.com
To unsubscribe from this group, send email to 
clojure+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/clojure?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to