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

Reply via email to