> (defn my-widget
>     ([attrs contents] (apply widget-creator attrs contents)) ;;I have no idea 
> what widget-creator might be
>     ([contents] (my-widget {} contents))
>     ([] (my-widget {} []))

contents of one arity version can be a map. so the code should be

(defn my-widget
    ([attrs contents] ...
    ([arg] (if (map? arg) (my-widget arg nil) (my-widget {}
contents)) )
    ([] (my-widget {} []))

but this doesn't look simpler than

(defn my-widget
  [& args]
  (let [attrs    (if (map? (first args)) (first args) {})
        contents (if (map? (first args)) (next args) args)]
    ...

-- 
-- 
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
Note that posts from new members are moderated - please be patient with your 
first post.
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
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to