Hi Gary, First off, I wanna thank you for you thorough review and feedback of bouncer - it's very much appreciated.
Please see my comments inline. On Fri, Jan 11, 2013 at 2:35 AM, Gary Johnson <gwjoh...@uvm.edu> wrote: > Also, I agree with Stathis that there is a problem including the errors map > in the original data structure under an unqualified keyword. Of course, if > you change validate to not modify the input map that is being validated, > then you no longer need a state monad to model the validation workflow. This > could just as easily be done with a simple reduce. In this instance, I'd > guess that just qualifying the ::errors keyword would probably stick closest > to your original model. Maybe I'm totally missing the mark here though. > Sold. You're the second person to mention this so I believe it's worth considering. My original thinking was to use the errors key as a convention for validation errors but given the multitude of domains this could be applied to, that might have been a bit too selfish. I'll add a qualified error keyword to the next release. > > So basically what I'm suggesting as an enhancement to your library is that > whenever a field is being tested with a multi-validator vector, the first > test to fail should prevent any other tests (to its right in the vector) > from running. This would be similar in spirit to the behavior of the -?> and > -?>> thread-maybe macros in clojure.core.incubator. > This makes sense. Thanks for the code snippets - they illustrated your point brilliantly. The current design shifts that onus to the validators and in cases such as the one demonstrated by your second code snippet, this is far from ideal. I've put your code in the test suite which means I now have a broken build I need to fix :) This would be a great addition to bouncer. I'll take some time to go over a couple of implementation options but I'm keen on adding it in. > Okay, constructive criticism and all that aside, great work on this library > again. Looking forward to the next release soon. > > ~Gary > I'm glad you enjoyed the lib - stay tuned, I'll probably have news over the weekend. Cheers, Leo. -- 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