2025/03/26

2025-03-26 00:03:22 +0100 <geekosaur> keep it but require `import IEEE754Insanity`
2025-03-26 00:05:23 +0100poscat(~poscat@user/poscat) (Ping timeout: 245 seconds)
2025-03-26 00:05:44 +0100poscat(~poscat@user/poscat) poscat
2025-03-26 00:05:56 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-03-26 00:06:04 +0100weary-traveler(~user@user/user363627) user363627
2025-03-26 00:06:16 +0100 <otto_s> Is there a reason, why the imaginary party of -1 :: Complex Double *should* be -0 ?
2025-03-26 00:08:54 +0100 <otto_s> Oh, I see, mauke answered that already.
2025-03-26 00:10:41 +0100 <otto_s> Floats are evil. *g*
2025-03-26 00:10:43 +0100 <geekosaur> I think the full answer involves complex numbers as being on a plane, and having trig on them produce results in the correct quadrant?
2025-03-26 00:11:26 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds)
2025-03-26 00:12:26 +0100 <otto_s> No, I think the culprit is just:
2025-03-26 00:12:29 +0100 <otto_s> > isNegativeZero $ negate 0
2025-03-26 00:12:31 +0100 <lambdabot> True
2025-03-26 00:13:12 +0100 <geekosaur> right, but what I said is why the whole "negative zero" thing exists in the first place. see also atan2
2025-03-26 00:13:17 +0100 <otto_s> (and then late, of course, how log decides where to go)
2025-03-26 00:14:11 +0100 <otto_s> Yes.
2025-03-26 00:15:39 +0100 <geekosaur> sadly it's been a looong time since I last did this stuff so it's all become kinda fuzzy ("use it or lose it")
2025-03-26 00:16:25 +0100 <geekosaur> last time I touched it was 1985
2025-03-26 00:21:43 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-03-26 00:23:08 +0100__monty__(~toonn@user/toonn) (Quit: leaving)
2025-03-26 00:25:18 +0100byte(~mu@user/byte) (Quit: Leaving)
2025-03-26 00:25:48 +0100sarna(~sarna@d192-22.icpnet.pl) (Ping timeout: 245 seconds)
2025-03-26 00:26:38 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2025-03-26 00:27:21 +0100aetepe(~aetepe@188.119.22.83) aetepe
2025-03-26 00:30:26 +0100weary-traveler(~user@user/user363627) (Remote host closed the connection)
2025-03-26 00:33:37 +0100byte(~mu@user/byte) byte
2025-03-26 00:35:20 +0100simplystuart(~simplystu@c-75-75-152-164.hsd1.pa.comcast.net) (Ping timeout: 252 seconds)
2025-03-26 00:35:45 +0100simplystuart(~simplystu@c-75-75-152-164.hsd1.pa.comcast.net)
2025-03-26 00:37:31 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-03-26 00:40:56 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-03-26 00:42:05 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-03-26 00:45:17 +0100sarna(~sarna@d192-22.icpnet.pl) sarna
2025-03-26 00:45:45 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 265 seconds)
2025-03-26 00:45:46 +0100sprotte24(~sprotte24@p5dd5d056.dip0.t-ipconnect.de) (Quit: Leaving)
2025-03-26 00:51:04 +0100Tuplanolla(~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) Tuplanolla
2025-03-26 00:53:18 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-03-26 00:57:53 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-03-26 01:04:38 +0100robobub(uid248673@id-248673.uxbridge.irccloud.com) robobub
2025-03-26 01:07:01 +0100sarna(~sarna@d192-22.icpnet.pl) (Ping timeout: 265 seconds)
2025-03-26 01:09:05 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-03-26 01:11:27 +0100weary-traveler(~user@user/user363627) user363627
2025-03-26 01:12:06 +0100 <EvanR> > atan (recip 0)
2025-03-26 01:12:07 +0100 <lambdabot> 1.5707963267948966
2025-03-26 01:12:12 +0100 <EvanR> > atan (recip (-0))
2025-03-26 01:12:14 +0100 <lambdabot> -1.5707963267948966
2025-03-26 01:13:21 +0100 <EvanR> also the way I do decode float in another universe is return (sign, mantissa, exponent)
2025-03-26 01:14:45 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds)
2025-03-26 01:16:00 +0100 <Leary> otto_s: May I introduce you to your lord and saviour `LexicalNegation`? It will ensure that `-1` means `fromInteger -1`, not `negate (fromInteger 1)`, hence `-1 = -1 :+ 0`.
2025-03-26 01:16:29 +0100tomboy64(~tomboy64@user/tomboy64) (Ping timeout: 244 seconds)
2025-03-26 01:16:50 +0100 <Leary> I would like to demonstrate with yahb2, but it's being weird:
2025-03-26 01:16:57 +0100 <Leary> % import Data.Complex
2025-03-26 01:16:57 +0100 <yahb2> <no location info>: error: [GHC-88719] ; Could not load module ‘Data.Complex’. ; Perhaps you haven't installed the "dyn" libraries for package ‘base-4.21.0.0’? ; Use :set -v to see a li...
2025-03-26 01:17:02 +0100 <Leary> tomsmeding: ^ halp
2025-03-26 01:17:28 +0100 <geekosaur> think he's in bed by now, sadly
2025-03-26 01:17:45 +0100 <geekosaur> utc-2 iirc so it's like 2am
2025-03-26 01:18:25 +0100 <EvanR> indeed it's only 54 dotbeats
2025-03-26 01:20:50 +0100tomboy64(~tomboy64@user/tomboy64) tomboy64
2025-03-26 01:21:39 +0100zungi(~tory@user/andrewchawk) andrewchawk
2025-03-26 01:24:53 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-03-26 01:26:00 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-03-26 01:26:09 +0100ljdarj1(~Thunderbi@user/ljdarj) ljdarj
2025-03-26 01:29:06 +0100ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 244 seconds)
2025-03-26 01:29:06 +0100ljdarj1ljdarj
2025-03-26 01:30:13 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 248 seconds)
2025-03-26 01:31:41 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-03-26 01:38:16 +0100sarna(~sarna@d192-22.icpnet.pl) sarna
2025-03-26 01:42:56 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-03-26 01:46:18 +0100CiaoSen(~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 272 seconds)
2025-03-26 01:47:01 +0100TheCoffeMaker(~TheCoffeM@user/thecoffemaker) (Ping timeout: 268 seconds)
2025-03-26 01:47:29 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-03-26 01:55:24 +0100acidjnk(~acidjnk@p200300d6e71c4f2435ff52636e0f7274.dip0.t-ipconnect.de) (Remote host closed the connection)
2025-03-26 01:55:50 +0100acidjnk(~acidjnk@p200300d6e71c4f2435ff52636e0f7274.dip0.t-ipconnect.de) acidjnk
2025-03-26 01:58:43 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-03-26 02:01:38 +0100xff0x(~xff0x@2405:6580:b080:900:f588:30f2:ad44:5069) (Ping timeout: 245 seconds)
2025-03-26 02:04:33 +0100acidjnk(~acidjnk@p200300d6e71c4f2435ff52636e0f7274.dip0.t-ipconnect.de) (Ping timeout: 245 seconds)
2025-03-26 02:05:23 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2025-03-26 02:11:25 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-03-26 02:15:47 +0100otto_s(~user@p5de2f2e9.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
2025-03-26 02:16:00 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 268 seconds)
2025-03-26 02:16:47 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-03-26 02:17:34 +0100otto_s(~user@p4ff27de5.dip0.t-ipconnect.de)
2025-03-26 02:21:33 +0100JuanDaugherty(~juan@user/JuanDaugherty) (Quit: praxis.meansofproduction.biz (juan@acm.org))
2025-03-26 02:21:35 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-03-26 02:24:10 +0100vanishingideal(~vanishing@user/vanishingideal) (Ping timeout: 244 seconds)
2025-03-26 02:26:21 +0100vanishingideal(~vanishing@user/vanishingideal) vanishingideal
2025-03-26 02:26:47 +0100machinedgod(~machinedg@d108-173-18-100.abhsia.telus.net) (Ping timeout: 252 seconds)
2025-03-26 02:28:01 +0100Pixi`(~Pixi@user/pixi) (Quit: Leaving)
2025-03-26 02:32:33 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-03-26 02:34:59 +0100Tuplanolla(~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.)
2025-03-26 02:36:58 +0100inca(~inca@4-138-135-64.gray-ng.dsl.pinetreenetworks.com) (Ping timeout: 272 seconds)
2025-03-26 02:37:18 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-03-26 02:37:33 +0100hattckory(~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca)
2025-03-26 02:38:19 +0100inca(~inca@4-138-135-64.gray-ng.dsl.pinetreenetworks.com)
2025-03-26 02:39:21 +0100todi1(~todi@p57803331.dip0.t-ipconnect.de)
2025-03-26 02:39:30 +0100todi(~todi@p57803331.dip0.t-ipconnect.de) (Ping timeout: 272 seconds)
2025-03-26 02:40:23 +0100aetepe(~aetepe@188.119.22.83) (Ping timeout: 245 seconds)
2025-03-26 02:40:45 +0100Tuplanolla(~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) Tuplanolla
2025-03-26 02:42:56 +0100inca(~inca@4-138-135-64.gray-ng.dsl.pinetreenetworks.com) (Ping timeout: 252 seconds)
2025-03-26 02:43:34 +0100cyphase(~cyphase@user/cyphase) (Ping timeout: 260 seconds)
2025-03-26 02:43:48 +0100inca(~inca@4-138-135-64.gray-ng.dsl.pinetreenetworks.com)
2025-03-26 02:48:18 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-03-26 02:48:47 +0100inca(~inca@4-138-135-64.gray-ng.dsl.pinetreenetworks.com) (Ping timeout: 252 seconds)
2025-03-26 02:52:50 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-03-26 02:53:16 +0100xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp)
2025-03-26 02:54:10 +0100 <monochrom> It looks like -1 :: Complex Double becomes - (1 :+ 0) so it is (-1) :+ (-0)
2025-03-26 02:55:13 +0100 <geekosaur> yes, that's because of how the Report specifies unary negation
2025-03-26 02:55:20 +0100 <monochrom> You could blame how there are +0 and -0, but numerical analysis people actually complain about how Java screws up everything by eliminating that.
2025-03-26 02:55:32 +0100inca(~inca@4-138-135-64.gray-ng.dsl.pinetreenetworks.com)
2025-03-26 02:55:51 +0100 <geekosaur> NegativeLiterals or LexicalNegation changes it
2025-03-26 02:56:30 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-03-26 02:57:02 +0100Tuplanolla(~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.)
2025-03-26 02:57:39 +0100 <monochrom> https://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html has a section on how having -0 is helpful for complex numbers.
2025-03-26 02:58:19 +0100notdabs(~Owner@2600:1700:69cf:9000:5812:4103:61ba:7880) (Read error: Connection reset by peer)
2025-03-26 02:59:25 +0100Square(~Square@user/square) Square
2025-03-26 02:59:37 +0100 <monochrom> I believe in the principle that the largest stakeholders should have the largest say. In this case physicists and numerical people who use floating point in anger should have a much larger say than us casual occasional users. And their verdict is clear, all the IEEE 754 "weirdness" is what they want.
2025-03-26 03:01:01 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 268 seconds)
2025-03-26 03:03:40 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-03-26 03:03:55 +0100 <haskellbridge> <Bowuigi> Posits may be better for the rest of us
2025-03-26 03:05:17 +0100 <c_wraith> Fixed point is better for my use cases
2025-03-26 03:06:46 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich
2025-03-26 03:08:25 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds)
2025-03-26 03:11:42 +0100weary-traveler(~user@user/user363627) (Remote host closed the connection)
2025-03-26 03:19:02 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-03-26 03:23:43 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2025-03-26 03:26:12 +0100 <Axman6> @tell Liamzee https://github.com/the-benchmarker/web-frameworks/pull/8328
2025-03-26 03:26:12 +0100 <lambdabot> Consider it noted.
2025-03-26 03:26:13 +0100aforemny_(~aforemny@2001:9e8:6cde:a00:bd3b:75a2:c3bc:65be) (Ping timeout: 265 seconds)
2025-03-26 03:26:32 +0100bitdex_(~bitdex@gateway/tor-sasl/bitdex) bitdex
2025-03-26 03:27:35 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2025-03-26 03:28:11 +0100aforemny(~aforemny@i59F4C69B.versanet.de) aforemny
2025-03-26 03:34:50 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-03-26 03:36:30 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 244 seconds)
2025-03-26 03:36:53 +0100cyphase(~cyphase@user/cyphase) cyphase
2025-03-26 03:40:52 +0100cyphase(~cyphase@user/cyphase) (Read error: Connection reset by peer)
2025-03-26 03:41:55 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-03-26 03:41:59 +0100cyphase(~cyphase@user/cyphase) cyphase
2025-03-26 03:42:12 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds)
2025-03-26 03:44:59 +0100vanishingideal(~vanishing@user/vanishingideal) (Ping timeout: 260 seconds)
2025-03-26 03:46:22 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 252 seconds)
2025-03-26 03:46:24 +0100vanishingideal(~vanishing@user/vanishingideal) vanishingideal
2025-03-26 03:47:08 +0100Pixi(~Pixi@user/pixi) Pixi
2025-03-26 03:51:45 +0100TheCoffeMaker(~TheCoffeM@user/thecoffemaker) TheCoffeMaker
2025-03-26 03:52:53 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-03-26 03:55:35 +0100bitdex_(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2025-03-26 03:55:41 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) bitdex
2025-03-26 03:57:44 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-03-26 04:08:40 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-03-26 04:12:22 +0100ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 244 seconds)
2025-03-26 04:13:47 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds)
2025-03-26 04:15:48 +0100 <EvanR> > -1 :: Complex Double
2025-03-26 04:15:50 +0100 <lambdabot> (-1.0) :+ (-0.0)
2025-03-26 04:16:10 +0100 <EvanR> it Shows -0 in the imaginary part all along lol
2025-03-26 04:16:22 +0100 <geekosaur> % :set -XLexicalNegation
2025-03-26 04:16:22 +0100 <yahb2> <no output>
2025-03-26 04:16:35 +0100 <geekosaur> % -1 :: Complex Double
2025-03-26 04:16:35 +0100 <yahb2> <interactive>:377:7: error: [GHC-76037] ; Not in scope: type constructor or class ‘Complex’
2025-03-26 04:16:42 +0100 <EvanR> funny it took so long to "prove"
2025-03-26 04:16:54 +0100 <geekosaur> oh wait, someone tried to import that and it errored
2025-03-26 04:17:02 +0100 <geekosaur> % import Data.Complex
2025-03-26 04:17:03 +0100 <yahb2> <no location info>: error: [GHC-88719] ; Could not load module ‘Data.Complex’. ; Perhaps you haven't installed the "dyn" libraries for package ‘base-4.21.0.0’? ; Use :set -v to see a li...
2025-03-26 04:19:11 +0100developer_(~developer@85.50.149.196)
2025-03-26 04:19:52 +0100 <EvanR> that -0 compares equal to "just" 0, and there's no corresponding "plus zero" condition for the result of positive underflows says to me they considered negative zero to be a "bonus feature" which could usually be ignored, or utilized for more information in some cases
2025-03-26 04:20:15 +0100 <EvanR> when addition exactly cancels you get just zero, never negative
2025-03-26 04:20:19 +0100 <haskellbridge> <Liamzee> i hope this question isn't too dumb, but
2025-03-26 04:20:26 +0100 <geekosaur> ghci> -1 :: Complex Double
2025-03-26 04:20:26 +0100 <geekosaur> (-1.0) :+ 0.0
2025-03-26 04:20:29 +0100 <haskellbridge> <Liamzee> oh, chat is active, sorry
2025-03-26 04:20:34 +0100random-jellyfish(~developer@user/random-jellyfish) (Ping timeout: 260 seconds)
2025-03-26 04:20:38 +0100 <geekosaur> go ahead
2025-03-26 04:21:04 +0100 <haskellbridge> <Liamzee> i'm building a rust-based microservices router, with the initial microservices being in Haskell
2025-03-26 04:21:05 +0100 <geekosaur> EvanR, that behavior is specified by IEEE754
2025-03-26 04:21:18 +0100 <EvanR> I'm sure it is
2025-03-26 04:21:22 +0100 <haskellbridge> <Liamzee> if I want to pass the IP of the sender, how would I get warp / servant / twain to get the IP?
2025-03-26 04:21:45 +0100 <geekosaur> monochrom posted an Oracle doc explaining it, beyond that I think the specification itself is probably the best source
2025-03-26 04:21:56 +0100 <EvanR> just noting there's no corresponding plus zero
2025-03-26 04:22:03 +0100 <EvanR> so it's an asymmetric feature
2025-03-26 04:22:33 +0100 <geekosaur> yes, and it exists solely to put zeroes in the correct quadrant on a plane
2025-03-26 04:23:22 +0100 <EvanR> zeroes in a quadrant
2025-03-26 04:23:51 +0100 <geekosaur> (I would have to read the spec to see if Report-compliant behavior or the extension is the correct behavior)
2025-03-26 04:24:05 +0100 <geekosaur> yes. has to do with ranges
2025-03-26 04:24:28 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-03-26 04:24:33 +0100 <geekosaur> and trig
2025-03-26 04:24:34 +0100aetepe(~aetepe@188.119.22.83) aetepe
2025-03-26 04:24:55 +0100 <geekosaur> but as I said earlier, I haven't messed with this since 1985, so…
2025-03-26 04:27:59 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-03-26 04:28:43 +0100aetepe(~aetepe@188.119.22.83) (Ping timeout: 245 seconds)
2025-03-26 04:29:12 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds)
2025-03-26 04:29:58 +0100 <EvanR> Liamzee, I see remoteHost :: SockAddr field in the Request type for wai
2025-03-26 04:30:17 +0100 <monochrom> I would interpret the two signed zeros to be -0 and +0, rather than -0 and "neutral" 0.
2025-03-26 04:30:27 +0100 <EvanR> sometimes it is exactly zero
2025-03-26 04:30:39 +0100 <EvanR> none this "every float is a random number around some point" crap xD
2025-03-26 04:30:43 +0100 <EvanR> none of*
2025-03-26 04:31:01 +0100 <monochrom> No, this is not about random or nondeterminism.
2025-03-26 04:31:30 +0100 <EvanR> if you add -0.5 and +0.5, it equals zero, not +zero
2025-03-26 04:31:40 +0100 <EvanR> (or -zero)
2025-03-26 04:32:21 +0100 <monochrom> Let me write very explicitly. (+1)/(+0) = +oo, (+1)/(-0) = -oo. That's btw another reason to keep a sign bit on zero.
2025-03-26 04:32:48 +0100 <geekosaur> go read that Oracle paper monochrom linked earlier
2025-03-26 04:32:50 +0100 <EvanR> also +1 / +infinity = zero
2025-03-26 04:32:50 +0100 <monochrom> > 1 / ((-0.5) + (+0.5))
2025-03-26 04:32:52 +0100 <lambdabot> error:
2025-03-26 04:32:52 +0100 <lambdabot> • No instance for (Fractional (Double -> Double))
2025-03-26 04:32:52 +0100 <lambdabot> arising from a use of ‘e_110505’
2025-03-26 04:32:52 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 272 seconds)
2025-03-26 04:33:08 +0100 <geekosaur> this is related to numeric analysis and complex trig, and predates computers
2025-03-26 04:33:09 +0100 <haskellbridge> <Liamzee> thanks EvanR
2025-03-26 04:33:24 +0100 <EvanR> if anything you just pointed out another (or instead of) asymmetry
2025-03-26 04:34:33 +0100 <geekosaur> the numerics folks demanded this behavior when IEEE floating point was being standardized
2025-03-26 04:34:36 +0100 <haskellbridge> <Liamzee> thanks Axman6 , but ultimately I'd love to see Haskell's web-interfaces using linear haskell to reduce memory consumption and allocation time
2025-03-26 04:34:37 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2025-03-26 04:34:38 +0100bitdex_(~bitdex@gateway/tor-sasl/bitdex) bitdex
2025-03-26 04:35:45 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) bitdex
2025-03-26 04:36:17 +0100 <monochrom> Sure, some asymmetry is inevitable.
2025-03-26 04:36:57 +0100bitdex_(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2025-03-26 04:36:58 +0100 <monochrom> I interpret that asymmetry to mean "+0 is the default" not "there is no +0, instead a neutral 'exact' [sic] zero".
2025-03-26 04:37:03 +0100 <monochrom> -0 is as exact as +0.
2025-03-26 04:37:28 +0100bitdex_(~bitdex@gateway/tor-sasl/bitdex) bitdex
2025-03-26 04:37:36 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2025-03-26 04:38:45 +0100 <EvanR> the section on signed zero just notes trig functions and complex analysis functions, makes sense
2025-03-26 04:38:51 +0100 <monochrom> Because 1/("neutral exact" zero) has no reason to be either +oo or -oo. (At most a reason to be the Riemann sphere oo.) Whereas 1/(+0) does.
2025-03-26 04:39:21 +0100 <EvanR> though the interpretation of "zero minus" and "zero plus" breaks down for results that should be exactly zero
2025-03-26 04:39:52 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-03-26 04:39:53 +0100 <EvanR> I'm sure it's a sacrifice to be made instead of losing a bit of precision for 3 different signs
2025-03-26 04:39:57 +0100 <monochrom> It doesn't if a deterministic convention is set up for defaulting.
2025-03-26 04:40:34 +0100 <EvanR> yes recip of exactly zero wouldn't be either infinity
2025-03-26 04:40:47 +0100 <EvanR> it would be its own thing, similar to graphical linear algebra
2025-03-26 04:41:05 +0100 <EvanR> which also has infinities over infinity
2025-03-26 04:41:23 +0100 <EvanR> and zero over zero
2025-03-26 04:42:27 +0100 <EvanR> monochrom, I interpret the symmetry to mean there's a minor bias to the positive direction
2025-03-26 04:42:43 +0100 <EvanR> asymmetry
2025-03-26 04:42:45 +0100 <monochrom> Yes that's what I do.
2025-03-26 04:44:49 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-03-26 04:47:04 +0100 <EvanR> > 3.14 - 3.1400000000000006 -- I think it's impossible to get -0 through addition
2025-03-26 04:47:06 +0100 <lambdabot> -4.440892098500626e-16
2025-03-26 04:48:18 +0100 <EvanR> > 0 + (-0)
2025-03-26 04:48:19 +0100 <lambdabot> 0
2025-03-26 04:48:33 +0100 <EvanR> > (-0) + (-0)
2025-03-26 04:48:34 +0100 <lambdabot> 0
2025-03-26 04:48:38 +0100 <EvanR> lol
2025-03-26 04:48:51 +0100 <EvanR> positive bias is strong
2025-03-26 04:48:52 +0100 <monochrom> printf and most pretty printers drop the sign.
2025-03-26 04:49:00 +0100 <EvanR> > -0
2025-03-26 04:49:01 +0100 <lambdabot> 0
2025-03-26 04:49:12 +0100 <monochrom> what you see is never what you get. it's telephone games all the way down.
2025-03-26 04:49:12 +0100 <EvanR> Complex Double doesn't
2025-03-26 04:49:31 +0100 <EvanR> > (-0) + (-0) :: Complex Double
2025-03-26 04:49:33 +0100 <lambdabot> (-0.0) :+ (-0.0)
2025-03-26 04:49:43 +0100 <EvanR> > (0) + (-0) :: Complex Double
2025-03-26 04:49:44 +0100 <lambdabot> 0.0 :+ 0.0
2025-03-26 04:50:10 +0100 <EvanR> halfway sane
2025-03-26 04:50:18 +0100 <monochrom> Right. Just don't trust the Show instance for Double.
2025-03-26 04:51:16 +0100 <EvanR> or encodeFloat !
2025-03-26 04:51:23 +0100 <EvanR> er decode
2025-03-26 04:52:39 +0100 <Leary> The `Show` instance for `Double` is fine; it was just defaulting to `Integer` there.
2025-03-26 04:53:17 +0100Square2(~Square4@user/square) Square
2025-03-26 04:54:29 +0100 <EvanR> > -0.0
2025-03-26 04:54:31 +0100 <lambdabot> -0.0
2025-03-26 04:55:11 +0100 <monochrom> Oh oops right.
2025-03-26 04:55:13 +0100 <EvanR> rfc8259 for JSON has a grammar which seems to permit -0 to be in the json
2025-03-26 04:55:24 +0100 <EvanR> I wonder how many loaders load it wrong
2025-03-26 04:55:33 +0100 <EvanR> aeson? xD
2025-03-26 04:55:39 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-03-26 04:55:43 +0100 <EvanR> Scientific doesn't support minus zero does it
2025-03-26 04:56:21 +0100Square(~Square@user/square) (Ping timeout: 246 seconds)
2025-03-26 04:56:45 +0100 <EvanR> it does not
2025-03-26 04:57:26 +0100 <EvanR> the browser loads it right
2025-03-26 05:00:21 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-03-26 05:01:24 +0100 <EvanR> a large aeson issue from 2017 discusses the right way to represent numbers but doesn't mention negative zero
2025-03-26 05:11:08 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-03-26 05:12:52 +0100 <EvanR> Text.JSON meanwhile represents a number with a Bool and a Rational
2025-03-26 05:13:23 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-03-26 05:15:55 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-03-26 05:17:46 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 244 seconds)
2025-03-26 05:19:50 +0100aforemny_(~aforemny@2001:9e8:6cfa:db00:13b6:4544:c45d:3975) aforemny
2025-03-26 05:20:05 +0100aforemny(~aforemny@i59F4C69B.versanet.de) (Ping timeout: 248 seconds)
2025-03-26 05:22:30 +0100 <meejah> Aaaaa
2025-03-26 05:22:50 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich
2025-03-26 05:26:55 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-03-26 05:27:38 +0100sp1ff(~user@c-67-160-173-55.hsd1.wa.comcast.net) sp1ff
2025-03-26 05:31:05 +0100michalz(~michalz@185.246.207.221)
2025-03-26 05:31:38 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2025-03-26 05:37:31 +0100monochrom(trebla@216.138.220.146) (Quit: ZNC 1.9.1+deb1 - https://znc.in)
2025-03-26 05:42:42 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-03-26 05:46:16 +0100Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542) (Quit: Leaving)
2025-03-26 05:47:44 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-03-26 05:52:49 +0100michalz(~michalz@185.246.207.221) (Quit: ZNC 1.9.1 - https://znc.in)
2025-03-26 05:53:53 +0100monochrom(trebla@216.138.220.146)
2025-03-26 05:57:14 +0100michalz(~michalz@185.246.207.218)
2025-03-26 05:58:27 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-03-26 05:58:31 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-03-26 06:02:56 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 244 seconds)
2025-03-26 06:04:04 +0100jmcantrell(~weechat@user/jmcantrell) (Quit: WeeChat 4.5.2)
2025-03-26 06:05:21 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-03-26 06:12:43 +0100j1n37-(~j1n37@user/j1n37) j1n37
2025-03-26 06:13:56 +0100j1n37(~j1n37@user/j1n37) (Ping timeout: 265 seconds)
2025-03-26 06:14:25 +0100Vajb(~Vajb@n83sqe30rcw6481fyv6-1.v6.elisa-mobile.fi) (Remote host closed the connection)
2025-03-26 06:14:48 +0100Vajb(~Vajb@n83sqe30rcw6481fyv6-1.v6.elisa-mobile.fi)
2025-03-26 06:16:11 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-03-26 06:21:01 +0100sabathan(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Ping timeout: 244 seconds)
2025-03-26 06:21:19 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-03-26 06:23:06 +0100sabathan(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-03-26 06:26:25 +0100wil(~wil@syn-035-148-093-061.res.spectrum.com)