Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (defn curryfun [arity fun]
- (fn [& args]
- (let [argcount (count args)]
- (cond (= arity argcount)
- (apply fun args)
- (< argcount arity)
- (curryfun (- arity argcount)
- (fn [& args2] (apply fun (concat args args2))))
- (> argcount arity)
- (apply (apply fun (take arity args))
- (drop arity args))))))
Add Comment
Please, Sign In to add comment