2024/12/14

2024-12-14 00:00:11 +0100machinedgod(~machinedg@d108-173-18-100.abhsia.telus.net) machinedgod
2024-12-14 00:07:22 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-14 00:08:07 +0100ljdarj(~Thunderbi@user/ljdarj) ljdarj
2024-12-14 00:11:54 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-12-14 00:15:20 +0100Spawns_Carpeting(~mobile@user/spawns-carpeting/x-6969421) (Quit: ZNC 1.8.2+deb3.1+deb12u1 - https://znc.in)
2024-12-14 00:19:21 +0100Spawns_Carpeting(~mobile@user/spawns-carpeting/x-6969421) Spawns_Carpeting
2024-12-14 00:20:02 +0100homo(~homo@37-33-208-60.bb.dnainternet.fi)
2024-12-14 00:20:33 +0100homo(~homo@37-33-208-60.bb.dnainternet.fi) (Changing host)
2024-12-14 00:20:33 +0100homo(~homo@user/homo) homo
2024-12-14 00:20:34 +0100sindu(~sindu@176.75.224.1)
2024-12-14 00:22:45 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-14 00:29:24 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-12-14 00:29:58 +0100ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 245 seconds)
2024-12-14 00:40:02 +0100toch(~toch@user/toch) (Ping timeout: 252 seconds)
2024-12-14 00:40:48 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-14 00:41:00 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-12-14 00:45:25 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds)
2024-12-14 00:45:44 +0100 <haskellbridge> <Bowuigi> @irc_libera.chat_mastarija:kf8nh.com re:precedence/associativity it has to be the same precedence for right associativity, but for left assoc you have to left factor it
2024-12-14 00:46:23 +0100 <haskellbridge> <Bowuigi> That's what chainl1 does in parsing libraries
2024-12-14 00:47:15 +0100 <geekosaur> they left
2024-12-14 00:47:21 +0100 <geekosaur> and irc isn't persistent
2024-12-14 00:48:06 +0100 <haskellbridge> <Bowuigi> Ah, I guess I mostly just repeated what was already said though
2024-12-14 00:48:36 +0100dpratt(~dpratt@165.225.220.148) dpratt
2024-12-14 00:52:39 +0100 <haskellbridge> <Bowuigi> Anyway, if anyone is interested in building an expression parser of any kind without buildExpressionParser, the paper "Parsing Mixfix Operators" by N. A. Danielsson and U. Norell suggests an easy to understand and reuse method that works for both the usual expressions and more general ones with mixfix operators (like if_then_else_, let_=_in_;_, etc)
2024-12-14 00:53:25 +0100 <haskellbridge> <Bowuigi> You can use their principles to implement 90-95% of the parser of a functional language in a maintainable and fast way. Heavily recommended
2024-12-14 00:54:32 +0100 <dpratt> So I am still stuck on day 12 (part 1!) of the AoC problems. Unfortunately, my code produces the correct answer for the test input. I have also confirmed that (a) the total area of the identified regions is correct and (b) that several "spot-checked" calculations of perimeter and area of individual regions are correct. The current code is here:
2024-12-14 00:54:32 +0100 <dpratt> https://gist.github.com/dgpratt/86b713c7dfadc748ae05fa1021750bb2
2024-12-14 00:54:33 +0100 <dpratt> If anyone has suggestions as to an approach to sus out the problem, I would be grateful.
2024-12-14 00:55:16 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-14 00:57:33 +0100__jmcantrell__(~weechat@user/jmcantrell) jmcantrell
2024-12-14 00:57:35 +0100jmcantrellGuest1761
2024-12-14 00:57:35 +0100Guest1761(644f1bed9a@user/jmcantrell) (Killed (molybdenum.libera.chat (Nickname regained by services)))
2024-12-14 00:57:35 +0100__jmcantrell__jmcantrell
2024-12-14 00:57:45 +0100jmcantrell_(644f1bed9a@user/jmcantrell) jmcantrell
2024-12-14 00:59:53 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds)
2024-12-14 01:00:14 +0100 <EvanR> geekosaur, luckily we have ircbrowse
2024-12-14 01:00:20 +0100 <EvanR> dot tomsmeding
2024-12-14 01:03:36 +0100gorignak(~gorignak@user/gorignak) (Ping timeout: 252 seconds)
2024-12-14 01:05:35 +0100dpratt(~dpratt@165.225.220.148) (Quit: Client closed)
2024-12-14 01:10:49 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds)
2024-12-14 01:11:57 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-14 01:12:02 +0100__monty__(~toonn@user/toonn) (Quit: leaving)
2024-12-14 01:16:15 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds)
2024-12-14 01:18:14 +0100weary-traveler(~user@user/user363627) (Remote host closed the connection)
2024-12-14 01:19:16 +0100 <dmj`> hackage down?
2024-12-14 01:20:24 +0100weary-traveler(~user@user/user363627) user363627
2024-12-14 01:21:51 +0100 <enikar> it seems
2024-12-14 01:22:22 +0100dpratt(~dpratt@165.225.220.148) dpratt
2024-12-14 01:22:23 +0100 <geekosaur> raised an alert in -infrastructure
2024-12-14 01:22:31 +0100 <geekosaur> just came back with a 504
2024-12-14 01:22:54 +0100 <enikar> as well, it's the time to sleep for me.
2024-12-14 01:23:49 +0100sindu(~sindu@176.75.224.1) (Ping timeout: 248 seconds)
2024-12-14 01:25:32 +0100Tuplanolla(~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.)
2024-12-14 01:26:51 +0100 <geekosaur> auto-status claims hackage went down recently-ish
2024-12-14 01:27:19 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-14 01:30:00 +0100dpratt(~dpratt@165.225.220.148) (Quit: Client closed)
2024-12-14 01:30:43 +0100dpratt(~dpratt@165.225.220.148) dpratt
2024-12-14 01:31:27 +0100 <haskellbridge> <sm> https://haskell-status.joyful.com
2024-12-14 01:31:45 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
2024-12-14 01:33:06 +0100jmcantrell(~weechat@user/jmcantrell) (Ping timeout: 276 seconds)
2024-12-14 01:33:06 +0100jmcantrell_jmcantrell
2024-12-14 01:34:57 +0100__jmcantrell__(~weechat@user/jmcantrell) jmcantrell
2024-12-14 01:35:01 +0100jmcantrell(644f1bed9a@user/jmcantrell) (Killed (zirconium.libera.chat (Nickname regained by services)))
2024-12-14 01:35:01 +0100__jmcantrell__jmcantrell
2024-12-14 01:35:10 +0100jmcantrell_(644f1bed9a@user/jmcantrell) jmcantrell
2024-12-14 01:36:00 +0100dpratt(~dpratt@165.225.220.148) (Quit: Client closed)
2024-12-14 01:37:19 +0100floyza(~gavin@h69-11-148-150.kndrid.broadband.dynamic.tds.net) gdown
2024-12-14 01:39:01 +0100dpratt(~dpratt@165.225.220.148) dpratt
2024-12-14 01:42:40 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-14 01:44:56 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich
2024-12-14 01:46:11 +0100 <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?
2024-12-14 01:47:17 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
2024-12-14 01:56:23 +0100 <glguy> dpratt: I think you are missing some regions
2024-12-14 01:57:04 +0100jmcantrell(~weechat@user/jmcantrell) (Ping timeout: 245 seconds)
2024-12-14 01:57:04 +0100jmcantrell_jmcantrell
2024-12-14 01:57:51 +0100 <dpratt> glguy I summed the length of all the identified regions and it came to 19600 -- would that not be diagnostic?
2024-12-14 01:58:02 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-14 01:58:33 +0100sprotte24(~sprotte24@p200300d16f08ae0004e79d08210c66b3.dip0.t-ipconnect.de) (Quit: Leaving)
2024-12-14 01:59:19 +0100__jmcantrell__(~weechat@user/jmcantrell) jmcantrell
2024-12-14 01:59:24 +0100jmcantrellGuest562
2024-12-14 01:59:24 +0100Guest562(644f1bed9a@user/jmcantrell) (Killed (platinum.libera.chat (Nickname regained by services)))
2024-12-14 01:59:24 +0100__jmcantrell__jmcantrell
2024-12-14 01:59:33 +0100jmcantrell_(644f1bed9a@user/jmcantrell) jmcantrell
2024-12-14 01:59:58 +0100 <glguy> dpratt: your getNeighbors is wrong
2024-12-14 02:00:22 +0100 <dpratt> glguy I'll focus on that, thanks!
2024-12-14 02:00:33 +0100 <glguy> (and not just the excess of 'u's, either!)
2024-12-14 02:02:38 +0100 <dpratt> fixed, glguy, thanks!
2024-12-14 02:02:54 +0100acidjnk_new(~acidjnk@p200300d6e7283f42593f59da3b296f97.dip0.t-ipconnect.de) (Ping timeout: 245 seconds)
2024-12-14 02:03:00 +0100 <dpratt> glguy and you know what's really dumb? I got it correct at another point in the code
2024-12-14 02:03:33 +0100 <dpratt> (in the perimeter calculation)
2024-12-14 02:04:44 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-12-14 02:05:49 +0100jmcantrell(~weechat@user/jmcantrell) (Ping timeout: 272 seconds)
2024-12-14 02:05:49 +0100jmcantrell_jmcantrell
2024-12-14 02:07:42 +0100__jmcantrell__(~weechat@user/jmcantrell) jmcantrell
2024-12-14 02:08:00 +0100 <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?
2024-12-14 02:11:26 +0100OftenFaded(~OftenFade@user/tisktisk) (Quit: Client closed)
2024-12-14 02:11:43 +0100OftenFaded(~OftenFade@user/tisktisk) OftenFaded
2024-12-14 02:14:48 +0100__jmcantrell__(~weechat@user/jmcantrell) (Ping timeout: 244 seconds)
2024-12-14 02:16:06 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-14 02:17:05 +0100__jmcantrell__(~weechat@user/jmcantrell) jmcantrell
2024-12-14 02:20:18 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds)
2024-12-14 02:20:29 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 244 seconds)
2024-12-14 02:29:39 +0100Square(~Square@user/square) (Ping timeout: 252 seconds)
2024-12-14 02:36:11 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-14 02:36:55 +0100 <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
2024-12-14 02:40:35 +0100califax(~califax@user/califx) (Remote host closed the connection)
2024-12-14 02:41:21 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds)
2024-12-14 02:42:41 +0100califax(~califax@user/califx) califx
2024-12-14 02:51:33 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-14 02:54:56 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich
2024-12-14 02:57:41 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
2024-12-14 02:57:55 +0100alp__(~alp@128-79-174-146.hfc.dyn.abo.bbox.fr) (Remote host closed the connection)
2024-12-14 02:58:27 +0100housemate(~housemate@2001:8004:51c0:35f5:87f7:8b47:eed3:e789) housemate
2024-12-14 02:58:38 +0100alp(~alp@2001:861:8ca0:4940:ae6e:5711:50dd:1809)
2024-12-14 03:00:23 +0100alp(~alp@2001:861:8ca0:4940:ae6e:5711:50dd:1809) (Remote host closed the connection)
2024-12-14 03:01:11 +0100alp(~alp@2001:861:8ca0:4940:e20c:c534:42b1:46e9)
2024-12-14 03:02:55 +0100alp(~alp@2001:861:8ca0:4940:e20c:c534:42b1:46e9) (Remote host closed the connection)
2024-12-14 03:03:43 +0100alp(~alp@2001:861:8ca0:4940:2c7a:5b99:3818:2b0f)
2024-12-14 03:05:23 +0100dpratt(~dpratt@165.225.220.148) (Quit: Client closed)
2024-12-14 03:05:26 +0100alp(~alp@2001:861:8ca0:4940:2c7a:5b99:3818:2b0f) (Remote host closed the connection)
2024-12-14 03:05:55 +0100Pixi(~Pixi@user/pixi) (Quit: Leaving)
2024-12-14 03:06:09 +0100machinedgod(~machinedg@d108-173-18-100.abhsia.telus.net) (Ping timeout: 246 seconds)
2024-12-14 03:06:15 +0100alp(~alp@2001:861:8ca0:4940:b1ec:55bf:7e2:daf9)
2024-12-14 03:07:59 +0100alp(~alp@2001:861:8ca0:4940:b1ec:55bf:7e2:daf9) (Remote host closed the connection)
2024-12-14 03:08:30 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-14 03:10:11 +0100housemate(~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)
2024-12-14 03:12:48 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds)
2024-12-14 03:15:41 +0100lockywolf(~lockywolf@coconut.lockywolf.net) (Quit: ZNC 1.9.1 - https://znc.in)
2024-12-14 03:16:03 +0100lockywolf(~lockywolf@coconut.lockywolf.net) lockywolf
2024-12-14 03:23:52 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-14 03:28:27 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
2024-12-14 03:39:14 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-14 03:40:14 +0100dyniec(~dyniec@dybiec.info) (Quit: WeeChat 4.2.2)
2024-12-14 03:43:44 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-12-14 03:47:19 +0100harveypwca(~harveypwc@2601:246:d080:b40:1889:d9bf:2dd8:b288) (Ping timeout: 260 seconds)
2024-12-14 03:47:34 +0100gorignak(~gorignak@user/gorignak) gorignak
2024-12-14 03:52:11 +0100OftenFaded(~OftenFade@user/tisktisk) (Quit: Client closed)
2024-12-14 03:54:36 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-14 04:01:06 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds)
2024-12-14 04:11:43 +0100jmcantrellGuest5084
2024-12-14 04:11:43 +0100Guest5084(644f1bed9a@user/jmcantrell) (Killed (tungsten.libera.chat (Nickname regained by services)))
2024-12-14 04:11:43 +0100__jmcantrell__jmcantrell
2024-12-14 04:11:52 +0100jmcantrell_(644f1bed9a@user/jmcantrell) jmcantrell
2024-12-14 04:12:40 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-14 04:17:15 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds)
2024-12-14 04:25:09 +0100remexre(~remexre@user/remexre) remexre
2024-12-14 04:27:04 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 244 seconds)
2024-12-14 04:28:02 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-14 04:32:14 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds)
2024-12-14 04:43:25 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-14 04:48:00 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-12-14 04:52:54 +0100td_(~td@i5387093F.versanet.de) (Ping timeout: 244 seconds)
2024-12-14 04:54:54 +0100td_(~td@i53870921.versanet.de) td_
2024-12-14 04:58:46 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-14 05:02:43 +0100foul_owl(~kerry@157.97.134.165) (Ping timeout: 244 seconds)
2024-12-14 05:04:11 +0100OftenFaded(OftenFaded@user/tisktisk) OftenFaded
2024-12-14 05:04:15 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) bitdex
2024-12-14 05:07:29 +0100stiell(~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
2024-12-14 05:07:52 +0100stiell(~stiell@gateway/tor-sasl/stiell) stiell
2024-12-14 05:08:15 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds)
2024-12-14 05:11:46 +0100OftenFaded(OftenFaded@user/tisktisk) (Quit: Client closed)
2024-12-14 05:11:57 +0100OftenFaded(OftenFaded@user/tisktisk) OftenFaded
2024-12-14 05:16:42 +0100pabs3(~pabs3@user/pabs3) (Ping timeout: 276 seconds)
2024-12-14 05:17:01 +0100foul_owl(~kerry@174-21-81-201.tukw.qwest.net) foul_owl
2024-12-14 05:18:44 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-14 05:23:00 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds)
2024-12-14 05:27:52 +0100foul_owl(~kerry@174-21-81-201.tukw.qwest.net) (Ping timeout: 252 seconds)
2024-12-14 05:36:18 +0100aforemny(~aforemny@i577B130D.versanet.de) (Ping timeout: 244 seconds)
2024-12-14 05:36:20 +0100aforemny_(~aforemny@2001:9e8:6cd2:7000:11a1:70a3:dbce:edf1) aforemny
2024-12-14 05:39:01 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-14 05:42:08 +0100foul_owl(~kerry@193.42.0.124) foul_owl
2024-12-14 05:45:37 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
2024-12-14 05:46:58 +0100rekahsoft(~rekahsoft@bras-base-orllon1103w-grc-06-76-69-85-220.dsl.bell.ca) (Read error: Connection reset by peer)
2024-12-14 05:57:04 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-14 05:57:44 +0100Pixi(~Pixi@user/pixi) Pixi
2024-12-14 06:00:47 +0100tabemann_tabemann
2024-12-14 06:02:12 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds)
2024-12-14 06:02:47 +0100floyza(~gavin@h69-11-148-150.kndrid.broadband.dynamic.tds.net) (Remote host closed the connection)
2024-12-14 06:03:35 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich
2024-12-14 06:12:27 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-14 06:17:09 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
2024-12-14 06:27:49 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-14 06:31:49 +0100falafel(~falafel@2603:8000:b4f0:62a0:3c88:3ef7:33fe:c918) falafel
2024-12-14 06:32:06 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds)
2024-12-14 06:33:00 +0100OftenFaded(OftenFaded@user/tisktisk) (Quit: Client closed)
2024-12-14 06:43:12 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-14 06:47:54 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-12-14 06:57:59 +0100homo(~homo@user/homo) (Quit: homo)
2024-12-14 06:58:34 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-14 07:03:06 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds)
2024-12-14 07:03:52 +0100falafel(~falafel@2603:8000:b4f0:62a0:3c88:3ef7:33fe:c918) (Ping timeout: 252 seconds)
2024-12-14 07:04:39 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-14 07:07:35 +0100takuan(~takuan@178-116-218-225.access.telenet.be)
2024-12-14 07:08:06 +0100pabs3(~pabs3@user/pabs3) pabs3
2024-12-14 07:08:37 +0100takuan(~takuan@178-116-218-225.access.telenet.be) (Read error: Connection reset by peer)
2024-12-14 07:09:04 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-12-14 07:09:09 +0100takuan(~takuan@178-116-218-225.access.telenet.be)
2024-12-14 07:15:12 +0100tdammers(~tdammers@110-136-178-143.ftth.glasoperator.nl) (Ping timeout: 244 seconds)
2024-12-14 07:15:36 +0100tdammers(~tdammers@110-136-178-143.ftth.glasoperator.nl) tdammers
2024-12-14 07:17:56 +0100 <iqubic> Is Hackage right now?
2024-12-14 07:19:57 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-14 07:22:53 +0100 <haskellbridge> <sm> yes
2024-12-14 07:26:57 +0100weary-traveler(~user@user/user363627) (Remote host closed the connection)
2024-12-14 07:31:54 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds)
2024-12-14 07:38:14 +0100euphores(~SASL_euph@user/euphores) (Quit: Leaving.)
2024-12-14 07:38:36 +0100OftenFaded(~OftenFade@user/tisktisk) OftenFaded
2024-12-14 07:40:50 +0100robobub(uid248673@id-248673.uxbridge.irccloud.com) robobub
2024-12-14 07:42:29 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-14 07:46:01 +0100euphores(~SASL_euph@user/euphores) euphores
2024-12-14 07:46:50 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-12-14 07:57:51 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-14 08:00:46 +0100JamesMowery439(~JamesMowe@ip68-228-212-232.ph.ph.cox.net) JamesMowery
2024-12-14 08:01:08 +0100CiaoSen(~Jura@2a05:5800:225:2b00:ca4b:d6ff:fec1:99da) CiaoSen
2024-12-14 08:05:06 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds)
2024-12-14 08:08:37 +0100alp(~alp@2001:861:8ca0:4940:65c4:d0be:9c94:fd89)
2024-12-14 08:20:42 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-14 08:23:52 +0100agent314(~quassel@146.70.185.179) agent314
2024-12-14 08:25:20 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-12-14 08:29:46 +0100agent314(~quassel@146.70.185.179) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
2024-12-14 08:36:05 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-14 08:40:14 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds)
2024-12-14 08:43:12 +0100briandaed(~root@user/briandaed) briandaed
2024-12-14 08:51:27 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-14 08:56:01 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
2024-12-14 08:57:58 +0100CrunchyFlakes(~CrunchyFl@ip1f13e94e.dynamic.kabel-deutschland.de) (Quit: ZNC 1.8.2 - https://znc.in)
2024-12-14 09:00:04 +0100caconym(~caconym@user/caconym) (Quit: bye)
2024-12-14 09:00:41 +0100caconym(~caconym@user/caconym) caconym
2024-12-14 09:02:24 +0100CrunchyFlakes(~CrunchyFl@ip1f13e94e.dynamic.kabel-deutschland.de)
2024-12-14 09:06:34 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-14 09:07:21 +0100jmcantrell(~weechat@user/jmcantrell) (Ping timeout: 246 seconds)
2024-12-14 09:07:21 +0100jmcantrell_jmcantrell
2024-12-14 09:07:53 +0100ByronJohnson(~bairyn@50.250.232.19) (Remote host closed the connection)
2024-12-14 09:13:22 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-12-14 09:18:26 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-12-14 09:24:37 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-14 09:24:53 +0100homo(~homo@37-33-208-60.bb.dnainternet.fi)
2024-12-14 09:25:17 +0100homo(~homo@37-33-208-60.bb.dnainternet.fi) (Changing host)
2024-12-14 09:25:17 +0100homo(~homo@user/homo) homo
2024-12-14 09:27:03 +0100AlexNoo_AlexNoo
2024-12-14 09:28:48 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds)
2024-12-14 09:29:43 +0100 <dmj`> @unmtl StateT String [] a
2024-12-14 09:29:43 +0100 <lambdabot> String -> [] (a, String)
2024-12-14 09:40:00 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-14 09:44:32 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-12-14 09:52:37 +0100 <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?
2024-12-14 09:53:38 +0100 <probie> GADTs work, but then I have an extra constructor
2024-12-14 09:55:22 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-14 10:00:05 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
2024-12-14 10:01:09 +0100haskellbridge(~hackager@syn-024-093-192-219.res.spectrum.com) (Read error: Connection reset by peer)
2024-12-14 10:03:17 +0100 <int-e> probie: there's this, maybe: data Tree a = Leaf a | Nest (Tree (a,a,a,a))
2024-12-14 10:03:28 +0100 <int-e> IIUC
2024-12-14 10:03:55 +0100 <probie> That allows unbalanced trees which are what I want to stop
2024-12-14 10:04:01 +0100 <int-e> it doesn't
2024-12-14 10:05:19 +0100 <int-e> but it has a weird spine before the tree proper that encodes the depth of the tree
2024-12-14 10:05:29 +0100 <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)`
2024-12-14 10:05:38 +0100 <int-e> it happens
2024-12-14 10:06:54 +0100haskellbridge(~hackager@syn-024-093-192-219.res.spectrum.com) hackager
2024-12-14 10:06:55 +0100ChanServ+v haskellbridge
2024-12-14 10:07:26 +0100 <int-e> anyway it's one of those weird Haskell 98 tricks that are extremely cute... and never useful ;-)
2024-12-14 10:07:35 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-14 10:07:51 +0100 <int-e> (At least I can't remember ever using this one.)
2024-12-14 10:09:15 +0100 <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
2024-12-14 10:12:02 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-12-14 10:12:17 +0100 <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.)
2024-12-14 10:13:25 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 248 seconds)
2024-12-14 10:15:31 +0100 <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
2024-12-14 10:16:02 +0100 <int-e> hah, ouch
2024-12-14 10:16:25 +0100ByronJohnson(~bairyn@50.250.232.19) ByronJohnson
2024-12-14 10:17:31 +0100 <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
2024-12-14 10:18:18 +0100 <int-e> and do traversal with a type class to avoid writing 16 functions?
2024-12-14 10:19:57 +0100ski(~ski@remote11.chalmers.se) (Ping timeout: 244 seconds)
2024-12-14 10:22:57 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-14 10:27:11 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds)
2024-12-14 10:28:12 +0100tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz)
2024-12-14 10:29:15 +0100CiaoSen(~Jura@2a05:5800:225:2b00:ca4b:d6ff:fec1:99da) (Ping timeout: 246 seconds)
2024-12-14 10:33:19 +0100acidjnk_new(~acidjnk@p200300d6e7283f7859b2d190edf183b0.dip0.t-ipconnect.de) acidjnk
2024-12-14 10:38:19 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-14 10:39:13 +0100jespada(~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) jespada
2024-12-14 10:40:25 +0100mange(~user@user/mange) mange
2024-12-14 10:41:34 +0100zenmov_(~zenmov@user/zenmov) (Quit: leaving)
2024-12-14 10:41:55 +0100zenmov(~zenmov@user/zenmov) zenmov
2024-12-14 10:42:50 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-12-14 10:50:17 +0100jespada(~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) (Quit: My Mac has gone to sleep. ZZZzzz…)
2024-12-14 10:50:22 +0100philopsos(~caecilius@user/philopsos) (Quit: Lost terminal)
2024-12-14 10:53:06 +0100jespada(~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) jespada
2024-12-14 10:53:41 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-14 10:56:34 +0100 <tomsmeding> int-e: "never useful" -> finger trees!
2024-12-14 10:57:25 +0100jespada(~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) (Client Quit)
2024-12-14 10:57:51 +0100alp(~alp@2001:861:8ca0:4940:65c4:d0be:9c94:fd89) (Ping timeout: 252 seconds)
2024-12-14 10:57:59 +0100jespada(~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) jespada
2024-12-14 11:00:08 +0100 <tomsmeding> probie: you cannot have a tree with branching factor 16 and depth 16 in memory
2024-12-14 11:00:12 +0100 <tomsmeding> you don't have that hardware
2024-12-14 11:00:19 +0100 <tomsmeding> nor, in fact, that software
2024-12-14 11:00:19 +0100jespada(~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) (Client Quit)
2024-12-14 11:00:26 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-12-14 11:01:11 +0100 <tomsmeding> if it's sparse it's fine
2024-12-14 11:01:18 +0100 <tomsmeding> (but don't fold over it!)
2024-12-14 11:02:29 +0100 <tomsmeding> because you don't have 10'000 PB of RAM
2024-12-14 11:06:20 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-14 11:10:10 +0100 <int-e> tomsmeding: Right, those slipped my mind. I was also intentionally hyperbolic of course :)
2024-12-14 11:10:15 +0100 <tomsmeding> :p
2024-12-14 11:10:20 +0100 <tomsmeding> it's surely uncommon
2024-12-14 11:12:18 +0100 <c_wraith> I could. Maybe. Has that much RAM been manufactured?
2024-12-14 11:12:40 +0100 <tomsmeding> possibly, but you couldn't connect it to a single motherboard
2024-12-14 11:12:54 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-12-14 11:13:06 +0100 <c_wraith> 128-bit addresses!
2024-12-14 11:13:42 +0100 <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 :)
2024-12-14 11:14:05 +0100 <tomsmeding> would GHC even run on an 128-bit address system
2024-12-14 11:15:09 +0100 <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.
2024-12-14 11:16:00 +0100 <tomsmeding> does x86-style segmented memory work on x64? I forget
2024-12-14 11:16:23 +0100 <c_wraith> That only works in 16-bit mode.
2024-12-14 11:16:30 +0100 <tomsmeding> oh. :)
2024-12-14 11:16:55 +0100Tuplanolla(~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) Tuplanolla
2024-12-14 11:17:39 +0100Fabric(~Fabric@167.136.189.80.dyn.plus.net) (Quit: Lost terminal)
2024-12-14 11:17:43 +0100 <c_wraith> what was funny about that was how much the segments overlapped.
2024-12-14 11:18:03 +0100 <c_wraith> They could only address 20 bits worth of memory space total
2024-12-14 11:18:19 +0100 <tomsmeding> surely that's enough for everyone
2024-12-14 11:19:06 +0100 <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.
2024-12-14 11:19:36 +0100 <c_wraith> in conclusion: 32-bit memory addresses made everything so much easier.
2024-12-14 11:19:37 +0100 <tomsmeding> were the segments 16-byte aligned?
2024-12-14 11:19:41 +0100 <c_wraith> yes
2024-12-14 11:19:45 +0100 <tomsmeding> then 2^12 sounds right
2024-12-14 11:21:34 +0100 <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.
2024-12-14 11:22:56 +0100 <int-e> It's a whole mess. Oh and I believe we *still* have the A20 gate.
2024-12-14 11:23:43 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-14 11:24:05 +0100 <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...
2024-12-14 11:24:09 +0100 <int-e> Good old times.
2024-12-14 11:26:35 +0100 <tomsmeding> 65520 is suspiciously 2^16 - 16
2024-12-14 11:27:06 +0100 <int-e> well segment FFFF overlaps with the 1MB area a tiny bit
2024-12-14 11:27:12 +0100 <tomsmeding> ah right
2024-12-14 11:28:01 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
2024-12-14 11:33:14 +0100ash3en(~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) ash3en
2024-12-14 11:39:07 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-14 11:41:59 +0100philopsos(~caecilius@user/philopsos) philopsos
2024-12-14 11:42:00 +0100 <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?
2024-12-14 11:43:54 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
2024-12-14 11:48:49 +0100fun-safe-math(~fun-safe-@24.21.106.247) (Ping timeout: 244 seconds)
2024-12-14 11:52:51 +0100__monty__(~toonn@user/toonn) toonn
2024-12-14 11:54:30 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-14 11:59:20 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
2024-12-14 12:05:17 +0100Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2024-12-14 12:06:17 +0100wootehfoot(~wootehfoo@user/wootehfoot) wootehfoot
2024-12-14 12:09:34 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-14 12:13:54 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds)
2024-12-14 12:15:43 +0100ash3en(~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) (Quit: ash3en)
2024-12-14 12:17:24 +0100chexum(~quassel@gateway/tor-sasl/chexum) chexum
2024-12-14 12:24:56 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-14 12:27:11 +0100 <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`
2024-12-14 12:27:39 +0100 <tomsmeding> I see
2024-12-14 12:31:40 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-12-14 12:32:21 +0100target_i(~target_i@user/target-i/x-6023099) target_i
2024-12-14 12:32:24 +0100 <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
2024-12-14 12:42:59 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-14 12:47:29 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
2024-12-14 12:52:08 +0100Square(~Square@user/square) Square
2024-12-14 12:55:18 +0100 <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
2024-12-14 12:58:22 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-14 13:00:04 +0100caconym(~caconym@user/caconym) (Quit: bye)
2024-12-14 13:02:20 +0100caconym(~caconym@user/caconym) caconym
2024-12-14 13:02:42 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds)
2024-12-14 13:05:49 +0100wootehfoot(~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
2024-12-14 13:10:35 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-14 13:17:12 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-12-14 13:18:24 +0100lxsameer(~lxsameer@Serene/lxsameer) lxsameer
2024-12-14 13:22:32 +0100__monty__(~toonn@user/toonn) (Quit: leaving)
2024-12-14 13:22:43 +0100rvalue-(~rvalue@user/rvalue) rvalue
2024-12-14 13:23:09 +0100ljdarj(~Thunderbi@user/ljdarj) ljdarj
2024-12-14 13:23:39 +0100rvalue(~rvalue@user/rvalue) (Ping timeout: 260 seconds)
2024-12-14 13:26:33 +0100mange(~user@user/mange) (Quit: Zzz...)
2024-12-14 13:28:12 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-14 13:28:53 +0100rvalue-rvalue
2024-12-14 13:29:41 +0100housemate(~housemate@2001:8004:1640:2500::12e) housemate
2024-12-14 13:30:04 +0100sindu(~sindu@176.75.224.1)
2024-12-14 13:32:39 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds)
2024-12-14 13:37:31 +0100pera(~pera@user/pera) pera
2024-12-14 13:41:09 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-12-14 13:43:34 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-14 13:49:33 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds)
2024-12-14 13:52:29 +0100 <hololeap> thanks
2024-12-14 13:58:22 +0100econo_(uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity)
2024-12-14 14:00:12 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-14 14:01:05 +0100sprotte24(~sprotte24@p200300d16f0fee00a80355a94c46e799.dip0.t-ipconnect.de)
2024-12-14 14:07:25 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
2024-12-14 14:08:35 +0100picnoir(~picnoir@about/aquilenet/vodoo/NinjaTrappeur) (Quit: WeeChat 4.4.4)
2024-12-14 14:10:08 +0100picnoir(~picnoir@about/aquilenet/vodoo/NinjaTrappeur) NinjaTrappeur
2024-12-14 14:10:58 +0100housemate(~housemate@2001:8004:1640:2500::12e) (Ping timeout: 272 seconds)
2024-12-14 14:11:37 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-14 14:12:23 +0100alp(~alp@2001:861:8ca0:4940:3ade:1bfe:c86a:afee)
2024-12-14 14:15:34 +0100Smiles(uid551636@id-551636.lymington.irccloud.com) Smiles
2024-12-14 14:16:26 +0100housemate(~housemate@1.124.107.73) housemate
2024-12-14 14:16:47 +0100toch(toch@user/toch) toch
2024-12-14 14:19:54 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-12-14 14:20:02 +0100alp(~alp@2001:861:8ca0:4940:3ade:1bfe:c86a:afee) (Remote host closed the connection)
2024-12-14 14:22:23 +0100weary-traveler(~user@user/user363627) user363627
2024-12-14 14:30:49 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-14 14:31:34 +0100pera(~pera@user/pera) (Ping timeout: 244 seconds)
2024-12-14 14:32:33 +0100ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 265 seconds)
2024-12-14 14:33:12 +0100sindu(~sindu@176.75.224.1) (Ping timeout: 246 seconds)
2024-12-14 14:33:24 +0100pera(~pera@user/pera) pera
2024-12-14 14:35:17 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
2024-12-14 14:37:33 +0100sprotte24(~sprotte24@p200300d16f0fee00a80355a94c46e799.dip0.t-ipconnect.de) (Quit: Leaving)
2024-12-14 14:44:50 +0100sprotte24(~sprotte24@p200300d16f0fee00a80355a94c46e799.dip0.t-ipconnect.de)
2024-12-14 14:46:11 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-14 14:48:41 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-12-14 14:52:39 +0100dostoevsky(~dostoevsk@user/dostoevsky) (Remote host closed the connection)
2024-12-14 14:52:45 +0100youthlic(~Thunderbi@user/youthlic) (Remote host closed the connection)
2024-12-14 14:52:49 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
2024-12-14 14:52:59 +0100dostoevsky(~dostoevsk@user/dostoevsky) dostoevsky
2024-12-14 14:53:01 +0100igemnace(~igemnace@user/igemnace) (Quit: ZNC 1.9.0+deb2build3 - https://znc.in)
2024-12-14 14:53:10 +0100pera(~pera@user/pera) (Quit: leaving)
2024-12-14 14:53:11 +0100youthlic(~Thunderbi@user/youthlic) youthlic
2024-12-14 14:54:28 +0100igemnace(~igemnace@user/igemnace) igemnace
2024-12-14 15:03:41 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-14 15:08:15 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds)
2024-12-14 15:10:30 +0100xff0x(~xff0x@2405:6580:b080:900:33bd:b9d7:1cc6:1151) (Ping timeout: 272 seconds)
2024-12-14 15:12:36 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-14 15:24:04 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-12-14 15:25:58 +0100housemate(~housemate@1.124.107.73) (Quit: Nothing to see here. I wasn't there. I take IRC seriously. https://files.catbox.moe/4e9k81.pdf)
2024-12-14 15:35:27 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-14 15:39:18 +0100rekahsoft(~rekahsoft@bras-base-orllon1103w-grc-06-76-69-85-220.dsl.bell.ca) rekahsoft
2024-12-14 15:40:16 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 272 seconds)
2024-12-14 15:43:14 +0100xff0x(~xff0x@2405:6580:b080:900:5ad0:49e1:f3fb:32bc)
2024-12-14 15:45:25 +0100gabriel_sevecek(~gabriel@188-167-229-200.dynamic.chello.sk) (Read error: Connection reset by peer)
2024-12-14 15:45:58 +0100rekahsoft(~rekahsoft@bras-base-orllon1103w-grc-06-76-69-85-220.dsl.bell.ca) (Remote host closed the connection)
2024-12-14 15:47:01 +0100rekahsoft(~rekahsoft@bras-base-orllon1103w-grc-06-76-69-85-220.dsl.bell.ca) rekahsoft
2024-12-14 15:48:23 +0100gabriel_sevecek(~gabriel@188-167-229-200.dynamic.chello.sk) gabriel_sevecek
2024-12-14 15:50:50 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-14 15:51:33 +0100hiecaq(~hiecaq@user/hiecaq) hiecaq
2024-12-14 15:55:29 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds)
2024-12-14 16:06:22 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-14 16:11:09 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
2024-12-14 16:11:42 +0100Angelz(Angelz@2605:6400:30:fc15:d55b:fa6c:bd14:9973) (Changing host)
2024-12-14 16:11:42 +0100Angelz(Angelz@user/angelz) angelz
2024-12-14 16:13:40 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-14 16:15:33 +0100housemate(~housemate@2001:8004:1640:2500::12e) housemate
2024-12-14 16:17:58 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-12-14 16:26:56 +0100homo(~homo@user/homo) (Quit: homo)
2024-12-14 16:27:29 +0100housemate(~housemate@2001:8004:1640:2500::12e) (Ping timeout: 252 seconds)
2024-12-14 16:29:01 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-14 16:33:39 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-12-14 16:34:00 +0100xff0x(~xff0x@2405:6580:b080:900:5ad0:49e1:f3fb:32bc) (Ping timeout: 276 seconds)
2024-12-14 16:36:32 +0100xff0x(~xff0x@ai080132.d.east.v6connect.net)
2024-12-14 16:44:24 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-14 16:44:44 +0100xff0x(~xff0x@ai080132.d.east.v6connect.net) (Ping timeout: 252 seconds)
2024-12-14 16:46:42 +0100euphores(~SASL_euph@user/euphores) (Quit: Leaving.)
2024-12-14 16:46:47 +0100xff0x(~xff0x@2405:6580:b080:900:b4b:daf:7b8e:aa3a)
2024-12-14 16:50:14 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-12-14 16:56:48 +0100euphores(~SASL_euph@user/euphores) euphores
2024-12-14 16:57:55 +0100TheCoffeMaker(~TheCoffeM@user/thecoffemaker) (Ping timeout: 260 seconds)
2024-12-14 16:58:07 +0100alp(~alp@128-79-174-146.hfc.dyn.abo.bbox.fr)
2024-12-14 16:58:18 +0100TheCoffeMaker(~TheCoffeM@user/thecoffemaker) TheCoffeMaker
2024-12-14 17:01:07 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-14 17:02:41 +0100alp(~alp@128-79-174-146.hfc.dyn.abo.bbox.fr) (Ping timeout: 252 seconds)
2024-12-14 17:06:58 +0100tv(~tv@user/tv) (Read error: Connection reset by peer)
2024-12-14 17:07:49 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-12-14 17:14:39 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-14 17:16:28 +0100BolzmannPain(~BolzmannP@user/BolzmannPain) BolzmannPain
2024-12-14 17:18:44 +0100 <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?
2024-12-14 17:19:12 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-12-14 17:19:52 +0100 <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.
2024-12-14 17:21:25 +0100JuanDaugherty(~juan@user/JuanDaugherty) JuanDaugherty
2024-12-14 17:21:28 +0100 <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.
2024-12-14 17:21:38 +0100 <BolzmannPain> s/nor/not
2024-12-14 17:22:42 +0100 <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. :)
2024-12-14 17:23:55 +0100 <JuanDaugherty> :)
2024-12-14 17:32:44 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-14 17:35:53 +0100 <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.
2024-12-14 17:36:53 +0100 <monochrom> There are other compilers/interpreters that do lazy evaluation without code pointers, but they are all academic only.
2024-12-14 17:37:05 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
2024-12-14 17:37:14 +0100 <glguy> Maybe something with https://hackage.haskell.org/package/compact
2024-12-14 17:38:16 +0100 <glguy> You can't mutate it, but you can serialize/deserialize to disk
2024-12-14 17:48:07 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-14 17:48:48 +0100 <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.)
2024-12-14 17:50:49 +0100 <glguy> well, you can encode the links with a synthetic key. Make the graph like you might in Rust
2024-12-14 17:51:01 +0100 <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.)
2024-12-14 17:52:52 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-12-14 17:52:52 +0100 <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.
2024-12-14 17:54:37 +0100 <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”…
2024-12-14 17:59:09 +0100hiecaq`(~hiecaq@user/hiecaq) hiecaq
2024-12-14 18:00:23 +0100zerozzz
2024-12-14 18:00:31 +0100hiecaq(~hiecaq@user/hiecaq) (Read error: Connection reset by peer)
2024-12-14 18:00:40 +0100BolzmannPain(~BolzmannP@user/BolzmannPain) (Ping timeout: 240 seconds)
2024-12-14 18:03:28 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-14 18:06:36 +0100cattiesCatty
2024-12-14 18:06:52 +0100 <glguy> I don't know what change you're talking about
2024-12-14 18:08:15 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds)
2024-12-14 18:08:53 +0100 <enikar> may be DotRecordSyntax or something like
2024-12-14 18:09:04 +0100 <zzz> is it just me or is haskell.hoogle.org acting up?
2024-12-14 18:10:51 +0100 <briandaed> started slowly, first query finished with error, then ok and the next with 500
2024-12-14 18:11:07 +0100 <briandaed> maybe still encountering problems with bots
2024-12-14 18:15:41 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-14 18:20:30 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 272 seconds)
2024-12-14 18:21:27 +0100ljdarj(~Thunderbi@user/ljdarj) ljdarj
2024-12-14 18:22:11 +0100dsrt^(~dsrt@c-98-242-74-66.hsd1.ga.comcast.net) (Remote host closed the connection)
2024-12-14 18:22:43 +0100cyanteeth(~cyanteeth@user/cyanteeth) cyanteeth
2024-12-14 18:24:06 +0100ystael(~ystael@user/ystael) (Ping timeout: 252 seconds)
2024-12-14 18:24:39 +0100Smiles(uid551636@id-551636.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2024-12-14 18:31:03 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-14 18:35:26 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds)
2024-12-14 18:43:19 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-12-14 18:43:31 +0100Angelzdies.
2024-12-14 18:46:25 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-14 18:47:36 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 264 seconds)
2024-12-14 18:49:21 +0100ByronJohnson(~bairyn@50.250.232.19) (Remote host closed the connection)
2024-12-14 18:53:04 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-12-14 19:04:27 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-14 19:05:21 +0100alp(~alp@2001:861:8ca0:4940:4fb3:5817:7b93:c2b9)
2024-12-14 19:05:29 +0100gentauro(~gentauro@user/gentauro) (Read error: Connection reset by peer)
2024-12-14 19:09:01 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds)
2024-12-14 19:09:58 +0100cyanteeth(~cyanteeth@user/cyanteeth) (Quit: cyanteeth)
2024-12-14 19:11:34 +0100gentauro(~gentauro@user/gentauro) gentauro
2024-12-14 19:12:01 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) bitdex
2024-12-14 19:12:52 +0100cyanteeth(~cyanteeth@user/cyanteeth) cyanteeth
2024-12-14 19:14:09 +0100cyphase(~cyphase@user/cyphase) (Ping timeout: 245 seconds)
2024-12-14 19:15:26 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 244 seconds)
2024-12-14 19:16:27 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915) Lord_of_Life
2024-12-14 19:16:53 +0100rvalue(~rvalue@user/rvalue) (Ping timeout: 248 seconds)
2024-12-14 19:17:33 +0100 <[exa]> zzz briandaed: not the first time this might be happening. Last time it was some kind of LLM-originating DDoS.
2024-12-14 19:17:54 +0100weary-traveler(~user@user/user363627) (Remote host closed the connection)
2024-12-14 19:19:21 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-14 19:23:20 +0100cyanteeth(~cyanteeth@user/cyanteeth) (Quit: cyanteeth)
2024-12-14 19:24:20 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
2024-12-14 19:28:14 +0100JuanDaugherty(~juan@user/JuanDaugherty) (Quit: JuanDaugherty)
2024-12-14 19:29:14 +0100cyanteeth(~cyanteeth@user/cyanteeth) cyanteeth
2024-12-14 19:31:49 +0100tv(~tv@user/tv) tv
2024-12-14 19:34:43 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-14 19:38:26 +0100hiecaq`(~hiecaq@user/hiecaq) (Quit: ERC 5.6.0.30.1 (IRC client for GNU Emacs 30.0.92))
2024-12-14 19:39:28 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
2024-12-14 19:44:52 +0100cyanteeth(~cyanteeth@user/cyanteeth) (Quit: cyanteeth)
2024-12-14 19:45:52 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-12-14 19:48:46 +0100tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net) tzh
2024-12-14 19:50:06 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-14 19:55:04 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
2024-12-14 20:05:30 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-14 20:09:11 +0100todi(~todi@p57803331.dip0.t-ipconnect.de) todi
2024-12-14 20:09:41 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds)
2024-12-14 20:15:39 +0100ByronJohnson(~bairyn@50.250.232.19) ByronJohnson
2024-12-14 20:20:54 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-14 20:24:44 +0100zeshbtc(~zeshbtc@103.166.150.118)
2024-12-14 20:27:58 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-12-14 20:29:34 +0100sawilagar(~sawilagar@user/sawilagar) sawilagar
2024-12-14 20:33:03 +0100 <hellwolf> basic question... how can I cabal repl so that I can import things from multiple packages?
2024-12-14 20:37:00 +0100iqubic(~sophia@2601:602:9201:9440:ffda:929e:4882:546b) (Remote host closed the connection)
2024-12-14 20:37:48 +0100 <[exa]> hellwolf: adding the multiple packages to dependencies should work, no?
2024-12-14 20:38:35 +0100ljdarj1(~Thunderbi@user/ljdarj) ljdarj
2024-12-14 20:38:55 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-14 20:39:24 +0100ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 265 seconds)
2024-12-14 20:39:24 +0100ljdarj1ljdarj
2024-12-14 20:42:02 +0100 <hellwolf> it seems not, I am confused. I had to use --build-depends
2024-12-14 20:42:18 +0100 <hellwolf> do I need to run it in the package folder? as opposed to under the project root?
2024-12-14 20:43:09 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds)
2024-12-14 20:46:22 +0100 <glguy> hellwolf: this might help https://well-typed.com/blog/2023/03/cabal-multi-unit/
2024-12-14 20:46:55 +0100 <hellwolf> I have multi-repl: true enabled in cabal.project
2024-12-14 20:49:40 +0100zeshbtc(~zeshbtc@103.166.150.118) (Ping timeout: 240 seconds)
2024-12-14 20:51:48 +0100 <hellwolf> extremely confusing... $ cabal repl yul-dsl-linear-smc:test-yul-dsl-linear-smc --build-depends yul-dsl,eth-abi
2024-12-14 20:52:02 +0100zeshbtc(~zeshbtc@103.166.150.118)
2024-12-14 20:52:10 +0100 <hellwolf> this is the only way I made it work: to be able to import stuff from both test and the dependent packages.
2024-12-14 20:52:58 +0100 <tomsmeding> hellwolf: are those yul-dsl and eth-abi packages given as dependencies of test-yul-dsl-linear-smc in the .cabal file?
2024-12-14 20:52:59 +0100ski(~ski@remote11.chalmers.se)
2024-12-14 20:53:28 +0100 <hellwolf> hmm, not, indeed :)
2024-12-14 20:53:47 +0100 <tomsmeding> well, 'cabal repl' loads the thing you point it to, as well as its dependencies ;)
2024-12-14 20:53:58 +0100 <hellwolf> transitive dependencies is not a thing, I guess
2024-12-14 20:54:10 +0100 <tomsmeding> nope, transitive dependencies are not in scope
2024-12-14 20:54:13 +0100 <tomsmeding> they never are
2024-12-14 20:54:19 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-14 20:54:42 +0100 <tomsmeding> if you have a library that depends on 'containers' but not on 'base', you'll get an error importing Prelude ;)
2024-12-14 20:54:51 +0100 <tomsmeding> despite 'containers' certainly depending on 'base'
2024-12-14 20:54:52 +0100 <hellwolf> I noticed. could it ever be the case that dependencies may have same-named dependency but of different version?
2024-12-14 20:54:57 +0100 <tomsmeding> no
2024-12-14 20:55:04 +0100 <tomsmeding> but they could define same-named _modules_
2024-12-14 20:55:21 +0100 <hellwolf> makes sense
2024-12-14 20:55:23 +0100 <tomsmeding> cabal ensures that in one linked library/executable, there is <=1 version of any library
2024-12-14 20:55:45 +0100 <hellwolf> <=1? do you hint there is optionalDependencies?
2024-12-14 20:56:12 +0100 <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
2024-12-14 20:56:34 +0100 <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 :)
2024-12-14 20:56:46 +0100 <tomsmeding> @hackage acme-everything
2024-12-14 20:56:46 +0100 <lambdabot> https://hackage.haskell.org/package/acme-everything
2024-12-14 20:57:02 +0100 <hellwolf> got it. I have a habit of enabling -Wunused-packages already
2024-12-14 20:57:06 +0100gawen(~gawen@user/gawen) (Quit: cya)
2024-12-14 20:57:07 +0100 <tomsmeding> (which is broken: https://github.com/quchen/acme-everything/issues/8 )
2024-12-14 20:57:09 +0100 <hellwolf> keeping things tidy.
2024-12-14 20:57:22 +0100 <tomsmeding> ooh I don't but I should
2024-12-14 20:57:29 +0100 <tomsmeding> do we also have -Wunused-extensions already
2024-12-14 20:57:38 +0100 <hellwolf> hint does that
2024-12-14 20:58:06 +0100 <hellwolf> *hlint
2024-12-14 20:58:29 +0100 <hellwolf> "Unused LANGUAGE pragma"
2024-12-14 20:58:43 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 245 seconds)
2024-12-14 20:58:53 +0100 <tomsmeding> right
2024-12-14 20:59:19 +0100gawen(~gawen@user/gawen) gawen
2024-12-14 20:59:31 +0100 <tomsmeding> but for >80% of hlint lints I find them either obvious (i.e. I don't need them) or I disagree with them
2024-12-14 20:59:36 +0100 <tomsmeding> so I disable hlint :p
2024-12-14 20:59:44 +0100gawen(~gawen@user/gawen) (Client Quit)
2024-12-14 21:00:02 +0100caconym(~caconym@user/caconym) (Quit: bye)
2024-12-14 21:00:40 +0100caconym(~caconym@user/caconym) caconym
2024-12-14 21:01:14 +0100gawen(~gawen@user/gawen) gawen
2024-12-14 21:01:18 +0100 <hellwolf> haha, I do ignore bunch of hlint suggestions
2024-12-14 21:01:30 +0100 <tomsmeding> I know there are ignore files and such but bother :D
2024-12-14 21:04:05 +0100__jmcantrell__(~weechat@user/jmcantrell) jmcantrell
2024-12-14 21:04:53 +0100jmcantrell(644f1bed9a@user/jmcantrell) (Killed (zirconium.libera.chat (Nickname regained by services)))
2024-12-14 21:04:53 +0100__jmcantrell__jmcantrell
2024-12-14 21:04:57 +0100rekahsoft(~rekahsoft@bras-base-orllon1103w-grc-06-76-69-85-220.dsl.bell.ca) (Remote host closed the connection)
2024-12-14 21:05:02 +0100jmcantrell_(644f1bed9a@user/jmcantrell) jmcantrell
2024-12-14 21:05:16 +0100 <hellwolf> understandable. being harrased by GHC type checker is enough of a pain.
2024-12-14 21:06:40 +0100zeshbtc(~zeshbtc@103.166.150.118) (Ping timeout: 240 seconds)
2024-12-14 21:09:42 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-14 21:12:37 +0100ft(~ft@p508db9c7.dip0.t-ipconnect.de) (Quit: leaving)
2024-12-14 21:14:13 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-12-14 21:15:41 +0100lxsameer(~lxsameer@Serene/lxsameer) (Ping timeout: 252 seconds)
2024-12-14 21:15:41 +0100tv(~tv@user/tv) (Read error: Connection reset by peer)
2024-12-14 21:17:23 +0100cyanteeth(~cyanteeth@user/cyanteeth) cyanteeth
2024-12-14 21:19:24 +0100IamPyu(~IamPyu@static209-34-105-235.r.rev.accesscomm.ca)
2024-12-14 21:19:24 +0100IamPyu(~IamPyu@static209-34-105-235.r.rev.accesscomm.ca) (Changing host)
2024-12-14 21:19:24 +0100IamPyu(~IamPyu@user/IamPyu) IamPyu
2024-12-14 21:23:39 +0100Sgeo(~Sgeo@user/sgeo) Sgeo
2024-12-14 21:25:04 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-14 21:25:59 +0100gorignak(~gorignak@user/gorignak) (Read error: Connection reset by peer)
2024-12-14 21:26:09 +0100gorignak(~gorignak@user/gorignak) gorignak
2024-12-14 21:27:52 +0100anpad(~pandeyan@user/anpad) (Quit: ZNC 1.8.2 - https://znc.in)
2024-12-14 21:29:38 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-12-14 21:30:12 +0100ft(~ft@p508db9c7.dip0.t-ipconnect.de) ft
2024-12-14 21:30:14 +0100anpad(~pandeyan@user/anpad) anpad
2024-12-14 21:32:06 +0100 <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
2024-12-14 21:32:29 +0100 <tomsmeding> the thing is, I don't need hlint telling me to eta-reduce
2024-12-14 21:32:41 +0100 <tomsmeding> if it's clearer to eta-reduce, I'm likely to see it myself
2024-12-14 21:32:50 +0100 <tomsmeding> and those students also don't need it, as probie said
2024-12-14 21:32:58 +0100 <tomsmeding> who _does_ profit from that lint?
2024-12-14 21:33:39 +0100 <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
2024-12-14 21:34:07 +0100 <tomsmeding> as people here have said before, hlint is a set of opinions of some people, not a general linter
2024-12-14 21:34:43 +0100 <hellwolf> what is better linter for Haskell?
2024-12-14 21:34:56 +0100 <tomsmeding> none
2024-12-14 21:34:59 +0100 <hellwolf> :/
2024-12-14 21:35:01 +0100 <tomsmeding> I'm not aware of any
2024-12-14 21:35:08 +0100 <tomsmeding> hlint with most of its rules disabled, maybe?
2024-12-14 21:35:19 +0100 <hellwolf> :D
2024-12-14 21:38:08 +0100 <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
2024-12-14 21:40:27 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-14 21:41:00 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 264 seconds)
2024-12-14 21:42:56 +0100TheCoffeMaker(~TheCoffeM@user/thecoffemaker) (Remote host closed the connection)
2024-12-14 21:43:54 +0100TheCoffeMaker(~TheCoffeM@user/thecoffemaker) TheCoffeMaker
2024-12-14 21:44:58 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-12-14 21:45:17 +0100 <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?
2024-12-14 21:48:52 +0100TheCoffeMaker(~TheCoffeM@user/thecoffemaker) (Ping timeout: 272 seconds)
2024-12-14 21:49:40 +0100TheCoffeMaker(~TheCoffeM@user/thecoffemaker) TheCoffeMaker
2024-12-14 21:50:51 +0100 <geekosaur> pretty sure there's no global one; it's assumed that every project has its own, possibly shared. requirements
2024-12-14 21:55:05 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) bitdex
2024-12-14 21:55:50 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-14 22:02:37 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds)
2024-12-14 22:03:55 +0100weary-traveler(~user@user/user363627) user363627
2024-12-14 22:08:35 +0100Everything(~Everythin@195.138.86.118) Everything
2024-12-14 22:10:17 +0100Square(~Square@user/square) (Remote host closed the connection)
2024-12-14 22:10:53 +0100Square(~Square@user/square) Square
2024-12-14 22:13:53 +0100Smiles(uid551636@id-551636.lymington.irccloud.com) Smiles
2024-12-14 22:13:53 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-14 22:15:24 +0100jmcantrell(~weechat@user/jmcantrell) (Ping timeout: 245 seconds)
2024-12-14 22:15:24 +0100jmcantrell_jmcantrell
2024-12-14 22:18:07 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds)
2024-12-14 22:27:50 +0100briandaed(~root@user/briandaed) (Remote host closed the connection)
2024-12-14 22:29:14 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-14 22:30:38 +0100 <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 :)
2024-12-14 22:31:16 +0100 <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
2024-12-14 22:31:24 +0100 <tomsmeding> that's hilarious
2024-12-14 22:33:47 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-12-14 22:35:36 +0100 <tomsmeding> 6.3005 * 1.516**x - 19.9 fits my lengths up to iteration 25 quite neatly :)
2024-12-14 22:35:49 +0100 <tomsmeding> that for x=75 is... a lot
2024-12-14 22:36:06 +0100 <monochrom> $81 is not a lot of money actually. :)
2024-12-14 22:36:42 +0100 <tomsmeding> not if you need about 1000 TB of RAM to even store the result
2024-12-14 22:37:14 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-12-14 22:37:53 +0100 <int-e> you don't... maybe that's a spoiler
2024-12-14 22:38:04 +0100 <tomsmeding> maybe?
2024-12-14 22:38:18 +0100 <tomsmeding> I guess
2024-12-14 22:38:22 +0100takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2024-12-14 22:38:41 +0100 <tomsmeding> oh what followed the "you don't" would be a spoiler, yes it would
2024-12-14 22:38:47 +0100 <glguy> int-e: it's a spoiler that people are solving it without infinite RAM?
2024-12-14 22:38:52 +0100 <tomsmeding> :D
2024-12-14 22:38:57 +0100 <tomsmeding> not infinite!
2024-12-14 22:38:58 +0100 <int-e> glguy: yes!
2024-12-14 22:39:16 +0100 <int-e> glguy: In a half-serios, half-kidding way of course.
2024-12-14 22:39:19 +0100 <int-e> +u
2024-12-14 22:39:40 +0100 <glguy> serious is probably the british spelling
2024-12-14 22:40:19 +0100 <int-e> my excuse today is the german "seriös" (which has a subtly different meaning ;-) )
2024-12-14 22:40:22 +0100glguyalso half-serios
2024-12-14 22:41:03 +0100 <int-e> "reputable" is a good translation I guess
2024-12-14 22:41:37 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-12-14 22:41:49 +0100 <tomsmeding> oh fun, the Dutch cognate is much closer to the meaning in English
2024-12-14 22:44:37 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-14 22:46:42 +0100 <tomsmeding> is there a clearly better way to nub a list than uniq . sort, if the order doesn't matter?
2024-12-14 22:46:51 +0100 <tomsmeding> and assuming that we have Ord on the elements
2024-12-14 22:47:04 +0100 <tomsmeding> there's also toList . Set.fromList, but surely that has more overhead
2024-12-14 22:47:58 +0100 <glguy> tomsmeding: have you finished yet?
2024-12-14 22:48:22 +0100 <tomsmeding> I haven't (and no, I'm not trying to nub the whole thing)
2024-12-14 22:48:26 +0100 <tomsmeding> maybe I should finish first
2024-12-14 22:48:30 +0100glguynotices that star is still gray
2024-12-14 22:48:33 +0100 <int-e> tomsmeding: the Set version is better if you have many duplicates
2024-12-14 22:49:09 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds)
2024-12-14 22:49:55 +0100 <tomsmeding> because less redundant list nodes allocated?
2024-12-14 22:49:59 +0100 <tomsmeding> right
2024-12-14 22:56:54 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-12-14 22:57:05 +0100Everything(~Everythin@195.138.86.118) (Ping timeout: 248 seconds)
2024-12-14 22:58:29 +0100 <enikar> nubOrd exists, I don't remember in which package, though
2024-12-14 22:58:49 +0100 <enikar> it doesn't sort the list.
2024-12-14 22:58:56 +0100Everything(~Everythin@46.211.94.40) Everything
2024-12-14 22:59:01 +0100__monty__(~toonn@user/toonn) toonn
2024-12-14 22:59:20 +0100 <int-e> Data.Containers.ListUtils nubOrd :: Ord a => [a] -> [a]
2024-12-14 22:59:22 +0100stiell(~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
2024-12-14 22:59:45 +0100stiell(~stiell@gateway/tor-sasl/stiell) stiell
2024-12-14 22:59:59 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-14 23:00:37 +0100 <enikar> that uses Set in the backstage
2024-12-14 23:00:45 +0100 <int-e> sure
2024-12-14 23:00:47 +0100 <tomsmeding> right, but slightly more cleverly than toList . Set.fromList
2024-12-14 23:00:48 +0100 <int-e> it's also lazy
2024-12-14 23:01:38 +0100 <int-e> I don't know which variant is better for bulk operation, since nubOrd *does* construct the full set to the end anyway
2024-12-14 23:01:47 +0100 <__monty__> Is there an easy way to draw over terminal output? Repeatedly outputting my string just makes things scroll by in a blur.
2024-12-14 23:02:02 +0100 <tomsmeding> end the line with \r instead of \n
2024-12-14 23:02:12 +0100 <enikar> it's easy to write your own version of nubOrd
2024-12-14 23:02:27 +0100 <__monty__> tomsmeding: Multiple line strings.
2024-12-14 23:02:28 +0100 <int-e> __monty__: pipe through less and adjust the terminal height?
2024-12-14 23:03:20 +0100 <tomsmeding> __monty__: end the string with "\r\ESC[5A", where 5 is the number of lines in the string >:)
2024-12-14 23:03:53 +0100iqubic(~sophia@2601:602:9201:9440:8256:a3c7:42eb:597d) iqubic
2024-12-14 23:03:58 +0100 <geekosaur> __monty__, maybe you want ansi-terminal? or brick, for even more control?
2024-12-14 23:03:59 +0100 <int-e> or probably \ESC[H to go to the top-left
2024-12-14 23:04:04 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-12-14 23:04:22 +0100 <int-e> assuming this is for personal ad-hoc use like AoC
2024-12-14 23:04:37 +0100 <int-e> otherwise use libraries that actually know about terminals properly :)
2024-12-14 23:04:38 +0100 <__monty__> Yeah, I'm looking for something quick and dirty.
2024-12-14 23:04:39 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
2024-12-14 23:04:56 +0100 <tomsmeding> \ESC[H is the most robust quick-and-dirty
2024-12-14 23:05:00 +0100 <geekosaur> set a scrolling region the size of the string 😛
2024-12-14 23:05:36 +0100 <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
2024-12-14 23:05:49 +0100 <__monty__> geekosaur: Was trying just resizing the terminal but it seems to scroll past line by line.
2024-12-14 23:06:00 +0100 <int-e> maybe I should play with that and ^L
2024-12-14 23:06:07 +0100 <geekosaur> but yeh, \E[H<your string here>\E[0J
2024-12-14 23:06:18 +0100 <int-e> > "\12"
2024-12-14 23:06:19 +0100 <lambdabot> "\f"
2024-12-14 23:06:28 +0100 <int-e> f = form feed, of course
2024-12-14 23:06:42 +0100 <geekosaur> ^L is an ancient way to clear the screen, but ANSI terminals mostly don't speak it any more
2024-12-14 23:06:55 +0100 <geekosaur> and yes, it comes from printer form-feed
2024-12-14 23:07:20 +0100 <__monty__> They don't? So they're tricking me into thinking it works whenever I press ctrl and l?
2024-12-14 23:07:40 +0100 <geekosaur> some programs interpret it for you (notably GNU readline will clear the screen)
2024-12-14 23:07:53 +0100 <int-e> geekosaur: I was pondering whether it would work in `less` but it doesn't, not out of the box anyway
2024-12-14 23:07:55 +0100 <geekosaur> but the terminal itself is not guaranteed to support it directly
2024-12-14 23:08:31 +0100 <tomsmeding> glguy: star is not grey any more, and indeed no nub any more :)
2024-12-14 23:09:10 +0100 <geekosaur> and less doesn't support formfeed, but old more does
2024-12-14 23:09:14 +0100 <geekosaur> and pg, I think
2024-12-14 23:09:28 +0100 <tomsmeding> not quite 45ms, but <1s, good enough
2024-12-14 23:11:11 +0100 <geekosaur> (I just tested, `printf '\f'` does nothing useful in mate-terminal and probably other VTE-based terminal emulators)
2024-12-14 23:11:28 +0100 <tomsmeding> also not in st
2024-12-14 23:12:08 +0100 <glguy> tomsmeding: trade ya https://github.com/glguy/advent/blob/main/solutions/src/2024/11.hs
2024-12-14 23:12:27 +0100 <tomsmeding> glguy: https://git.tomsmeding.com/AOC/tree/2024/11.hs
2024-12-14 23:12:57 +0100 <tomsmeding> ah, the other Map type
2024-12-14 23:13:10 +0100 <glguy> very similar
2024-12-14 23:13:18 +0100 <glguy> I did Map first, too
2024-12-14 23:13:19 +0100 <tomsmeding> modulo readability
2024-12-14 23:13:22 +0100 <glguy> IntMap made it go faster
2024-12-14 23:13:54 +0100 <tomsmeding> interesting, matters almost nothing here
2024-12-14 23:14:04 +0100 <int-e> hehe... https://paste.tomsmeding.com/LpTr44Vv
2024-12-14 23:14:25 +0100 <glguy> int-e: I had that version for submission
2024-12-14 23:14:25 +0100 <int-e> (no IntMap here either, didn't try to optimize)
2024-12-14 23:14:28 +0100 <tomsmeding> glguy: my ndigs10 was hilariously slow
2024-12-14 23:15:15 +0100 <tomsmeding> from 350ms to 92ms with Map, 71ms with IntMap
2024-12-14 23:15:24 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-14 23:15:52 +0100 <glguy> tomsmeding: yeah, that matched my experience, but your "almost nothing" looked to me like "big percentage" :)
2024-12-14 23:15:59 +0100 <int-e> time runhaskell 2.hs < input --> user 0m0.710s
2024-12-14 23:15:59 +0100 <tomsmeding> :)
2024-12-14 23:16:33 +0100 <tomsmeding> these times are hard to compare, apart from order of magnitude, because CPUs are different
2024-12-14 23:16:40 +0100 <int-e> yeah
2024-12-14 23:17:15 +0100 <glguy> int-e: that seems quite speedy for interpreted code, actually
2024-12-14 23:17:29 +0100 <tomsmeding> interpreting my thing gives me 310ms (for the 71ms-compiled version)
2024-12-14 23:17:37 +0100 <int-e> most of the time is spent in the libraries anyway
2024-12-14 23:18:25 +0100Everything(~Everythin@46.211.94.40) (Ping timeout: 265 seconds)
2024-12-14 23:18:57 +0100 <glguy> tomsmeding: sum . Map.elems is just sum
2024-12-14 23:20:07 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-12-14 23:20:16 +0100Everything(~Everythin@195.138.86.118) Everything
2024-12-14 23:20:29 +0100glguylikes using Map's Foldable instance for stuff
2024-12-14 23:22:12 +0100 <int-e> now if this was Project Euler they'd make it 1M steps and ask for the answer modulo 1000000007
2024-12-14 23:22:42 +0100machinedgod(~machinedg@d108-173-18-100.abhsia.telus.net) machinedgod
2024-12-14 23:23:51 +0100 <int-e> Or maybe 1B steps just to totally kill the brute force approach.
2024-12-14 23:24:11 +0100 <tomsmeding> glguy: oh, I guess it is
2024-12-14 23:24:22 +0100 <tomsmeding> int-e: it isn't killed yet
2024-12-14 23:24:24 +0100 <tomsmeding> ?
2024-12-14 23:24:40 +0100 <int-e> tomsmeding: 10^12 ops is a lot
2024-12-14 23:25:20 +0100 <tomsmeding> oh you're asking for even more clever than this
2024-12-14 23:25:43 +0100 <glguy> When we had this kind of problem in the past I used an efficient exponentiation approach
2024-12-14 23:25:56 +0100 <glguy> so you don't have to compute linearly in the number of steps
2024-12-14 23:26:15 +0100 <int-e> tomsmeding: yeah just another level of abstraction. fun to ponder, not necessarily fun to implement
2024-12-14 23:26:33 +0100 <tomsmeding> cute
2024-12-14 23:26:55 +0100 <glguy> there aren't *that many* distinct rocks, so you can enumerate all of them
2024-12-14 23:27:10 +0100 <glguy> and then build a matrix
2024-12-14 23:27:14 +0100 <glguy> and then exponentiate it
2024-12-14 23:27:16 +0100 <tomsmeding> yes I figured that out in the process of getting to my optimised solution
2024-12-14 23:27:23 +0100 <tomsmeding> didn't see the exp-by-squaring yet :)
2024-12-14 23:27:56 +0100 <tomsmeding> if you like fiddling with too many maps you can also keep the matrix sparse
2024-12-14 23:28:41 +0100 <int-e> it won't stay sparse once you start squaring
2024-12-14 23:29:03 +0100 <tomsmeding> I guess
2024-12-14 23:29:55 +0100tomsmedingis off to bed, thanks all for the fun
2024-12-14 23:30:45 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-14 23:32:44 +0100 <int-e> Want another level of abstraction? Try the above with 10^10^100 steps.
2024-12-14 23:34:17 +0100 <xerox> hopefully still modulo something
2024-12-14 23:34:24 +0100 <int-e> definitely
2024-12-14 23:34:32 +0100 <int-e> still modulo 1000000007
2024-12-14 23:35:24 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-12-14 23:39:32 +0100target_i(~target_i@user/target-i/x-6023099) (Quit: leaving)
2024-12-14 23:39:53 +0100 <EvanR> agent 000000007
2024-12-14 23:45:37 +0100ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 248 seconds)
2024-12-14 23:46:18 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-14 23:47:34 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-12-14 23:50:49 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 245 seconds)
2024-12-14 23:51:28 +0100OftenFaded(~OftenFade@user/tisktisk) (Quit: Client closed)
2024-12-14 23:51:30 +0100 <iqubic> What are we talking about here?
2024-12-14 23:52:57 +0100OftenFaded(~OftenFade@user/tisktisk) OftenFaded
2024-12-14 23:55:48 +0100 <geekosaur> today's AoC, I think
2024-12-14 23:56:19 +0100 <int-e> the latest topic was day 11