Logs on 2024-12-14 (liberachat/#haskell)
| 00:00:14 | <EvanR> | geekosaur, luckily we have ircbrowse |
| 00:00:20 | <EvanR> | dot tomsmeding |
| 00:03:36 | × | gorignak quits (~gorignak@user/gorignak) (Ping timeout: 252 seconds) |
| 00:05:35 | × | dpratt quits (~dpratt@165.225.220.148) (Quit: Client closed) |
| 00:10:49 | × | peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds) |
| 00:11:57 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 00:12:02 | × | __monty__ quits (~toonn@user/toonn) (Quit: leaving) |
| 00:16:15 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds) |
| 00:18:14 | × | weary-traveler quits (~user@user/user363627) (Remote host closed the connection) |
| 00:19:16 | <dmj`> | hackage down? |
| 00:20:24 | → | weary-traveler joins (~user@user/user363627) |
| 00:21:51 | <enikar> | it seems |
| 00:22:22 | → | dpratt joins (~dpratt@165.225.220.148) |
| 00:22:23 | <geekosaur> | raised an alert in -infrastructure |
| 00:22:31 | <geekosaur> | just came back with a 504 |
| 00:22:54 | <enikar> | as well, it's the time to sleep for me. |
| 00:23:49 | × | sindu quits (~sindu@176.75.224.1) (Ping timeout: 248 seconds) |
| 00:25:32 | × | Tuplanolla quits (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.) |
| 00:26:51 | <geekosaur> | auto-status claims hackage went down recently-ish |
| 00:27:19 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 00:30:00 | × | dpratt quits (~dpratt@165.225.220.148) (Quit: Client closed) |
| 00:30:43 | → | dpratt joins (~dpratt@165.225.220.148) |
| 00:31:27 | <haskellbridge> | <sm> https://haskell-status.joyful.com |
| 00:31:45 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
| 00:33:06 | × | jmcantrell quits (~weechat@user/jmcantrell) (Ping timeout: 276 seconds) |
| 00:33:06 | jmcantrell_ | is now known as jmcantrell |
| 00:34:57 | → | __jmcantrell__ joins (~weechat@user/jmcantrell) |
| 00:35:01 | × | jmcantrell quits (644f1bed9a@user/jmcantrell) (Killed (zirconium.libera.chat (Nickname regained by services))) |
| 00:35:01 | __jmcantrell__ | is now known as jmcantrell |
| 00:35:10 | → | jmcantrell_ joins (644f1bed9a@user/jmcantrell) |
| 00:36:00 | × | dpratt quits (~dpratt@165.225.220.148) (Quit: Client closed) |
| 00:37:19 | → | floyza joins (~gavin@h69-11-148-150.kndrid.broadband.dynamic.tds.net) |
| 00:39:01 | → | dpratt joins (~dpratt@165.225.220.148) |
| 00:42:40 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 00:44:56 | → | peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
| 00:46:11 | <dpratt> | glguy would you like nothing better than to help me yet again with AoC stuff? if so, https://gist.github.com/dgpratt/86b713c7dfadc748ae05fa1021750bb2 -- perhaps you could suggest a direction of investigation? |
| 00:47:17 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
| 00:56:23 | <glguy> | dpratt: I think you are missing some regions |
| 00:57:04 | × | jmcantrell quits (~weechat@user/jmcantrell) (Ping timeout: 245 seconds) |
| 00:57:04 | jmcantrell_ | is now known as jmcantrell |
| 00:57:51 | <dpratt> | glguy I summed the length of all the identified regions and it came to 19600 -- would that not be diagnostic? |
| 00:58:02 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 00:58:33 | × | sprotte24 quits (~sprotte24@p200300d16f08ae0004e79d08210c66b3.dip0.t-ipconnect.de) (Quit: Leaving) |
| 00:59:19 | → | __jmcantrell__ joins (~weechat@user/jmcantrell) |
| 00:59:24 | jmcantrell | is now known as Guest562 |
| 00:59:24 | × | Guest562 quits (644f1bed9a@user/jmcantrell) (Killed (platinum.libera.chat (Nickname regained by services))) |
| 00:59:24 | __jmcantrell__ | is now known as jmcantrell |
| 00:59:33 | → | jmcantrell_ joins (644f1bed9a@user/jmcantrell) |
| 00:59:58 | <glguy> | dpratt: your getNeighbors is wrong |
| 01:00:22 | <dpratt> | glguy I'll focus on that, thanks! |
| 01:00:33 | <glguy> | (and not just the excess of 'u's, either!) |
| 01:02:38 | <dpratt> | fixed, glguy, thanks! |
| 01:02:54 | × | acidjnk_new quits (~acidjnk@p200300d6e7283f42593f59da3b296f97.dip0.t-ipconnect.de) (Ping timeout: 245 seconds) |
| 01:03:00 | <dpratt> | glguy and you know what's really dumb? I got it correct at another point in the code |
| 01:03:33 | <dpratt> | (in the perimeter calculation) |
| 01:04:44 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 01:05:49 | × | jmcantrell quits (~weechat@user/jmcantrell) (Ping timeout: 272 seconds) |
| 01:05:49 | jmcantrell_ | is now known as jmcantrell |
| 01:07:42 | → | __jmcantrell__ joins (~weechat@user/jmcantrell) |
| 01:08:00 | <dpratt> | it's interesting that it worked on the test input -- they wouldn't be so diabolical as to make a common mistake work on the test input would they? |
| 01:11:26 | × | OftenFaded quits (~OftenFade@user/tisktisk) (Quit: Client closed) |
| 01:11:43 | → | OftenFaded joins (~OftenFade@user/tisktisk) |
| 01:14:48 | × | __jmcantrell__ quits (~weechat@user/jmcantrell) (Ping timeout: 244 seconds) |
| 01:16:06 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 01:17:05 | → | __jmcantrell__ joins (~weechat@user/jmcantrell) |
| 01:20:18 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds) |
| 01:20:29 | × | peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 244 seconds) |
| 01:29:39 | × | Square quits (~Square@user/square) (Ping timeout: 252 seconds) |
| 01:36:11 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 01:36:55 | <glguy> | The actual input was much larger, so it would be easy for random chance to bring up the situation. Also the example inputs are rarely exhaustive |
| 01:40:35 | × | califax quits (~califax@user/califx) (Remote host closed the connection) |
| 01:41:21 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds) |
| 01:42:41 | → | califax joins (~califax@user/califx) |
| 01:51:33 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 01:54:56 | → | peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
| 01:57:41 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
| 01:57:55 | × | alp__ quits (~alp@128-79-174-146.hfc.dyn.abo.bbox.fr) (Remote host closed the connection) |
| 01:58:27 | → | housemate joins (~housemate@2001:8004:51c0:35f5:87f7:8b47:eed3:e789) |
| 01:58:38 | → | alp joins (~alp@2001:861:8ca0:4940:ae6e:5711:50dd:1809) |
| 02:00:23 | × | alp quits (~alp@2001:861:8ca0:4940:ae6e:5711:50dd:1809) (Remote host closed the connection) |
| 02:01:11 | → | alp joins (~alp@2001:861:8ca0:4940:e20c:c534:42b1:46e9) |
| 02:02:55 | × | alp quits (~alp@2001:861:8ca0:4940:e20c:c534:42b1:46e9) (Remote host closed the connection) |
| 02:03:43 | → | alp joins (~alp@2001:861:8ca0:4940:2c7a:5b99:3818:2b0f) |
| 02:05:23 | × | dpratt quits (~dpratt@165.225.220.148) (Quit: Client closed) |
| 02:05:26 | × | alp quits (~alp@2001:861:8ca0:4940:2c7a:5b99:3818:2b0f) (Remote host closed the connection) |
| 02:05:55 | × | Pixi quits (~Pixi@user/pixi) (Quit: Leaving) |
| 02:06:09 | × | machinedgod quits (~machinedg@d108-173-18-100.abhsia.telus.net) (Ping timeout: 246 seconds) |
| 02:06:15 | → | alp joins (~alp@2001:861:8ca0:4940:b1ec:55bf:7e2:daf9) |
| 02:07:59 | × | alp quits (~alp@2001:861:8ca0:4940:b1ec:55bf:7e2:daf9) (Remote host closed the connection) |
| 02:08:30 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 02:10:11 | × | housemate quits (~housemate@2001:8004:51c0:35f5:87f7:8b47:eed3:e789) (Quit: Nothing to see here. I wasn't there. I take IRC seriously. https://files.catbox.moe/4e9k81.pdf) |
| 02:12:48 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds) |
| 02:15:41 | × | lockywolf quits (~lockywolf@coconut.lockywolf.net) (Quit: ZNC 1.9.1 - https://znc.in) |
| 02:16:03 | → | lockywolf joins (~lockywolf@coconut.lockywolf.net) |
| 02:23:52 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 02:28:27 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
| 02:39:14 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 02:40:14 | × | dyniec quits (~dyniec@dybiec.info) (Quit: WeeChat 4.2.2) |
| 02:43:44 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 02:47:19 | × | harveypwca quits (~harveypwc@2601:246:d080:b40:1889:d9bf:2dd8:b288) (Ping timeout: 260 seconds) |
| 02:47:34 | → | gorignak joins (~gorignak@user/gorignak) |
| 02:52:11 | × | OftenFaded quits (~OftenFade@user/tisktisk) (Quit: Client closed) |
| 02:54:36 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 03:01:06 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds) |
| 03:11:43 | jmcantrell | is now known as Guest5084 |
| 03:11:43 | × | Guest5084 quits (644f1bed9a@user/jmcantrell) (Killed (tungsten.libera.chat (Nickname regained by services))) |
| 03:11:43 | __jmcantrell__ | is now known as jmcantrell |
| 03:11:52 | → | jmcantrell_ joins (644f1bed9a@user/jmcantrell) |
| 03:12:40 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 03:17:15 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds) |
| 03:25:09 | → | remexre joins (~remexre@user/remexre) |
| 03:27:04 | × | peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 244 seconds) |
| 03:28:02 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 03:32:14 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds) |
| 03:43:25 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 03:48:00 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 03:52:54 | × | td_ quits (~td@i5387093F.versanet.de) (Ping timeout: 244 seconds) |
| 03:54:54 | → | td_ joins (~td@i53870921.versanet.de) |
| 03:58:46 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 04:02:43 | × | foul_owl quits (~kerry@157.97.134.165) (Ping timeout: 244 seconds) |
| 04:04:11 | → | OftenFaded joins (OftenFaded@user/tisktisk) |
| 04:04:15 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 04:07:29 | × | stiell quits (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection) |
| 04:07:52 | → | stiell joins (~stiell@gateway/tor-sasl/stiell) |
| 04:08:15 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds) |
| 04:11:46 | × | OftenFaded quits (OftenFaded@user/tisktisk) (Quit: Client closed) |
| 04:11:57 | → | OftenFaded joins (OftenFaded@user/tisktisk) |
| 04:16:42 | × | pabs3 quits (~pabs3@user/pabs3) (Ping timeout: 276 seconds) |
| 04:17:01 | → | foul_owl joins (~kerry@174-21-81-201.tukw.qwest.net) |
| 04:18:44 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 04:23:00 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds) |
| 04:27:52 | × | foul_owl quits (~kerry@174-21-81-201.tukw.qwest.net) (Ping timeout: 252 seconds) |
| 04:36:18 | × | aforemny quits (~aforemny@i577B130D.versanet.de) (Ping timeout: 244 seconds) |
| 04:36:20 | → | aforemny_ joins (~aforemny@2001:9e8:6cd2:7000:11a1:70a3:dbce:edf1) |
| 04:39:01 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 04:42:08 | → | foul_owl joins (~kerry@193.42.0.124) |
| 04:45:37 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
| 04:46:58 | × | rekahsoft quits (~rekahsoft@bras-base-orllon1103w-grc-06-76-69-85-220.dsl.bell.ca) (Read error: Connection reset by peer) |
| 04:57:04 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 04:57:44 | → | Pixi joins (~Pixi@user/pixi) |
| 05:00:47 | tabemann_ | is now known as tabemann |
| 05:02:12 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds) |
| 05:02:47 | × | floyza quits (~gavin@h69-11-148-150.kndrid.broadband.dynamic.tds.net) (Remote host closed the connection) |
| 05:03:35 | → | peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
| 05:12:27 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 05:17:09 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
| 05:27:49 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 05:31:49 | → | falafel joins (~falafel@2603:8000:b4f0:62a0:3c88:3ef7:33fe:c918) |
| 05:32:06 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds) |
| 05:33:00 | × | OftenFaded quits (OftenFaded@user/tisktisk) (Quit: Client closed) |
| 05:43:12 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 05:47:54 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 05:57:59 | × | homo quits (~homo@user/homo) (Quit: homo) |
| 05:58:34 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 06:03:06 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds) |
| 06:03:52 | × | falafel quits (~falafel@2603:8000:b4f0:62a0:3c88:3ef7:33fe:c918) (Ping timeout: 252 seconds) |
| 06:04:39 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 06:07:35 | → | takuan joins (~takuan@178-116-218-225.access.telenet.be) |
| 06:08:06 | → | pabs3 joins (~pabs3@user/pabs3) |
| 06:08:37 | × | takuan quits (~takuan@178-116-218-225.access.telenet.be) (Read error: Connection reset by peer) |
| 06:09:04 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 06:09:09 | → | takuan joins (~takuan@178-116-218-225.access.telenet.be) |
| 06:15:12 | × | tdammers quits (~tdammers@110-136-178-143.ftth.glasoperator.nl) (Ping timeout: 244 seconds) |
| 06:15:36 | → | tdammers joins (~tdammers@110-136-178-143.ftth.glasoperator.nl) |
| 06:17:56 | <iqubic> | Is Hackage right now? |
| 06:19:57 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 06:22:53 | <haskellbridge> | <sm> yes |
| 06:26:57 | × | weary-traveler quits (~user@user/user363627) (Remote host closed the connection) |
| 06:31:54 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds) |
| 06:38:14 | × | euphores quits (~SASL_euph@user/euphores) (Quit: Leaving.) |
| 06:38:36 | → | OftenFaded joins (~OftenFade@user/tisktisk) |
| 06:40:50 | → | robobub joins (uid248673@id-248673.uxbridge.irccloud.com) |
| 06:42:29 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 06:46:01 | → | euphores joins (~SASL_euph@user/euphores) |
| 06:46:50 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 06:57:51 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 07:00:46 | → | JamesMowery439 joins (~JamesMowe@ip68-228-212-232.ph.ph.cox.net) |
| 07:01:08 | → | CiaoSen joins (~Jura@2a05:5800:225:2b00:ca4b:d6ff:fec1:99da) |
| 07:05:06 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds) |
| 07:08:37 | → | alp joins (~alp@2001:861:8ca0:4940:65c4:d0be:9c94:fd89) |
| 07:20:42 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 07:23:52 | → | agent314 joins (~quassel@146.70.185.179) |
| 07:25:20 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 07:29:46 | × | agent314 quits (~quassel@146.70.185.179) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
| 07:36:05 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 07:40:14 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds) |
| 07:43:12 | → | briandaed joins (~root@user/briandaed) |
| 07:51:27 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 07:56:01 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
| 07:57:58 | × | CrunchyFlakes quits (~CrunchyFl@ip1f13e94e.dynamic.kabel-deutschland.de) (Quit: ZNC 1.8.2 - https://znc.in) |
| 08:00:04 | × | caconym quits (~caconym@user/caconym) (Quit: bye) |
| 08:00:41 | → | caconym joins (~caconym@user/caconym) |
| 08:02:24 | → | CrunchyFlakes joins (~CrunchyFl@ip1f13e94e.dynamic.kabel-deutschland.de) |
| 08:06:34 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 08:07:21 | × | jmcantrell quits (~weechat@user/jmcantrell) (Ping timeout: 246 seconds) |
| 08:07:21 | jmcantrell_ | is now known as jmcantrell |
| 08:07:53 | × | ByronJohnson quits (~bairyn@50.250.232.19) (Remote host closed the connection) |
| 08:13:22 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 08:18:26 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 08:24:37 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 08:24:53 | → | homo joins (~homo@37-33-208-60.bb.dnainternet.fi) |
| 08:25:17 | × | homo quits (~homo@37-33-208-60.bb.dnainternet.fi) (Changing host) |
| 08:25:17 | → | homo joins (~homo@user/homo) |
| 08:27:03 | AlexNoo_ | is now known as AlexNoo |
| 08:28:48 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds) |
| 08:29:43 | <dmj`> | @unmtl StateT String [] a |
| 08:29:43 | <lambdabot> | String -> [] (a, String) |
| 08:40:00 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 08:44:32 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 08:52:37 | <probie> | I feel like my brain isn't working today. There's a way to do https://play.haskell.org/saved/dt2JAZvV without type families isn't there? |
| 08:53:38 | <probie> | GADTs work, but then I have an extra constructor |
| 08:55:22 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 09:00:05 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
| 09:01:09 | × | haskellbridge quits (~hackager@syn-024-093-192-219.res.spectrum.com) (Read error: Connection reset by peer) |
| 09:03:17 | <int-e> | probie: there's this, maybe: data Tree a = Leaf a | Nest (Tree (a,a,a,a)) |
| 09:03:28 | <int-e> | IIUC |
| 09:03:55 | <probie> | That allows unbalanced trees which are what I want to stop |
| 09:04:01 | <int-e> | it doesn't |
| 09:05:19 | <int-e> | but it has a weird spine before the tree proper that encodes the depth of the tree |
| 09:05:29 | <probie> | You're right. My brain read that, ignored what was written and decided it said `Nest (Tree a, Tree a, Tree a, Tree a)` |
| 09:05:38 | <int-e> | it happens |
| 09:06:54 | → | haskellbridge joins (~hackager@syn-024-093-192-219.res.spectrum.com) |
| 09:06:55 | ChanServ | sets mode +v haskellbridge |
| 09:07:26 | <int-e> | anyway it's one of those weird Haskell 98 tricks that are extremely cute... and never useful ;-) |
| 09:07:35 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 09:07:51 | <int-e> | (At least I can't remember ever using this one.) |
| 09:09:15 | <Leary> | probie: The GADT may have an extra constructor, but it's still better than a mess of type families. If you really want to avoid the indirection at the leaves, this is another option: https://play.haskell.org/saved/GA2Zb3w9 |
| 09:12:02 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 09:12:17 | <int-e> | (Maybe this isn't too bad actually... you can mix that idea with a GADT to track the depth in the type. And you avoid the extra constructor and indirection at each leaf.) |
| 09:13:25 | × | peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 248 seconds) |
| 09:15:31 | <probie> | I'm tempted to go with a "brute force" Haskell98 solution. My branching factor is 16, and my maximum depth is 16 (giving one path for any individual value of a `Word64`). I _could_ get away with just manually defining 16 types |
| 09:16:02 | <int-e> | hah, ouch |
| 09:16:25 | → | ByronJohnson joins (~bairyn@50.250.232.19) |
| 09:17:31 | <int-e> | do you even need 16 types... data N a = N a a a a deriving Functor; newtype T a = T (N (N (N (N a)))) deriving Functor |
| 09:18:18 | <int-e> | and do traversal with a type class to avoid writing 16 functions? |
| 09:19:57 | × | ski quits (~ski@remote11.chalmers.se) (Ping timeout: 244 seconds) |
| 09:22:57 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 09:27:11 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds) |
| 09:28:12 | × | tzh quits (~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz) |
| 09:29:15 | × | CiaoSen quits (~Jura@2a05:5800:225:2b00:ca4b:d6ff:fec1:99da) (Ping timeout: 246 seconds) |
| 09:33:19 | → | acidjnk_new joins (~acidjnk@p200300d6e7283f7859b2d190edf183b0.dip0.t-ipconnect.de) |
| 09:38:19 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 09:39:13 | → | jespada joins (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) |
| 09:40:25 | → | mange joins (~user@user/mange) |
| 09:41:34 | × | zenmov_ quits (~zenmov@user/zenmov) (Quit: leaving) |
| 09:41:55 | → | zenmov joins (~zenmov@user/zenmov) |
| 09:42:50 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 09:50:17 | × | jespada quits (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) (Quit: My Mac has gone to sleep. ZZZzzz…) |
| 09:50:22 | × | philopsos quits (~caecilius@user/philopsos) (Quit: Lost terminal) |
| 09:53:06 | → | jespada joins (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) |
| 09:53:41 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 09:56:34 | <tomsmeding> | int-e: "never useful" -> finger trees! |
| 09:57:25 | × | jespada quits (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) (Client Quit) |
| 09:57:51 | × | alp quits (~alp@2001:861:8ca0:4940:65c4:d0be:9c94:fd89) (Ping timeout: 252 seconds) |
| 09:57:59 | → | jespada joins (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) |
| 10:00:08 | <tomsmeding> | probie: you cannot have a tree with branching factor 16 and depth 16 in memory |
| 10:00:12 | <tomsmeding> | you don't have that hardware |
| 10:00:19 | <tomsmeding> | nor, in fact, that software |
| 10:00:19 | × | jespada quits (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) (Client Quit) |
| 10:00:26 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 10:01:11 | <tomsmeding> | if it's sparse it's fine |
| 10:01:18 | <tomsmeding> | (but don't fold over it!) |
| 10:02:29 | <tomsmeding> | because you don't have 10'000 PB of RAM |
| 10:06:20 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 10:10:10 | <int-e> | tomsmeding: Right, those slipped my mind. I was also intentionally hyperbolic of course :) |
| 10:10:15 | <tomsmeding> | :p |
| 10:10:20 | <tomsmeding> | it's surely uncommon |
| 10:12:18 | <c_wraith> | I could. Maybe. Has that much RAM been manufactured? |
| 10:12:40 | <tomsmeding> | possibly, but you couldn't connect it to a single motherboard |
| 10:12:54 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 10:13:06 | <c_wraith> | 128-bit addresses! |
| 10:13:42 | <tomsmeding> | perhaps my statements are slightly too strong, but under the fairly reasonable assumption that the reader has not constructed a wildly outlandish motherboard and cpu that is capable enough to run Haskell, I think my statements hold :) |
| 10:14:05 | <tomsmeding> | would GHC even run on an 128-bit address system |
| 10:15:09 | <c_wraith> | I don't think the address size would cause too many issues, specifically. There were 32 and 64 bit versions concurrently for a long time. But the fact that it would be running a different instruction set than existing processors, probably with different memory semantics... *that* is hard. |
| 10:16:00 | <tomsmeding> | does x86-style segmented memory work on x64? I forget |
| 10:16:23 | <c_wraith> | That only works in 16-bit mode. |
| 10:16:30 | <tomsmeding> | oh. :) |
| 10:16:55 | → | Tuplanolla joins (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) |
| 10:17:39 | × | Fabric quits (~Fabric@167.136.189.80.dyn.plus.net) (Quit: Lost terminal) |
| 10:17:43 | <c_wraith> | what was funny about that was how much the segments overlapped. |
| 10:18:03 | <c_wraith> | They could only address 20 bits worth of memory space total |
| 10:18:19 | <tomsmeding> | surely that's enough for everyone |
| 10:19:06 | <c_wraith> | so with 16-bit segments and 16-bit addresses... you needed to increase the segment by 2^12 (if my math is right) to get to a segment that doesn't overlap your starting one. |
| 10:19:36 | <c_wraith> | in conclusion: 32-bit memory addresses made everything so much easier. |
| 10:19:37 | <tomsmeding> | were the segments 16-byte aligned? |
| 10:19:41 | <c_wraith> | yes |
| 10:19:45 | <tomsmeding> | then 2^12 sounds right |
| 10:21:34 | <int-e> | 16 bit and 32 bit protected mode have their own use of segment registers (with corresponding base addresses, limits, and flags stored in tables) 64 bit mode gets rid of that, but still has a configurable base address for FS and GS which is used for thread-local storage. |
| 10:22:56 | <int-e> | It's a whole mess. Oh and I believe we *still* have the A20 gate. |
| 10:23:43 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 10:24:05 | <int-e> | Which is an 8086 compatibility thing that ensures that addresses above 1MB properly wrap around to 0MB ;-) But if you switch it off you get 65520 bytes free extra addressable memory... remember the "high memory area" or HMA? That's what that was... |
| 10:24:09 | <int-e> | Good old times. |
| 10:26:35 | <tomsmeding> | 65520 is suspiciously 2^16 - 16 |
| 10:27:06 | <int-e> | well segment FFFF overlaps with the 1MB area a tiny bit |
| 10:27:12 | <tomsmeding> | ah right |
| 10:28:01 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
| 10:33:14 | → | ash3en joins (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) |
| 10:39:07 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 10:41:59 | → | philopsos joins (~caecilius@user/philopsos) |
| 10:42:00 | <ash3en> | is write you a scheme 2.0 a good entry into PL/DSL implementation? Say I want to use Happy/Alex later instead of MegaParsec? But as far as interpreting etc goes, is it a good reference? |
| 10:43:54 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
| 10:48:49 | × | fun-safe-math quits (~fun-safe-@24.21.106.247) (Ping timeout: 244 seconds) |
| 10:52:51 | → | __monty__ joins (~toonn@user/toonn) |
| 10:54:30 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 10:59:20 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
| 11:05:17 | × | Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 11:06:17 | → | wootehfoot joins (~wootehfoo@user/wootehfoot) |
| 11:09:34 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 11:13:54 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds) |
| 11:15:43 | × | ash3en quits (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) (Quit: ash3en) |
| 11:17:24 | → | chexum joins (~quassel@gateway/tor-sasl/chexum) |
| 11:24:56 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 11:27:11 | <probie> | tomsmeding: Being "too big" is why I chose it as an upper bound. The only operations it needs to support are `get :: Word64 -> T16 a -> a`, `set :: Word64 -> a -> T16 a -> T16 a` and maybe `getPage :: Word64 -> T16 a -> T3 a` |
| 11:27:39 | <tomsmeding> | I see |
| 11:31:40 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 11:32:21 | → | target_i joins (~target_i@user/target-i/x-6023099) |
| 11:32:24 | <probie> | and there's a reasonable chance I'll throw it all away and just use an `IntMap` after benchmarking when I find I've been barking up the wrong tree |
| 11:42:59 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 11:47:29 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
| 11:52:08 | → | Square joins (~Square@user/square) |
| 11:55:18 | <eugenrh> | hololeap: re: visualizing of data sharing in ghci: "Thunks, Sharing, Laziness: The Haskell Heap Visualized – Joachim Breitner" https://www.youtube.com/watch?v=I4lnCG18TaY |
| 11:58:22 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 12:00:04 | × | caconym quits (~caconym@user/caconym) (Quit: bye) |
| 12:02:20 | → | caconym joins (~caconym@user/caconym) |
| 12:02:42 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds) |
| 12:05:49 | × | wootehfoot quits (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer) |
| 12:10:35 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 12:17:12 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 12:18:24 | → | lxsameer joins (~lxsameer@Serene/lxsameer) |
| 12:22:32 | × | __monty__ quits (~toonn@user/toonn) (Quit: leaving) |
| 12:22:43 | → | rvalue- joins (~rvalue@user/rvalue) |
| 12:23:09 | → | ljdarj joins (~Thunderbi@user/ljdarj) |
| 12:23:39 | × | rvalue quits (~rvalue@user/rvalue) (Ping timeout: 260 seconds) |
| 12:26:33 | × | mange quits (~user@user/mange) (Quit: Zzz...) |
| 12:28:12 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 12:28:53 | rvalue- | is now known as rvalue |
| 12:29:41 | → | housemate joins (~housemate@2001:8004:1640:2500::12e) |
| 12:30:04 | → | sindu joins (~sindu@176.75.224.1) |
| 12:32:39 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds) |
| 12:37:31 | → | pera joins (~pera@user/pera) |
| 12:41:09 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 12:43:34 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 12:49:33 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds) |
| 12:52:29 | <hololeap> | thanks |
| 12:58:22 | × | econo_ quits (uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity) |
| 13:00:12 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 13:01:05 | → | sprotte24 joins (~sprotte24@p200300d16f0fee00a80355a94c46e799.dip0.t-ipconnect.de) |
| 13:07:25 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
| 13:08:35 | × | picnoir quits (~picnoir@about/aquilenet/vodoo/NinjaTrappeur) (Quit: WeeChat 4.4.4) |
| 13:10:08 | → | picnoir joins (~picnoir@about/aquilenet/vodoo/NinjaTrappeur) |
| 13:10:58 | × | housemate quits (~housemate@2001:8004:1640:2500::12e) (Ping timeout: 272 seconds) |
| 13:11:37 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 13:12:23 | → | alp joins (~alp@2001:861:8ca0:4940:3ade:1bfe:c86a:afee) |
| 13:15:34 | → | Smiles joins (uid551636@id-551636.lymington.irccloud.com) |
| 13:16:26 | → | housemate joins (~housemate@1.124.107.73) |
| 13:16:47 | → | toch joins (toch@user/toch) |
| 13:19:54 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 13:20:02 | × | alp quits (~alp@2001:861:8ca0:4940:3ade:1bfe:c86a:afee) (Remote host closed the connection) |
| 13:22:23 | → | weary-traveler joins (~user@user/user363627) |
| 13:30:49 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 13:31:34 | × | pera quits (~pera@user/pera) (Ping timeout: 244 seconds) |
| 13:32:33 | × | ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 265 seconds) |
| 13:33:12 | × | sindu quits (~sindu@176.75.224.1) (Ping timeout: 246 seconds) |
| 13:33:24 | → | pera joins (~pera@user/pera) |
| 13:35:17 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
| 13:37:33 | × | sprotte24 quits (~sprotte24@p200300d16f0fee00a80355a94c46e799.dip0.t-ipconnect.de) (Quit: Leaving) |
| 13:44:50 | → | sprotte24 joins (~sprotte24@p200300d16f0fee00a80355a94c46e799.dip0.t-ipconnect.de) |
| 13:46:11 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 13:48:41 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 13:52:39 | × | dostoevsky quits (~dostoevsk@user/dostoevsky) (Remote host closed the connection) |
| 13:52:45 | × | youthlic quits (~Thunderbi@user/youthlic) (Remote host closed the connection) |
| 13:52:49 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
| 13:52:59 | → | dostoevsky joins (~dostoevsk@user/dostoevsky) |
| 13:53:01 | × | igemnace quits (~igemnace@user/igemnace) (Quit: ZNC 1.9.0+deb2build3 - https://znc.in) |
| 13:53:10 | × | pera quits (~pera@user/pera) (Quit: leaving) |
| 13:53:11 | → | youthlic joins (~Thunderbi@user/youthlic) |
| 13:54:28 | → | igemnace joins (~igemnace@user/igemnace) |
| 14:03:41 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 14:08:15 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds) |
| 14:10:30 | × | xff0x quits (~xff0x@2405:6580:b080:900:33bd:b9d7:1cc6:1151) (Ping timeout: 272 seconds) |
| 14:12:36 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 14:24:04 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 14:25:58 | × | housemate quits (~housemate@1.124.107.73) (Quit: Nothing to see here. I wasn't there. I take IRC seriously. https://files.catbox.moe/4e9k81.pdf) |
| 14:35:27 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 14:39:18 | → | rekahsoft joins (~rekahsoft@bras-base-orllon1103w-grc-06-76-69-85-220.dsl.bell.ca) |
| 14:40:16 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 272 seconds) |
| 14:43:14 | → | xff0x joins (~xff0x@2405:6580:b080:900:5ad0:49e1:f3fb:32bc) |
| 14:45:25 | × | gabriel_sevecek quits (~gabriel@188-167-229-200.dynamic.chello.sk) (Read error: Connection reset by peer) |
| 14:45:58 | × | rekahsoft quits (~rekahsoft@bras-base-orllon1103w-grc-06-76-69-85-220.dsl.bell.ca) (Remote host closed the connection) |
| 14:47:01 | → | rekahsoft joins (~rekahsoft@bras-base-orllon1103w-grc-06-76-69-85-220.dsl.bell.ca) |
| 14:48:23 | → | gabriel_sevecek joins (~gabriel@188-167-229-200.dynamic.chello.sk) |
| 14:50:50 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 14:51:33 | → | hiecaq joins (~hiecaq@user/hiecaq) |
| 14:55:29 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds) |
| 15:06:22 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 15:11:09 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
| 15:11:42 | × | Angelz quits (Angelz@2605:6400:30:fc15:d55b:fa6c:bd14:9973) (Changing host) |
| 15:11:42 | → | Angelz joins (Angelz@user/angelz) |
| 15:13:40 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 15:15:33 | → | housemate joins (~housemate@2001:8004:1640:2500::12e) |
| 15:17:58 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 15:26:56 | × | homo quits (~homo@user/homo) (Quit: homo) |
| 15:27:29 | × | housemate quits (~housemate@2001:8004:1640:2500::12e) (Ping timeout: 252 seconds) |
| 15:29:01 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 15:33:39 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 15:34:00 | × | xff0x quits (~xff0x@2405:6580:b080:900:5ad0:49e1:f3fb:32bc) (Ping timeout: 276 seconds) |
| 15:36:32 | → | xff0x joins (~xff0x@ai080132.d.east.v6connect.net) |
| 15:44:24 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 15:44:44 | × | xff0x quits (~xff0x@ai080132.d.east.v6connect.net) (Ping timeout: 252 seconds) |
| 15:46:42 | × | euphores quits (~SASL_euph@user/euphores) (Quit: Leaving.) |
| 15:46:47 | → | xff0x joins (~xff0x@2405:6580:b080:900:b4b:daf:7b8e:aa3a) |
| 15:50:14 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 15:56:48 | → | euphores joins (~SASL_euph@user/euphores) |
| 15:57:55 | × | TheCoffeMaker quits (~TheCoffeM@user/thecoffemaker) (Ping timeout: 260 seconds) |
| 15:58:07 | → | alp joins (~alp@128-79-174-146.hfc.dyn.abo.bbox.fr) |
| 15:58:18 | → | TheCoffeMaker joins (~TheCoffeM@user/thecoffemaker) |
| 16:01:07 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 16:02:41 | × | alp quits (~alp@128-79-174-146.hfc.dyn.abo.bbox.fr) (Ping timeout: 252 seconds) |
| 16:06:58 | × | tv quits (~tv@user/tv) (Read error: Connection reset by peer) |
| 16:07:49 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 16:14:39 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 16:16:28 | → | BolzmannPain joins (~BolzmannP@user/BolzmannPain) |
| 16:18:44 | <BolzmannPain> | Hi. I’m trying to use a memory that is a mmapped file for a Haskell data structure. So I can just use the data structure normally, and it will automatically transparently be written to disk. Ideally with caching in fast RAM. Essentially creating permanent memory, like in the olden days. Is such a thing possible? |
| 16:19:12 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 16:19:52 | <BolzmannPain> | System.IO.MMap seems to use Ptr which uses Foreign.Storable, which expects manual marshalling of data with peeks and pokes. Which is exactly what I didn’t want to do and what I expected the compiler to handle. |
| 16:21:25 | → | JuanDaugherty joins (~juan@user/JuanDaugherty) |
| 16:21:28 | <BolzmannPain> | Yes, i could simply use the OS’s swap file / paging support and hibernation. But that’s not as permanent as I like, and being transparent across the network would nor be realistic either. |
| 16:21:38 | <BolzmannPain> | s/nor/not |
| 16:22:42 | <BolzmannPain> | I know the developers of Enlightenment use something like that for their configuration, and it’s quite cool. But that’s C, and I would prefer Haskell’s safety. :) |
| 16:23:55 | <JuanDaugherty> | :) |
| 16:32:44 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 16:35:53 | <monochrom> | You may meaningfully do that for SML, but not GHC. GHC puts code pointers in "data" to help with lazy evaluation. Code pointers become meaningless after the process terminates, given that these days the OS starts each process at a random address. |
| 16:36:53 | <monochrom> | There are other compilers/interpreters that do lazy evaluation without code pointers, but they are all academic only. |
| 16:37:05 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
| 16:37:14 | <glguy> | Maybe something with https://hackage.haskell.org/package/compact |
| 16:38:16 | <glguy> | You can't mutate it, but you can serialize/deserialize to disk |
| 16:48:07 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 16:48:48 | <BolzmannPain> | glguy: Uh-oh, it says it won’t terminate if the data contains cycles. But cycles are exactly what I need. (I plan on storing complex cyclic graphs of mostly text.) |
| 16:50:49 | <glguy> | well, you can encode the links with a synthetic key. Make the graph like you might in Rust |
| 16:51:01 | <BolzmannPain> | I guess I have to create some transparent interface that maps between IO actions and standard operations on generic data. (Basically just record graphs. No need for fancy types that other languages can’t handle anyway.) |
| 16:52:52 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 16:52:52 | <BolzmannPain> | glguy: Rust is as if a C programmer re-invented Haskell/ML. Badly. :D … But I guess I understand what you mean. Records with references that represent pointers. |
| 16:54:37 | <BolzmannPain> | I still haven’t learned what the current way is, to use record data types. Especially deep ones. I know a big change happened, some years ago. If anyone can point me to a cheat sheet or something for the “new style”… |
| 16:59:09 | → | hiecaq` joins (~hiecaq@user/hiecaq) |
| 17:00:23 | zero | is now known as zzz |
| 17:00:31 | × | hiecaq quits (~hiecaq@user/hiecaq) (Read error: Connection reset by peer) |
| 17:00:40 | × | BolzmannPain quits (~BolzmannP@user/BolzmannPain) (Ping timeout: 240 seconds) |
| 17:03:28 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 17:06:36 | catties | is now known as Catty |
| 17:06:52 | <glguy> | I don't know what change you're talking about |
| 17:08:15 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds) |
| 17:08:53 | <enikar> | may be DotRecordSyntax or something like |
| 17:09:04 | <zzz> | is it just me or is haskell.hoogle.org acting up? |
| 17:10:51 | <briandaed> | started slowly, first query finished with error, then ok and the next with 500 |
| 17:11:07 | <briandaed> | maybe still encountering problems with bots |
| 17:15:41 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 17:20:30 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 272 seconds) |
| 17:21:27 | → | ljdarj joins (~Thunderbi@user/ljdarj) |
| 17:22:11 | × | dsrt^ quits (~dsrt@c-98-242-74-66.hsd1.ga.comcast.net) (Remote host closed the connection) |
| 17:22:43 | → | cyanteeth joins (~cyanteeth@user/cyanteeth) |
| 17:24:06 | × | ystael quits (~ystael@user/ystael) (Ping timeout: 252 seconds) |
| 17:24:39 | × | Smiles quits (uid551636@id-551636.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
| 17:31:03 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 17:35:26 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds) |
| 17:43:19 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 17:43:31 | Angelz | dies. |
| 17:46:25 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 17:47:36 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 264 seconds) |
| 17:49:21 | × | ByronJohnson quits (~bairyn@50.250.232.19) (Remote host closed the connection) |
| 17:53:04 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 18:04:27 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 18:05:21 | → | alp joins (~alp@2001:861:8ca0:4940:4fb3:5817:7b93:c2b9) |
| 18:05:29 | × | gentauro quits (~gentauro@user/gentauro) (Read error: Connection reset by peer) |
| 18:09:01 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds) |
| 18:09:58 | × | cyanteeth quits (~cyanteeth@user/cyanteeth) (Quit: cyanteeth) |
| 18:11:34 | → | gentauro joins (~gentauro@user/gentauro) |
| 18:12:01 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 18:12:52 | → | cyanteeth joins (~cyanteeth@user/cyanteeth) |
| 18:14:09 | × | cyphase quits (~cyphase@user/cyphase) (Ping timeout: 245 seconds) |
| 18:15:26 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 244 seconds) |
| 18:16:27 | → | Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915) |
| 18:16:53 | × | rvalue quits (~rvalue@user/rvalue) (Ping timeout: 248 seconds) |
| 18:17:33 | <[exa]> | zzz briandaed: not the first time this might be happening. Last time it was some kind of LLM-originating DDoS. |
| 18:17:54 | × | weary-traveler quits (~user@user/user363627) (Remote host closed the connection) |
| 18:19:21 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 18:23:20 | × | cyanteeth quits (~cyanteeth@user/cyanteeth) (Quit: cyanteeth) |
| 18:24:20 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
| 18:28:14 | × | JuanDaugherty quits (~juan@user/JuanDaugherty) (Quit: JuanDaugherty) |
| 18:29:14 | → | cyanteeth joins (~cyanteeth@user/cyanteeth) |
| 18:31:49 | → | tv joins (~tv@user/tv) |
| 18:34:43 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 18:38:26 | × | hiecaq` quits (~hiecaq@user/hiecaq) (Quit: ERC 5.6.0.30.1 (IRC client for GNU Emacs 30.0.92)) |
| 18:39:28 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
| 18:44:52 | × | cyanteeth quits (~cyanteeth@user/cyanteeth) (Quit: cyanteeth) |
| 18:45:52 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 18:48:46 | → | tzh joins (~tzh@c-76-115-131-146.hsd1.or.comcast.net) |
| 18:50:06 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 18:55:04 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
| 19:05:30 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 19:09:11 | → | todi joins (~todi@p57803331.dip0.t-ipconnect.de) |
| 19:09:41 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds) |
| 19:15:39 | → | ByronJohnson joins (~bairyn@50.250.232.19) |
| 19:20:54 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 19:24:44 | → | zeshbtc joins (~zeshbtc@103.166.150.118) |
| 19:27:58 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 19:29:34 | → | sawilagar joins (~sawilagar@user/sawilagar) |
| 19:33:03 | <hellwolf> | basic question... how can I cabal repl so that I can import things from multiple packages? |
| 19:37:00 | × | iqubic quits (~sophia@2601:602:9201:9440:ffda:929e:4882:546b) (Remote host closed the connection) |
| 19:37:48 | <[exa]> | hellwolf: adding the multiple packages to dependencies should work, no? |
| 19:38:35 | → | ljdarj1 joins (~Thunderbi@user/ljdarj) |
| 19:38:55 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 19:39:24 | × | ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 265 seconds) |
| 19:39:24 | ljdarj1 | is now known as ljdarj |
| 19:42:02 | <hellwolf> | it seems not, I am confused. I had to use --build-depends |
| 19:42:18 | <hellwolf> | do I need to run it in the package folder? as opposed to under the project root? |
| 19:43:09 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds) |
| 19:46:22 | <glguy> | hellwolf: this might help https://well-typed.com/blog/2023/03/cabal-multi-unit/ |
| 19:46:55 | <hellwolf> | I have multi-repl: true enabled in cabal.project |
| 19:49:40 | × | zeshbtc quits (~zeshbtc@103.166.150.118) (Ping timeout: 240 seconds) |
| 19:51:48 | <hellwolf> | extremely confusing... $ cabal repl yul-dsl-linear-smc:test-yul-dsl-linear-smc --build-depends yul-dsl,eth-abi |
| 19:52:02 | → | zeshbtc joins (~zeshbtc@103.166.150.118) |
| 19:52:10 | <hellwolf> | this is the only way I made it work: to be able to import stuff from both test and the dependent packages. |
| 19:52:58 | <tomsmeding> | hellwolf: are those yul-dsl and eth-abi packages given as dependencies of test-yul-dsl-linear-smc in the .cabal file? |
| 19:52:59 | → | ski joins (~ski@remote11.chalmers.se) |
| 19:53:28 | <hellwolf> | hmm, not, indeed :) |
| 19:53:47 | <tomsmeding> | well, 'cabal repl' loads the thing you point it to, as well as its dependencies ;) |
| 19:53:58 | <hellwolf> | transitive dependencies is not a thing, I guess |
| 19:54:10 | <tomsmeding> | nope, transitive dependencies are not in scope |
| 19:54:13 | <tomsmeding> | they never are |
| 19:54:19 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 19:54:42 | <tomsmeding> | if you have a library that depends on 'containers' but not on 'base', you'll get an error importing Prelude ;) |
| 19:54:51 | <tomsmeding> | despite 'containers' certainly depending on 'base' |
| 19:54:52 | <hellwolf> | I noticed. could it ever be the case that dependencies may have same-named dependency but of different version? |
| 19:54:57 | <tomsmeding> | no |
| 19:55:04 | <tomsmeding> | but they could define same-named _modules_ |
| 19:55:21 | <hellwolf> | makes sense |
| 19:55:23 | <tomsmeding> | cabal ensures that in one linked library/executable, there is <=1 version of any library |
| 19:55:45 | <hellwolf> | <=1? do you hint there is optionalDependencies? |
| 19:56:12 | <tomsmeding> | interesting side note, perhaps: if you have a build tool dependency (e.g. alex/happy/c2hs), then because that's a separate executable, they can depend on other versions of stuff than your main component |
| 19:56:34 | <tomsmeding> | hellwolf: no I just mean that you don't depend on all of hackage, so there are many libraries with 0 occurrences in your component :) |
| 19:56:46 | <tomsmeding> | @hackage acme-everything |
| 19:56:46 | <lambdabot> | https://hackage.haskell.org/package/acme-everything |
| 19:57:02 | <hellwolf> | got it. I have a habit of enabling -Wunused-packages already |
| 19:57:06 | × | gawen quits (~gawen@user/gawen) (Quit: cya) |
| 19:57:07 | <tomsmeding> | (which is broken: https://github.com/quchen/acme-everything/issues/8 ) |
| 19:57:09 | <hellwolf> | keeping things tidy. |
| 19:57:22 | <tomsmeding> | ooh I don't but I should |
| 19:57:29 | <tomsmeding> | do we also have -Wunused-extensions already |
| 19:57:38 | <hellwolf> | hint does that |
| 19:58:06 | <hellwolf> | *hlint |
| 19:58:29 | <hellwolf> | "Unused LANGUAGE pragma" |
| 19:58:43 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 245 seconds) |
| 19:58:53 | <tomsmeding> | right |
| 19:59:19 | → | gawen joins (~gawen@user/gawen) |
| 19:59:31 | <tomsmeding> | but for >80% of hlint lints I find them either obvious (i.e. I don't need them) or I disagree with them |
| 19:59:36 | <tomsmeding> | so I disable hlint :p |
| 19:59:44 | × | gawen quits (~gawen@user/gawen) (Client Quit) |
| 20:00:02 | × | caconym quits (~caconym@user/caconym) (Quit: bye) |
| 20:00:40 | → | caconym joins (~caconym@user/caconym) |
| 20:01:14 | → | gawen joins (~gawen@user/gawen) |
| 20:01:18 | <hellwolf> | haha, I do ignore bunch of hlint suggestions |
| 20:01:30 | <tomsmeding> | I know there are ignore files and such but bother :D |
| 20:04:05 | → | __jmcantrell__ joins (~weechat@user/jmcantrell) |
| 20:04:53 | × | jmcantrell quits (644f1bed9a@user/jmcantrell) (Killed (zirconium.libera.chat (Nickname regained by services))) |
| 20:04:53 | __jmcantrell__ | is now known as jmcantrell |
| 20:04:57 | × | rekahsoft quits (~rekahsoft@bras-base-orllon1103w-grc-06-76-69-85-220.dsl.bell.ca) (Remote host closed the connection) |
| 20:05:02 | → | jmcantrell_ joins (644f1bed9a@user/jmcantrell) |
| 20:05:16 | <hellwolf> | understandable. being harrased by GHC type checker is enough of a pain. |
| 20:06:40 | × | zeshbtc quits (~zeshbtc@103.166.150.118) (Ping timeout: 240 seconds) |
| 20:09:42 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 20:12:37 | × | ft quits (~ft@p508db9c7.dip0.t-ipconnect.de) (Quit: leaving) |
| 20:14:13 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 20:15:41 | × | lxsameer quits (~lxsameer@Serene/lxsameer) (Ping timeout: 252 seconds) |
| 20:15:41 | × | tv quits (~tv@user/tv) (Read error: Connection reset by peer) |
| 20:17:23 | → | cyanteeth joins (~cyanteeth@user/cyanteeth) |
| 20:19:24 | → | IamPyu joins (~IamPyu@static209-34-105-235.r.rev.accesscomm.ca) |
| 20:19:24 | × | IamPyu quits (~IamPyu@static209-34-105-235.r.rev.accesscomm.ca) (Changing host) |
| 20:19:24 | → | IamPyu joins (~IamPyu@user/IamPyu) |
| 20:23:39 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 20:25:04 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 20:25:59 | × | gorignak quits (~gorignak@user/gorignak) (Read error: Connection reset by peer) |
| 20:26:09 | → | gorignak joins (~gorignak@user/gorignak) |
| 20:27:52 | × | anpad quits (~pandeyan@user/anpad) (Quit: ZNC 1.8.2 - https://znc.in) |
| 20:29:38 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 20:30:12 | → | ft joins (~ft@p508db9c7.dip0.t-ipconnect.de) |
| 20:30:14 | → | anpad joins (~pandeyan@user/anpad) |
| 20:32:06 | <probie> | There's nothing like trying to teach a bunch of students Haskell for the first time whilst their IDE places scary looking warnings telling them to eta-reduce |
| 20:32:29 | <tomsmeding> | the thing is, I don't need hlint telling me to eta-reduce |
| 20:32:41 | <tomsmeding> | if it's clearer to eta-reduce, I'm likely to see it myself |
| 20:32:50 | <tomsmeding> | and those students also don't need it, as probie said |
| 20:32:58 | <tomsmeding> | who _does_ profit from that lint? |
| 20:33:39 | <tomsmeding> | if you really want this as code style in your project and you want contributors to adhere to it, put a hlint rule file in your repository |
| 20:34:07 | <tomsmeding> | as people here have said before, hlint is a set of opinions of some people, not a general linter |
| 20:34:43 | <hellwolf> | what is better linter for Haskell? |
| 20:34:56 | <tomsmeding> | none |
| 20:34:59 | <hellwolf> | :/ |
| 20:35:01 | <tomsmeding> | I'm not aware of any |
| 20:35:08 | <tomsmeding> | hlint with most of its rules disabled, maybe? |
| 20:35:19 | <hellwolf> | :D |
| 20:38:08 | <glguy> | when we use hlint at work we start with all the rules turned off and then turn on the ones we're interested in |
| 20:40:27 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 20:41:00 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 264 seconds) |
| 20:42:56 | × | TheCoffeMaker quits (~TheCoffeM@user/thecoffemaker) (Remote host closed the connection) |
| 20:43:54 | → | TheCoffeMaker joins (~TheCoffeM@user/thecoffemaker) |
| 20:44:58 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 20:45:17 | <tomsmeding> | am I reading the hlint readme correctly if I conclude that there is no such thing as a "global .hlint.yaml", only project-local? Or will hlint take ~/.hlint.yaml if none is found deeper in the tree? |
| 20:48:52 | × | TheCoffeMaker quits (~TheCoffeM@user/thecoffemaker) (Ping timeout: 272 seconds) |
| 20:49:40 | → | TheCoffeMaker joins (~TheCoffeM@user/thecoffemaker) |
| 20:50:51 | <geekosaur> | pretty sure there's no global one; it's assumed that every project has its own, possibly shared. requirements |
| 20:55:05 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 20:55:50 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 21:02:37 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds) |
| 21:03:55 | → | weary-traveler joins (~user@user/user363627) |
| 21:08:35 | → | Everything joins (~Everythin@195.138.86.118) |
| 21:10:17 | × | Square quits (~Square@user/square) (Remote host closed the connection) |
| 21:10:53 | → | Square joins (~Square@user/square) |
| 21:13:53 | → | Smiles joins (uid551636@id-551636.lymington.irccloud.com) |
| 21:13:53 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 21:15:24 | × | jmcantrell quits (~weechat@user/jmcantrell) (Ping timeout: 245 seconds) |
| 21:15:24 | jmcantrell_ | is now known as jmcantrell |
| 21:18:07 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds) |
| 21:27:50 | × | briandaed quits (~root@user/briandaed) (Remote host closed the connection) |
| 21:29:14 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 21:30:38 | <tomsmeding> | glguy: I recalled you saying about AOC day 11 that the naive approach would nigh infinite time; currently doing day 11, and yes, that ain't gonna work :) |
| 21:31:16 | <glguy> | There was a reddit post that someone spent $81 on cloudcompute, I guess, to do it. I don't know if it was serious or not |
| 21:31:24 | <tomsmeding> | that's hilarious |
| 21:33:47 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 21:35:36 | <tomsmeding> | 6.3005 * 1.516**x - 19.9 fits my lengths up to iteration 25 quite neatly :) |
| 21:35:49 | <tomsmeding> | that for x=75 is... a lot |
| 21:36:06 | <monochrom> | $81 is not a lot of money actually. :) |
| 21:36:42 | <tomsmeding> | not if you need about 1000 TB of RAM to even store the result |
| 21:37:14 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 21:37:53 | <int-e> | you don't... maybe that's a spoiler |
| 21:38:04 | <tomsmeding> | maybe? |
| 21:38:18 | <tomsmeding> | I guess |
| 21:38:22 | × | takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
| 21:38:41 | <tomsmeding> | oh what followed the "you don't" would be a spoiler, yes it would |
| 21:38:47 | <glguy> | int-e: it's a spoiler that people are solving it without infinite RAM? |
| 21:38:52 | <tomsmeding> | :D |
| 21:38:57 | <tomsmeding> | not infinite! |
| 21:38:58 | <int-e> | glguy: yes! |
| 21:39:16 | <int-e> | glguy: In a half-serios, half-kidding way of course. |
| 21:39:19 | <int-e> | +u |
| 21:39:40 | <glguy> | serious is probably the british spelling |
| 21:40:19 | <int-e> | my excuse today is the german "seriös" (which has a subtly different meaning ;-) ) |
| 21:40:22 | glguy | also half-serios |
| 21:41:03 | <int-e> | "reputable" is a good translation I guess |
| 21:41:37 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 21:41:49 | <tomsmeding> | oh fun, the Dutch cognate is much closer to the meaning in English |
| 21:44:37 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 21:46:42 | <tomsmeding> | is there a clearly better way to nub a list than uniq . sort, if the order doesn't matter? |
| 21:46:51 | <tomsmeding> | and assuming that we have Ord on the elements |
| 21:47:04 | <tomsmeding> | there's also toList . Set.fromList, but surely that has more overhead |
| 21:47:58 | <glguy> | tomsmeding: have you finished yet? |
| 21:48:22 | <tomsmeding> | I haven't (and no, I'm not trying to nub the whole thing) |
| 21:48:26 | <tomsmeding> | maybe I should finish first |
| 21:48:30 | glguy | notices that star is still gray |
| 21:48:33 | <int-e> | tomsmeding: the Set version is better if you have many duplicates |
| 21:49:09 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds) |
| 21:49:55 | <tomsmeding> | because less redundant list nodes allocated? |
| 21:49:59 | <tomsmeding> | right |
| 21:56:54 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 21:57:05 | × | Everything quits (~Everythin@195.138.86.118) (Ping timeout: 248 seconds) |
| 21:58:29 | <enikar> | nubOrd exists, I don't remember in which package, though |
| 21:58:49 | <enikar> | it doesn't sort the list. |
| 21:58:56 | → | Everything joins (~Everythin@46.211.94.40) |
| 21:59:01 | → | __monty__ joins (~toonn@user/toonn) |
| 21:59:20 | <int-e> | Data.Containers.ListUtils nubOrd :: Ord a => [a] -> [a] |
| 21:59:22 | × | stiell quits (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection) |
| 21:59:45 | → | stiell joins (~stiell@gateway/tor-sasl/stiell) |
| 21:59:59 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 22:00:37 | <enikar> | that uses Set in the backstage |
| 22:00:45 | <int-e> | sure |
| 22:00:47 | <tomsmeding> | right, but slightly more cleverly than toList . Set.fromList |
| 22:00:48 | <int-e> | it's also lazy |
| 22:01:38 | <int-e> | I don't know which variant is better for bulk operation, since nubOrd *does* construct the full set to the end anyway |
| 22:01:47 | <__monty__> | Is there an easy way to draw over terminal output? Repeatedly outputting my string just makes things scroll by in a blur. |
| 22:02:02 | <tomsmeding> | end the line with \r instead of \n |
| 22:02:12 | <enikar> | it's easy to write your own version of nubOrd |
| 22:02:27 | <__monty__> | tomsmeding: Multiple line strings. |
| 22:02:28 | <int-e> | __monty__: pipe through less and adjust the terminal height? |
| 22:03:20 | <tomsmeding> | __monty__: end the string with "\r\ESC[5A", where 5 is the number of lines in the string >:) |
| 22:03:53 | → | iqubic joins (~sophia@2601:602:9201:9440:8256:a3c7:42eb:597d) |
| 22:03:58 | <geekosaur> | __monty__, maybe you want ansi-terminal? or brick, for even more control? |
| 22:03:59 | <int-e> | or probably \ESC[H to go to the top-left |
| 22:04:04 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 22:04:22 | <int-e> | assuming this is for personal ad-hoc use like AoC |
| 22:04:37 | <int-e> | otherwise use libraries that actually know about terminals properly :) |
| 22:04:38 | <__monty__> | Yeah, I'm looking for something quick and dirty. |
| 22:04:39 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
| 22:04:56 | <tomsmeding> | \ESC[H is the most robust quick-and-dirty |
| 22:05:00 | <geekosaur> | set a scrolling region the size of the string 😛 |
| 22:05:36 | <int-e> | the `less` thing is what I personally tend to use... you can go back and forth in the output then which is nice |
| 22:05:49 | <__monty__> | geekosaur: Was trying just resizing the terminal but it seems to scroll past line by line. |
| 22:06:00 | <int-e> | maybe I should play with that and ^L |
| 22:06:07 | <geekosaur> | but yeh, \E[H<your string here>\E[0J |
| 22:06:18 | <int-e> | > "\12" |
| 22:06:19 | <lambdabot> | "\f" |
| 22:06:28 | <int-e> | f = form feed, of course |
| 22:06:42 | <geekosaur> | ^L is an ancient way to clear the screen, but ANSI terminals mostly don't speak it any more |
| 22:06:55 | <geekosaur> | and yes, it comes from printer form-feed |
| 22:07:20 | <__monty__> | They don't? So they're tricking me into thinking it works whenever I press ctrl and l? |
| 22:07:40 | <geekosaur> | some programs interpret it for you (notably GNU readline will clear the screen) |
| 22:07:53 | <int-e> | geekosaur: I was pondering whether it would work in `less` but it doesn't, not out of the box anyway |
| 22:07:55 | <geekosaur> | but the terminal itself is not guaranteed to support it directly |
| 22:08:31 | <tomsmeding> | glguy: star is not grey any more, and indeed no nub any more :) |
| 22:09:10 | <geekosaur> | and less doesn't support formfeed, but old more does |
| 22:09:14 | <geekosaur> | and pg, I think |
| 22:09:28 | <tomsmeding> | not quite 45ms, but <1s, good enough |
| 22:11:11 | <geekosaur> | (I just tested, `printf '\f'` does nothing useful in mate-terminal and probably other VTE-based terminal emulators) |
| 22:11:28 | <tomsmeding> | also not in st |
| 22:12:08 | <glguy> | tomsmeding: trade ya https://github.com/glguy/advent/blob/main/solutions/src/2024/11.hs |
| 22:12:27 | <tomsmeding> | glguy: https://git.tomsmeding.com/AOC/tree/2024/11.hs |
| 22:12:57 | <tomsmeding> | ah, the other Map type |
| 22:13:10 | <glguy> | very similar |
| 22:13:18 | <glguy> | I did Map first, too |
| 22:13:19 | <tomsmeding> | modulo readability |
| 22:13:22 | <glguy> | IntMap made it go faster |
| 22:13:54 | <tomsmeding> | interesting, matters almost nothing here |
| 22:14:04 | <int-e> | hehe... https://paste.tomsmeding.com/LpTr44Vv |
| 22:14:25 | <glguy> | int-e: I had that version for submission |
| 22:14:25 | <int-e> | (no IntMap here either, didn't try to optimize) |
| 22:14:28 | <tomsmeding> | glguy: my ndigs10 was hilariously slow |
| 22:15:15 | <tomsmeding> | from 350ms to 92ms with Map, 71ms with IntMap |
| 22:15:24 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 22:15:52 | <glguy> | tomsmeding: yeah, that matched my experience, but your "almost nothing" looked to me like "big percentage" :) |
| 22:15:59 | <int-e> | time runhaskell 2.hs < input --> user 0m0.710s |
| 22:15:59 | <tomsmeding> | :) |
| 22:16:33 | <tomsmeding> | these times are hard to compare, apart from order of magnitude, because CPUs are different |
| 22:16:40 | <int-e> | yeah |
| 22:17:15 | <glguy> | int-e: that seems quite speedy for interpreted code, actually |
| 22:17:29 | <tomsmeding> | interpreting my thing gives me 310ms (for the 71ms-compiled version) |
| 22:17:37 | <int-e> | most of the time is spent in the libraries anyway |
| 22:18:25 | × | Everything quits (~Everythin@46.211.94.40) (Ping timeout: 265 seconds) |
| 22:18:57 | <glguy> | tomsmeding: sum . Map.elems is just sum |
| 22:20:07 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 22:20:16 | → | Everything joins (~Everythin@195.138.86.118) |
| 22:20:29 | glguy | likes using Map's Foldable instance for stuff |
| 22:22:12 | <int-e> | now if this was Project Euler they'd make it 1M steps and ask for the answer modulo 1000000007 |
| 22:22:42 | → | machinedgod joins (~machinedg@d108-173-18-100.abhsia.telus.net) |
| 22:23:51 | <int-e> | Or maybe 1B steps just to totally kill the brute force approach. |
| 22:24:11 | <tomsmeding> | glguy: oh, I guess it is |
| 22:24:22 | <tomsmeding> | int-e: it isn't killed yet |
| 22:24:24 | <tomsmeding> | ? |
| 22:24:40 | <int-e> | tomsmeding: 10^12 ops is a lot |
| 22:25:20 | <tomsmeding> | oh you're asking for even more clever than this |
| 22:25:43 | <glguy> | When we had this kind of problem in the past I used an efficient exponentiation approach |
| 22:25:56 | <glguy> | so you don't have to compute linearly in the number of steps |
| 22:26:15 | <int-e> | tomsmeding: yeah just another level of abstraction. fun to ponder, not necessarily fun to implement |
| 22:26:33 | <tomsmeding> | cute |
| 22:26:55 | <glguy> | there aren't *that many* distinct rocks, so you can enumerate all of them |
| 22:27:10 | <glguy> | and then build a matrix |
| 22:27:14 | <glguy> | and then exponentiate it |
| 22:27:16 | <tomsmeding> | yes I figured that out in the process of getting to my optimised solution |
| 22:27:23 | <tomsmeding> | didn't see the exp-by-squaring yet :) |
| 22:27:56 | <tomsmeding> | if you like fiddling with too many maps you can also keep the matrix sparse |
| 22:28:41 | <int-e> | it won't stay sparse once you start squaring |
| 22:29:03 | <tomsmeding> | I guess |
| 22:29:55 | tomsmeding | is off to bed, thanks all for the fun |
| 22:30:45 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 22:32:44 | <int-e> | Want another level of abstraction? Try the above with 10^10^100 steps. |
| 22:34:17 | <xerox> | hopefully still modulo something |
| 22:34:24 | <int-e> | definitely |
| 22:34:32 | <int-e> | still modulo 1000000007 |
| 22:35:24 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 22:39:32 | × | target_i quits (~target_i@user/target-i/x-6023099) (Quit: leaving) |
| 22:39:53 | <EvanR> | agent 000000007 |
| 22:45:37 | × | ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 248 seconds) |
| 22:46:18 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 22:47:34 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 22:50:49 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 245 seconds) |
| 22:51:28 | × | OftenFaded quits (~OftenFade@user/tisktisk) (Quit: Client closed) |
| 22:51:30 | <iqubic> | What are we talking about here? |
| 22:52:57 | → | OftenFaded joins (~OftenFade@user/tisktisk) |
| 22:55:48 | <geekosaur> | today's AoC, I think |
| 22:56:19 | <int-e> | the latest topic was day 11 |
| 23:01:39 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 23:04:17 | × | alp quits (~alp@2001:861:8ca0:4940:4fb3:5817:7b93:c2b9) (Ping timeout: 248 seconds) |
| 23:06:12 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 23:14:02 | × | califax quits (~califax@user/califx) (Remote host closed the connection) |
| 23:15:40 | → | defmanny joins (~manny@12.185.206.131) |
| 23:16:41 | → | califax joins (~califax@user/califx) |
| 23:16:56 | × | defmanny quits (~manny@12.185.206.131) (Remote host closed the connection) |
| 23:17:02 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 23:17:19 | → | ljdarj joins (~Thunderbi@user/ljdarj) |
| 23:21:36 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds) |
| 23:23:02 | × | kadobanana quits (~mud@user/kadoban) (Quit: quit) |
| 23:26:09 | → | mud joins (~mud@user/kadoban) |
| 23:32:26 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 23:33:38 | × | IamPyu quits (~IamPyu@user/IamPyu) (Quit: IamPyu) |
| 23:36:59 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 23:38:23 | × | cyanteeth quits (~cyanteeth@user/cyanteeth) (Quit: cyanteeth) |
| 23:41:13 | × | Everything quits (~Everythin@195.138.86.118) (Quit: Lost terminal) |
| 23:47:59 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 23:52:36 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds) |
| 23:52:50 | <c_wraith> | Today's AoC wasn't one that needed optimization for large numbers. It sure was one that made me go "what?" when I read it, though. |
| 23:57:43 | × | CrunchyFlakes quits (~CrunchyFl@ip1f13e94e.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
| 23:58:25 | <Rembane> | I liked the first part, not the second part though. |
All times are in UTC on 2024-12-14.