<jbk>
i think i have a lead on the failures.. when the net/ tests run, they are binding to localhost (not sure if that was intended vs. a non-loopback IP on the box).. but then when it goes to lookup the IP, it's ultimately calling getaddrinfo with the AI_ADDRCONFIG flag which (at least on illumos) excludes localhost addresses
<jbk>
well binding to ::1
<slfritchie>
I'm a big fan of Illumos & SmartOS. I haven't had an excuse to use it in anger since I left Basho. I'm looking forward to the porting work.
<slfritchie>
On a different topic, I've discovered that `h.assert_eq[F64](w, 1.0)` will not fail a `ponytest` test if `w` is NaN.
<slfritchie>
But `h.assert_eq[Bool]((w == 1), true)` will fail the test if w is NaN. Wheeee.
<slfritchie>
(and h is a `TestHelper` object)
<slfritchie>
This must be another corner of floating point behavior that I'm dreading learning about.
<jbk>
i've been fortunate to have been able to largely avoid the sharp corners of floating point
<jbk>
so when it creates the server socket, it uses getaddrinfo(NULL, ..) to get the 'any' address which always seems to return :: and 0.0.0.0, so then get it gets the socket address, and then maps that back to the loopback address
<jbk>
(in map_any_to_loopback)
khan has joined #ponylang
<jbk>
except when it tries to connect, it uses getaddrinfo("::1", 0, ... with AI_ADDRCONFIG which explicitly excludes localhost
<jbk>
which fails since this box does not have any non-IPv6 addresses configured
khan has quit [Quit: khan]
khan has joined #ponylang
khan has quit [Client Quit]
khan has joined #ponylang
Shorttail has joined #ponylang
khan has quit [Quit: khan]
Shorttail has quit [Ping timeout: 260 seconds]
brainproxy has quit [Ping timeout: 240 seconds]
jmiven has quit [Quit: co'o]
jmiven has joined #ponylang
brainproxy has joined #ponylang
acarrico has joined #ponylang
_andre has joined #ponylang
zevlg has joined #ponylang
khan has joined #ponylang
zevlg has quit [Remote host closed the connection]
aturley has quit [Quit: aturley]
aturley has joined #ponylang
<jbk>
though fbsd also returns PF_INET6/:: and PF_INET/0.0.0.0 as answers to the same getaddrinfo call
<jbk>
so i wonder how other platforms behave if there's no non-loopback IPv6 addresses configured
larshesel has quit [Ping timeout: 255 seconds]
larshesel has joined #ponylang
_andre has quit [Ping timeout: 240 seconds]
_andre has joined #ponylang
nisanharamati has joined #ponylang
Shorttail has joined #ponylang
khan has quit [Quit: khan]
khan has joined #ponylang
khan has quit [Client Quit]
khan has joined #ponylang
<Shorttail>
Where can I find the data transfered in a POST request? Is it in Payload? In the URL?
<SeanTAllen>
POST data is a payload
<Shorttail>
Thanks. Also, is there a good reason map lookups return V? instead of V | None?
acarrico has quit [Ping timeout: 276 seconds]
<SeanTAllen>
yes
<SeanTAllen>
including... performance
<Shorttail>
Oh. So, raising an error doesn't do a stack unwind? Nice
<SeanTAllen>
No it does
<SeanTAllen>
but that would be excepted to be a less likely case
<SeanTAllen>
and if you are worried about it, you can do contains.
<SeanTAllen>
additionally, you can intentionally store None in a map. That's a reasonable thing to do.
<Shorttail>
Wouldn't using contains mean a double lookup in case it is there?
<SeanTAllen>
Yes
<SeanTAllen>
So, do you expect the key to be there or not?
<SeanTAllen>
doing V | None would mean a match every time to get V or None from it.
<SeanTAllen>
Which would also be slow every time.
<Shorttail>
I get it. I'm just used to raising anything being slow
<Shorttail>
About POST again, I can see Content-Length is greater than 0, but the body is empty. Where in the Payload is it then?
<SeanTAllen>
well, it is slow, it just way faster than an exception in something like Java or C++
<SeanTAllen>
you shouldnt throw error often in a hotpath
<SeanTAllen>
Shorttail: i dont know the HTTP stuff and there's an RFC that will be approved as soon as I fix a few issues with it. That RFC will remove all the HTTP stuff from the standard library.
nisanharamati has quit []
_andre has quit [Quit: leaving]
khan has quit [Quit: khan]
khan has joined #ponylang
khan has quit [Client Quit]
khan has joined #ponylang
<brainproxy>
compiling on macos, i get a a warning about llvm 6, but I do have 3.9.1 installed w/ brew
<brainproxy>
do I need to set an env var or something before running make
<brainproxy>
?
<brainproxy>
nvm, read the Makefile, which I should have done before asking :p