Jim, > As long as your breaking things in monads, what would you think of > changing m-seq to this. ... > so that it doesn't accept a list of monadic values but instead lets > you call it with any number of mv's. > > Instead of: > > (m-seq [mv1 mv2 mv3]) > > you would write > > (m-seq mv1 mv2 mv3) > > That would make it be the same as the implementations of m-plus you've > already done.
Do you have a concrete use case where this would be advantageous? In my certainly limited experience, m-plus is most frequently called with two fixed arguments, whereas m-seq is typically called with a list argument that was constructed using other list operations. In the latter situation, the change you propose is a significant disadvantage, all the more since m-seq is a macro and thus cannot be used directly with apply. Konrad. --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---