Actually to simply further, instead of wrapping the old DAG tree, it
simply replaces the DAG tree with the compilation step. The
compilation step then makes the new DAG tree and calls it.

On Aug 22, 3:07 pm, Brent Millare <brent.mill...@gmail.com> wrote:
> > For pattern matching code size is a one time cost. For predicate dispatch,
> > that's a lot of code to generated, since every new predicate case will
> > produce an entirely new tree. But perhaps people won't care that much. Only
> > time and experience reports will tell.
>
> If you want, you can be lazy about compilation and only compile right
> before the call to the predicate only if a new predicate has been
> added since the last compilation. Also, we can be smart about how we
> do the cached tree check. After extend-pred is called, it wraps the
> current DAG tree with a compilation step.
>
> During the compilation step (made right before the call), the new DAG
> tree is made and replaces the old one. Note that there is no longer a
> check for new predicates.
>
> -Brent

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