What do people think about extending the definition of partial in core to work on just a single argument?
That is, if you call partial with just a function and no arguments, it just returns the function. It seems to follow logically from the other airties. For a case where this is useful, see https://gist.github.com/746185 Sincerely, --Robert McIntyre On Sat, Dec 18, 2010 at 5:02 PM, Benny Tsai <benny.t...@gmail.com> wrote: > This is very cool! > > Taken together with the following projects, Clojure now has some of > the nicest parts of Haskell/ML, IMHO :) > > Matchure (pattern matching): > http://spin.atomicobject.com/2010/04/25/matchure-serious-clojure-pattern-matching > > Algebraic Data Types: > http://clojure.github.com/clojure-contrib/types-api.html > > On Dec 17, 7:00 pm, Sunil S Nandihalli <sunil.nandiha...@gmail.com> > wrote: >> On Sat, Dec 18, 2010 at 7:21 AM, Sunil S Nandihalli < >> >> >> >> >> >> >> >> >> >> sunil.nandiha...@gmail.com> wrote: >> > Hi Eric, >> > I do know about partial. But what I am saying is that the extra function, >> > partial, is not necessary if the function was created with >> > def-curry-fn....... The function automatically returns a curried version >> > when called with fewer number of arguments than necessary.... like it >> > happens in haskell.. >> > thanks, >> > Sunil. >> >> > On Sat, Dec 18, 2010 at 3:02 AM, Eric Schulte >> > <schulte.e...@gmail.com>wrote: >> >> >> Hi Sunil, >> >> >> This is already possible using `partial' function in clojure core, which >> >> also works for variable arity functions, e.g. >> >> >> (map (partial reduce +) [[1 2 3 4] [5 6 7 8]]) >> >> >> Best -- Eric >> >> >> Sunil S Nandihalli <sunil.nandiha...@gmail.com> writes: >> >> >> > Hello everybody, >> >> > I remember that the key reasoning for not supporting currying in >> >> clojure >> >> > was to be able to have variable number of arg functions.. So, I just >> >> thought >> >> > a bit and realized that it should be possible to do that for fixed arity >> >> > functions .. and then wrote the following macro to define a curry-able >> >> > fixed-number-of-argument-function >> >> >> >https://gist.github.com/745654 >> >> > If the following was defined as >> >> (defn f [a b c d] >> (+ a b c d)) >> >> > > (def-curry-fn f [a b c d] >> >> > (+ a b c d)) >> >> >> > ((f 1) 2 3 4) => 10 >> >> > the above s-expression using partial would become ... >> >> ((partial f 1) 2 3 4) => 10 >> >> > > (((f 1 2) 3) 4) => 10 >> >> and ((partial (partial f 1 2) 3) 4) => 10 instead of (((f 1 2) 3) 4).. >> >> ((((f 1) 2) 3) 4) => 10 >> would become >> ((partial (partial (partial f 1) 2) 3) 4) => 10 ..... >> >> I know there is no real practical utility .. .. it was just something I >> wrote for fun.. and thought of sharing it ... >> Sunil. >> >> >> >> >> >> >> >> >> >> >> > I just thought of sharing it with everybody. Would love to hear any >> >> > criticisms you may have. >> >> >> > Thanks for reading, >> >> > Sunil >> >> >> -- >> >> 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<clojure%2bunsubscr...@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 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 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