> 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