Logs on 2025-04-04 (liberachat/#haskell)
| 00:01:17 | × | weary-traveler quits (~user@user/user363627) (Remote host closed the connection) |
| 00:01:24 | × | Tuplanolla quits (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.) |
| 00:08:21 | × | otto_s quits (~user@p5b044be5.dip0.t-ipconnect.de) (Ping timeout: 248 seconds) |
| 00:09:05 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 00:09:50 | → | otto_s joins (~user@p5de2ff42.dip0.t-ipconnect.de) |
| 00:10:16 | → | rstromlund joins (~user@user/rstromlund) |
| 00:11:27 | → | JuanDaugherty joins (~juan@user/JuanDaugherty) |
| 00:12:07 | × | machinedgod quits (~machinedg@d108-173-18-100.abhsia.telus.net) (Ping timeout: 244 seconds) |
| 00:13:58 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 00:15:13 | × | rstromlund quits (~user@user/rstromlund) (Ping timeout: 244 seconds) |
| 00:21:37 | × | ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 265 seconds) |
| 00:24:51 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 00:27:50 | → | rstromlund joins (~user@user/rstromlund) |
| 00:28:01 | × | hattckory quits (~hattckory@205.189.187.4) (Ping timeout: 248 seconds) |
| 00:29:37 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds) |
| 00:30:12 | × | inca quits (~inca@syn-098-011-170-006.res.spectrum.com) (Ping timeout: 244 seconds) |
| 00:32:43 | × | JuanDaugherty quits (~juan@user/JuanDaugherty) (Quit: praxis.meansofproduction.biz (juan@acm.org)) |
| 00:33:07 | → | inca joins (~inca@syn-098-011-170-006.res.spectrum.com) |
| 00:38:24 | × | inca quits (~inca@syn-098-011-170-006.res.spectrum.com) (Ping timeout: 246 seconds) |
| 00:40:13 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 00:45:03 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds) |
| 00:48:24 | → | inca joins (~inca@syn-098-011-170-006.res.spectrum.com) |
| 00:52:57 | → | Square2 joins (~Square@user/square) |
| 00:54:08 | × | inca quits (~inca@syn-098-011-170-006.res.spectrum.com) (Ping timeout: 245 seconds) |
| 00:56:00 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 00:56:24 | × | Square quits (~Square4@user/square) (Ping timeout: 260 seconds) |
| 01:01:41 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds) |
| 01:11:32 | × | xff0x quits (~xff0x@2405:6580:b080:900:4999:ed25:622a:4144) (Ping timeout: 272 seconds) |
| 01:12:04 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 01:15:28 | → | werneta joins (~werneta@syn-071-083-160-242.res.spectrum.com) |
| 01:17:14 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds) |
| 01:21:06 | × | rstromlund quits (~user@user/rstromlund) (Ping timeout: 246 seconds) |
| 01:27:51 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 01:31:43 | × | ChaiTRex quits (~ChaiTRex@user/chaitrex) (Remote host closed the connection) |
| 01:32:03 | × | toby-bro quits (~toby-bro@user/toby-bro) (Ping timeout: 245 seconds) |
| 01:32:09 | → | ChaiTRex joins (~ChaiTRex@user/chaitrex) |
| 01:32:52 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 01:43:39 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 01:48:35 | → | hiecaq joins (~hiecaq@user/hiecaq) |
| 01:49:10 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds) |
| 01:50:00 | × | haritz quits (~hrtz@user/haritz) (Ping timeout: 276 seconds) |
| 01:51:56 | × | vanishingideal quits (~vanishing@user/vanishingideal) (Ping timeout: 252 seconds) |
| 01:53:52 | × | puke quits (~puke@user/puke) (Quit: puke) |
| 01:53:56 | → | vanishingideal joins (~vanishing@user/vanishingideal) |
| 01:54:06 | × | Square2 quits (~Square@user/square) (Ping timeout: 268 seconds) |
| 01:59:25 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 02:05:01 | → | rstromlund joins (~user@user/rstromlund) |
| 02:06:13 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
| 02:06:45 | × | thuna` quits (~thuna`@user/thuna/x-1480069) (Ping timeout: 248 seconds) |
| 02:09:11 | → | xff0x joins (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) |
| 02:10:08 | × | rstromlund quits (~user@user/rstromlund) (Ping timeout: 268 seconds) |
| 02:13:06 | → | rstromlund joins (~user@user/rstromlund) |
| 02:15:11 | × | chewybread quits (~chewybrea@user/chewybread) (Remote host closed the connection) |
| 02:16:44 | → | haritz joins (~hrtz@2a02:8010:65b5:0:5d9a:9bab:ee5e:b737) |
| 02:16:47 | × | haritz quits (~hrtz@2a02:8010:65b5:0:5d9a:9bab:ee5e:b737) (Changing host) |
| 02:16:47 | → | haritz joins (~hrtz@user/haritz) |
| 02:17:28 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 02:18:52 | → | weary-traveler joins (~user@user/user363627) |
| 02:20:31 | × | gabriel_sevecek quits (~gabriel@188-167-229-200.dynamic.chello.sk) (Ping timeout: 265 seconds) |
| 02:22:35 | → | gabriel_sevecek joins (~gabriel@188-167-229-200.dynamic.chello.sk) |
| 02:23:06 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds) |
| 02:28:49 | × | euphores quits (~SASL_euph@user/euphores) (Ping timeout: 244 seconds) |
| 02:33:10 | → | XZDX joins (~xzdx@2601:404:ce00:4e51:214:51ff:fe2b:e82e) |
| 02:33:15 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 02:34:52 | × | XZDX quits (~xzdx@2601:404:ce00:4e51:214:51ff:fe2b:e82e) (Changing host) |
| 02:34:52 | → | XZDX joins (~xzdx@user/XZDX) |
| 02:36:03 | → | euphores joins (~SASL_euph@user/euphores) |
| 02:36:36 | → | mange joins (~user@user/mange) |
| 02:37:53 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
| 02:41:01 | → | hattckory joins (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) |
| 02:49:01 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 02:51:14 | <haskellbridge> | <Liamzee> thanks Axman6! |
| 02:53:31 | × | rstromlund quits (~user@user/rstromlund) (Ping timeout: 252 seconds) |
| 02:53:42 | → | peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
| 02:54:32 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds) |
| 02:59:43 | × | haskellbridge quits (~hackager@syn-024-093-192-219.res.spectrum.com) (Remote host closed the connection) |
| 03:00:20 | → | haskellbridge joins (~hackager@syn-024-093-192-219.res.spectrum.com) |
| 03:00:20 | ChanServ | sets mode +v haskellbridge |
| 03:00:43 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 03:06:10 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds) |
| 03:06:40 | <haskellbridge> | <Liamzee> that's cool, on apple m3, using time, C is 0.31s user 0.01s system for pidigits |
| 03:07:12 | × | Smiles quits (uid551636@id-551636.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
| 03:09:24 | <haskellbridge> | <Liamzee> vs cabal run pidigits.hs -- 10000 -N4 0.43s user 0.02s system 95% cpu 0.472 total |
| 03:11:18 | <haskellbridge> | <Liamzee> which is really freaking weird, the "div" outperforms the "quote" |
| 03:11:22 | <haskellbridge> | <Liamzee> erm, "quot" |
| 03:12:51 | × | hattckory quits (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) (Read error: Connection reset by peer) |
| 03:16:31 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 03:17:11 | → | rstromlund joins (~user@user/rstromlund) |
| 03:21:13 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 03:21:44 | × | rstromlund quits (~user@user/rstromlund) (Ping timeout: 244 seconds) |
| 03:32:18 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 03:35:05 | × | nitrix quits (~nitrix@user/meow/nitrix) (Quit: ZNC 1.9.1 - https://znc.in) |
| 03:37:01 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 03:42:39 | → | michalz joins (~michalz@185.246.207.215) |
| 03:45:06 | × | peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 268 seconds) |
| 03:48:06 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 03:53:40 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds) |
| 03:55:20 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 04:00:38 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds) |
| 04:01:17 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 04:06:34 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
| 04:32:18 | pabs3 | is now known as Guest7041 |
| 04:32:18 | × | Guest7041 quits (~pabs3@user/pabs3) (Killed (tantalum.libera.chat (Nickname regained by services))) |
| 04:32:43 | → | pabs3 joins (~pabs3@user/pabs3) |
| 04:32:47 | → | sp1ff joins (~user@c-67-160-173-55.hsd1.wa.comcast.net) |
| 04:33:31 | <haskellbridge> | <Liamzee> does anyone have an intel system and is willing to help with benchmarks here? |
| 04:33:44 | <haskellbridge> | <Liamzee> https://benchmarksgame-team.pages.debian.net/benchmarksgame/performance/pidigits.html |
| 04:34:24 | <haskellbridge> | <Liamzee> on my system, quot does not introduce any advantages over div, but i'm on apple silicon, but the Haskell on apple silicon is taking 50% more time than the C |
| 04:34:50 | <haskellbridge> | <Liamzee> whereas on their benchmarks, it's roughly 2x the time |
| 04:42:23 | × | jmcantrell quits (~weechat@user/jmcantrell) (Quit: WeeChat 4.6.0) |
| 04:42:24 | jmcantrell_ | is now known as jmcantrell |
| 04:47:17 | → | tavare joins (~tavare@150.129.88.189) |
| 04:47:17 | × | tavare quits (~tavare@150.129.88.189) (Changing host) |
| 04:47:17 | → | tavare joins (~tavare@user/tavare) |
| 04:49:59 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 04:55:24 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds) |
| 04:56:07 | → | ERR0R157 joins (~ERR0R157@user/ERR0R157) |
| 05:01:33 | × | tavare quits (~tavare@user/tavare) (Remote host closed the connection) |
| 05:05:24 | <sim590> | I just added the data constructor `Offline` here: https://github.com/sim590/habanga/blob/b965deab3e7a3802c93bcfc6d46df58eabda28d4/src/core/NetworkState.hs#L46. And I tried using it over here: https://github.com/sim590/habanga/blob/b965deab3e7a3802c93bcfc6d46df58eabda28d4/src/tui/GameView.hs#L118 and it compiles correctly according to HLS (Haskell Language Server), but cabal build gives "Not in |
| 05:05:26 | <sim590> | scope: data constructor ‘NS.Offline’". Wtf ? |
| 05:05:45 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 05:05:59 | <sim590> | It is exported... All types and constructors are exported by that module. So, GHC is wrong here. But I don't get it. |
| 05:07:18 | <sim590> | If I replace `NS.Offline` by `_`, it compiles correctly... |
| 05:08:53 | → | takuan joins (~takuan@d8D86B601.access.telenet.be) |
| 05:10:57 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 05:14:07 | <c_wraith> | did the habanga-tui component get recompiled? |
| 05:14:18 | <sim590> | I did a full `v2-clean`. |
| 05:14:21 | <sim590> | Then, I recompiled. |
| 05:14:24 | <sim590> | Same error. |
| 05:14:48 | <c_wraith> | Did it actually compile that component during the recompile? |
| 05:15:03 | <sim590> | Oh I see. |
| 05:15:06 | <sim590> | Let me check. |
| 05:15:30 | <sim590> | That would explain. |
| 05:16:34 | <c_wraith> | oh, I had that backwards. -core is the one that might not be recompiling |
| 05:16:42 | <c_wraith> | but I suppose you know what I meant |
| 05:16:59 | × | gmg quits (~user@user/gehmehgeh) (Remote host closed the connection) |
| 05:17:06 | → | peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
| 05:17:40 | <sim590> | c_wraith: here's what I got: https://paste.debian.net/1367361/ |
| 05:17:41 | → | gmg joins (~user@user/gehmehgeh) |
| 05:17:47 | <sim590> | it does compile it.. :/ |
| 05:17:54 | <sim590> | It's in NetworkState |
| 05:19:12 | <c_wraith> | Ok, getting into real "just in case" territory - are you sure you've saved the change? |
| 05:19:20 | <sim590> | Yes :D |
| 05:19:42 | <sim590> | Oh. |
| 05:19:44 | <sim590> | Fuc |
| 05:20:08 | <sim590> | I think I was editing the file in the Git staging area. Because of fugitive.vim. |
| 05:20:51 | <c_wraith> | That sounds way more confusing than any time I've saved to the wrong file. |
| 05:21:05 | <c_wraith> | ... which is surprisingly common |
| 05:21:32 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 05:21:57 | <haskellbridge> | <Liamzee> is there a simpler way to do (unur . move)? |
| 05:22:11 | <sim590> | OK. There's clearly something. I'm not sure what it is yet. The file seems to be OK on disk, but git says it's "untracked". Even though, I committed it... |
| 05:22:15 | × | weary-traveler quits (~user@user/user363627) (Remote host closed the connection) |
| 05:24:25 | <sim590> | Ah gawd. It seems like my Vim decided to save the file in the root directory of the repo instead of it's usual path and I,ve been editing that file since. Damn. |
| 05:26:36 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
| 05:28:50 | × | ERR0R157 quits (~ERR0R157@user/ERR0R157) (Remote host closed the connection) |
| 05:29:31 | <sim590> | It seems like cabal decided to use the wrong NetworkState file in the root directory (that didn't have the constructor) even though `hs-source-dirs:` for `habanga-core` said `src/core`. So like if you have files in subdirectories, it's possible cabal/ghc confuses files in the root directories with files in the subdirectories. Seems like a bug. |
| 05:37:19 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 05:44:01 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 05:44:36 | × | emmanuelux quits (~emmanuelu@user/emmanuelux) (Quit: au revoir) |
| 05:55:21 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 06:00:19 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
| 06:02:21 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 06:02:29 | → | fp1 joins (~Thunderbi@2001:708:20:1406::1370) |
| 06:07:18 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds) |
| 06:08:13 | × | ft quits (~ft@p508db463.dip0.t-ipconnect.de) (Quit: leaving) |
| 06:12:12 | → | hattckory joins (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) |
| 06:13:43 | <haskellbridge> | <Liamzee> i guess i love my experience with linear haskell being, every few months: |
| 06:13:48 | <haskellbridge> | <Liamzee> "wow, linear haskell is a wonderful idea" |
| 06:13:59 | <haskellbridge> | <Liamzee> then |
| 06:14:12 | <haskellbridge> | <Liamzee> "developed by people who thought the best part of Rust was fighting with the borrow checker" |
| 06:19:07 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 06:19:24 | × | hattckory quits (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) (Ping timeout: 260 seconds) |
| 06:20:00 | × | peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 246 seconds) |
| 06:21:07 | → | Unicorn_Princess joins (~Unicorn_P@user/Unicorn-Princess/x-3540542) |
| 06:23:23 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 06:34:30 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 06:36:29 | → | ash3en joins (~Thunderbi@89.56.182.235) |
| 06:38:08 | × | j1n37 quits (~j1n37@user/j1n37) (Ping timeout: 265 seconds) |
| 06:38:41 | → | j1n37 joins (~j1n37@user/j1n37) |
| 06:39:24 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 06:50:17 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 06:54:58 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
| 06:56:09 | × | ash3en quits (~Thunderbi@89.56.182.235) (Ping timeout: 276 seconds) |
| 07:00:01 | × | caconym quits (~caconym@user/caconym) (Quit: bye) |
| 07:00:57 | → | caconym joins (~caconym@user/caconym) |
| 07:01:55 | → | sord937 joins (~sord937@gateway/tor-sasl/sord937) |
| 07:03:15 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 07:05:16 | → | lortabac joins (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) |
| 07:08:44 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds) |
| 07:16:38 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 245 seconds) |
| 07:16:40 | → | hattckory joins (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) |
| 07:16:44 | → | Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915) |
| 07:18:06 | Lord_of_Life_ | is now known as Lord_of_Life |
| 07:18:51 | × | hiecaq quits (~hiecaq@user/hiecaq) (Quit: ERC 5.6.0.30.1 (IRC client for GNU Emacs 30.0.92)) |
| 07:18:59 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 07:21:21 | × | hattckory quits (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) (Ping timeout: 248 seconds) |
| 07:22:18 | → | acidjnk_new3 joins (~acidjnk@p200300d6e71c4f05c0965f70e915e324.dip0.t-ipconnect.de) |
| 07:23:50 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 07:25:30 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 07:26:38 | → | hiecaq joins (~hiecaq@user/hiecaq) |
| 07:43:20 | → | ash3en joins (~Thunderbi@89.56.182.235) |
| 07:43:57 | × | Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 07:44:44 | → | nitrix joins (~nitrix@user/meow/nitrix) |
| 07:47:05 | → | hattckory joins (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) |
| 07:51:34 | × | hattckory quits (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) (Ping timeout: 260 seconds) |
| 07:51:46 | × | werneta quits (~werneta@syn-071-083-160-242.res.spectrum.com) (Ping timeout: 268 seconds) |
| 07:54:44 | → | sprotte24 joins (~sprotte24@p200300d16f176a0098ec2c88260f9eb5.dip0.t-ipconnect.de) |
| 08:02:17 | → | Smiles joins (uid551636@id-551636.lymington.irccloud.com) |
| 08:05:36 | → | __monty__ joins (~toonn@user/toonn) |
| 08:07:48 | × | fp1 quits (~Thunderbi@2001:708:20:1406::1370) (Ping timeout: 268 seconds) |
| 08:15:35 | × | ash3en quits (~Thunderbi@89.56.182.235) (Quit: ash3en) |
| 08:15:45 | → | kuribas joins (~user@ip-188-118-57-242.reverse.destiny.be) |
| 08:18:58 | → | ash3en joins (~Thunderbi@89.56.182.235) |
| 08:20:24 | → | hattckory joins (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) |
| 08:20:31 | → | Guest57 joins (~Guest57@2607:fb90:bdc9:4bb1:fc1e:62da:e5b7:17ae) |
| 08:20:43 | → | Guest27 joins (~Guest57@2607:fb90:bdc9:4bb1:fc1e:62da:e5b7:17ae) |
| 08:25:51 | × | hattckory quits (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) (Ping timeout: 276 seconds) |
| 08:27:28 | × | ash3en quits (~Thunderbi@89.56.182.235) (Ping timeout: 245 seconds) |
| 08:28:01 | × | Guest57 quits (~Guest57@2607:fb90:bdc9:4bb1:fc1e:62da:e5b7:17ae) (Quit: Client closed) |
| 08:33:00 | → | ash3en joins (~Thunderbi@89.56.182.235) |
| 08:34:06 | × | Guest27 quits (~Guest57@2607:fb90:bdc9:4bb1:fc1e:62da:e5b7:17ae) (Ping timeout: 240 seconds) |
| 08:37:07 | → | chele joins (~chele@user/chele) |
| 08:39:35 | → | hattckory joins (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) |
| 08:44:36 | × | gmg quits (~user@user/gehmehgeh) (Ping timeout: 264 seconds) |
| 08:45:19 | → | gmg joins (~user@user/gehmehgeh) |
| 08:46:03 | → | ubert joins (~Thunderbi@2a02:8109:ab8a:5a00:818c:f861:24cb:fd10) |
| 08:46:40 | → | jacopovalanzano joins (~jacopoval@cpc151911-cove17-2-0-cust105.3-1.cable.virginm.net) |
| 08:48:24 | → | lxsameer joins (~lxsameer@Serene/lxsameer) |
| 08:49:26 | × | jacopovalanzano quits (~jacopoval@cpc151911-cove17-2-0-cust105.3-1.cable.virginm.net) (Client Quit) |
| 08:49:57 | × | tzh quits (~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz) |
| 08:52:49 | × | hattckory quits (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) (Ping timeout: 260 seconds) |
| 09:13:33 | → | L29Ah joins (~L29Ah@wikipedia/L29Ah) |
| 09:15:01 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds) |
| 09:24:13 | × | ash3en quits (~Thunderbi@89.56.182.235) (Quit: ash3en) |
| 09:27:27 | → | Digitteknohippie joins (~user@user/digit) |
| 09:27:42 | × | hughjfchen quits (~hughjfche@vmi2417424.contaboserver.net) (Quit: WeeChat 4.4.3) |
| 09:27:50 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 09:28:13 | → | hughjfchen joins (~hughjfche@vmi2417424.contaboserver.net) |
| 09:28:18 | × | Digit quits (~user@user/digit) (Ping timeout: 245 seconds) |
| 09:29:30 | <hellwolf> | I am a believer of LinearTypes. We need more people writing about it including practical use cases of it. |
| 09:29:37 | → | dhil joins (~dhil@2a0c:b381:52e:3600:d846:130d:349b:6b56) |
| 09:30:30 | → | ash3en joins (~Thunderbi@89.56.182.235) |
| 09:31:12 | × | hughjfchen quits (~hughjfche@vmi2417424.contaboserver.net) (Client Quit) |
| 09:32:55 | → | hughjfchen joins (~hughjfche@vmi2417424.contaboserver.net) |
| 09:34:39 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 09:35:29 | → | amadaluzia joins (~amadaluzi@user/amadaluzia) |
| 09:35:33 | <hellwolf> | IMO, LinearTypes, linearity on arrows, is more versatile, e.g.: 1) LT can type correctly the protocol of resource accessing (memory management, e.g.), 2.) LT can safely versioning of the data, so that you don't use outdated data and cause losses in financial applications, 3.) model concurrency better than overly-sequential monadically, see "motivation" part of the lineartypes proposal. |
| 09:36:23 | × | amadaluzia quits (~amadaluzi@user/amadaluzia) (Remote host closed the connection) |
| 09:36:44 | → | amadaluzia joins (~amadaluzi@user/amadaluzia) |
| 09:41:51 | <haskellbridge> | <Morj> How's the ghc optimization of linear values progressed? Last I checked (ughh how many years ago) it was still worse than unboxing vectors and values and using ST |
| 09:43:15 | <haskellbridge> | <Morj> Quick googling shows that it's still not as good, sad https://0xd34df00d.me/posts/2024/09/naive-nfas.html#linear-vectors |
| 09:46:38 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 09:48:29 | → | hattckory joins (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) |
| 09:52:37 | → | hseg joins (~gesh@46.120.20.180) |
| 09:57:39 | × | sord937 quits (~sord937@gateway/tor-sasl/sord937) (Remote host closed the connection) |
| 09:57:41 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
| 09:58:01 | → | sord937 joins (~sord937@gateway/tor-sasl/sord937) |
| 10:00:56 | × | sord937 quits (~sord937@gateway/tor-sasl/sord937) (Remote host closed the connection) |
| 10:01:15 | → | sord937 joins (~sord937@gateway/tor-sasl/sord937) |
| 10:03:35 | <kqr> | Is there a conduit function for splitting Text up into words, and running the conduit for each word? I found Data.Conduit.Text.lines so I could probably mirror that implementation in my own words function, but it would be even more convenient if there was something ready-made I'm missing. |
| 10:04:07 | <kqr> | I have thought about first splitting into lines, and then splitting the line into words with regular Text functions, and then re-yielding each word. Is that a reasonable approach? |
| 10:04:33 | × | hattckory quits (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) (Ping timeout: 248 seconds) |
| 10:10:57 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 10:11:19 | × | xff0x quits (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 252 seconds) |
| 10:17:51 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 10:18:24 | × | lortabac quits (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Ping timeout: 252 seconds) |
| 10:19:13 | → | Square2 joins (~Square@user/square) |
| 10:23:01 | <hseg> | int-e: Turns out 9.10.1 is an option -- hlint supports it already |
| 10:24:08 | <hseg> | So while I put "report ghc-lib-parser is also affected by https://gitlab.haskell.org/ghc/ghc/-/issues/25576" on my todo list, I now have a workaround for the meantime |
| 10:30:05 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 10:31:46 | × | img quits (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in) |
| 10:33:44 | → | img joins (~img@user/img) |
| 10:34:48 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds) |
| 10:37:18 | × | amadaluzia quits (~amadaluzi@user/amadaluzia) (Remote host closed the connection) |
| 10:37:41 | → | amadaluzia joins (~amadaluzi@user/amadaluzia) |
| 10:41:59 | <haskellbridge> | <hellwolf> Morj: I am not sure. |
| 10:41:59 | <haskellbridge> | But I will say is, there should be more to sell than performance, is it not? Otherwise people will rather stick to C/C++ or Rust. |
| 10:44:47 | → | tabaqui joins (~tabaqui@167.71.80.236) |
| 10:45:01 | → | szkl joins (uid110435@id-110435.uxbridge.irccloud.com) |
| 10:46:19 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 10:50:10 | → | hattckory joins (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) |
| 10:54:07 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 10:56:12 | → | lortabac joins (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) |
| 10:58:27 | → | wootehfoot joins (~wootehfoo@user/wootehfoot) |
| 10:59:12 | → | ljdarj joins (~Thunderbi@user/ljdarj) |
| 11:01:55 | × | hseg quits (~gesh@46.120.20.180) (Quit: WeeChat 4.6.0) |
| 11:05:34 | <kqr> | Unrelated to the above: what would it take to derive semigroup and monoid? GHC suggests DeriveAnyClass but I have a vague memory that would be overkill. |
| 11:06:20 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 11:06:26 | → | forell joins (~forell@user/forell) |
| 11:16:34 | × | tv quits (~tv@user/tv) (Quit: derp) |
| 11:18:30 | → | tv joins (~tv@user/tv) |
| 11:42:34 | × | hattckory quits (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) (Ping timeout: 260 seconds) |
| 11:54:56 | × | ubert quits (~Thunderbi@2a02:8109:ab8a:5a00:818c:f861:24cb:fd10) (Remote host closed the connection) |
| 11:55:09 | → | ubert joins (~Thunderbi@2a02:8109:ab8a:5a00:988a:cdd2:ae2a:2121) |
| 12:05:52 | → | xff0x joins (~xff0x@2405:6580:b080:900:c94:b4ca:3e28:1c70) |
| 12:07:47 | → | weary-traveler joins (~user@user/user363627) |
| 12:11:07 | → | tremon joins (~tremon@83.80.159.219) |
| 12:12:54 | × | dyniec quits (~dyniec@dybiec.info) (Remote host closed the connection) |
| 12:13:15 | → | dyniec joins (~dyniec@dybiec.info) |
| 12:16:56 | × | acidjnk_new3 quits (~acidjnk@p200300d6e71c4f05c0965f70e915e324.dip0.t-ipconnect.de) (Ping timeout: 268 seconds) |
| 12:20:27 | × | Smiles quits (uid551636@id-551636.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
| 12:22:26 | Digitteknohippie | is now known as Digit |
| 12:28:34 | → | acidjnk_new3 joins (~acidjnk@p200300d6e71c4f050cb0d6601d636238.dip0.t-ipconnect.de) |
| 12:30:00 | → | fp1 joins (~Thunderbi@2001:708:20:1406::1370) |
| 12:31:08 | × | mange quits (~user@user/mange) (Quit: Zzz...) |
| 12:32:03 | → | Inst joins (~Inst@user/Inst) |
| 12:32:10 | <Inst> | this just feels wrong |
| 12:32:12 | <Inst> | https://paste.tomsmeding.com/1BYeLvRm |
| 12:32:47 | <Inst> | this is an expanded for clarity version of Gordon Goodsman's solution here |
| 12:32:50 | <Inst> | https://benchmarksgame-team.pages.debian.net/benchmarksgame/program/pidigits-ghc-6.html |
| 12:32:53 | → | hattckory joins (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) |
| 12:33:05 | <Inst> | the integer is intentional |
| 12:33:40 | <Inst> | But Gordon's version is the best performing right now |
| 12:37:37 | × | hattckory quits (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) (Ping timeout: 248 seconds) |
| 12:38:07 | <Inst> | i mean, i could change it to ST, I tried a version with linear types that got blown up by poor support for integer in linear base |
| 12:44:49 | → | ft joins (~ft@p508db463.dip0.t-ipconnect.de) |
| 12:45:40 | → | inca joins (~inca@syn-172-100-032-197.res.spectrum.com) |
| 12:51:58 | → | notdabs joins (~Owner@2600:1700:69cf:9000:c0fa:b50a:3031:4dce) |
| 12:55:01 | → | smalltalkman joins (uid545680@id-545680.hampstead.irccloud.com) |
| 12:57:25 | × | Inst quits (~Inst@user/Inst) (Remote host closed the connection) |
| 13:04:58 | <haskellbridge> | <Morj> hellwolf: The good part about haskell is that you can get high performance and still use a good language with safety guarantees and pretty APIs. Linear types make the second even better, and if they did the first it would be incredible |
| 13:07:25 | → | Square joins (~Square4@user/square) |
| 13:08:25 | × | acidjnk_new3 quits (~acidjnk@p200300d6e71c4f050cb0d6601d636238.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
| 13:08:34 | <haskellbridge> | <hellwolf> It would be ideal. Yes. But I must admit I overlooked a lot Haskell's performance side of things in my use cases so far.. |
| 13:09:25 | <haskellbridge> | <hellwolf> And I admit that it could improve a lot of its adoption if we had both safety and performance. It's probably too obvious :) |
| 13:10:28 | → | hattckory joins (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) |
| 13:10:30 | <haskellbridge> | <hellwolf> I hope there is no such a trilemma exist: syntax (ergonomics), performance and safety. |
| 13:13:36 | <haskellbridge> | <Morj> I'm usually happy with the performance of the regular code, especially compared to something like python or typescript. I've also for several years worked on a project where we were writing video decoders in haskell and cared about performance a lot, and it we were able to go very far with it |
| 13:14:31 | <haskellbridge> | <Morj> I'm also always surprised by the fact that haskell TUIs are mostly faster than rust ones, somehow |
| 13:23:24 | <haskellbridge> | <hellwolf> Morj: Nice read. |
| 13:23:24 | <haskellbridge> | Is that your blog? |
| 13:23:29 | × | hattckory quits (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) (Ping timeout: 248 seconds) |
| 13:23:49 | <haskellbridge> | <Morj> Nope, some guy I follow |
| 13:32:38 | × | inca quits (~inca@syn-172-100-032-197.res.spectrum.com) (Ping timeout: 252 seconds) |
| 13:36:27 | × | Square quits (~Square4@user/square) (Ping timeout: 246 seconds) |
| 13:39:10 | → | acidjnk_new3 joins (~acidjnk@p200300d6e71c4f050cb0d6601d636238.dip0.t-ipconnect.de) |
| 13:39:22 | → | inca joins (~inca@syn-172-100-032-197.res.spectrum.com) |
| 13:39:47 | → | JuanDaugherty joins (~juan@user/JuanDaugherty) |
| 13:40:43 | × | sprotte24 quits (~sprotte24@p200300d16f176a0098ec2c88260f9eb5.dip0.t-ipconnect.de) (Quit: Leaving) |
| 13:42:53 | → | hattckory joins (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) |
| 13:43:35 | × | inca quits (~inca@syn-172-100-032-197.res.spectrum.com) (Ping timeout: 244 seconds) |
| 13:44:41 | → | inca joins (~inca@syn-172-100-032-197.res.spectrum.com) |
| 13:50:14 | × | inca quits (~inca@syn-172-100-032-197.res.spectrum.com) (Ping timeout: 265 seconds) |
| 13:51:25 | → | inca joins (~inca@syn-172-100-032-197.res.spectrum.com) |
| 13:53:24 | × | Square2 quits (~Square@user/square) (Ping timeout: 260 seconds) |
| 13:57:41 | → | bezik joins (~bezik@wikipedia/bezik) |
| 13:58:41 | → | toby-bro joins (~toby-bro@user/toby-bro) |
| 13:58:58 | → | aman joins (~aman@user/aman) |
| 14:01:18 | × | JuanDaugherty quits (~juan@user/JuanDaugherty) (Quit: praxis.meansofproduction.biz (juan@acm.org)) |
| 14:05:04 | × | inca quits (~inca@syn-172-100-032-197.res.spectrum.com) (Ping timeout: 260 seconds) |
| 14:05:47 | → | inca joins (~inca@syn-172-100-032-197.res.spectrum.com) |
| 14:08:26 | <haskellbridge> | <Liamzee> hmmm, just built a version under ST array, seems to lose about 2% speed compared to accum parameter :( |
| 14:10:26 | <haskellbridge> | <Liamzee> plus side, at least I've had a legitimate use for unsafeInterleaveST for the first time in my life |
| 14:11:47 | × | gorignak quits (~gorignak@user/gorignak) (Quit: quit) |
| 14:11:48 | × | inca quits (~inca@syn-172-100-032-197.res.spectrum.com) (Ping timeout: 272 seconds) |
| 14:14:50 | <EvanR> | pure functional for the win |
| 14:15:20 | <EvanR> | yes ST is purely functional but the mutation will have a GC cost |
| 14:15:36 | × | acidjnk_new3 quits (~acidjnk@p200300d6e71c4f050cb0d6601d636238.dip0.t-ipconnect.de) (Ping timeout: 272 seconds) |
| 14:16:57 | <EvanR> | "haskell TUIs are faster than rust TUIs" how do you even measure the airspeed speed velocity of a TUI |
| 14:18:50 | <EvanR> | s/speed speed/speed/ |
| 14:25:31 | <darkling> | Well, first you get an unladen swallow, and... |
| 14:28:16 | → | rit joins (~rit@2409:40e0:39:317c:5ce4:875:e0a7:d628) |
| 14:40:06 | × | szkl quits (uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity) |
| 14:40:54 | × | Digit quits (~user@user/digit) (Ping timeout: 276 seconds) |
| 14:41:50 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 14:52:30 | × | ubert quits (~Thunderbi@2a02:8109:ab8a:5a00:988a:cdd2:ae2a:2121) (Quit: ubert) |
| 14:58:12 | <EvanR> | if a^3 < b^3 then a < b because cube root is a monotonic function and can be applied to both sides. But if a and b are rational and you only have the laws of rational numbers... I'm having a hard time proving this |
| 14:59:03 | <EvanR> | similar to if (assuming a and b are > 0) a^2 < b^2 then a < b. Not sure which is simpler. I can't do either |
| 14:59:14 | <int-e> | you can prove the contrapositive |
| 14:59:33 | <haskellbridge> | <Morj> > how do you even measure the airspeed speed velocity of a TUIMore responsive to button presses, you know. I haven't measured it with a stopwatch, but it's noticeable how fast ghcup is for example |
| 15:00:03 | × | euphores quits (~SASL_euph@user/euphores) (Quit: Leaving.) |
| 15:00:54 | <EvanR> | int-e, that would seem to prove "it can't not be true" |
| 15:01:19 | <EvanR> | this is from a book that is supposedly "a constructive approach" and the hint is also suggesting an indirect proof |
| 15:01:26 | <int-e> | good enough for me |
| 15:01:44 | <int-e> | (I default to classical logic) |
| 15:01:58 | <EvanR> | it might not be classical logic since we're talking about rationals |
| 15:02:11 | <EvanR> | I mean, just classical |
| 15:02:18 | <haskellbridge> | <Morj> You don't need any laws of rational numbers here though |
| 15:03:24 | <EvanR> | if you only have the laws of rational numbers, then you either need them or you can do it with nothing |
| 15:03:47 | <EvanR> | (or it's impossible) |
| 15:04:43 | <haskellbridge> | <Morj> You only need the statement "forall a, b: a > b ==> a^3 > b^3" and the laws of the "<" relation as usual, with them you can prove the opposite direction as well |
| 15:04:53 | <haskellbridge> | <Morj> This works for rational, whole or natural numbers |
| 15:04:59 | <haskellbridge> | <Morj> Uhh s/whole/integer/ |
| 15:05:17 | <EvanR> | I can get if a < b then a^2 < b^2, but I'm not sure how that helps |
| 15:05:25 | <EvanR> | I couldn't get if a < b then a^3 < b^3 |
| 15:05:38 | <EvanR> | but either way that's the wrong direction |
| 15:05:56 | <int-e> | your comparisons are decidable; you have trichotomy. |
| 15:06:02 | <EvanR> | ? |
| 15:06:10 | <EvanR> | sure |
| 15:06:15 | <haskellbridge> | <Morj> Wait, come again, what are you trying to prove from what? |
| 15:06:23 | <EvanR> | if a^3 < b^3 then a < b |
| 15:06:38 | <haskellbridge> | <Morj> And what facts are given? |
| 15:06:48 | → | euphores joins (~SASL_euph@user/euphores) |
| 15:06:53 | <EvanR> | rational numbers |
| 15:07:15 | <int-e> | This will still follow from "if a >= b then a^3 >= b^3" by case analysis on the comparison a < b. |
| 15:07:16 | <EvanR> | ok, a and b exist and are rational |
| 15:07:18 | <haskellbridge> | <Morj> Rational numbers, depending on your class, might not have an "<" associated :D |
| 15:07:35 | <EvanR> | they do, obviously |
| 15:07:57 | × | dolio quits (~dolio@130.44.140.168) (Quit: ZNC 1.9.1 - https://znc.in) |
| 15:07:58 | → | TheCoffeMaker_ joins (~TheCoffeM@186.136.173.70) |
| 15:08:32 | <EvanR> | alright case analysis on a < b |
| 15:08:39 | × | TheCoffeMaker quits (~TheCoffeM@user/thecoffemaker) (Ping timeout: 260 seconds) |
| 15:08:47 | <EvanR> | you use "if a < b then a^3 < b^3" but I couldn't prove this xD |
| 15:09:07 | <int-e> | comparing a and b you get three cases: a < b and a^3 < b^3; a = b an a^3 = b^3; a > b and a^3 > b^3. |
| 15:09:09 | <EvanR> | but also you'd have to dispatch the no, actually b < a case |
| 15:09:25 | <EvanR> | you went from a < b to a^3 < b^3 |
| 15:09:31 | <EvanR> | how |
| 15:10:26 | <int-e> | if 0 <= a < b then a^3 <= a^2b <= ab^2 < b^3. The case a < b <= 0 is similar, and a <= 0 <= b and a < b falls to looking at signs |
| 15:10:40 | <int-e> | by the laws of an ordered field |
| 15:10:52 | <EvanR> | wait |
| 15:11:16 | <EvanR> | yes I got a^3 < a^2b and ab^2 < b^3 separately |
| 15:11:29 | → | dolio joins (~dolio@130.44.140.168) |
| 15:11:38 | <EvanR> | how did you get a^2b < ab^2 |
| 15:12:05 | <int-e> | you multiply a < b by a from the left and by b from the right |
| 15:12:27 | <EvanR> | that's ab < ab |
| 15:12:27 | <int-e> | it's just <= because a = 0 is a possibility |
| 15:12:30 | × | dolio quits (~dolio@130.44.140.168) (Client Quit) |
| 15:12:35 | <EvanR> | er |
| 15:13:03 | EvanR | recapitulates |
| 15:13:18 | × | rit quits (~rit@2409:40e0:39:317c:5ce4:875:e0a7:d628) (Remote host closed the connection) |
| 15:13:34 | → | dolio joins (~dolio@130.44.140.168) |
| 15:15:31 | <int-e> | TBH the funny part of this is that you were (apparently) willing to accept that the cube root function is strictly monotonic. |
| 15:16:08 | → | __jmcantrell__ joins (~weechat@user/jmcantrell) |
| 15:16:12 | <EvanR> | well that's a fact about real numbers right |
| 15:16:47 | <int-e> | well it's not if you apply the same level of skepticism that you're currently applying to the strict monotonicity of f(x) = x^3 in the rationals |
| 15:18:32 | <EvanR> | I don't understand, I'm not skeptical. I'm trying to go from certain assumptions to a conclusion |
| 15:18:58 | <int-e> | well, f(x) = x^3 being monotonic is a fact about rational number.s |
| 15:19:05 | <EvanR> | not absolute truths, or "doesn't matter somebody somewhere has already done this one" |
| 15:19:05 | int-e | shrugs |
| 15:19:36 | <EvanR> | it might be but I didn't get there |
| 15:19:56 | <int-e> | so how did you get there for the cube root in the reals? |
| 15:19:56 | <EvanR> | but we just proved that |
| 15:20:04 | <EvanR> | I didn't that's the point |
| 15:20:28 | × | notdabs quits (~Owner@2600:1700:69cf:9000:c0fa:b50a:3031:4dce) (Quit: Leaving) |
| 15:20:56 | <EvanR> | also it wouldn't even help, are you going to apply a function coded for real numbers to rationals? xD |
| 15:21:10 | <int-e> | the rationals are a subfield of the reals |
| 15:21:29 | <int-e> | (another fact) |
| 15:21:30 | <EvanR> | this is "real anaylsis: a constructive approach" |
| 15:21:38 | → | j1n37- joins (~j1n37@user/j1n37) |
| 15:21:46 | <EvanR> | so I can't solve chapter 1 by using chapter 17 from the other book |
| 15:21:51 | × | j1n37 quits (~j1n37@user/j1n37) (Ping timeout: 276 seconds) |
| 15:22:15 | <EvanR> | again, the task to is to reason from what's assumed and not from "any argument whatever" |
| 15:24:00 | × | fp1 quits (~Thunderbi@2001:708:20:1406::1370) (Ping timeout: 272 seconds) |
| 15:24:24 | <EvanR> | maybe in chapter 17 there will be a thing to prove that any monotonic functions on reals can be downgraded to a monotonic function on rationals |
| 15:25:14 | <EvanR> | somehow |
| 15:32:33 | <EvanR> | a < b? yes, then you're done. Or a == b, then a^3==b^3 contradicting a^3 < b^3. Or b < a, using the above, b^3 < a^3, also contradicting. |
| 15:32:39 | <EvanR> | cool |
| 15:35:15 | <EvanR> | that means I don't have to solve this using the "hint use an indirect proof": Show that family of intervals [a,b] where a^3 <= 2 and 2 <= b^3 is consistent (any interval in the family intersects all the others) |
| 15:41:40 | <kuribas> | You could prove that (a*a*a)/(b*b*b) < (c*c*c*)/(d*d*d) then a/b < c/d |
| 15:41:52 | <kuribas> | For integral values of a, b, c, and d. |
| 15:42:26 | × | L29Ah quits (~L29Ah@wikipedia/L29Ah) (Ping timeout: 252 seconds) |
| 15:43:30 | → | L29Ah joins (~L29Ah@wikipedia/L29Ah) |
| 15:45:39 | <EvanR> | if aaa / (bbb) < ccc / (ddd) then a/b < c/d? |
| 15:45:50 | <EvanR> | just cancel 4 things? |
| 15:45:53 | <EvanR> | wait |
| 15:45:59 | <EvanR> | nvm |
| 15:46:35 | <EvanR> | oh this is the same question. Well I tried that too and couldn't figure it out |
| 15:46:49 | <kuribas> | Where do you get stuck? |
| 15:47:19 | <EvanR> | immediately |
| 15:48:39 | × | lortabac quits (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Ping timeout: 252 seconds) |
| 15:49:35 | → | rit joins (~rit@2409:40e0:39:317c:5ce4:875:e0a7:d628) |
| 15:49:57 | <kuribas> | It's easy for naturals no? |
| 15:51:14 | <EvanR> | what is |
| 15:51:20 | <kuribas> | The formula? |
| 15:51:32 | <EvanR> | nope |
| 15:51:38 | × | amadaluzia quits (~amadaluzi@user/amadaluzia) (Ping timeout: 245 seconds) |
| 15:51:56 | → | amadaluzia joins (~amadaluzi@user/amadaluzia) |
| 15:52:13 | <EvanR> | aaaddd < bbbccc |
| 15:52:34 | <EvanR> | 1 < bbbccc / (aaaddd) |
| 15:52:49 | <EvanR> | aaaddd / (bbbccc) < 1 |
| 15:54:39 | <kuribas> | a < b -> a*c < b*d if c < d and a < b |
| 15:54:59 | <kuribas> | Easy proof by induction |
| 15:55:04 | <EvanR> | you know what's easy, drawing two squares of different sizes aligned to corners, and extending one edge to map the other edge onto the larger side, and it's obviously shorter xD |
| 15:55:23 | <EvanR> | or the cube version where you can extend a diagonal from the smaller cube onto larger cubes side |
| 15:56:08 | <EvanR> | but this book is all about "no pictures!" |
| 15:56:56 | <kuribas> | Anyway, I think "aaa < bbb -> a < b " is easy to prove by induction for naturals. |
| 15:57:27 | <EvanR> | kuribas, a < b -> a*c < b*d ... ok I'm not seeing the connection. So that requires a < b, which we are trying to prove |
| 15:57:43 | <kuribas> | right, that's the wrong direction. |
| 15:58:13 | <EvanR> | I'll try that induction |
| 15:58:37 | <int-e> | a*c < b*d if c < d and a < b is most elegantly split into two steps, a*c < b*c < b*d or a*c < a*d < b*d. |
| 15:58:46 | <EvanR> | double induction 😱 |
| 15:59:13 | × | chele quits (~chele@user/chele) (Remote host closed the connection) |
| 15:59:31 | <int-e> | err the first comparison in either chain should be <= if 0 is allowed |
| 16:00:51 | <haskellbridge> | <sm> Morj: Morj, really ? This surprises me |
| 16:01:32 | <sm> | ("haskell TUIs are always faster than rust ones") |
| 16:02:20 | <EvanR> | after thinking about it, I now see that your two "either or" formulas are not the "two steps" xD |
| 16:03:10 | <kuribas> | aaa < a*a*a+n for some positive n. Also a*a*a+n = (a+m)(a+m)(a+m) for some m where b = a+m. Prove that m is positive. |
| 16:03:13 | <EvanR> | ac < bc and bc < bd gets ac < bd, and other other thing was another route |
| 16:04:15 | → | Digit joins (~user@user/digit) |
| 16:04:28 | <EvanR> | aaa+n = (a+m)(a+m)(a+m) for some m ? |
| 16:04:43 | <EvanR> | seems like a leap to me |
| 16:05:17 | <kuribas> | EvanR: definition of `<` and `b` |
| 16:05:31 | <EvanR> | that's an equal sign |
| 16:06:06 | <EvanR> | ok, multiply out all the a+m and you get one aaa term |
| 16:06:12 | <EvanR> | now I get it |
| 16:06:59 | <kuribas> | We have the premise aaa < bbb, which means exists m such that "bbb = aaa + m" |
| 16:07:06 | <kuribas> | It's the definition of < for naturals. |
| 16:07:34 | <EvanR> | yeah it's just that I'm only considering your actual messages xD |
| 16:07:46 | <kuribas> | sorry, I used n above. |
| 16:08:05 | <EvanR> | since I have no idea what I'm doing |
| 16:08:14 | <EvanR> | it's not a case of already know it |
| 16:08:53 | <EvanR> | sm, yes... sounds like something else was slow in the apples to oranges comparison |
| 16:10:23 | <kuribas> | gtg |
| 16:10:31 | × | kuribas quits (~user@ip-188-118-57-242.reverse.destiny.be) (Remote host closed the connection) |
| 16:11:46 | × | amadaluzia quits (~amadaluzi@user/amadaluzia) (Ping timeout: 252 seconds) |
| 16:21:33 | → | gorignak joins (~gorignak@user/gorignak) |
| 16:22:26 | × | pavonia quits (~user@user/siracusa) (Quit: Bye!) |
| 16:23:21 | → | acidjnk_new3 joins (~acidjnk@p200300d6e71c4f050cb0d6601d636238.dip0.t-ipconnect.de) |
| 16:33:18 | × | rit quits (~rit@2409:40e0:39:317c:5ce4:875:e0a7:d628) (Ping timeout: 240 seconds) |
| 16:36:19 | → | Digitteknohippie joins (~user@user/digit) |
| 16:36:53 | → | rit joins (~rit@2409:40e0:39:317c:5ce4:875:e0a7:d628) |
| 16:38:54 | × | Digit quits (~user@user/digit) (Ping timeout: 252 seconds) |
| 16:39:59 | → | tromp joins (~textual@2001:1c00:3487:1b00:5ca9:4add:c07a:f3a) |
| 16:45:38 | → | Square2 joins (~Square@user/square) |
| 16:46:02 | × | rvalue quits (~rvalue@user/rvalue) (Read error: Connection reset by peer) |
| 16:46:44 | → | rvalue joins (~rvalue@user/rvalue) |
| 16:49:09 | × | Digitteknohippie quits (~user@user/digit) (Ping timeout: 252 seconds) |
| 16:58:38 | → | Digit joins (~user@user/digit) |
| 16:59:32 | × | nitrix quits (~nitrix@user/meow/nitrix) (Quit: ZNC 1.9.1 - https://znc.in) |
| 17:05:39 | → | Digitteknohippie joins (~user@user/digit) |
| 17:06:01 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 17:07:40 | × | lxsameer quits (~lxsameer@Serene/lxsameer) (Ping timeout: 244 seconds) |
| 17:10:15 | Digitteknohippie | is now known as digitteknohippie |
| 17:10:20 | digitteknohippie | is now known as Digitteknohippie |
| 17:11:47 | × | Digit quits (~user@user/digit) (Quit: sorting out accidental double login) |
| 17:12:01 | Digitteknohippie | is now known as Digit |
| 17:12:30 | → | tzh joins (~tzh@c-76-115-131-146.hsd1.or.comcast.net) |
| 17:15:54 | × | dhil quits (~dhil@2a0c:b381:52e:3600:d846:130d:349b:6b56) (Ping timeout: 246 seconds) |
| 17:17:36 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 17:18:30 | × | rit quits (~rit@2409:40e0:39:317c:5ce4:875:e0a7:d628) (Ping timeout: 240 seconds) |
| 17:20:57 | → | sprotte24 joins (~sprotte24@p200300d16f176a0098ec2c88260f9eb5.dip0.t-ipconnect.de) |
| 17:21:42 | → | rit joins (~rit@2409:40e0:39:317c:5ce4:875:e0a7:d628) |
| 17:24:07 | × | tromp quits (~textual@2001:1c00:3487:1b00:5ca9:4add:c07a:f3a) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 17:24:37 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
| 17:36:38 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 17:37:24 | × | SethTisue quits (sid14912@id-14912.ilkley.irccloud.com) (Quit: Connection closed for inactivity) |
| 17:38:19 | × | Unicorn_Princess quits (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection) |
| 17:39:36 | × | mud quits (~mud@user/kadoban) (Quit: quit) |
| 17:43:58 | × | haritz quits (~hrtz@user/haritz) (Ping timeout: 272 seconds) |
| 17:44:23 | → | mud joins (~mud@user/kadoban) |
| 17:46:30 | × | acidjnk_new3 quits (~acidjnk@p200300d6e71c4f050cb0d6601d636238.dip0.t-ipconnect.de) (Ping timeout: 272 seconds) |
| 17:50:30 | → | manwithluck joins (~manwithlu@2a09:bac5:5085:2dc::49:221) |
| 17:51:43 | → | tromp joins (~textual@2001:1c00:3487:1b00:5ca9:4add:c07a:f3a) |
| 17:59:37 | → | target_i joins (~target_i@user/target-i/x-6023099) |
| 18:01:32 | × | tromp quits (~textual@2001:1c00:3487:1b00:5ca9:4add:c07a:f3a) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 18:06:19 | × | ash3en quits (~Thunderbi@89.56.182.235) (Quit: ash3en) |
| 18:11:54 | → | jacopovalanzano joins (~jacopoval@cpc151911-cove17-2-0-cust105.3-1.cable.virginm.net) |
| 18:13:48 | × | prasad quits (~Thunderbi@c-73-246-138-70.hsd1.in.comcast.net) (Ping timeout: 244 seconds) |
| 18:18:47 | → | tromp joins (~textual@2001:1c00:3487:1b00:5ca9:4add:c07a:f3a) |
| 18:19:59 | × | sord937 quits (~sord937@gateway/tor-sasl/sord937) (Quit: sord937) |
| 18:21:38 | → | lxsameer joins (~lxsameer@Serene/lxsameer) |
| 18:31:39 | → | ash3en joins (~Thunderbi@89.56.182.235) |
| 18:33:04 | × | ash3en quits (~Thunderbi@89.56.182.235) (Client Quit) |
| 18:40:09 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 18:40:45 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 18:46:49 | × | Maxdamantus quits (~Maxdamant@user/maxdamantus) (Ping timeout: 260 seconds) |
| 18:47:05 | → | Maxdamantus joins (~Maxdamant@user/maxdamantus) |
| 18:47:36 | → | acidjnk_new3 joins (~acidjnk@p200300d6e71c4f05ad6cd39b235d43c6.dip0.t-ipconnect.de) |
| 18:56:10 | × | lxsameer quits (~lxsameer@Serene/lxsameer) (Ping timeout: 272 seconds) |
| 19:00:02 | × | caconym quits (~caconym@user/caconym) (Quit: bye) |
| 19:00:47 | → | caconym joins (~caconym@user/caconym) |
| 19:04:12 | <kqr> | I have a program that performs two actions. One of them is known to be very expensive, and then there's another that seems to be slower than I thought it would be. I want to profile only the latter, but with regular RTS profiling the former ovbeing slow makes it hard to tease out which parts of the latter is slow. What do I do? |
| 19:05:10 | <merijn> | kqr: You can have GHC inject labels and instruct the profiler to use those markers |
| 19:05:38 | <merijn> | kqr: Can also do manual cost centre annotation |
| 19:06:38 | <merijn> | kqr: https://hackage.haskell.org/package/base-4.21.0.0/docs/GHC-Exts.html#v:traceMarker-35- |
| 19:07:33 | <merijn> | Entirely unrelatedly: In the absence of a tree-sitter grammar, does anyone have/know a decent syntax file for .cabal? |
| 19:09:23 | → | peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
| 19:10:44 | × | Adran quits (~adran@botters/adran) (Ping timeout: 272 seconds) |
| 19:10:54 | → | tavare joins (~tavare@150.129.88.189) |
| 19:10:54 | × | tavare quits (~tavare@150.129.88.189) (Changing host) |
| 19:10:54 | → | tavare joins (~tavare@user/tavare) |
| 19:11:37 | × | kimiamania quits (~65804703@user/kimiamania) (Quit: PegeLinux) |
| 19:12:43 | × | tavare quits (~tavare@user/tavare) (Remote host closed the connection) |
| 19:13:09 | → | kimiamania joins (~65804703@user/kimiamania) |
| 19:18:12 | <kqr> | merijn, Oh, that was very helpful. It also made clear what happened: laziness caused some of the work from the first action to be performed during the second action evaluation. I should have known! |
| 19:21:25 | → | machinedgod joins (~machinedg@d108-173-18-100.abhsia.telus.net) |
| 19:21:34 | <merijn> | \o/ |
| 19:21:56 | × | wlhn quits (~wlhn@2001-14ba-4e04-ccf0-9803-c364-b8d-97b4.rev.dnainternet.fi) (Quit: Leaving) |
| 19:22:06 | <merijn> | Does anyone know how to use environment variables like $HOME in cabal's config? |
| 19:22:22 | <merijn> | My issue to support that was closed as implemented, but I can't actually find any documentation on it |
| 19:25:29 | <merijn> | hmm, the more I look into it, it's just a lie that my issue was closed as fixed |
| 19:25:43 | <sclv> | can you link to the issue? but yeah, i don't think i've ever seen it done |
| 19:27:02 | <merijn> | sclv: https://github.com/haskell/cabal/issues/5998 |
| 19:27:30 | <merijn> | It was closed because of Athas' XDG implementation, but it's IMO entirely unrelated to XDG |
| 19:28:17 | <merijn> | I was hoping that in 2025 I could *finally* have a cabal config shared across my machines >.> |
| 19:29:17 | <sclv> | yeah, i think that was a mistake, agreed |
| 19:29:50 | <merijn> | I mean, I guess it's still a duplicate of hvr's issue, but for a second there I had hope |
| 19:30:23 | × | jacopovalanzano quits (~jacopoval@cpc151911-cove17-2-0-cust105.3-1.cable.virginm.net) (Quit: Client closed) |
| 19:31:09 | × | peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds) |
| 19:31:14 | × | rit quits (~rit@2409:40e0:39:317c:5ce4:875:e0a7:d628) (Remote host closed the connection) |
| 19:31:16 | <sclv> | merijn: funny to see that the issue came from a discussion with you and was assigned to you even then :-/ |
| 19:32:00 | <merijn> | sclv: That's why I had it tracked :p |
| 19:32:18 | <merijn> | But it got stuck in some bikeshedding hell and I never got consensus on how to do it |
| 19:33:52 | <sclv> | commented on the other ticket, though i don't have much time for cabal these days. with the xdg stuff cleared up i think just having some set of env variables that are expanded (and also kept in our rebuild-checking logic) should be straightforward. |
| 19:34:34 | <sclv> | i agree with you that coupling "let people use some env variables in cabal config" to "xdg implementation" made things more intertwingled |
| 19:35:25 | <merijn> | I mean, let's face it, 98% of the use case is covered by supporting $HOME and/or ~ |
| 19:36:28 | <merijn> | Actually...maybe I can get away just commenting out the paths and relying on the defaults? |
| 19:38:34 | → | Adran joins (~adran@botters/adran) |
| 19:58:43 | × | remexre quits (~remexre@user/remexre) (Ping timeout: 245 seconds) |
| 20:00:03 | × | Eoco quits (~ian@128.101.131.218) (Ping timeout: 268 seconds) |
| 20:01:59 | → | remexre joins (~remexre@user/remexre) |
| 20:02:20 | → | Eoco joins (~ian@128.101.131.218) |
| 20:05:55 | → | peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
| 20:07:28 | × | Eoco quits (~ian@128.101.131.218) (Ping timeout: 244 seconds) |
| 20:08:16 | → | krei-se- joins (~krei-se@p5dea165d.dip0.t-ipconnect.de) |
| 20:09:09 | × | remexre quits (~remexre@user/remexre) (Ping timeout: 276 seconds) |
| 20:09:48 | × | krei-se quits (~krei-se@p5dea1e73.dip0.t-ipconnect.de) (Ping timeout: 276 seconds) |
| 20:10:41 | <EvanR> | what is the status quo on Integer's implementation in ghc programs. libgmp? bespoke haskell code? other? |
| 20:14:46 | <geekosaur> | in 99% of non-js/wasm cases it's libgmp |
| 20:15:06 | <geekosaur> | business types whose companies are allergic to GPL use native |
| 20:17:43 | <merijn> | geekosaur: * LGPL |
| 20:18:15 | × | peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 276 seconds) |
| 20:18:47 | <geekosaur> | true, but IME corporate lawyers don't sdifferentiate |
| 20:19:26 | × | gawen quits (~gawen@user/gawen) (Quit: cya) |
| 20:20:49 | → | gawen joins (~gawen@user/gawen) |
| 20:20:52 | <EvanR> | GPL is marxist propaganda. LGPL probably standards for Liberal GPL which is even worse! |
| 20:21:02 | × | krei-se- quits (~krei-se@p5dea165d.dip0.t-ipconnect.de) (Ping timeout: 272 seconds) |
| 20:23:01 | <haskellbridge> | <Liamzee> grrr, any idea how I can get pidigits algorithm in Haskell faster? |
| 20:23:30 | → | Tuplanolla joins (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) |
| 20:23:53 | <haskellbridge> | <Liamzee> I'm wondering if I'm just seeing an intrinsic limitation of Haskell; like, I know I can match C -O1 or whatever that doesn't just compile-time erase loops with a Haskell loop |
| 20:24:08 | <haskellbridge> | <Liamzee> in an empty loop, at least |
| 20:24:23 | → | krei-se joins (~krei-se@p3ee0fa02.dip0.t-ipconnect.de) |
| 20:25:12 | <EvanR> | no way to begin to guess without seeing your code |
| 20:26:08 | <haskellbridge> | <Liamzee> https://paste.tomsmeding.com/DvVKtsYl |
| 20:26:36 | <haskellbridge> | <Liamzee> the original version by W. Gordon Goodman was an accumulating parameter loop |
| 20:26:46 | <haskellbridge> | <Liamzee> with div somehow having no performance difference vs quot |
| 20:26:55 | <EvanR> | are you using 4 mutable variables |
| 20:27:20 | <haskellbridge> | <Liamzee> more or less |
| 20:27:50 | <haskellbridge> | <Liamzee> i think debian complained because gordon did the obvious and removed the freaking second division |
| 20:27:52 | <EvanR> | you could probably speed that up by not doing that |
| 20:27:55 | <haskellbridge> | <Liamzee> when it's obvious how it can be abstracted out |
| 20:28:15 | <EvanR> | just pass 4 variables to the next loop |
| 20:28:26 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 20:28:33 | <haskellbridge> | <Liamzee> https://paste.tomsmeding.com/yEZan94f |
| 20:28:40 | <haskellbridge> | <Liamzee> second version is Gordon's original |
| 20:28:44 | <EvanR> | the mutable writes have to have extra memory management bookkeeping |
| 20:29:07 | <haskellbridge> | <Liamzee> that's the dumb thing! |
| 20:29:13 | <haskellbridge> | <Liamzee> all four versions benchmark roughly the same! |
| 20:29:38 | <EvanR> | you could look at the core and see if there's something still not being optimized |
| 20:30:05 | <haskellbridge> | <Liamzee> i mean it's already pretty good |
| 20:30:10 | <haskellbridge> | <Liamzee> about 140-160% of C time |
| 20:30:15 | <haskellbridge> | <Liamzee> problem is, node is much faster |
| 20:30:30 | <haskellbridge> | <Liamzee> idg why debian will complain about optimizing away the second division |
| 20:30:45 | <EvanR> | the whole unsafe thaw thing doesn't sit well with me especially if you say it's not helping |
| 20:31:12 | <EvanR> | node? |
| 20:32:08 | <haskellbridge> | <Liamzee> well, not really |
| 20:32:52 | <EvanR> | I'm guessing this algorithm relies on unlimited precision Integer so you can't use machine int |
| 20:32:54 | <haskellbridge> | <Liamzee> https://benchmarksgame-team.pages.debian.net/benchmarksgame/performance/pidigits.html |
| 20:32:58 | <haskellbridge> | <Liamzee> ya |
| 20:37:06 | <EvanR> | yep all the ghc submissions don't use mutable |
| 20:37:23 | <EvanR> | but their code styling leaves a lot to be desired |
| 20:39:13 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 20:39:15 | <haskellbridge> | <Liamzee> it's weird because a few of the originals were BOS and Don Stewarts' |
| 20:39:26 | <haskellbridge> | <Liamzee> I think someone was trying to game down the gzip metric (the size of the resulting binary) |
| 20:40:08 | <EvanR> | how many digits of pi is this benchmark |
| 20:42:57 | <haskellbridge> | <Liamzee> 10k |
| 20:43:03 | <haskellbridge> | <Liamzee> algorithm is part of the benchmark instructions |
| 20:45:25 | <EvanR> | had a somewhat hard time finding it on that site |
| 20:46:11 | <EvanR> | I get about 0.85 sec |
| 20:46:41 | <EvanR> | without optimization flag |
| 20:48:14 | <haskellbridge> | <Liamzee> on my machine, it's 0.315 seconds for the C (which is technically slower than Rust), and .49 seconds on their requirements (superfluous N4) |
| 20:49:46 | <EvanR> | this kind of pertains to the GMP question |
| 20:50:12 | <haskellbridge> | <Liamzee> yeah, it does, but iirc the bigint revamp IOHK paid for outperforms GMP? |
| 20:50:14 | <EvanR> | GMP is "optimized" around you initializing some "variables" which get reallocaed with more space as the values get larger |
| 20:50:31 | × | machinedgod quits (~machinedg@d108-173-18-100.abhsia.telus.net) (Remote host closed the connection) |
| 20:50:45 | <EvanR> | but in haskell, you need to reallocate the whole thing for each computation and clear then when the GC collects them |
| 20:50:55 | → | machinedgod joins (~machinedg@d108-173-18-100.abhsia.telus.net) |
| 20:50:57 | <EvanR> | it's not very haskelly |
| 20:51:08 | × | michalz quits (~michalz@185.246.207.215) (Remote host closed the connection) |
| 20:51:17 | <haskellbridge> | <Liamzee> https://iohk.io/en/blog/posts/2020/07/28/improving-haskells-big-numbers-support/ |
| 20:51:20 | → | Eoco joins (~ian@128.101.131.218) |
| 20:51:21 | <EvanR> | sure |
| 20:51:35 | <EvanR> | and the answer to the question was "it's probably not being used" |
| 20:51:42 | <EvanR> | you're still on gmp |
| 20:51:47 | × | j1n37- quits (~j1n37@user/j1n37) (Read error: Connection reset by peer) |
| 20:52:11 | → | remexre joins (~remexre@user/remexre) |
| 20:54:02 | <geekosaur> | and may not move because iirc there are programs that rely on gmp being linked in |
| 20:54:13 | <geekosaur> | (so they can FFI to it) |
| 20:55:04 | → | j1n37 joins (~j1n37@user/j1n37) |
| 20:55:52 | <haskellbridge> | <Liamzee> hum, wondering if i can select whether it's native backend or integer-gmp |
| 20:56:31 | <geekosaur> | currently requires rebuilding ghc but runtime selection is in the works |
| 20:56:44 | → | krei-se- joins (~krei-se@p3ee0fa6d.dip0.t-ipconnect.de) |
| 20:57:16 | <haskellbridge> | <Liamzee> integer-gmp backend is still the default? |
| 20:57:21 | <haskellbridge> | <Liamzee> it looks like there's a 40% performance difference |
| 20:57:24 | × | krei-se quits (~krei-se@p3ee0fa02.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
| 20:57:32 | <geekosaur> | yes, except on js/wasm |
| 20:57:34 | <haskellbridge> | <Liamzee> I had an advertising post via debian benchmarks and the old "Haskell can sometimes be faster than C" canard |
| 20:59:03 | <haskellbridge> | <Liamzee> unfortunately i screenshotted pidigits because it was between two benchmarks where Haskell was pushed to better multicore resource consumption than C |
| 20:59:22 | <haskellbridge> | <Liamzee> i guess the easier way is to just fix the screenshot, but it's more fun and interesting to try to fix pidigits instead, then screenshot it again |
| 20:59:25 | → | sprotte24_ joins (~sprotte24@p200300d16f176a007d5b6fd7286fde7f.dip0.t-ipconnect.de) |
| 21:01:48 | × | kimiamania quits (~65804703@user/kimiamania) (Quit: PegeLinux) |
| 21:02:08 | → | kimiamania joins (~65804703@user/kimiamania) |
| 21:03:17 | × | sprotte24 quits (~sprotte24@p200300d16f176a0098ec2c88260f9eb5.dip0.t-ipconnect.de) (Ping timeout: 248 seconds) |
| 21:03:47 | × | takuan quits (~takuan@d8D86B601.access.telenet.be) (Remote host closed the connection) |
| 21:06:19 | <haskellbridge> | <Liamzee> the sad thing is, i just took a look at the other benchmarks, theiy're, ummm, C FFIs using Haskell as a parallelism enabler |
| 21:09:06 | × | gmg quits (~user@user/gehmehgeh) (Quit: Leaving) |
| 21:15:22 | jmcantrell | is now known as Guest2956 |
| 21:15:22 | × | Guest2956 quits (644f1bed9a@user/jmcantrell) (Killed (zinc.libera.chat (Nickname regained by services))) |
| 21:15:22 | __jmcantrell__ | is now known as jmcantrell |
| 21:15:31 | → | jmcantrell_ joins (644f1bed9a@user/jmcantrell) |
| 21:16:50 | → | krei-se joins (~krei-se@p200300f1cfff3115da9ef3fffe7fdac8.dip0.t-ipconnect.de) |
| 21:17:19 | × | krei-se- quits (~krei-se@p3ee0fa6d.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 21:17:25 | <EvanR> | "benchmark game" suggests "fixing the screenshot" is a valid strategy |
| 21:17:33 | × | Eoco quits (~ian@128.101.131.218) (Ping timeout: 252 seconds) |
| 21:18:29 | × | remexre quits (~remexre@user/remexre) (Ping timeout: 260 seconds) |
| 21:19:35 | <EvanR> | it would be funny if you ran that pidigits program in a browser and it was faster |
| 21:19:38 | → | Eoco joins (~ian@128.101.131.218) |
| 21:20:43 | × | tcard quits (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) (Quit: Leaving) |
| 21:21:20 | <haskellbridge> | <Liamzee> hmmm, maybe the solution is to just port to MVar, but my forkIO version is bugging out :( |
| 21:21:31 | → | inca joins (~inca@syn-098-011-170-006.res.spectrum.com) |
| 21:22:17 | <EvanR> | :( |
| 21:22:30 | <haskellbridge> | <Liamzee> it turns out a MVar version without forkIO has roughly the same performance as the one without forkIO, so I think it might be parallelizable as it seems as though it's the computations that are the main bottleneck |
| 21:22:33 | <EvanR> | MVar is not going to "be faster" than the mutable vector |
| 21:22:54 | <haskellbridge> | <Liamzee> 10 ms vs 490 ms total runtime |
| 21:22:56 | <EvanR> | and it's starting to sound like how you get values from A to B isn't the bottleneck |
| 21:23:11 | <EvanR> | it's the numerics (probably shouldn't be obvious) |
| 21:23:15 | <EvanR> | should be |
| 21:23:45 | <haskellbridge> | <Liamzee> rewrite it in Eval Monad? :D |
| 21:26:16 | × | inca quits (~inca@syn-098-011-170-006.res.spectrum.com) (Ping timeout: 272 seconds) |
| 21:26:29 | → | krei-se- joins (~krei-se@p3ee0f949.dip0.t-ipconnect.de) |
| 21:27:00 | × | krei-se quits (~krei-se@p200300f1cfff3115da9ef3fffe7fdac8.dip0.t-ipconnect.de) (Ping timeout: 268 seconds) |
| 21:31:07 | → | tcard joins (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) |
| 21:31:26 | → | inca joins (~inca@syn-098-011-170-006.res.spectrum.com) |
| 21:33:06 | → | remexre joins (~remexre@user/remexre) |
| 21:35:08 | × | tromp quits (~textual@2001:1c00:3487:1b00:5ca9:4add:c07a:f3a) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 21:39:34 | × | remexre quits (~remexre@user/remexre) (Ping timeout: 252 seconds) |
| 21:39:52 | → | peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
| 21:40:12 | × | Eoco quits (~ian@128.101.131.218) (Ping timeout: 272 seconds) |
| 21:40:25 | → | krei-se joins (~krei-se@p3ee0f988.dip0.t-ipconnect.de) |
| 21:40:59 | × | krei-se- quits (~krei-se@p3ee0f949.dip0.t-ipconnect.de) (Ping timeout: 244 seconds) |
| 21:45:30 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds) |
| 21:48:40 | → | tromp joins (~textual@2001:1c00:3487:1b00:5ca9:4add:c07a:f3a) |
| 21:53:53 | × | __monty__ quits (~toonn@user/toonn) (Quit: leaving) |
| 21:55:21 | → | krei-se- joins (~krei-se@p3ee0f990.dip0.t-ipconnect.de) |
| 21:55:42 | × | krei-se quits (~krei-se@p3ee0f988.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
| 21:56:54 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 21:57:06 | × | Fijxu_ quits (~Fijxu@user/fijxu) (Quit: XD!!) |
| 21:58:53 | → | Fijxu joins (~Fijxu@user/fijxu) |
| 22:00:28 | × | tromp quits (~textual@2001:1c00:3487:1b00:5ca9:4add:c07a:f3a) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 22:01:38 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
| 22:02:35 | × | Fijxu quits (~Fijxu@user/fijxu) (Quit: XD!!) |
| 22:02:43 | × | forell quits (~forell@user/forell) (Quit: ZNC - https://znc.in) |
| 22:03:15 | → | remexre joins (~remexre@user/remexre) |
| 22:03:15 | → | Eoco joins (~ian@128.101.131.218) |
| 22:03:30 | → | forell joins (~forell@user/forell) |
| 22:06:19 | × | inca quits (~inca@syn-098-011-170-006.res.spectrum.com) (Ping timeout: 252 seconds) |
| 22:06:22 | → | tromp joins (~textual@2001:1c00:3487:1b00:5ca9:4add:c07a:f3a) |
| 22:08:43 | → | inca joins (~inca@syn-098-011-170-006.res.spectrum.com) |
| 22:09:40 | → | jacopovalanzano joins (~jacopoval@cpc151911-cove17-2-0-cust105.3-1.cable.virginm.net) |
| 22:10:08 | → | Fijxu joins (~Fijxu@user/fijxu) |
| 22:12:41 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 22:15:12 | → | remexre_ joins (~remexre@user/remexre) |
| 22:15:19 | × | remexre quits (~remexre@user/remexre) (Ping timeout: 265 seconds) |
| 22:16:39 | remexre_ | is now known as remexre |
| 22:16:46 | × | Eoco quits (~ian@128.101.131.218) (Ping timeout: 265 seconds) |
| 22:18:34 | → | Eoco joins (~ian@128.101.131.218) |
| 22:24:54 | → | krei-se joins (~krei-se@p200300f1cfff316bda9ef3fffe7fdac8.dip0.t-ipconnect.de) |
| 22:25:35 | × | krei-se- quits (~krei-se@p3ee0f990.dip0.t-ipconnect.de) (Ping timeout: 268 seconds) |
| 22:26:26 | × | inca quits (~inca@syn-098-011-170-006.res.spectrum.com) (Ping timeout: 265 seconds) |
| 22:26:53 | → | inca joins (~inca@syn-098-011-170-006.res.spectrum.com) |
| 22:27:42 | × | peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 244 seconds) |
| 22:27:45 | → | remexre_ joins (~remexre@user/remexre) |
| 22:27:58 | × | remexre quits (~remexre@user/remexre) (Read error: Connection reset by peer) |
| 22:29:27 | remexre_ | is now known as remexre |
| 22:31:24 | → | krei-se- joins (~krei-se@p200300f1cfff3170da9ef3fffe7fdac8.dip0.t-ipconnect.de) |
| 22:31:59 | × | krei-se quits (~krei-se@p200300f1cfff316bda9ef3fffe7fdac8.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 22:32:06 | × | tromp quits (~textual@2001:1c00:3487:1b00:5ca9:4add:c07a:f3a) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 22:35:28 | × | target_i quits (~target_i@user/target-i/x-6023099) (Quit: leaving) |
| 22:35:40 | × | remexre quits (~remexre@user/remexre) (Ping timeout: 252 seconds) |
| 22:51:44 | → | nitrix joins (~nitrix@user/meow/nitrix) |
| 22:52:22 | → | emmanuelux joins (~emmanuelu@user/emmanuelux) |
| 23:01:06 | × | wootehfoot quits (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer) |
| 23:12:05 | × | sprotte24_ quits (~sprotte24@p200300d16f176a007d5b6fd7286fde7f.dip0.t-ipconnect.de) (Quit: Leaving) |
| 23:12:20 | × | inca quits (~inca@syn-098-011-170-006.res.spectrum.com) (Ping timeout: 252 seconds) |
| 23:14:02 | → | notdabs joins (~Owner@2600:1700:69cf:9000:c0fa:b50a:3031:4dce) |
| 23:17:24 | → | Kaladin joins (~Kaladin@157-131-246-110.fiber.dynamic.sonic.net) |
| 23:18:25 | × | Kaladin quits (~Kaladin@157-131-246-110.fiber.dynamic.sonic.net) (Remote host closed the connection) |
| 23:19:04 | → | krei-se joins (~krei-se@p3ee0f75f.dip0.t-ipconnect.de) |
| 23:19:49 | × | krei-se- quits (~krei-se@p200300f1cfff3170da9ef3fffe7fdac8.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 23:20:21 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
| 23:22:24 | → | inca joins (~inca@syn-098-011-170-006.res.spectrum.com) |
| 23:25:24 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 23:27:15 | × | inca quits (~inca@syn-098-011-170-006.res.spectrum.com) (Ping timeout: 268 seconds) |
| 23:28:19 | → | j1n37- joins (~j1n37@user/j1n37) |
| 23:28:44 | × | machinedgod quits (~machinedg@d108-173-18-100.abhsia.telus.net) (Remote host closed the connection) |
| 23:29:11 | × | j1n37 quits (~j1n37@user/j1n37) (Ping timeout: 252 seconds) |
| 23:30:20 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds) |
| 23:40:53 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 23:41:40 | × | krei-se quits (~krei-se@p3ee0f75f.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
| 23:48:42 | × | Tuplanolla quits (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.) |
| 23:49:08 | → | krei-se joins (~krei-se@p200300f1cfff3299da9ef3fffe7fdac8.dip0.t-ipconnect.de) |
| 23:51:28 | → | werneta joins (~werneta@syn-071-083-160-242.res.spectrum.com) |
| 23:52:29 | → | Feuermagier joins (~Feuermagi@user/feuermagier) |
| 23:53:07 | → | inca joins (~inca@syn-098-011-170-006.res.spectrum.com) |
| 23:53:39 | × | forell quits (~forell@user/forell) (Quit: ZNC - https://znc.in) |
| 23:55:04 | → | forell joins (~forell@user/forell) |
| 23:59:19 | × | inca quits (~inca@syn-098-011-170-006.res.spectrum.com) (Ping timeout: 268 seconds) |
All times are in UTC on 2025-04-04.