Logs: liberachat/#haskell
| 2025-12-13 08:59:19 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2025-12-13 09:00:44 | × | trickard_ quits (~trickard@cpe-81-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
| 2025-12-13 09:00:57 | → | trickard_ joins (~trickard@cpe-81-98-47-163.wireline.com.au) |
| 2025-12-13 09:09:24 | × | Enrico63 quits (~Enrico63@host-95-251-99-143.retail.telecomitalia.it) (Quit: Client closed) |
| 2025-12-13 09:09:26 | <haskellbridge> | <sm> yikes |
| 2025-12-13 09:09:46 | → | tromp joins (~textual@2001:1c00:3487:1b00:6cd5:9506:337d:4c75) |
| 2025-12-13 09:10:33 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 2025-12-13 09:13:16 | <tomsmeding> | gentauro: that website is great, thank you lol |
| 2025-12-13 09:15:20 | → | wootehfoot joins (~wootehfoo@user/wootehfoot) |
| 2025-12-13 09:18:32 | trickard_ | is now known as trickard |
| 2025-12-13 09:19:12 | → | o342 joins (~o342@113.199.255.216) |
| 2025-12-13 09:20:15 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 2025-12-13 09:23:39 | <gentauro> | tomsmeding: tell me about it. Do you know who made it? I guess we all own the person a few beers :P |
| 2025-12-13 09:24:46 | <tomsmeding> | gentauro: there's a name in the website footer |
| 2025-12-13 09:25:01 | <gentauro> | lucabtz: No Moggi, no Haskell ;) |
| 2025-12-13 09:25:32 | <gentauro> | fun fact, I went to study there (Polo Fibonacci / Scuola Superiore Santa Ana) just cos of that xD |
| 2025-12-13 09:25:59 | × | CiaoSen quits (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 260 seconds) |
| 2025-12-13 09:28:31 | <gentauro> | Moggi89 (On leave from Univ. di Pisa) ;) |
| 2025-12-13 09:29:31 | <gentauro> | Fun fact: Acknowledgements: «Thanks also to M. Tofte and … for suggesting |
| 2025-12-13 09:29:35 | <gentauro> | improvements to an early draft» |
| 2025-12-13 09:30:33 | <gentauro> | M. Tofte (SML) -> Major_projects_using_SML |
| 2025-12-13 09:30:40 | <gentauro> | it's a small (FP) world :) |
| 2025-12-13 09:31:02 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 2025-12-13 09:31:26 | <gentauro> | I guess they forgot to add SimCorp as well in that section |
| 2025-12-13 09:31:43 | × | o342 quits (~o342@113.199.255.216) (Quit: Leaving) |
| 2025-12-13 09:32:08 | <gentauro> | tomsmeding: it's my goto `pastebin` no matter if it's haskell related or anything else. Best `pastebin` out there without any kind of doubt. Kudos to the author, however it is (Y) |
| 2025-12-13 09:33:00 | <tomsmeding> | ... pastebin? Are we talking about the same website? |
| 2025-12-13 09:33:20 | <tomsmeding> | I was talking about https://0.30000000000000004.com |
| 2025-12-13 09:34:22 | <EvanR> | > let (m,e) = decodeFloat 0.3 in m * 5^52 |
| 2025-12-13 09:34:23 | <lambdabot> | 11999999999999999555910790149937383830547332763671875 |
| 2025-12-13 09:34:45 | <tomsmeding> | 5? |
| 2025-12-13 09:34:46 | <EvanR> | > let (m,e) = decodeFloat 0.3 in m * 5^54 |
| 2025-12-13 09:34:47 | <lambdabot> | 299999999999999988897769753748434595763683319091796875 |
| 2025-12-13 09:35:07 | <gentauro> | tomsmeding: this is my goto `pastebin` -> https://paste.tomsmeding.com/ (please bookmark if you don't have it /s) |
| 2025-12-13 09:35:19 | <tomsmeding> | oh. haha :p |
| 2025-12-13 09:35:53 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 2025-12-13 09:36:15 | × | itaipu quits (~itaipu@168.121.97.28) (Read error: Connection reset by peer) |
| 2025-12-13 09:36:54 | <EvanR> | > let (m,e) = decodeFloat (0.1 + 0.2) in m * 5^54 |
| 2025-12-13 09:36:55 | <lambdabot> | 300000000000000044408920985006261616945266723632812500 |
| 2025-12-13 09:37:22 | <EvanR> | gotta love floating point math |
| 2025-12-13 09:37:51 | <EvanR> | neither 0.1+0.2 nor 0.3 equals 0.3 xD |
| 2025-12-13 09:38:04 | <EvanR> | false friends |
| 2025-12-13 09:40:37 | <gentauro> | tomsmeding: oh, sorry, I'm between a few chat windows. Yeah, https://0.30000000000000004.com should be bookmarked by everybody. It helps you explain why you need to skip some tools to do sensitive (finance) calculations ;) |
| 2025-12-13 09:41:43 | <EvanR> | the page is missing GDscript in godot, which has a very "interesting" (bad) algorithm for printing floats |
| 2025-12-13 09:42:10 | <tomsmeding> | > fst (decodeFloat 0.1) * 5^56 |
| 2025-12-13 09:42:11 | <lambdabot> | 10000000000000000555111512312578270211815834045410156250 |
| 2025-12-13 09:42:14 | <EvanR> | making it hard to demonstrate to kids using it what is going wrong with the calculations |
| 2025-12-13 09:42:20 | <tomsmeding> | EvanR: it doesn't help if your summands aren't even exact :p |
| 2025-12-13 09:43:39 | <tomsmeding> | > let (m,e) = decodeFloat 0.1 in m * 5^(-e) |
| 2025-12-13 09:43:40 | <lambdabot> | 10000000000000000555111512312578270211815834045410156250 |
| 2025-12-13 09:44:45 | × | tromp quits (~textual@2001:1c00:3487:1b00:6cd5:9506:337d:4c75) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2025-12-13 09:45:22 | <EvanR> | don't think, dial 555 111 5123 now |
| 2025-12-13 09:45:52 | <tomsmeding> | I'm getting "invalid number" |
| 2025-12-13 09:46:03 | <EvanR> | lol |
| 2025-12-13 09:46:06 | → | Tuplanolla joins (~Tuplanoll@91-152-225-194.elisa-laajakaista.fi) |
| 2025-12-13 09:46:30 | <tomsmeding> | (I didn't actually try it) |
| 2025-12-13 09:46:50 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 2025-12-13 09:46:54 | <EvanR> | > let (m,e) = decodeFloat 0.2 in m * 5 ^ negate e |
| 2025-12-13 09:46:55 | <lambdabot> | 2000000000000000111022302462515654042363166809082031250 |
| 2025-12-13 09:47:19 | <EvanR> | > 10000000000000000555111512312578270211815834045410156250 + 2000000000000000111022302462515654042363166809082031250 |
| 2025-12-13 09:47:20 | <lambdabot> | 12000000000000000666133814775093924254179000854492187500 |
| 2025-12-13 09:47:40 | <EvanR> | oof |
| 2025-12-13 09:47:45 | <tomsmeding> | > 10000000000000000555111512312578270211815834045410156250 + 2000000000000000111022302462515654042363166809082031250 * 10 |
| 2025-12-13 09:47:46 | <lambdabot> | 30000000000000001665334536937734810635447502136230468750 |
| 2025-12-13 09:47:58 | → | poscat0x04 joins (~poscat@user/poscat) |
| 2025-12-13 09:48:13 | <tomsmeding> | which, interestingly, is not the same number as decodeFloat (0.1 + 0.2) gave |
| 2025-12-13 09:48:17 | <EvanR> | 300000000000000044408920985006261616945266723632812500 |
| 2025-12-13 09:48:24 | <EvanR> | it's a faaaaaake |
| 2025-12-13 09:49:06 | <probie> | EvanR: In the Pale Moonlight (DS9) reference? |
| 2025-12-13 09:49:12 | <EvanR> | obv |
| 2025-12-13 09:49:35 | × | poscat quits (~poscat@user/poscat) (Ping timeout: 256 seconds) |
| 2025-12-13 09:49:37 | <tomsmeding> | oh, EvanR our manual sum here has too much precision |
| 2025-12-13 09:49:49 | <tomsmeding> | I think? |
| 2025-12-13 09:50:20 | <EvanR> | the result does |
| 2025-12-13 09:50:26 | <tomsmeding> | yeah |
| 2025-12-13 09:50:34 | <tomsmeding> | > map decodeFloat [0.1, 0.2, 0.3] |
| 2025-12-13 09:50:35 | <lambdabot> | [(7205759403792794,-56),(7205759403792794,-55),(5404319552844595,-54)] |
| 2025-12-13 09:50:40 | <tomsmeding> | note the 0.3 being -54 |
| 2025-12-13 09:51:08 | <tomsmeding> | we have a number with -56 but still being close to 0.3 |
| 2025-12-13 09:51:28 | <tomsmeding> | -56 because the 0.1 had that, and I multiplied up the 0.2 to -56-precision with the *10 |
| 2025-12-13 09:51:35 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2025-12-13 09:51:49 | <tomsmeding> | hence our result here is closer to the actual 0.3 than the FPU's result is |
| 2025-12-13 09:52:03 | <EvanR> | I just did |
| 2025-12-13 09:52:04 | <tomsmeding> | it actually makes sense after all |
| 2025-12-13 09:52:19 | <EvanR> | > length "3000000000000000166533453693773481063544750213623046875" |
| 2025-12-13 09:52:20 | <lambdabot> | 55 |
| 2025-12-13 09:52:33 | <EvanR> | > length "3000000000000000444089209850062616169452667236328125" |
| 2025-12-13 09:52:34 | <lambdabot> | 52 |
| 2025-12-13 09:52:37 | <tomsmeding> | that's boring |
| 2025-12-13 09:52:40 | <EvanR> | lol |
| 2025-12-13 09:52:54 | <tomsmeding> | also no that's the wrong comparison |
| 2025-12-13 09:53:01 | <tomsmeding> | you can't cut off zeros at the end, that reduces the precision |
| 2025-12-13 09:53:20 | <tomsmeding> | but if you don't cut off the zeros, it's still 2 digits longer: and indeed, -54 and -56 are 2 apart |
| 2025-12-13 09:53:21 | <tomsmeding> | it makes sense |
| 2025-12-13 09:53:36 | → | CiaoSen joins (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) |
| 2025-12-13 10:02:38 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 2025-12-13 10:03:28 | → | skum joins (~skum@user/skum) |
| 2025-12-13 10:07:15 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2025-12-13 10:16:50 | <[exa]> | wow finally a good site about ieee floats :D |
| 2025-12-13 10:28:30 | × | trickard quits (~trickard@cpe-81-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
All times are in UTC.