2012/2/21 Meikel Brandmeyer <m...@kotka.de>

> Hi,
>
> Am 21.02.2012 um 22:35 schrieb Aaron Cohen:
>
> > I'd actuallly tried to avoid littering the syntax tree with :constants
> > elements anywhere other than where they were needed, but thinking
> > about it, there doesn't really seem to be any reason to do that, and
> > it does make the implementation much simpler.
>
> I thought of it as each form carrying the interesting information about
> eg. the contained constants with itself. I understand your idea of keeping
> things clean. But then there is meta data and maybe this is a very valid
> use of it. In fact this information *is* metadata about the form.
>
> >> (defn processor
> >>   [pre-fns post-fns]
> >>   (fn this [form]
> >>     (let [form (reduce call form pre-fns)
> >>           form (maybe recursive? update-children form this)]
> >>       (reduce call form post-fns))))
> >
> > This is really neat, setting up the processor up front with the
> > processing functions will work much better than my current overloading
> > scheme. It's also cool how this provides for a list of pre and post
> > fns. I'd initially tried to do this but backed off from it as
> > over-complicated.
>
> Of course this version features a cunning inlineing of comp to achieve
> stunning performance characteristics. *coughcough*
>
> Things should probably be more like this:
>
> (defn processor
>  [pre-fns post-fns]
>  (let [pre  (apply comp pre-fns)
>        post (apply comp post-fns)]
>    (fn this [form]
>      (let [form (pre form)
>             form (maybe recursive? update-children form this)]
>         (post form)))))
>
>
What about removing comps from the processor function, and let them on the
user side?


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

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