Hi,

Disclaimer: personal opinion following...

I'm sorry. I don't get the elegance of point-free style.

In mathematics f denotes the function, while f(x) denotes the value f
takes over x. This is actually a nice and easy to understand notation.
But why do I have to clutter my clojure code with `partial`s and
`comp`s because of that? In Haskell, where `partial` is automatic and
`comp` is a dot, this is maybe elegant. But not here.

I don't know, whether this example is contorted on purpose, but I
really had to very slowly step through it to see what's going on.

> (map (comp (partial map (comp   #(str2/drop % 2)
>                                #(str2/take % 5)))
>                #(str2/split % #"\t"))
>        (split a-string #"[\n\r]"))

This is almost self-explaining:

(map (fn [part-numbers]
       (map #(-> % (str2/take 5) (str2/drop 2))
            (str2/split part-numbers #"\t")))
     (str2/split a-string #"[\n\r]"))

Maybe the (-> ...) part can be further extracted as `design-id` or so.

Class count 6 vs 2.

In mathematics f and f(x) are (in general) two different things. But
in programming 'x' is also information about the intended purpose. The
`part-numbers` argument of the anonymous function conveys some
information about what's supposed to be in there.

For last->: http://www.mail-archive.com/clojure@googlegroups.com/msg08098.html
(Can someone tell me why the search of ***Google*** groups is so
crappy?)

> Is there something wrong with (map #(s/split % #"\n" 30) vector-of-strs)?
>
> The #(...) lambda read-macro seems to me to obviate most needs for partial
> and partial-2.

+1

Also +1 for keeping the string argument first.

Sincerely
Meikel

--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to