2025/11/21

Newest at the top

2025-11-21 05:32:45 +0100 <EvanR> lol
2025-11-21 05:32:40 +0100 <jreicher> Signed zero in the first place should not be a thing. :(
2025-11-21 05:32:09 +0100Shark8(~Shark8@c-174-56-102-109.hsd1.nm.comcast.net) (Ping timeout: 244 seconds)
2025-11-21 05:31:57 +0100marlino(~marlino@96-8-193-95.block0.gvtc.com) (Quit: WeeChat 4.7.1)
2025-11-21 05:31:50 +0100 <EvanR> they should have made a signed NaN in case you divide negative zero by zero
2025-11-21 05:31:18 +0100 <EvanR> that be the realm of float "logic"
2025-11-21 05:31:04 +0100 <jreicher> But it is a number. You just don't know which one. :p
2025-11-21 05:30:51 +0100 <fgarcia> oh, somewhere i have written 0.0 / 0.0 because i wanted Not a Number as a result
2025-11-21 05:30:27 +0100 <EvanR> lol
2025-11-21 05:30:22 +0100 <chromoblob> <s>0.5</s>
2025-11-21 05:30:17 +0100 <EvanR> it should clearly be 7 because this one time that would make sense
2025-11-21 05:30:06 +0100 <geekosaur> haven't really had time to work on it though
2025-11-21 05:29:57 +0100 <jreicher> EvanR what should it be? (I'm not saying it should be 0; I'm just curious what you think)
2025-11-21 05:29:39 +0100 <geekosaur> Zemyla, I actually started work on that (adding bsdmp as a backend), but decided it would be easier to port its multiplication optimizations than to work around its violation of ghc bignum invariants
2025-11-21 05:29:33 +0100 <EvanR> 0 / 0 = 0
2025-11-21 05:29:28 +0100 <jreicher> EvanR what's the nonsense result?
2025-11-21 05:29:25 +0100 <EvanR> if you are going to make it total make it total really and define all behavior
2025-11-21 05:29:14 +0100Dhark8(~Shark8@c-174-56-102-109.hsd1.nm.comcast.net)
2025-11-21 05:29:01 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-21 05:28:59 +0100 <EvanR> it is "interesting" that you would mix a nonsense result on one hand with undefined behavior on the other
2025-11-21 05:28:52 +0100 <haskellbridge> <Zemyla> x / 0 should be 0 if division is total, because 0 is the pseudoinverse of zero. The pseudoinverse of x is y such that xyx = x and yxy = y.
2025-11-21 05:27:47 +0100 <chromoblob> i mean, in integer division
2025-11-21 05:27:29 +0100 <chromoblob> AArch64 gives you 0 as result of division by zero. i also wanted to make it like this in my language (because dividing 0 by anything gives 0, so 0 / 0 should be 0 too, and since x / 0 for x ≠ 0 is undefined, might as well just check for dividend = 0, regarding other cases as UB)
2025-11-21 05:24:01 +0100 <fgarcia> :D
2025-11-21 05:22:39 +0100 <EvanR> Divide by zero -- You can't divide by zero on a computer. Some kind of math thing. Don't worry too much about understanding why. Just don't do it. (EXAPUNKS zine 1 page 12)
2025-11-21 05:20:45 +0100Googulator96(~Googulato@2a01-036d-0106-0231-4475-80b4-5cdc-43d6.pool6.digikabel.hu) (Quit: Client closed)
2025-11-21 05:20:44 +0100Googulator46(~Googulato@2a01-036d-0106-0231-4475-80b4-5cdc-43d6.pool6.digikabel.hu)
2025-11-21 05:20:12 +0100werneta(~werneta@71.83.160.242) werneta
2025-11-21 05:18:10 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
2025-11-21 05:17:08 +0100chromoblob(~chromoblo@user/chromob1ot1c) chromoblob\0
2025-11-21 05:16:27 +0100 <davean> Tell that to Vincent
2025-11-21 05:15:56 +0100chromoblob(~chromoblo@user/chromob1ot1c) (Read error: Connection reset by peer)
2025-11-21 05:15:20 +0100 <EvanR> that's the incentive to wrote error free code
2025-11-21 05:13:40 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-21 05:13:27 +0100 <davean> IIRC they had some variation on how they errored with improper operations
2025-11-21 05:13:03 +0100 <davean> EvanR: morally, sure
2025-11-21 05:09:49 +0100 <haskellbridge> <Zemyla> We need a non-GMP Integer implementation that uses ByteArrays like GMP.
2025-11-21 05:09:02 +0100 <EvanR> for all practical purposes a platonic ideal
2025-11-21 05:08:39 +0100 <EvanR> GMP and the other implementation of Integer ought to morally result in the same semantics?
2025-11-21 05:08:19 +0100 <EvanR> ummmmmmmmmmm
2025-11-21 05:06:49 +0100 <davean> EvanR: we do select what integer means every time we compile Haskell.
2025-11-21 05:05:43 +0100jmcantrell(~weechat@user/jmcantrell) (Ping timeout: 264 seconds)
2025-11-21 05:03:04 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2025-11-21 04:58:15 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-21 04:57:42 +0100trickard_(~trickard@cpe-90-98-47-163.wireline.com.au)
2025-11-21 04:55:52 +0100 <EvanR> select what integers mean, select what function application means, select what defining equations means
2025-11-21 04:55:26 +0100 <EvanR> we don't need to limit our evil choices to floating point
2025-11-21 04:52:17 +0100trickard(~trickard@cpe-90-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-11-21 04:49:59 +0100marlino(~marlino@96-8-193-95.block0.gvtc.com)
2025-11-21 04:48:57 +0100marlino(~marlino@96-8-193-95.block0.gvtc.com) (Quit: WeeChat 4.7.1)