On 20 October 2010 14:19, Dave Ray <dave...@gmail.com> wrote:

> Hey,
>
> I'm parsing a file with a chain of filter and map operations. To make
> it a little more readable (to me), I put the steps in a let like this:
>
> (defn parse-dictionary
>  [reader]
>  (let [lines    (read-lines reader)
>        trimmed  (map #(.trim %1) lines)
>        filtered (filter is-dictionary-entry? trimmed)]
>     (map parse-entry filtered)))
>
> Is this style of let considered good/bad stylistically? Are there
> technical tradeoffs between this and a bunch of nested forms?
>
> Thanks!
>
> Dave
>

Not sure about the technical implications, but I can offer another
alternative:

(defn parse-dictionary
  [reader]
  (->> (read-lines reader)
       (map #(.trim %1))
       (filter is-dictionary-entry?)
       (map parse-entry)))

I think this reads about as well as the (let ...) version. It's easy enough
to trace the 'flow' of execution through the various forms.

Regards,
Stuart

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