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