Awesome—thanks for everyone's answers; I think I'll go with delay/ force. What I'm a little worried about is the caching. After a calling of "alt" finishes, what happens to all those Delay objects and their cached values? Are they garbage-collected, or will they remain indefinitely? Should I worry?
On Jan 12, 6:13 am, MikeM <michael.messini...@invista.com> wrote: > Not a macro, but does what you want: > > (defn alt [& functions] > (fn [tokens] > (some #((force %) tokens) functions))) > > ;define sub-functions the same way > > (defn a-meta-meta-function [c] > (alt (delay (sub-function1 c)) (delay (sub-function2 c)) (delay (sub- > function3 c)))) --~--~---------~--~----~------------~-------~--~----~ 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 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 -~----------~----~----~----~------~----~------~--~---