{"action":"created","issue":{"url":"https://api.github.com/repos/michaelklishin/validateur/issues/45","labels_url":"https://api.github.com/repos/michaelklishin/validateur/issues/45/labels{/name}","comments_url":"https://api.github.com/repos/michaelklishin/validateur/issues/45/comments","events_url":"https://api.github.com/repos/michaelklishin/validateur/issues/45/events","html_url":"https://github.com/michaelklishin/validateur/issues/45","id":119587054,"number":45,"title":"Is the leading boolean in `[valid? errors]` redundant?","user":{"login":"DomKM","id":1292853,"avatar_url":"https://avatars.githubusercontent.com/u/1292853?v=3","gravatar_id":"","url":"https://api.github.com/users/DomKM","html_url":"https://github.com/DomKM","followers_url":"https://api.github.com/users/DomKM/followers","following_url":"https://api.github.com/users/DomKM/following{/other_user}","gists_url":"https://api.github.com/users/DomKM/gists{/gist_id}","starred_url":"https://api.github.com/users/DomKM/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/DomKM/subscriptions","organizations_url":"https://api.github.com/users/DomKM/orgs","repos_url":"https://api.github.com/users/DomKM/repos","events_url":"https://api.github.com/users/DomKM/events{/privacy}","received_events_url":"https://api.github.com/users/DomKM/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-11-30T21:40:07Z","updated_at":"2015-12-01T02:56:13Z","closed_at":"2015-12-01T02:56:13Z","body":"I'm looking for a validation library and came across Validateur. It looks very nice but I don't understand the purpose of validators returning tuple of `[valid? errors]`. If a map is valid then the validator will always return `[true {}]`, right? In which case why not have validators return maps and check for success with `empty?`? It also appears that [`validation-set` creates a function that ignores leading booleans in validator tuples](https://github.com/michaelklishin/validateur/blob/0b687ddec584c163de081fc186f3b8c24c95bb87/src/cljx/validateur/validation.cljx#L539-L543).\r\n\r\nIn other words, why do validator functions and validation set functions have different contracts?"},"comment":{"url":"https://api.github.com/repos/michaelklishin/validateur/issues/comments/160832670","html_url":"https://github.com/michaelklishin/validateur/issues/45#issuecomment-160832670","issue_url":"https://api.github.com/repos/michaelklishin/validateur/issues/45","id":160832670,"user":{"login":"michaelklishin","id":1090,"avatar_url":"https://avatars.githubusercontent.com/u/1090?v=3","gravatar_id":"","url":"https://api.github.com/users/michaelklishin","html_url":"https://github.com/michaelklishin","followers_url":"https://api.github.com/users/michaelklishin/followers","following_url":"https://api.github.com/users/michaelklishin/following{/other_user}","gists_url":"https://api.github.com/users/michaelklishin/gists{/gist_id}","starred_url":"https://api.github.com/users/michaelklishin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/michaelklishin/subscriptions","organizations_url":"https://api.github.com/users/michaelklishin/orgs","repos_url":"https://api.github.com/users/michaelklishin/repos","events_url":"https://api.github.com/users/michaelklishin/events{/privacy}","received_events_url":"https://api.github.com/users/michaelklishin/received_events","type":"User","site_admin":false},"created_at":"2015-12-01T02:56:13Z","updated_at":"2015-12-01T02:56:13Z","body":"1. Because checking for map emptiness is ugly (in my opinion).\r\n2. Because it's too late to change such things, Validateur is about 4 years old."}}