<div dir="ltr">No, I wasn't saying that is_uri should throw an error, it most certainly shouldn't.  Anytime I see is_foo, I expect some sort of boolean to answer the question of is it a foo.  In Elixir when I do URI.parse(""), I get no error and everything returned is nil.  Why?  It's clearly not a valid URI, and the parse function is happy consuming it.  Just seems like an odd choice to me.  At least the docs for parse do say it expects a valid URI and doesn't validate.<div><div><br></div><div><br><div><div class="gmail_quote"><div dir="ltr">On Fri, Apr 22, 2016 at 3:27 PM Kenneth Lakin <<a href="mailto:kennethlakin@gmail.com">kennethlakin@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On 04/22/2016 02:31 PM, Andrew Berman wrote:<br>
> Also, the Erlang motto of just letting it<br>
> fail seems to have gotten lost somewhere.<br>
<br>
In regards to is_url, Erlang's is_integer doesn't throw when passed a<br>
non-integer. It would be kind of disastrous if it did. If you want<br>
is_url to throw when passed something that's not a URL, then I expect<br>
that you can do<br>
<br>
true=IsUrl.validate(url);<br>
<br>
> ... it doesn't look like Elixir's URI.parse<br>
> actually throws any error when it cannot parse a valid URI.<br>
<br>
Elixir's URI.parse _appears_ to behave in exactly the same way that<br>
Python3's urllib.parse.urlparse does. The problem here (if there is one)<br>
is that it kind of seems like both libs use RFC1808's grammar for<br>
parsing URLs rather than one of the more strict (and non-obsolete!) RFCs.<br>
<br>
Note that section 2.2 of RFC 1808 defines a URL as "( absoluteURL |<br>
relativeURL ) [ "#" fragment ]", so the only possible *failure*<br>
condition that I see is passing a thing that's not a string. URI.parse<br>
throws when passed something that's not a string, so that seems to be in<br>
order.<br>
<br>
_______________________________________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org" target="_blank">erlang-questions@erlang.org</a><br>
<a href="http://erlang.org/mailman/listinfo/erlang-questions" rel="noreferrer" target="_blank">http://erlang.org/mailman/listinfo/erlang-questions</a><br>
</blockquote></div></div></div></div></div>