2023/01/04

2023-01-04 00:05:58 +0100gmg(~user@user/gehmehgeh) (Quit: Leaving)
2023-01-04 00:09:17 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net)
2023-01-04 00:11:59 +0100nasrudin__(~nasrudin_@174.78.12.234) (Ping timeout: 260 seconds)
2023-01-04 00:12:58 +0100nasrudin__(~nasrudin_@174.78.12.234)
2023-01-04 00:16:11 +0100takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2023-01-04 00:17:00 +0100 <unit73e> talismanick, what do you mean? apply a suggestion?
2023-01-04 00:17:11 +0100freeside(~mengwong@103.252.202.159) (Ping timeout: 255 seconds)
2023-01-04 00:17:13 +0100 <unit73e> I think that's not implemented in HLS
2023-01-04 00:17:48 +0100 <unit73e> but I use neovim so who knows?
2023-01-04 00:18:59 +0100 <unit73e> but if it's that, idk how to do with emacs, but I just go inside the window, copy the suggestion, and paste
2023-01-04 00:19:00 +0100 <talismanick> unit73e: Weeeeell, it worked in the past. Not sure what changed, but it doesn't work now.
2023-01-04 00:19:09 +0100 <unit73e> hum ok
2023-01-04 00:19:40 +0100merijn(~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl)
2023-01-04 00:19:48 +0100 <unit73e> so you use ghcup btw? because that works better than some distros official packages... arch... coff
2023-01-04 00:20:22 +0100 <talismanick> yeah, ofc
2023-01-04 00:20:40 +0100 <talismanick> latest version on everything - use ghcup + cabal-install for everything
2023-01-04 00:20:53 +0100 <zzz> what's the criteria for the *recommended* flag in ghup?
2023-01-04 00:21:07 +0100 <unit73e> hum, that could be your problem. I use recommended. No idea what the criteria is but I guess stability?
2023-01-04 00:21:57 +0100 <talismanick> zzz: I've wondered this myself. As far as I gather, it's "where most libraries are".
2023-01-04 00:22:20 +0100 <talismanick> The newer versions being there to play catchup
2023-01-04 00:22:27 +0100 <unit73e> it has to do with stack, apparently
2023-01-04 00:22:41 +0100 <unit73e> so whatever stack decides it's stable
2023-01-04 00:22:43 +0100 <talismanick> So, latest stable snapshot?
2023-01-04 00:24:06 +0100Guest9918(~finn@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 252 seconds)
2023-01-04 00:24:48 +0100 <unit73e> looks like it, but there's no good description of the criteria. stack could just be one of the criteria.
2023-01-04 00:25:06 +0100 <unit73e> your problem could be a specific version of HLS or Emacs LSP
2023-01-04 00:25:46 +0100mncheck-m(~mncheck@193.224.205.254)
2023-01-04 00:25:46 +0100 <unit73e> usually HLS spits a log
2023-01-04 00:27:26 +0100 <geekosaur> note that hls 1.9.0 came out recently
2023-01-04 00:28:34 +0100mncheckm(~mncheck@193.224.205.254) (Ping timeout: 268 seconds)
2023-01-04 00:28:59 +0100 <monochrom> ghcup's recommended flag is from ghcup authors+maintainers' estimate of libraries-on-hackage readiness and lack of GHC showstoppers.
2023-01-04 00:30:34 +0100phma(phma@2001:5b0:2144:7708:13f:34e:4754:4d0e) (Read error: Connection reset by peer)
2023-01-04 00:30:57 +0100 <unit73e> so a good guesstimate
2023-01-04 00:31:01 +0100phma(~phma@host-67-44-208-6.hnremote.net)
2023-01-04 00:31:07 +0100 <unit73e> worked for me so far
2023-01-04 00:31:32 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net) (Ping timeout: 272 seconds)
2023-01-04 00:32:15 +0100 <monochrom> Questions like "is version X recommended?" are social questions by nature, not technical, given that library readiness and bug severity are social, not technical.
2023-01-04 00:32:27 +0100 <monochrom> Social questions are best answered by social solutions.
2023-01-04 00:32:37 +0100freeside(~mengwong@103.252.202.159)
2023-01-04 00:34:27 +0100mechap(~mechap@user/mechap) (Quit: WeeChat 3.7.1)
2023-01-04 00:35:44 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 255 seconds)
2023-01-04 00:38:41 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex)
2023-01-04 00:42:44 +0100johnw(~johnw@2600:1700:cf00:db0:8dba:ab59:f976:a533)
2023-01-04 00:48:00 +0100mechap(~mechap@user/mechap)
2023-01-04 00:48:25 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net)
2023-01-04 00:53:33 +0100jusle(~jusle@user/jle/x-3894663)
2023-01-04 00:53:56 +0100 <jusle> /go 1
2023-01-04 00:54:18 +0100juslejle``
2023-01-04 00:54:20 +0100merijn(~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl) (Ping timeout: 272 seconds)
2023-01-04 00:54:24 +0100d34df00d(~d34df00d@2600:1702:4f1b:7c10::48) (Read error: Connection reset by peer)
2023-01-04 00:59:57 +0100caryhartline(~caryhartl@2600:1700:2d0:8d30:ddb1:814:b62d:1133)
2023-01-04 01:02:11 +0100acidjnk(~acidjnk@p200300d6e7137a131414127c3bff1106.dip0.t-ipconnect.de) (Ping timeout: 246 seconds)
2023-01-04 01:03:14 +0100jmorris(uid537181@id-537181.uxbridge.irccloud.com)
2023-01-04 01:07:25 +0100merijn(~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl)
2023-01-04 01:11:48 +0100 <sm> maerwald will know the criteria for ghcup's recommended flag, or maybe it's in docs
2023-01-04 01:12:04 +0100Tuplanolla(~Tuplanoll@91-159-68-152.elisa-laajakaista.fi) (Quit: Leaving.)
2023-01-04 01:12:11 +0100merijn(~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl) (Ping timeout: 264 seconds)
2023-01-04 01:12:42 +0100nasrudin__(~nasrudin_@174.78.12.234) (Ping timeout: 272 seconds)
2023-01-04 01:13:03 +0100nasrudin__(~nasrudin_@174.78.12.234)
2023-01-04 01:13:35 +0100FarisAlmutairi(~FarisAlmu@142.154.108.249)
2023-01-04 01:14:47 +0100unit73e(~emanuel@2001:818:e8dd:7c00:656:e5ff:fe72:9d36) (Ping timeout: 252 seconds)
2023-01-04 01:14:55 +0100__monty__(~toonn@user/toonn) (Quit: leaving)
2023-01-04 01:17:19 +0100waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 265 seconds)
2023-01-04 01:17:51 +0100r(~r@6.68.117.91.dynamic.reverse-mundo-r.com)
2023-01-04 01:18:37 +0100waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340)
2023-01-04 01:20:31 +0100xff0x(~xff0x@p3326132-ipngn2103sapodori.hokkaido.ocn.ne.jp)
2023-01-04 01:22:36 +0100r(~r@6.68.117.91.dynamic.reverse-mundo-r.com) (Quit: Leaving)
2023-01-04 01:23:08 +0100ddellacosta(~ddellacos@89.45.224.243)
2023-01-04 01:26:45 +0100FarisAlmutairi(~FarisAlmu@142.154.108.249) (Quit: Client closed)
2023-01-04 01:31:06 +0100 <zzz> @hoogle (a -> [a] -> b) -> [a] -> [[b]]
2023-01-04 01:31:07 +0100 <lambdabot> No results found
2023-01-04 01:31:37 +0100 <zzz> @hoogle (a -> [a] -> b) -> [a] -> [b]
2023-01-04 01:31:38 +0100 <lambdabot> Data.Sort groupSort :: (Ord a) => (a -> [a] -> b) -> [a] -> [b]
2023-01-04 01:32:21 +0100 <zzz> @hoogle (a -> a -> b) -> [a] -> [[b]]
2023-01-04 01:32:22 +0100 <lambdabot> No results found
2023-01-04 01:36:23 +0100 <mauke> @let select [] = []; select (x : xs) = (x, xs) : map (\(y, ys) -> (y, x : ys)) (select xs)
2023-01-04 01:36:24 +0100 <lambdabot> Defined.
2023-01-04 01:36:30 +0100 <mauke> :t select
2023-01-04 01:36:31 +0100 <lambdabot> [a] -> [(a, [a])]
2023-01-04 01:37:08 +0100 <mauke> :t \f -> map (uncurry f) . select
2023-01-04 01:37:09 +0100 <lambdabot> (a -> [a] -> b) -> [a] -> [b]
2023-01-04 01:37:14 +0100epolanski(uid312403@id-312403.helmsley.irccloud.com)
2023-01-04 01:38:56 +0100 <zzz> ha! nice
2023-01-04 01:39:31 +0100 <zzz> isn;t there a more canonical way of doing select?
2023-01-04 01:43:24 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2023-01-04 01:51:16 +0100segfaultfizzbuzz(~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Quit: segfaultfizzbuzz)
2023-01-04 01:51:22 +0100jakalx(~jakalx@base.jakalx.net) (Error from remote client)
2023-01-04 01:56:01 +0100fjmorazan(~quassel@user/fjmorazan) ()
2023-01-04 01:56:08 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net) (Ping timeout: 268 seconds)
2023-01-04 01:57:48 +0100jakalx(~jakalx@base.jakalx.net)
2023-01-04 01:58:37 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net)
2023-01-04 02:00:43 +0100wroathe(~wroathe@207-153-38-140.fttp.usinternet.com)
2023-01-04 02:00:43 +0100wroathe(~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
2023-01-04 02:00:43 +0100wroathe(~wroathe@user/wroathe)
2023-01-04 02:07:35 +0100kritzefitz(~kritzefit@debian/kritzefitz) (Ping timeout: 246 seconds)
2023-01-04 02:08:16 +0100kritzefitz(~kritzefit@debian/kritzefitz)
2023-01-04 02:08:44 +0100titibandit(~titibandi@xdsl-89-0-163-79.nc.de) (Remote host closed the connection)
2023-01-04 02:10:16 +0100albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2023-01-04 02:10:26 +0100werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 252 seconds)
2023-01-04 02:12:14 +0100werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
2023-01-04 02:13:19 +0100nasrudin__(~nasrudin_@174.78.12.234) (Ping timeout: 260 seconds)
2023-01-04 02:14:18 +0100nasrudin__(~nasrudin_@174.78.12.234)
2023-01-04 02:16:23 +0100albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2023-01-04 02:18:43 +0100califax(~califax@user/califx) (Remote host closed the connection)
2023-01-04 02:19:48 +0100califax(~califax@user/califx)
2023-01-04 02:25:44 +0100 <[Leary]> zzz: If you use a list zipper then `select` is just `duplicate`, the `Comonad` pair to `join`.
2023-01-04 02:26:26 +0100waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 265 seconds)
2023-01-04 02:27:00 +0100 <talismanick> geekosaur: Actually, I had this problem with 1.8.0.0 as well
2023-01-04 02:27:09 +0100 <talismanick> 1.7.0.0 didn't, however
2023-01-04 02:27:27 +0100 <geekosaur> that makes me wonder if they disabled a plugin for some reason
2023-01-04 02:28:11 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 248 seconds)
2023-01-04 02:28:24 +0100waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340)
2023-01-04 02:29:09 +0100 <talismanick> Ah, 1.8.0.0 changelog moved code actions from ghcide to the new hls-refactor-plugin
2023-01-04 02:29:12 +0100 <geekosaur> hm, 1.8.0.0 moved stuff like that to a new plugin. I wonder if it has to be explicitly enabled
2023-01-04 02:29:13 +0100 <talismanick> A clue
2023-01-04 02:29:13 +0100 <geekosaur> yeh
2023-01-04 02:32:41 +0100thongpv87(~thongpv87@2402:9d80:3b5:d7b1:6629:a35e:8066:b5e3) (Read error: Connection reset by peer)
2023-01-04 02:33:32 +0100thongpv(~thongpv87@14.246.240.163)
2023-01-04 02:33:42 +0100 <talismanick> On the command line, `hlint --refactor Main.hs` says I need to install the apply-refact package
2023-01-04 02:37:30 +0100 <talismanick> Okay, now I can refactor at the command line, but Emacs still bugs out trying to apply it. Neat.
2023-01-04 02:38:05 +0100 <geekosaur> I'm looking around on my system to see if there's some list of HLS plugins that needs to be updated
2023-01-04 02:39:08 +0100 <talismanick> zzz: Also, all zippers are comonads, so duplicate-as-select works whenever you define one
2023-01-04 02:39:50 +0100 <talismanick> You can autogenerate them with the Scrap Your Zippers package (paper explaining it under the same name)
2023-01-04 02:40:06 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net) (Ping timeout: 272 seconds)
2023-01-04 02:40:47 +0100 <talismanick> Wait, that one's from 2010. Not sure what the modern one is.
2023-01-04 02:42:30 +0100 <geekosaur> oh look, hls-refactor-plugin is on hackage. do you need to install it?
2023-01-04 02:43:49 +0100 <talismanick> geekosaur: I don't believe so. If you use ghcup and want to build HLS with custom options, you'd use `ghcup compile hls -- ...`
2023-01-04 02:43:52 +0100 <talismanick> IIRC
2023-01-04 02:44:22 +0100 <geekosaur> but does that help if it's a plugin outside of the HLS package itself?
2023-01-04 02:44:33 +0100 <geekosaur> which seems implied by it being on hackage
2023-01-04 02:45:17 +0100emmanuelux(~emmanuelu@user/emmanuelux) (Quit: au revoir)
2023-01-04 02:45:49 +0100 <talismanick> See https://haskell-language-server.readthedocs.io/en/latest/installation.html
2023-01-04 02:46:58 +0100tremon(~tremon@83-85-213-108.cable.dynamic.v4.ziggo.nl) (Quit: getting boxed in)
2023-01-04 02:47:18 +0100 <talismanick> the refactor plugin is Tier 1 (will always work), but the hlint plugin is Tier 2
2023-01-04 02:48:13 +0100 <geekosaur> yeh, I just hit that
2023-01-04 02:51:30 +0100 <geekosaur> I do wonder if you need to restart HLS after installing apply-refact (which the doc says is required for hlint suggestions to be applied)
2023-01-04 02:51:51 +0100fizbin(~fizbin@user/fizbin)
2023-01-04 02:51:56 +0100 <geekosaur> tbh I've never tried this but I use vscode, haven't yet tried to configure HLS for emacs
2023-01-04 02:51:59 +0100 <talismanick> Yeah, I immmediately ran the restart command before trying
2023-01-04 03:02:54 +0100nasrudin__(~nasrudin_@174.78.12.234) (Ping timeout: 272 seconds)
2023-01-04 03:04:25 +0100nasrudin__(~nasrudin_@174.78.12.234)
2023-01-04 03:05:32 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net)
2023-01-04 03:07:35 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net)
2023-01-04 03:08:45 +0100hololeapshadowdaemon
2023-01-04 03:09:15 +0100shadowdaemonGuest2078
2023-01-04 03:09:24 +0100Guest2078hololeap
2023-01-04 03:12:34 +0100instantaphex(~jb@c-73-171-252-84.hsd1.fl.comcast.net)
2023-01-04 03:13:02 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 272 seconds)
2023-01-04 03:13:40 +0100nasrudin__(~nasrudin_@174.78.12.234) (Ping timeout: 272 seconds)
2023-01-04 03:14:19 +0100nasrudin__(~nasrudin_@174.78.12.234)
2023-01-04 03:20:24 +0100beteigeuze(~Thunderbi@bl14-81-220.dsl.telepac.pt) (Ping timeout: 260 seconds)
2023-01-04 03:21:20 +0100razetime(~Thunderbi@49.207.222.244)
2023-01-04 03:27:57 +0100beefbambi(~beefbambi@183.82.178.237) (Read error: Connection reset by peer)
2023-01-04 03:30:27 +0100beefbambi(~beefbambi@183.82.178.237)
2023-01-04 03:30:30 +0100v0id_ptr(~adrift@user/ptr-frac7al/x-0038398)
2023-01-04 03:40:23 +0100Kaiepi(~Kaiepi@nwcsnbsc03w-47-55-159-86.dhcp-dynamic.fibreop.nb.bellaliant.net) (Ping timeout: 264 seconds)
2023-01-04 03:50:56 +0100jero98772(~jero98772@190.158.28.44) (Remote host closed the connection)
2023-01-04 03:53:51 +0100jinsun(~jinsun@user/jinsun)
2023-01-04 03:59:29 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net) (Ping timeout: 255 seconds)
2023-01-04 04:09:17 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net)
2023-01-04 04:09:55 +0100Blightmain(~Blightmai@203.29.154.219)
2023-01-04 04:13:53 +0100nasrudin__(~nasrudin_@174.78.12.234) (Ping timeout: 255 seconds)
2023-01-04 04:14:16 +0100td_(~td@83.135.9.22) (Ping timeout: 268 seconds)
2023-01-04 04:14:41 +0100nasrudin__(~nasrudin_@174.78.12.234)
2023-01-04 04:14:57 +0100 <talismanick> Ah, do believe I've found the relevant issue: https://github.com/haskell/haskell-language-server/issues/3241
2023-01-04 04:15:45 +0100td_(~td@83.135.9.7)
2023-01-04 04:16:15 +0100 <talismanick> (solution is to compile from source because of an absolute path hardcoded to "$something/gitlab.com/$something_else" in binary install )
2023-01-04 04:16:41 +0100califax(~califax@user/califx) (Ping timeout: 255 seconds)
2023-01-04 04:18:29 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer)
2023-01-04 04:19:52 +0100califax(~califax@user/califx)
2023-01-04 04:20:48 +0100fizbin(~fizbin@user/fizbin) (Ping timeout: 272 seconds)
2023-01-04 04:23:15 +0100nasrudin__(~nasrudin_@174.78.12.234) (Ping timeout: 256 seconds)
2023-01-04 04:29:17 +0100azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 255 seconds)
2023-01-04 04:36:58 +0100waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 252 seconds)
2023-01-04 04:37:12 +0100mvk(~mvk@2607:fea8:5ce3:8500::3ed5)
2023-01-04 04:42:41 +0100motherfsck(~motherfsc@user/motherfsck) (Ping timeout: 255 seconds)
2023-01-04 04:56:54 +0100motherfsck(~motherfsc@user/motherfsck)
2023-01-04 04:57:56 +0100azimut(~azimut@gateway/tor-sasl/azimut)
2023-01-04 04:58:58 +0100thegeekinside(~thegeekin@189.217.82.244) (Read error: Connection reset by peer)
2023-01-04 05:01:08 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:f0c4:47d2:c747:8246)
2023-01-04 05:06:53 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net) (Ping timeout: 256 seconds)
2023-01-04 05:09:25 +0100merijn(~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl)
2023-01-04 05:11:35 +0100califax(~califax@user/califx) (Ping timeout: 255 seconds)
2023-01-04 05:12:03 +0100califax(~califax@user/califx)
2023-01-04 05:13:22 +0100wroathe(~wroathe@207-153-38-140.fttp.usinternet.com)
2023-01-04 05:13:22 +0100wroathe(~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
2023-01-04 05:13:22 +0100wroathe(~wroathe@user/wroathe)
2023-01-04 05:16:36 +0100califax(~califax@user/califx) (Remote host closed the connection)
2023-01-04 05:16:48 +0100epolanski(uid312403@id-312403.helmsley.irccloud.com) (Quit: Connection closed for inactivity)
2023-01-04 05:16:53 +0100califax(~califax@user/califx)
2023-01-04 05:18:14 +0100xff0x(~xff0x@p3326132-ipngn2103sapodori.hokkaido.ocn.ne.jp) (Ping timeout: 260 seconds)
2023-01-04 05:20:30 +0100Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2023-01-04 05:20:51 +0100Feuermagier(~Feuermagi@user/feuermagier)
2023-01-04 05:21:17 +0100Feuermagier(~Feuermagi@user/feuermagier) (Max SendQ exceeded)
2023-01-04 05:23:59 +0100fizbin(~fizbin@user/fizbin)
2023-01-04 05:24:57 +0100justsomeguy(~justsomeg@user/justsomeguy)
2023-01-04 05:25:03 +0100caryhartline(~caryhartl@2600:1700:2d0:8d30:ddb1:814:b62d:1133) (Quit: caryhartline)
2023-01-04 05:29:54 +0100ddellacosta(~ddellacos@89.45.224.243) (Ping timeout: 260 seconds)
2023-01-04 05:31:06 +0100motherfsck(~motherfsc@user/motherfsck) (Ping timeout: 272 seconds)
2023-01-04 05:32:53 +0100thongpv87(~thongpv87@14.246.240.163)
2023-01-04 05:35:40 +0100thongpv(~thongpv87@14.246.240.163) (Ping timeout: 268 seconds)
2023-01-04 05:36:15 +0100beefbambi(~beefbambi@183.82.178.237) (Read error: Connection reset by peer)
2023-01-04 05:36:58 +0100beefbambi(~beefbambi@183.82.178.237)
2023-01-04 05:38:08 +0100thongpv(~thongpv87@2402:9d80:3b5:d7b1:8b6f:d6d2:c847:4f3)
2023-01-04 05:38:28 +0100thongpv(~thongpv87@2402:9d80:3b5:d7b1:8b6f:d6d2:c847:4f3) (Remote host closed the connection)
2023-01-04 05:38:46 +0100thongpv(~thongpv87@2402:9d80:3b5:d7b1:8b6f:d6d2:c847:4f3)
2023-01-04 05:39:59 +0100thongpv87(~thongpv87@14.246.240.163) (Ping timeout: 268 seconds)
2023-01-04 05:40:09 +0100caryhartline(~caryhartl@2600:1700:2d0:8d30:4ce2:f176:39d6:bafd)
2023-01-04 05:41:50 +0100fizbin(~fizbin@user/fizbin) (Ping timeout: 268 seconds)
2023-01-04 05:42:32 +0100instantaphex(~jb@c-73-171-252-84.hsd1.fl.comcast.net) (Ping timeout: 255 seconds)
2023-01-04 05:43:04 +0100merijn(~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl) (Ping timeout: 268 seconds)
2023-01-04 05:47:59 +0100beefbambi(~beefbambi@183.82.178.237) (Read error: Connection reset by peer)
2023-01-04 05:48:26 +0100mvk(~mvk@2607:fea8:5ce3:8500::3ed5) (Quit: Going elsewhere)
2023-01-04 05:48:38 +0100beefbambi(~beefbambi@183.82.178.237)
2023-01-04 05:51:32 +0100beefbambi(~beefbambi@183.82.178.237) (Read error: Connection reset by peer)
2023-01-04 05:51:44 +0100jinsun(~jinsun@user/jinsun) (Ping timeout: 260 seconds)
2023-01-04 05:52:14 +0100beefbambi(~beefbambi@183.82.178.237)
2023-01-04 05:52:51 +0100jmorris(uid537181@id-537181.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
2023-01-04 05:54:19 +0100instantaphex(~jb@c-73-171-252-84.hsd1.fl.comcast.net)
2023-01-04 05:54:19 +0100beefbambi(~beefbambi@183.82.178.237) (Read error: Connection reset by peer)
2023-01-04 05:54:57 +0100beefbambi(~beefbambi@183.82.178.237)
2023-01-04 05:58:58 +0100instantaphex(~jb@c-73-171-252-84.hsd1.fl.comcast.net) (Ping timeout: 272 seconds)
2023-01-04 05:59:30 +0100Blightmain(~Blightmai@203.29.154.219) (Quit: Leaving)
2023-01-04 06:18:05 +0100tubogram441(~tubogram@user/tubogram)
2023-01-04 06:18:51 +0100tubogram44(~tubogram@user/tubogram) (Ping timeout: 240 seconds)
2023-01-04 06:18:51 +0100tubogram441tubogram44
2023-01-04 06:20:25 +0100mbuf(~Shakthi@49.204.120.17)
2023-01-04 06:20:55 +0100irrgit_(~irrgit@89.47.234.26)
2023-01-04 06:24:18 +0100beefbambi(~beefbambi@183.82.178.237) (Ping timeout: 272 seconds)
2023-01-04 06:24:23 +0100irrgit__(~irrgit@176.113.74.74) (Ping timeout: 268 seconds)
2023-01-04 06:24:47 +0100irrgit__(~irrgit@146.70.27.250)
2023-01-04 06:25:44 +0100irrgit_(~irrgit@89.47.234.26) (Ping timeout: 255 seconds)
2023-01-04 06:27:04 +0100Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection)
2023-01-04 06:27:32 +0100beefbambi(~beefbambi@2401:4900:230d:f57c:538c:d7cc:50c0:e377)
2023-01-04 06:39:47 +0100azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 255 seconds)
2023-01-04 06:43:23 +0100califax(~califax@user/califx) (Ping timeout: 255 seconds)
2023-01-04 06:44:20 +0100califax(~califax@user/califx)
2023-01-04 06:47:06 +0100califax(~califax@user/califx) (Remote host closed the connection)
2023-01-04 06:47:42 +0100califax(~califax@user/califx)
2023-01-04 06:53:39 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 260 seconds)
2023-01-04 07:04:50 +0100freeside(~mengwong@103.252.202.159) (Ping timeout: 272 seconds)
2023-01-04 07:17:15 +0100trev(~trev@user/trev)
2023-01-04 07:17:22 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net)
2023-01-04 07:21:24 +0100bgs(~bgs@212-85-160-171.dynamic.telemach.net)
2023-01-04 07:35:18 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net) (Ping timeout: 268 seconds)
2023-01-04 07:36:56 +0100ChaiTRex(~ChaiTRex@user/chaitrex) (Remote host closed the connection)
2023-01-04 07:38:44 +0100ChaiTRex(~ChaiTRex@user/chaitrex)
2023-01-04 07:39:21 +0100merijn(~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl)
2023-01-04 07:54:25 +0100talismanick(~talismani@76.133.152.122) (Remote host closed the connection)
2023-01-04 07:54:43 +0100gnalzo(~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
2023-01-04 08:01:47 +0100talismanick(~talismani@76.133.152.122)
2023-01-04 08:03:24 +0100bgs(~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection)
2023-01-04 08:07:29 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net)
2023-01-04 08:12:20 +0100 <markasoftware> my haskell program, without any explicit parallelism, is using all four of my cpu cores when I turn on --rts-options -N4 with stack
2023-01-04 08:12:20 +0100 <markasoftware> what in frick is going on
2023-01-04 08:12:20 +0100 <markasoftware> i'm pretty sure none of the libraries I'm using are parallelized either
2023-01-04 08:13:25 +0100 <markasoftware> haskell doesn't automatically parallelize anything right?
2023-01-04 08:13:45 +0100merijn(~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl) (Ping timeout: 255 seconds)
2023-01-04 08:16:31 +0100igghibu(~igghibu@178.249.211.100)
2023-01-04 08:17:38 +0100 <markasoftware> even a simple ByteString.readFile seems to be using multiple cores
2023-01-04 08:20:50 +0100jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 272 seconds)
2023-01-04 08:21:57 +0100 <markasoftware> and in fact the readFile is a lot faster when i enable -N2 but then slows down a bit as I go up to -N4 (probalby due to hyperthreading)
2023-01-04 08:22:19 +0100kuttenbrunzer(~kuttenbru@2a02:8108:8b80:1d48:b5b5:bddb:aaec:741)
2023-01-04 08:28:56 +0100gmg(~user@user/gehmehgeh)
2023-01-04 08:29:26 +0100v0id_ptr(~adrift@user/ptr-frac7al/x-0038398) (Ping timeout: 246 seconds)
2023-01-04 08:30:19 +0100 <[exa]> markasoftware: whew, what's the program actually doing?
2023-01-04 08:30:32 +0100 <markasoftware> lots of stuff parsing a bytestring
2023-01-04 08:31:24 +0100 <[exa]> like, with attoparsec?
2023-01-04 08:32:11 +0100 <markasoftware> https://p.defau.lt/?MmwnUY7aktZbQLehyb5ueQ
2023-01-04 08:32:32 +0100 <markasoftware> this seems to be enough to cause it to use much more cpu when -N2 is enabled
2023-01-04 08:34:15 +0100 <markasoftware> but data.bytestring itself doesn't seem to have any parallel stuff -- does GHC's withBinaryFile internally parallelize?
2023-01-04 08:34:38 +0100 <markasoftware> and no not using attoparsec -- mainly using Data.Binary.Get
2023-01-04 08:34:48 +0100 <[exa]> can you check user vs real time spent with `time` ?
2023-01-04 08:36:55 +0100 <markasoftware> user time increases a lot when I enable -N2 compared to no parallelization -- on a several gigabyte file I'm testig with, increases from 0.4s user to 1.5s user. Real time drops by half. Sys time stays the same
2023-01-04 08:38:34 +0100 <[exa]> parallel magicks
2023-01-04 08:39:08 +0100 <[exa]> can you try if the change is triggered by just enabling the threaded runtime?
2023-01-04 08:40:06 +0100 <markasoftware> well i can't even supply -N4 when threaded is disabled
2023-01-04 08:40:15 +0100 <c_wraith> if nothing else, the parallel GC might be contributing
2023-01-04 08:40:31 +0100 <[exa]> markasoftware: I meant "completely no flags" vs "threaded + N1"
2023-01-04 08:40:35 +0100 <markasoftware> ah that must somehow be it.
2023-01-04 08:40:48 +0100 <markasoftware> threaded and -N1 doesn't use multiple cores
2023-01-04 08:41:39 +0100 <[exa]> that's expected, it's bound to 1 one. But afaik it's already using slightly different RTS from non-threaded, so it might be nice to check how much that matters
2023-01-04 08:44:49 +0100 <markasoftware> seems about the same speed with and without -threaded
2023-01-04 08:45:20 +0100 <markasoftware> it does take a couple seconds before it really starts using the cpu so i bet the GC is it
2023-01-04 08:47:12 +0100 <markasoftware> yep, sure enough if I use -g1 to disable the parallel gc it only uses one core
2023-01-04 08:47:24 +0100 <[exa]> ok that sounds reasonable
2023-01-04 08:47:41 +0100 <[exa]> esp with the pause -- it takes some IO waiting time to get the data that could be GC'd
2023-01-04 08:48:09 +0100 <[exa]> btw at this point you might consider avoiding the GC altogether and just mmap the file
2023-01-04 08:48:15 +0100 <[exa]> which costs nothing
2023-01-04 08:48:47 +0100 <[exa]> and you basically get a ByteString with all differences hidden by implementation
2023-01-04 08:50:44 +0100 <markasoftware> true
2023-01-04 08:50:54 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:c45:1b19:a42f:d5f4)
2023-01-04 08:51:33 +0100 <markasoftware> this is probably an indicator that my whole program is doing too much gc
2023-01-04 08:51:37 +0100 <markasoftware> since it wasn't just during the initial file read
2023-01-04 08:51:41 +0100 <markasoftware> so i'll look into reducing that
2023-01-04 08:51:46 +0100 <markasoftware> thanks [exa] and c_wraith!
2023-01-04 08:51:50 +0100 <c_wraith> you're welcome
2023-01-04 08:52:52 +0100 <[exa]> markasoftware: tbh if you're parsing a string this huge into some miniature pieces, I'd say a bit of overhead is expected (and 1 second-ish is still pretty good)
2023-01-04 08:53:43 +0100caryhartline(~caryhartl@2600:1700:2d0:8d30:4ce2:f176:39d6:bafd) (Quit: caryhartline)
2023-01-04 08:54:36 +0100 <[exa]> one thing you can do is to avoid unnecessary reallocation of the strings (BS does that kinda automatically but always better check), avoiding plain old String like hell, and preferably trying some kind of stream processing (so that you don't need to allocate the whole structure at one point of time, making GC go crazy)
2023-01-04 08:59:19 +0100fserucas(~fserucas@50.4.115.89.rev.vodafone.pt)
2023-01-04 09:00:41 +0100hsw_(~hsw@2001-b030-2303-0104-0172-0025-0012-0132.hinet-ip6.hinet.net)
2023-01-04 09:00:49 +0100hsw(~hsw@2001-b030-2303-0104-0172-0025-0012-0123.hinet-ip6.hinet.net) (Quit: Leaving)
2023-01-04 09:00:58 +0100hsw_(~hsw@2001-b030-2303-0104-0172-0025-0012-0132.hinet-ip6.hinet.net) (Remote host closed the connection)
2023-01-04 09:01:09 +0100hsw(~hsw@2001-b030-2303-0104-0172-0025-0012-0132.hinet-ip6.hinet.net)
2023-01-04 09:01:45 +0100gnalzo(~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.7.1)
2023-01-04 09:04:26 +0100takuan(~takuan@178-116-218-225.access.telenet.be)
2023-01-04 09:04:55 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net) (Ping timeout: 260 seconds)
2023-01-04 09:07:55 +0100Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2023-01-04 09:08:28 +0100igghibu(~igghibu@178.249.211.100) (Quit: igghibu)
2023-01-04 09:13:45 +0100zeenk(~zeenk@2a02:2f04:a110:ac00::7fe)
2023-01-04 09:14:45 +0100coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba)
2023-01-04 09:20:30 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net)
2023-01-04 09:25:54 +0100Feuermagier(~Feuermagi@user/feuermagier)
2023-01-04 09:34:12 +0100kuttenbrunzer(~kuttenbru@2a02:8108:8b80:1d48:b5b5:bddb:aaec:741) (Quit: Leaving)
2023-01-04 09:34:56 +0100notzmv(~zmv@user/notzmv) (Ping timeout: 246 seconds)
2023-01-04 09:41:07 +0100nschoe(~q@141.101.51.197)
2023-01-04 09:41:51 +0100mud(~mud@user/kadoban) (Quit: quit)
2023-01-04 09:43:55 +0100machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net)
2023-01-04 09:49:46 +0100Kaiepi(~Kaiepi@nwcsnbsc03w-47-55-159-86.dhcp-dynamic.fibreop.nb.bellaliant.net)
2023-01-04 09:49:55 +0100machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 252 seconds)
2023-01-04 09:49:55 +0100mud(~mud@user/kadoban)
2023-01-04 09:50:36 +0100boxscape_(~boxscape_@213.52.37.155)
2023-01-04 09:51:53 +0100acidjnk(~acidjnk@p200300d6e7137a131414127c3bff1106.dip0.t-ipconnect.de)
2023-01-04 09:52:01 +0100machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net)
2023-01-04 09:57:40 +0100shriekingnoise(~shrieking@186.137.175.87) (Quit: Quit)
2023-01-04 10:02:57 +0100 <Inst__> hmmm
2023-01-04 10:03:10 +0100 <Inst__> i'm bored and writing a chapter for my Haskell book that'll never be published
2023-01-04 10:03:16 +0100 <Inst__> how bad is this?
2023-01-04 10:03:17 +0100Inst__Inst
2023-01-04 10:03:46 +0100 <Inst> I start with IO, introducing an "IO type" instead of the IO monad, and only introduce functional programming with fizzBuzz
2023-01-04 10:04:28 +0100mei(~mei@user/mei)
2023-01-04 10:07:06 +0100avicenzi(~avicenzi@193.86.92.180)
2023-01-04 10:07:08 +0100 <[exa]> Inst: writing stuff down is not bad, at the absolute bare minimum you will make a nice picture of the situation and learn that it doesn't need to be written down again
2023-01-04 10:07:52 +0100 <Inst> TBH, after having skimmed and read so many Haskell textbooks, I think there is a space for what I'm writing
2023-01-04 10:08:50 +0100 <Inst> hello world to introduce people to haskell syntax and layout rules, a greeter program to introduce the concept of IO "type", then a fizzBuzz written like 5 times to teach the notion of functional programming, and the architecture of having pure-impure separation
2023-01-04 10:09:19 +0100 <Inst> then datatypes, monads introduced via typeclass mechanisms
2023-01-04 10:09:47 +0100 <Inst> i think it's great in parts, because for quite a few problems, i've written more in comments than in actual text for the chapter
2023-01-04 10:09:48 +0100merijn(~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl)
2023-01-04 10:10:01 +0100 <Inst> and every program, so far, has been presented in at least 3 ways
2023-01-04 10:10:33 +0100 <Inst> refactoring fizzbuzz toward the traverse take cycle solution
2023-01-04 10:14:19 +0100merijn(~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl) (Ping timeout: 248 seconds)
2023-01-04 10:15:38 +0100gmg(~user@user/gehmehgeh) (Quit: Leaving)
2023-01-04 10:20:34 +0100zer0bitz(~zer0bitz@196.244.192.58) (Read error: Connection reset by peer)
2023-01-04 10:21:48 +0100machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 268 seconds)
2023-01-04 10:23:20 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net) (Ping timeout: 255 seconds)
2023-01-04 10:24:50 +0100zer0bitz(~zer0bitz@196.244.192.58)
2023-01-04 10:32:02 +0100freeside(~mengwong@103.252.202.159)
2023-01-04 10:32:03 +0100acidjnk(~acidjnk@p200300d6e7137a131414127c3bff1106.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2023-01-04 10:32:46 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:f0c4:47d2:c747:8246) (Remote host closed the connection)
2023-01-04 10:36:29 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net)
2023-01-04 10:38:22 +0100thongpv87(~thongpv87@2001:ee0:54ae:c1f0:dd4b:ad67:e33a:aacd)
2023-01-04 10:40:38 +0100thongpv(~thongpv87@2402:9d80:3b5:d7b1:8b6f:d6d2:c847:4f3) (Read error: Connection reset by peer)
2023-01-04 10:40:50 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net) (Ping timeout: 252 seconds)
2023-01-04 10:41:17 +0100chele(~chele@user/chele)
2023-01-04 10:42:04 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net)
2023-01-04 10:45:10 +0100acidjnk(~acidjnk@p200300d6e7137a137027572e00aa8f47.dip0.t-ipconnect.de)
2023-01-04 10:45:35 +0100thongpv(~thongpv87@14.246.240.163)
2023-01-04 10:46:47 +0100thongpv87(~thongpv87@2001:ee0:54ae:c1f0:dd4b:ad67:e33a:aacd) (Ping timeout: 252 seconds)
2023-01-04 10:50:44 +0100zer0bitz_(~zer0bitz@dsl-hkibng32-54fb48-32.dhcp.inet.fi)
2023-01-04 10:53:59 +0100zer0bitz(~zer0bitz@196.244.192.58) (Ping timeout: 246 seconds)
2023-01-04 11:00:17 +0100econo(uid147250@user/econo) (Quit: Connection closed for inactivity)
2023-01-04 11:03:05 +0100nut(~nut@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
2023-01-04 11:14:41 +0100panovia(~user@user/siracusa) (Quit: Bye!)
2023-01-04 11:16:06 +0100cheater_(~Username@user/cheater)
2023-01-04 11:16:45 +0100zer0bitz_(~zer0bitz@dsl-hkibng32-54fb48-32.dhcp.inet.fi) ()
2023-01-04 11:19:33 +0100cheater(~Username@user/cheater) (Ping timeout: 265 seconds)
2023-01-04 11:19:41 +0100cheater_cheater
2023-01-04 11:20:43 +0100califax(~califax@user/califx) (Remote host closed the connection)
2023-01-04 11:22:53 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net)
2023-01-04 11:23:33 +0100califax(~califax@user/califx)
2023-01-04 11:27:29 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net) (Ping timeout: 260 seconds)
2023-01-04 11:33:16 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:f0c4:47d2:c747:8246)
2023-01-04 11:36:11 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 264 seconds)
2023-01-04 11:36:31 +0100gnalzo(~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
2023-01-04 11:37:05 +0100tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz)
2023-01-04 11:37:40 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:f0c4:47d2:c747:8246) (Ping timeout: 252 seconds)
2023-01-04 11:38:40 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915)
2023-01-04 11:40:42 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net)
2023-01-04 11:41:51 +0100thongpv(~thongpv87@14.246.240.163) (Ping timeout: 256 seconds)
2023-01-04 11:42:10 +0100troydm(~troydm@host-176-37-124-197.b025.la.net.ua) (Changing host)
2023-01-04 11:42:10 +0100troydm(~troydm@user/troydm)
2023-01-04 11:42:27 +0100pyrex_(~pyrex@2601:645:8781:1c90:5c90:3e18:3b4f:64f1)
2023-01-04 11:44:42 +0100thongpv(~thongpv87@2402:9d80:3b5:d7b1:5f13:eb94:818a:a1cc)
2023-01-04 11:46:43 +0100pyrex(~pyrex@user/pyrex) (Ping timeout: 260 seconds)
2023-01-04 11:48:17 +0100notzmv(~zmv@user/notzmv)
2023-01-04 11:50:20 +0100tvandinther(~tvandinth@2404:4408:872e:6000:a872:ee05:5174:f12a)
2023-01-04 11:50:41 +0100beteigeuze(~Thunderbi@bl14-81-220.dsl.telepac.pt)
2023-01-04 11:54:39 +0100tvandinther(~tvandinth@2404:4408:872e:6000:a872:ee05:5174:f12a) (Ping timeout: 260 seconds)
2023-01-04 11:56:12 +0100tvandinther(~tvandinth@2404:4408:872e:6000:a872:ee05:5174:f12a)
2023-01-04 11:56:35 +0100zer0bitz(~zer0bitz@dsl-hkibng32-54fb48-32.dhcp.inet.fi)
2023-01-04 11:57:40 +0100Guest9918(~finn@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
2023-01-04 11:57:44 +0100azimut(~azimut@gateway/tor-sasl/azimut)
2023-01-04 11:58:37 +0100boxscape_(~boxscape_@213.52.37.155) (Ping timeout: 252 seconds)
2023-01-04 11:58:50 +0100 <tvandinther> What's the general opinion on the Enum typeclass? It feels like a departure from using the type-system. I suppose it could be for interfacing a sum-type with external systems?
2023-01-04 11:59:01 +0100__monty__(~toonn@user/toonn)
2023-01-04 11:59:41 +0100 <Inst> https://pastebin.com/6hQ78LC4 if you want to look at my toilet, this is partial
2023-01-04 12:02:19 +0100nabaiste^(~nabaiste@76.145.185.103) (Ping timeout: 268 seconds)
2023-01-04 12:03:51 +0100zer0bitz(~zer0bitz@dsl-hkibng32-54fb48-32.dhcp.inet.fi) (Read error: Connection reset by peer)
2023-01-04 12:04:37 +0100 <mauke> > ['A' .. 'Z'] -- good for enumerating things
2023-01-04 12:04:39 +0100 <lambdabot> "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
2023-01-04 12:05:08 +0100zer0bitz(~zer0bitz@dsl-hkibng32-54fb48-32.dhcp.inet.fi)
2023-01-04 12:06:24 +0100 <mauke> > [minBound .. maxBound] :: [Bool]
2023-01-04 12:06:26 +0100 <lambdabot> [False,True]
2023-01-04 12:06:28 +0100NiceBird(~NiceBird@176.88.100.183)
2023-01-04 12:06:43 +0100 <tvandinther> Is that range syntax sugar for EnumFromTo
2023-01-04 12:08:46 +0100 <tvandinther> I also noticed that toEnum is a partial function. Is there a reason other than legacy that it doesn't return a Maybe?
2023-01-04 12:09:43 +0100elkcl(~elkcl@broadband-188-255-19-11.ip.moscow.rt.ru) (Remote host closed the connection)
2023-01-04 12:13:22 +0100 <chreekat> Why does it feel like a departure from the type system?
2023-01-04 12:13:59 +0100 <chreekat> > (toEnum 3) :: Bool
2023-01-04 12:14:00 +0100 <lambdabot> *Exception: Prelude.Enum.Bool.toEnum: bad argument
2023-01-04 12:14:11 +0100 <chreekat> You're right about that though
2023-01-04 12:14:55 +0100elkcl(~elkcl@broadband-188-255-19-11.ip.moscow.rt.ru)
2023-01-04 12:16:31 +0100 <tvandinther> The haskell type system gives us the ability to statically check a program but when we use a typeclass which implements partial functions we lose some guarantees.
2023-01-04 12:19:13 +0100 <tvandinther> I'm curious as to whether there are legitimate use cases for it besides de/serialisation. Also I wonder if the combination of Ord and Bounded can describe the ability to range across values. Perhaps I'm missing some cases though.
2023-01-04 12:22:19 +0100 <chreekat> I use it for enumeration. :P Like for creating Arbitrary instances
2023-01-04 12:26:57 +0100 <tvandinther> Oh I see. I thought that all algebraic data types could have their instances derived so you wouldn't need to define them.
2023-01-04 12:29:10 +0100mmhat(~mmh@p200300f1c7235bd5ee086bfffe095315.dip0.t-ipconnect.de)
2023-01-04 12:29:21 +0100mmhat(~mmh@p200300f1c7235bd5ee086bfffe095315.dip0.t-ipconnect.de) (Client Quit)
2023-01-04 12:32:01 +0100 <chreekat> It was an example
2023-01-04 12:32:36 +0100califax(~califax@user/califx) (Remote host closed the connection)
2023-01-04 12:33:08 +0100califax(~califax@user/califx)
2023-01-04 12:34:08 +0100 <chreekat> With Generics I suppose you'd never need Enum. But then you have Generics
2023-01-04 12:34:17 +0100 <mauke> automatic deriving only works for a small builtin set of classes
2023-01-04 12:34:27 +0100 <chreekat> Same goes for TH
2023-01-04 12:35:02 +0100 <[Leary]> tvandinther: The primary purpose of `Enum` is to support [a ..]/[a, b ..]/[a .. c]/[a, b .. c] list enumeration syntax, with `succ` and `pred` as a bonus on the side. `toEnum` and `fromEnum` can be considered shared implementation details of the aforementioned; you should just pretend they don't exist.
2023-01-04 12:36:06 +0100 <mauke> unless you need ord/chr but can't be bothered to import Data.Char
2023-01-04 12:36:39 +0100tvandinther(~tvandinth@2404:4408:872e:6000:a872:ee05:5174:f12a) (Ping timeout: 260 seconds)
2023-01-04 12:40:28 +0100Teacup(~teacup@user/teacup) (Quit: Teacup)
2023-01-04 12:41:55 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net) (Ping timeout: 256 seconds)
2023-01-04 12:43:19 +0100cheater(~Username@user/cheater) (Ping timeout: 260 seconds)
2023-01-04 12:43:53 +0100tvandinther(~tvandinth@2404:4408:872e:6000:a872:ee05:5174:f12a)
2023-01-04 12:45:19 +0100cheater(~Username@user/cheater)
2023-01-04 12:45:49 +0100 <tvandinther> Fair enough. I suppose a linter can pick up on partial functions anyway should someone try to use them elsewhere in the codebase.
2023-01-04 12:46:28 +0100yaroot(~yaroot@p2790051-ipngn7801souka.saitama.ocn.ne.jp) (Remote host closed the connection)
2023-01-04 12:46:36 +0100Teacup(~teacup@user/teacup)
2023-01-04 12:47:08 +0100Teacup(~teacup@user/teacup) (Remote host closed the connection)
2023-01-04 12:47:08 +0100yaroot(~yaroot@p2790051-ipngn7801souka.saitama.ocn.ne.jp)
2023-01-04 12:47:34 +0100Teacup(~teacup@user/teacup)
2023-01-04 12:48:16 +0100Teacup(~teacup@user/teacup) (Read error: Connection reset by peer)
2023-01-04 12:48:22 +0100CiaoSen(~Jura@p200300c9572e35002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
2023-01-04 12:48:41 +0100Teacup(~teacup@user/teacup)
2023-01-04 12:49:22 +0100bgs(~bgs@212-85-160-171.dynamic.telemach.net)
2023-01-04 12:50:40 +0100tvandinther(~tvandinth@2404:4408:872e:6000:a872:ee05:5174:f12a) (Ping timeout: 260 seconds)
2023-01-04 12:56:52 +0100tvandinther(~tvandinth@2404:4408:872e:6000:a872:ee05:5174:f12a)
2023-01-04 12:57:22 +0100coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot)
2023-01-04 12:58:44 +0100coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba)
2023-01-04 12:59:24 +0100n0den1te(~n0den1te@223.178.87.4)
2023-01-04 13:01:18 +0100tvandinther(~tvandinth@2404:4408:872e:6000:a872:ee05:5174:f12a) (Ping timeout: 255 seconds)
2023-01-04 13:02:54 +0100phma(~phma@host-67-44-208-6.hnremote.net) (Read error: Connection reset by peer)
2023-01-04 13:03:08 +0100 <merijn> The enum class is half decent, half awful
2023-01-04 13:03:35 +0100 <merijn> like the from/to Enum conversion is dreadful, the implicit assumption that every value is mapped to a single incrementing Int is also awful
2023-01-04 13:04:13 +0100 <merijn> enumFrom/enumFromTo/enumFromThen/enumFromThenTo are all pretty decent interfaces, but the implementation nonsense...yikes
2023-01-04 13:04:17 +0100phma(~phma@host-67-44-208-58.hnremote.net)
2023-01-04 13:04:30 +0100coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot)
2023-01-04 13:11:40 +0100titibandit(~titibandi@sunp.ient.rwth-aachen.de)
2023-01-04 13:12:24 +0100 <freeside> question ... I am in the market for a typeclass which takes the aggregate of a collection. For example, where lists of Nums are concerned, I want Sums and Products. I know this dichotomy already exists for Semigroup; is there a particular typeclass that helps me extract [1,2,3] = 6?
2023-01-04 13:12:55 +0100 <Rembane> freeside: Why doesn't Sum and mconcat work for you?
2023-01-04 13:13:09 +0100 <jackdk> Or more generally, Sum and Foldable
2023-01-04 13:13:48 +0100 <merijn> :t fold Sum
2023-01-04 13:13:49 +0100 <lambdabot> (Foldable ((->) a), Num a) => Sum a
2023-01-04 13:13:56 +0100 <byorgey> > foldMap Sum [1,2,3]
2023-01-04 13:13:58 +0100 <lambdabot> Sum {getSum = 6}
2023-01-04 13:14:04 +0100 <merijn> oh, right foldMap is what I want
2023-01-04 13:14:32 +0100 <merijn> (well, foldMap' now that it exists!)
2023-01-04 13:14:41 +0100 <byorgey> oooh, nice
2023-01-04 13:14:47 +0100 <freeside> context: I'm trying to implement the business concept of "pro rata" application of a function over a list of numbers, but i want to generalize so it'll work on things like Trees, not just lists
2023-01-04 13:15:37 +0100Guest9918(~finn@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 252 seconds)
2023-01-04 13:15:43 +0100 <byorgey> what is the "pro rata" application of a function?
2023-01-04 13:16:24 +0100 <Rembane> If I guess out loud, it sounds a bit like a scan
2023-01-04 13:17:55 +0100 <freeside> for example, if there are 100 Zurks available for distribution to { Alice:5, Bob: 3, Carol:2 }, then Alice would get 50, Bob would get 30, and Carol would get 20
2023-01-04 13:18:52 +0100 <freeside> so, most basically, (* 100) . (/ sum abc) <$> abc
2023-01-04 13:19:51 +0100tremon(~tremon@83-85-213-108.cable.dynamic.v4.ziggo.nl)
2023-01-04 13:21:40 +0100 <freeside> yeah, Sum. I'll go think about that Sum more.
2023-01-04 13:21:44 +0100 <freeside> thank you all
2023-01-04 13:23:04 +0100finsternis(~X@23.226.237.192) (Read error: Connection reset by peer)
2023-01-04 13:25:15 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net)
2023-01-04 13:28:47 +0100thibaut(7efad7d72e@jabberfr.org)
2023-01-04 13:29:53 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net) (Ping timeout: 268 seconds)
2023-01-04 13:31:30 +0100titibandit(~titibandi@sunp.ient.rwth-aachen.de) (Quit: Leaving.)
2023-01-04 13:31:40 +0100thibauttitibandit
2023-01-04 13:32:36 +0100titibandit2(~titibandi@sunp.ient.rwth-aachen.de)
2023-01-04 13:34:14 +0100 <freeside> now reading https://blog.plover.com/prog/haskell/numbers.html to figure out how to constrain my `a` so I can / it
2023-01-04 13:34:33 +0100 <freeside> i think I need not just Num a but Fractional a
2023-01-04 13:36:42 +0100 <Rembane> freeside: The simplest way to handle that is to write your own `divMyStuff` function so you don't need a whole `Num` implementation and `Fractional` implementation.
2023-01-04 13:36:57 +0100 <ncf> :t sum
2023-01-04 13:36:59 +0100 <lambdabot> (Foldable t, Num a) => t a -> a
2023-01-04 13:39:00 +0100coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba)
2023-01-04 13:40:17 +0100jmdaemon(~jmdaemon@user/jmdaemon) (Ping timeout: 246 seconds)
2023-01-04 13:43:40 +0100 <freeside> i've got `prorate f xs = f . (/ sum xs) <$> xs`, and for that to work, i've typed it as `(Fractional a, Functor f, Foldable f) => (a -> a) -> f a -> f a`
2023-01-04 13:46:52 +0100xff0x(~xff0x@p3326132-ipngn2103sapodori.hokkaido.ocn.ne.jp)
2023-01-04 13:51:03 +0100Guest75(~Guest75@pd95f6c86.dip0.t-ipconnect.de)
2023-01-04 13:51:59 +0100 <Guest75> Hello all! :) Can you help me with some benchmarking questio for my hobby project? I am writing a chess hobby project where I have an algorithm that sometimes calls stockfish (chess solver) and some heuristic that hopefully minimizes the amount of calls to stockfish (as this is the costliest part of my algorithm). As I change the heuristic function
2023-01-04 13:52:00 +0100 <Guest75> and add things like a cache, I would like to not only observer the amount of speed up I hopefully achieve, but also concretely the amount of solver call reduction I achieved.
2023-01-04 13:52:00 +0100 <Guest75> Is there a way to do this? (My ugly workaround so far would be to simply log the amount of solver calls and use them afterwards, but I would really like to use the benchmark-comparing features of tasty-bench to also see how the calling of external solver calls progresses.)
2023-01-04 13:52:01 +0100 <Guest75> Thank you for your time!
2023-01-04 13:58:27 +0100cfricke(~cfricke@user/cfricke)
2023-01-04 13:58:35 +0100kuribas(~user@ip-188-118-57-242.reverse.destiny.be)
2023-01-04 13:59:25 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net)
2023-01-04 14:00:06 +0100Guest7590(~Guest75@pd95f6c86.dip0.t-ipconnect.de)
2023-01-04 14:01:03 +0100Guest7590(~Guest75@pd95f6c86.dip0.t-ipconnect.de) (Client Quit)
2023-01-04 14:01:08 +0100Guest75(~Guest75@pd95f6c86.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2023-01-04 14:02:17 +0100ph88(~ph88@ip5f5af18e.dynamic.kabel-deutschland.de)
2023-01-04 14:02:47 +0100 <ph88> does someone know of a haskell webserver framework (view, routing etc) that also has websocket build in ?
2023-01-04 14:03:40 +0100cfricke(~cfricke@user/cfricke) (Quit: WeeChat 3.7.1)
2023-01-04 14:03:44 +0100 <freeside> https://hackage.haskell.org/package/servant-websockets
2023-01-04 14:03:50 +0100cfricke(~cfricke@user/cfricke)
2023-01-04 14:05:52 +0100 <ph88> thanks @freeside
2023-01-04 14:07:54 +0100potash(~foghorn@user/foghorn) (Read error: Connection reset by peer)
2023-01-04 14:10:58 +0100potash(~foghorn@user/foghorn)
2023-01-04 14:11:36 +0100Guest75(~Guest75@p200300c8cf01aa92dd5467930ce044c7.dip0.t-ipconnect.de)
2023-01-04 14:12:47 +0100elevenkb(~elevenkb@105.226.98.103)
2023-01-04 14:13:56 +0100Guest8366(uid583562@id-583562.hampstead.irccloud.com)
2023-01-04 14:18:03 +0100Guest75(~Guest75@p200300c8cf01aa92dd5467930ce044c7.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2023-01-04 14:26:17 +0100 <eldritchcookie[4> how do i quickcheck a monadic value?
2023-01-04 14:27:51 +0100Guest75(~Guest75@p200300c8cf01aa923c9d9e449c9a7fb0.dip0.t-ipconnect.de)
2023-01-04 14:28:27 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 256 seconds)
2023-01-04 14:28:33 +0100 <eldritchcookie[4> is there a combinator for monadic values?
2023-01-04 14:29:07 +0100 <int-e> @check return 1 === Just 1
2023-01-04 14:29:08 +0100 <lambdabot> +++ OK, passed 100 tests.
2023-01-04 14:29:45 +0100 <int-e> I think "monadic" is way too general, you'll have to work with a concrete monad.
2023-01-04 14:30:32 +0100gnalzo(~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.7.1)
2023-01-04 14:34:29 +0100 <Guest75> (Rephrasing my question, I think it was way to wordy for IRC) I want to benchmark a functions output (rather than its execution time), is there a way to do that with tasty-bench or criterion? (Context: the function is an optimizing function that makes calls to external solvers. With the function result, I also return the total number of calls to
2023-01-04 14:34:30 +0100 <Guest75> external solvers - this is the metric I want to reduce)
2023-01-04 14:41:43 +0100Kaiepi(~Kaiepi@nwcsnbsc03w-47-55-159-86.dhcp-dynamic.fibreop.nb.bellaliant.net) (Ping timeout: 260 seconds)
2023-01-04 14:44:09 +0100 <dgpratt[m]> supposing someone wanted to play around with dependent types in Haskell, is the singletons package still the state of the art for that, or am I looking at outdated materials?
2023-01-04 14:44:11 +0100malc(~malc@109-252-130-144.dynamic.spd-mgts.ru)
2023-01-04 14:48:06 +0100cfricke(~cfricke@user/cfricke) (Quit: WeeChat 3.7.1)
2023-01-04 14:48:16 +0100cfricke(~cfricke@user/cfricke)
2023-01-04 14:49:33 +0100 <geekosaur> singletons is still it
2023-01-04 14:49:42 +0100 <geekosaur> dependent haskell is still in development
2023-01-04 14:50:02 +0100 <geekosaur> you'd probably be better off looking at idris, tbh
2023-01-04 14:50:12 +0100kuttenbrunzer(~kuttenbru@2a02:8108:8b80:1d48:290b:c79d:b803:7d5c)
2023-01-04 14:51:38 +0100 <dgpratt[m]> ok, thanks geekosaur
2023-01-04 14:52:03 +0100epolanski(uid312403@id-312403.helmsley.irccloud.com)
2023-01-04 14:55:16 +0100igghibu(~igghibu@91.193.5.38)
2023-01-04 14:56:30 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net)
2023-01-04 14:59:26 +0100shriekingnoise(~shrieking@186.137.175.87)
2023-01-04 15:03:05 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net) (Ping timeout: 260 seconds)
2023-01-04 15:09:37 +0100titibandit2(~titibandi@sunp.ient.rwth-aachen.de) (Quit: Leaving.)
2023-01-04 15:11:03 +0100thegeekinside(~thegeekin@189.217.82.244)
2023-01-04 15:14:11 +0100thegeekinside(~thegeekin@189.217.82.244) (Read error: Connection reset by peer)
2023-01-04 15:14:17 +0100Kaiepi(~Kaiepi@nwcsnbsc03w-47-55-159-86.dhcp-dynamic.fibreop.nb.bellaliant.net)
2023-01-04 15:14:21 +0100thegeekinside(~thegeekin@189.217.82.244)
2023-01-04 15:22:40 +0100ubert(~Thunderbi@p200300ecdf264ec8801a36d606119386.dip0.t-ipconnect.de)
2023-01-04 15:25:12 +0100AlexZenon(~alzenon@178.34.150.228) (Ping timeout: 268 seconds)
2023-01-04 15:25:12 +0100Alex_test(~al_test@178.34.150.228) (Ping timeout: 268 seconds)
2023-01-04 15:25:41 +0100igghibu(~igghibu@91.193.5.38) (Quit: igghibu)
2023-01-04 15:26:35 +0100igghibu(~igghibu@91.193.5.38)
2023-01-04 15:28:59 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 264 seconds)
2023-01-04 15:29:18 +0100Alex_test(~al_test@178.34.150.228)
2023-01-04 15:29:39 +0100AlexZenon(~alzenon@178.34.150.228)
2023-01-04 15:31:00 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net)
2023-01-04 15:32:58 +0100cheater_(~Username@user/cheater)
2023-01-04 15:34:10 +0100Guest75(~Guest75@p200300c8cf01aa923c9d9e449c9a7fb0.dip0.t-ipconnect.de) (Quit: Client closed)
2023-01-04 15:34:32 +0100cheater(~Username@user/cheater) (Ping timeout: 252 seconds)
2023-01-04 15:34:32 +0100cheater_cheater
2023-01-04 15:35:21 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net) (Ping timeout: 252 seconds)
2023-01-04 15:36:26 +0100 <jean-paul[m]> I am trying to update and improve the test suite for the fec module. The tests seem to fail but the cabal test does not report them as failing. The setup is pretty rudementary - https://github.com/exarkun/zfec/blob/haskell-binding-parameter-validation-fixes/haskell/test/FECTe… - but I don't see why a failing test wouldn't cause main to throw, causing the test process to exit with a non-zero code, causing cabal test to
2023-01-04 15:36:26 +0100 <jean-paul[m]> consider it failed. Anyone know?
2023-01-04 15:37:20 +0100 <jean-paul[m]> At first I thought mapM_ would throw away the failures but the test functions only return m () anyway so then I thought failures must be IO exceptions which will propagate anyway. Wrong?
2023-01-04 15:39:51 +0100raym(~ray@user/raym)
2023-01-04 15:41:55 +0100mc47(~mc47@xmonad/TheMC47)
2023-01-04 15:45:32 +0100 <jean-paul[m]> Now I think perhaps quickCheck just doesn't fail when one of the properties fails.
2023-01-04 15:47:38 +0100igghibu(~igghibu@91.193.5.38) (Quit: igghibu)
2023-01-04 15:47:45 +0100 <jean-paul[m]> Mmm okay, yes, docs say it just prints to stdout, and there's other runners if you want the result as a value.
2023-01-04 15:48:08 +0100igghibu(~igghibu@91.193.5.38)
2023-01-04 15:49:35 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net)
2023-01-04 15:50:07 +0100ddellacosta(~ddellacos@143.244.47.85)
2023-01-04 15:54:07 +0100 <jean-paul[m]> hspec to the rescue
2023-01-04 15:55:14 +0100 <Hecate> hello hello
2023-01-04 15:55:19 +0100 <Hecate> salut jean-paul[m]
2023-01-04 15:59:54 +0100mikail(~mikail@2a02:c7c:6117:e00:a46b:e624:7683:e24e)
2023-01-04 16:00:38 +0100cfricke(~cfricke@user/cfricke) (Quit: WeeChat 3.7.1)
2023-01-04 16:02:22 +0100gnalzo(~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
2023-01-04 16:10:22 +0100trev(~trev@user/trev) (Remote host closed the connection)
2023-01-04 16:20:36 +0100Guest9918(~finn@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
2023-01-04 16:25:16 +0100jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
2023-01-04 16:25:38 +0100Guest9918(~finn@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 268 seconds)
2023-01-04 16:26:17 +0100 <freeside> so, i went and upgraded my thang to operate inside StateT Foo IO Bar, and now I need to fix a scanl that previously called a Bar -> [a] -> Bar
2023-01-04 16:27:12 +0100ephaptic(~mbomba@user/ephaptic)
2023-01-04 16:27:56 +0100 <freeside> is there a way to tweak my scanl without going to the trouble of importing Control.Scanl and upgrading other things to be in ScanM?
2023-01-04 16:28:38 +0100 <freeside> my thang is now Bar -> [a] -> StateT Foo IO Bar, so presumably the scanl needs to now operate monadically
2023-01-04 16:28:58 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net)
2023-01-04 16:30:10 +0100 <Rembane> freeside: `pure . scanl` could work.
2023-01-04 16:31:37 +0100 <geekosaur> would need to see actual code, but it might be as simple as doing it inside of a `let` instead of with `<-`
2023-01-04 16:34:48 +0100freesidetries every possible combination
2023-01-04 16:35:06 +0100igghibu_(~igghibu@91.193.5.27)
2023-01-04 16:37:01 +0100 <freeside> i have pushed actual code: https://github.com/smucclaw/complaw/blob/primary/doc/ex-de-20221220/detax/src/Lib.hs#L281
2023-01-04 16:37:12 +0100mikail(~mikail@2a02:c7c:6117:e00:a46b:e624:7683:e24e) (Quit: Leaving)
2023-01-04 16:37:56 +0100eggplantade(~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net)
2023-01-04 16:38:00 +0100igghibu(~igghibu@91.193.5.38) (Ping timeout: 272 seconds)
2023-01-04 16:40:22 +0100 <ncf> :t scanlM
2023-01-04 16:40:24 +0100 <lambdabot> error:
2023-01-04 16:40:24 +0100 <lambdabot> • Variable not in scope: scanlM
2023-01-04 16:40:24 +0100 <lambdabot> • Perhaps you meant one of these:
2023-01-04 16:40:34 +0100 <freeside> :t scanM
2023-01-04 16:40:35 +0100 <lambdabot> error:
2023-01-04 16:40:35 +0100 <lambdabot> • Variable not in scope: scanM
2023-01-04 16:40:35 +0100 <lambdabot> • Perhaps you meant one of these:
2023-01-04 16:41:06 +0100 <freeside> it's from https://hackage.haskell.org/package/foldl-1.4.13/docs/Control-Scanl.html
2023-01-04 16:41:57 +0100 <freeside> i suppose i could use `impurely` but am i barking up the wrong tree with this approach?
2023-01-04 16:41:59 +0100 <ncf> if you don't want to use foldl you can just define scanlM yourself, it's short enough
2023-01-04 16:42:17 +0100razetime(~Thunderbi@49.207.222.244) (Remote host closed the connection)
2023-01-04 16:42:22 +0100eggplantade(~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 252 seconds)
2023-01-04 16:43:11 +0100Sgeo(~Sgeo@user/sgeo)
2023-01-04 16:43:33 +0100mikoto-chan(~mikoto-ch@2001:999:700:e088:9765:525:76a5:7915)
2023-01-04 16:44:57 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:c45:1b19:a42f:d5f4) (Quit: WeeChat 2.8)
2023-01-04 16:47:15 +0100acidjnk(~acidjnk@p200300d6e7137a137027572e00aa8f47.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2023-01-04 16:49:34 +0100n0den1te(~n0den1te@223.178.87.4) (Quit: leaving)
2023-01-04 16:49:47 +0100mikoto-chan(~mikoto-ch@2001:999:700:e088:9765:525:76a5:7915) (Ping timeout: 252 seconds)
2023-01-04 16:49:59 +0100ephaptic(~mbomba@user/ephaptic) (Quit: WeeChat 3.7.1)
2023-01-04 16:50:12 +0100mbomba(~mbomba@cpe1c9eccdb0b75-cm1c9eccdb0b73.cpe.net.cable.rogers.com)
2023-01-04 16:50:33 +0100 <freeside> i try
2023-01-04 16:50:43 +0100mbomba(~mbomba@cpe1c9eccdb0b75-cm1c9eccdb0b73.cpe.net.cable.rogers.com) (Client Quit)
2023-01-04 16:50:52 +0100waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340)
2023-01-04 16:51:54 +0100ub(~Thunderbi@p200300ecdf264ec8f81900d1912e72e5.dip0.t-ipconnect.de)
2023-01-04 16:52:23 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net) (Ping timeout: 260 seconds)
2023-01-04 16:53:15 +0100elevenkb(~elevenkb@105.226.98.103) (Quit: Client closed)
2023-01-04 16:54:13 +0100machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net)
2023-01-04 16:55:04 +0100xff0x(~xff0x@p3326132-ipngn2103sapodori.hokkaido.ocn.ne.jp) (Ping timeout: 252 seconds)
2023-01-04 16:55:57 +0100ephaptic(~mbomba@user/ephaptic)
2023-01-04 16:56:01 +0100ulvarrefr(~user@188.124.56.153)
2023-01-04 16:56:26 +0100acidjnk(~acidjnk@p200300d6e7137a34b1a3218fa39d995d.dip0.t-ipconnect.de)
2023-01-04 17:00:01 +0100 <freeside> how does this look for a scanlM? https://github.com/smucclaw/complaw/blob/primary/doc/ex-de-20221220/detax/src/Lib.hs#L285-L290
2023-01-04 17:00:10 +0100kadoban(~kadoban@user/kadoban) (Quit: You have been kicked for being idle)
2023-01-04 17:01:10 +0100 <freeside> https://hackage.haskell.org/package/base-4.17.0.0/docs/src/GHC.List.html#scanl has the comment "This peculiar arrangement is necessary to prevent scanl being rewritten in its own right-hand side." but it's not immediately obvious to me what that means
2023-01-04 17:01:11 +0100kadoban(~kadoban@user/kadoban)
2023-01-04 17:02:57 +0100 <c_wraith> freeside: it's about an interaction with the RULES pragmas after it
2023-01-04 17:03:16 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 252 seconds)
2023-01-04 17:03:21 +0100 <c_wraith> nothing to worry about if you aren't writing RULES pragmas
2023-01-04 17:03:45 +0100ephaptic(~mbomba@user/ephaptic) (Quit: WeeChat 3.7.1)
2023-01-04 17:04:57 +0100 <geekosaur> if you scroll down a bit you'll find the Note [scanl rewrite rules], which explains what's going on. but if you aren't making rewrite rules for your `scanlM`, you don't need to care
2023-01-04 17:05:18 +0100 <geekosaur> if you are, you probably want to read it over and see if you need to do something similar
2023-01-04 17:05:40 +0100 <freeside> i'm not. there is more cleverness there than i am equipped to handle at the moment.
2023-01-04 17:06:49 +0100 <geekosaur> notr really; it's just ensuring scanl itself doesn't get rewritten, by renaming its guts
2023-01-04 17:07:02 +0100 <c_wraith> Those rules are for foldr/build fusion anyway, and scanlM can't use that because the (>>=) interleaving isn't compatible with it
2023-01-04 17:07:09 +0100elevenkb(~elevenkb@105.226.98.103)
2023-01-04 17:07:27 +0100 <freeside> wahey, it works
2023-01-04 17:09:02 +0100 <[exa]> freeside: btw consider having the arguments strict (it's a left scan anyway). With IO actions this probably wouldn't hurt because stuff will get forced on the go, but with e.g. State stuff might start getting inconveniently inconvenient.
2023-01-04 17:09:45 +0100freesidesearches for the right place to insert a !
2023-01-04 17:10:02 +0100 <[exa]> look at scanl' in the other file you linked
2023-01-04 17:11:16 +0100 <[exa]> oh wait
2023-01-04 17:11:36 +0100 <[exa]> it's a scan, not a fold. Likely no need to worry then. :D
2023-01-04 17:11:39 +0100 <c_wraith> The equivalent here would be changing the last line to t `seq` return (t:ts)
2023-01-04 17:12:11 +0100 <c_wraith> err. No. It would be doing that in the previous line.
2023-01-04 17:12:35 +0100 <c_wraith> But it matters a lot less with than with scanl because this will probably fall apart on large lists anyway
2023-01-04 17:12:54 +0100 <c_wraith> it's already not capable of streaming results like scanl in general
2023-01-04 17:14:04 +0100 <c_wraith> this one is tough to do a more detailed strictness analysis on, because it depends on (>>=)
2023-01-04 17:14:55 +0100avicenzi(~avicenzi@193.86.92.180) (Ping timeout: 260 seconds)
2023-01-04 17:15:04 +0100 <c_wraith> I think there is *a* case where forcing t before the recursive call can matter.
2023-01-04 17:16:10 +0100 <c_wraith> yeah, if the monad's (>>=) is sufficiently lazy, like Identity, it can matter if you're skipping elements of the result list.
2023-01-04 17:16:28 +0100 <[exa]> c_wraith: e.g. for Identity this becomes a normal scanl, but I'd say weird stuff may start happening with say State.Lazy
2023-01-04 17:16:49 +0100 <c_wraith> [exa]: that stuff is the responsibility of (>>=) to handle.
2023-01-04 17:16:59 +0100 <freeside> i am very much hoping to engage in weird activity in the near future, but not today. I mean LogicT.
2023-01-04 17:17:16 +0100 <[exa]> LogicT <3
2023-01-04 17:17:44 +0100jakalx(~jakalx@base.jakalx.net) (Error from remote client)
2023-01-04 17:17:45 +0100 <[exa]> anyway yeah a bit of `seq` never hurt nobody, right?
2023-01-04 17:18:07 +0100 <c_wraith> definitely false. I've had people think they were optimizing libraries I was using and break them.
2023-01-04 17:18:14 +0100 <c_wraith> like... bytestring
2023-01-04 17:18:48 +0100[exa]was joking, yeah
2023-01-04 17:19:33 +0100 <c_wraith> still, given the recursive structure, I think scanlM' (forcing t before the recursive call), is almost always more appropriate.
2023-01-04 17:20:24 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net)
2023-01-04 17:30:50 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2023-01-04 17:31:50 +0100 <Inst> is there any use to making your own typeclasses in Haskell?
2023-01-04 17:31:54 +0100 <Inst> from what i've been told, it's rare
2023-01-04 17:32:28 +0100 <c_wraith> It's not rare, but it's not something you should assume you always need to do
2023-01-04 17:32:37 +0100 <Inst> I need a good project that non-trivially introduces typeclasses at the newbie level
2023-01-04 17:32:54 +0100 <c_wraith> A pretty-printer is a common example
2023-01-04 17:33:01 +0100 <Inst> i'm working on a journal writer and reader (with optional encryption) to motivate introducing datatypes, record syntax, etc
2023-01-04 17:33:12 +0100 <c_wraith> It needs to vary behavior with all kinds of input types
2023-01-04 17:33:17 +0100 <dgpratt[m]> @pl f xs yx = g (zip xs ys)
2023-01-04 17:33:17 +0100 <lambdabot> f = const . g . flip zip ys
2023-01-04 17:33:17 +0100 <eldritchcookie[4> pick a library and write arbitrary instances for quickcheck
2023-01-04 17:33:18 +0100 <Inst> pretty-printer is just a pretty name for formatter, no?
2023-01-04 17:33:34 +0100 <dgpratt[m]> s/yx/ys/
2023-01-04 17:33:36 +0100 <c_wraith> it implies that the formatting is for fixed-width text display, sure
2023-01-04 17:33:48 +0100 <Inst> i've never done a pretty printer before
2023-01-04 17:33:57 +0100 <dgpratt[m]> @pl f xs ys = g (zip xs ys)
2023-01-04 17:33:57 +0100 <lambdabot> f = (g .) . zip
2023-01-04 17:34:08 +0100 <Inst> it's in Thinking Functionally with Haskell, I probably have the maturity at this point to be able to use it without too much trouble
2023-01-04 17:34:13 +0100 <[exa]> Inst: formatting may mean anything, pretty means humans will additionally like it
2023-01-04 17:34:23 +0100Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542)
2023-01-04 17:36:59 +0100 <Inst> bleh, it's too early to hook up https libraries
2023-01-04 17:37:04 +0100 <[exa]> Inst: have a look at package `pretty`, I find it super lovely
2023-01-04 17:38:47 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:9552:b93e:dc75:3765)
2023-01-04 17:39:59 +0100 <Inst> hmmm
2023-01-04 17:40:09 +0100 <Inst> looking at the concept, i.e, formatting data's show instances, etc
2023-01-04 17:40:37 +0100 <Inst> instancing i have a fairly good idea of "cool" code that uses it, like, a fib calculator that exploits the Num typeclass to get easy fast exponentiation
2023-01-04 17:41:09 +0100 <Inst> thanks for the suggestion
2023-01-04 17:41:19 +0100 <Inst> do you have any idea of data that someone might want to pretty print?
2023-01-04 17:42:24 +0100 <geekosaur> pretty much anything, which is where instancing comes in: anyone can implement a Pretty instance for their type
2023-01-04 17:43:23 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:9552:b93e:dc75:3765) (Ping timeout: 256 seconds)
2023-01-04 17:46:45 +0100kmein(~weechat@user/kmein) (Quit: ciao kakao)
2023-01-04 17:48:53 +0100kmein(~weechat@user/kmein)
2023-01-04 17:54:48 +0100kuribas(~user@ip-188-118-57-242.reverse.destiny.be) (Quit: ERC (IRC client for Emacs 27.1))
2023-01-04 17:54:55 +0100enoq(~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7)
2023-01-04 17:56:26 +0100kuttenbrunzer(~kuttenbru@2a02:8108:8b80:1d48:290b:c79d:b803:7d5c) (Quit: Leaving)
2023-01-04 17:56:44 +0100econo(uid147250@user/econo)
2023-01-04 18:01:31 +0100elkcl_(~elkcl@broadband-188-255-19-11.ip.moscow.rt.ru)
2023-01-04 18:02:23 +0100elkcl(~elkcl@broadband-188-255-19-11.ip.moscow.rt.ru) (Ping timeout: 252 seconds)
2023-01-04 18:02:23 +0100elkcl_elkcl
2023-01-04 18:03:13 +0100thongpv(~thongpv87@2402:9d80:3b5:d7b1:5f13:eb94:818a:a1cc) (Read error: Connection reset by peer)
2023-01-04 18:03:14 +0100thongpv87(~thongpv87@2402:9d80:3ba:1697:bf26:42c7:945d:2a94)
2023-01-04 18:06:02 +0100machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 272 seconds)
2023-01-04 18:08:39 +0100nabaiste^(~nabaiste@76.145.190.81)
2023-01-04 18:10:23 +0100nabaiste^(~nabaiste@76.145.190.81) (Remote host closed the connection)
2023-01-04 18:10:53 +0100ub(~Thunderbi@p200300ecdf264ec8f81900d1912e72e5.dip0.t-ipconnect.de) (Quit: ub)
2023-01-04 18:11:37 +0100shapr(~user@68.54.166.125)
2023-01-04 18:14:38 +0100elevenkb(~elevenkb@105.226.98.103) (Quit: Client closed)
2023-01-04 18:18:05 +0100igghibu_(~igghibu@91.193.5.27) (Quit: igghibu_)
2023-01-04 18:23:38 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net) (Ping timeout: 260 seconds)
2023-01-04 18:24:23 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net)
2023-01-04 18:25:22 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:9552:b93e:dc75:3765)
2023-01-04 18:25:39 +0100 <monochrom> The pretty-printing papers implicitly specify automatic deciding e.g. whether "foo; bar; baz;" is short enough to be one line or long enough to be 3 lines.
2023-01-04 18:27:42 +0100 <monochrom> which exceeds what's commonly known as code formatting because coding style guides do not offer a choice.
2023-01-04 18:28:43 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net) (Ping timeout: 256 seconds)
2023-01-04 18:28:53 +0100Guest5476(~m-mzmz6l@vmi833741.contaboserver.net)
2023-01-04 18:30:00 +0100cfricke(~cfricke@user/cfricke)
2023-01-04 18:30:11 +0100 <monochrom> AFAIK only two communities known of said pretty-printing notions, haskell's and sml's.
2023-01-04 18:30:20 +0100 <monochrom> s/known/know/
2023-01-04 18:30:23 +0100thegeekinside(~thegeekin@189.217.82.244) (Read error: Connection reset by peer)
2023-01-04 18:34:17 +0100pyrex_(~pyrex@2601:645:8781:1c90:5c90:3e18:3b4f:64f1) ()
2023-01-04 18:34:33 +0100pyrex(~pyrex@user/pyrex)
2023-01-04 18:34:48 +0100jakalx(~jakalx@base.jakalx.net)
2023-01-04 18:41:21 +0100coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot)
2023-01-04 18:43:26 +0100chele(~chele@user/chele) (Remote host closed the connection)
2023-01-04 18:44:39 +0100 <jean-paul[m]> Why does `B.take 10 . mconcat . repeat $ ("Hello world" :: Data.ByteString.ByteString)` take forever to evaluate?
2023-01-04 18:45:20 +0100wootehfoot(~wootehfoo@user/wootehfoot)
2023-01-04 18:45:34 +0100 <shapr> I think it tries to concat an infinite bytestring
2023-01-04 18:46:40 +0100 <Guest5476> try to use Data.ByteString.Lazy
2023-01-04 18:48:09 +0100motherfsck(~motherfsc@user/motherfsck)
2023-01-04 18:48:48 +0100 <jean-paul[m]> I expected that even with a strict ByteString, the result of mconcat would be lazy. But maybe it can't be because there's no such thing as part of a strict ByteString (and that's what you'd have to be working on for mconcat's result to be lazy?)
2023-01-04 18:53:21 +0100 <Guest5476> Yes, strict bs is a single memory span full of bytes, so you should allocate it before getting access, when lazy bs is a rope of 32kb(iirc) strict ones
2023-01-04 18:53:54 +0100 <Guest5476> - pointer to the single span
2023-01-04 18:54:38 +0100 <jean-paul[m]> `BL.take 10 . BL.cycle $ ("Hello world" :: BL.ByteString)` indeed is fine.
2023-01-04 18:58:50 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net)
2023-01-04 19:00:21 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net)
2023-01-04 19:00:31 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:9552:b93e:dc75:3765) (Remote host closed the connection)
2023-01-04 19:06:05 +0100nschoe(~q@141.101.51.197) (Quit: Switching off)
2023-01-04 19:07:07 +0100nasrudin__(~nasrudin_@wsip-174-64-239-10.sd.sd.cox.net)
2023-01-04 19:15:19 +0100remedan(~remedan@octo.cafe) (Ping timeout: 252 seconds)
2023-01-04 19:15:47 +0100CiaoSen(~Jura@p200300c9572e35002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 264 seconds)
2023-01-04 19:19:27 +0100remedan(~remedan@octo.cafe)
2023-01-04 19:27:41 +0100eggplantade(~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net)
2023-01-04 19:31:27 +0100machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net)
2023-01-04 19:33:51 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 260 seconds)
2023-01-04 19:34:08 +0100thegeekinside(~thegeekin@189.217.82.244)
2023-01-04 19:39:12 +0100eggplantade(~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2023-01-04 19:43:09 +0100tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
2023-01-04 19:46:38 +0100coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba)
2023-01-04 19:52:26 +0100unit73e(~emanuel@2001:818:e8dd:7c00:656:e5ff:fe72:9d36)
2023-01-04 19:53:55 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net) (Ping timeout: 260 seconds)
2023-01-04 19:54:58 +0100eggplantade(~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net)
2023-01-04 19:57:47 +0100mbuf(~Shakthi@49.204.120.17) (Quit: Leaving)
2023-01-04 20:00:39 +0100jakalx(~jakalx@base.jakalx.net) (Disconnected: Replaced by new connection)
2023-01-04 20:00:39 +0100jakalx(~jakalx@base.jakalx.net)
2023-01-04 20:04:12 +0100NiceBird(~NiceBird@176.88.100.183) (Quit: Leaving)
2023-01-04 20:05:07 +0100NiceBird(~NiceBird@176.88.100.183)
2023-01-04 20:11:07 +0100fizbin(~fizbin@user/fizbin)
2023-01-04 20:13:14 +0100thegeekinside(~thegeekin@189.217.82.244) (Remote host closed the connection)
2023-01-04 20:14:28 +0100machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 260 seconds)
2023-01-04 20:17:24 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net)
2023-01-04 20:21:51 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net) (Ping timeout: 255 seconds)
2023-01-04 20:22:17 +0100ephaptic(~ephaptic@user/ephaptic)
2023-01-04 20:28:42 +0100gmg(~user@user/gehmehgeh)
2023-01-04 20:29:18 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net)
2023-01-04 20:30:30 +0100 <eldritchcookie[4> how can i save my spliced code from template haskell?
2023-01-04 20:32:14 +0100 <geekosaur> ghc -ddump-splices
2023-01-04 20:33:01 +0100 <eldritchcookie[4> it produces code with wrong prrag
2023-01-04 20:33:02 +0100 <eldritchcookie[4> pragmas
2023-01-04 20:33:47 +0100zeenk(~zeenk@2a02:2f04:a110:ac00::7fe) (Ping timeout: 264 seconds)
2023-01-04 20:34:03 +0100 <geekosaur> it should produce code with no pragmas, since it's just the inserted code and not a full program
2023-01-04 20:34:27 +0100 <geekosaur> it can't be used by itself
2023-01-04 20:37:22 +0100 <eldritchcookie[4> instance declared with instanceWithOverlapD are produced with related pragmas
2023-01-04 20:37:53 +0100 <eldritchcookie[4> but wrongly
2023-01-04 20:38:36 +0100 <geekosaur> that sounds like a ghc bug, then
2023-01-04 20:39:27 +0100zeenk(~zeenk@2a02:2f04:a110:ac00::7fe)
2023-01-04 20:40:14 +0100 <eldritchcookie[4> they work normally just the code dumped with -ddump-splices is wrong as it misses the { of a OVERLAPS pragma
2023-01-04 20:40:26 +0100 <eldritchcookie[4> the problem is probably on the pretty printer
2023-01-04 20:41:20 +0100caryhartline(~caryhartl@2600:1700:2d0:8d30:4c56:2515:e4a9:736c)
2023-01-04 20:41:53 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net) (Ping timeout: 256 seconds)
2023-01-04 20:43:26 +0100 <eldritchcookie[4> actually brb will test if the pretty printer works normally
2023-01-04 20:44:05 +0100zeenk(~zeenk@2a02:2f04:a110:ac00::7fe) (Ping timeout: 246 seconds)
2023-01-04 20:45:28 +0100freeside(~mengwong@103.252.202.159) (Ping timeout: 252 seconds)
2023-01-04 20:45:51 +0100beefbambi(~beefbambi@2401:4900:230d:f57c:538c:d7cc:50c0:e377) (Read error: Connection reset by peer)
2023-01-04 20:47:49 +0100beefbambi(~beefbambi@183.82.24.253)
2023-01-04 20:47:58 +0100thegeekinside(~thegeekin@189.217.82.244)
2023-01-04 20:51:54 +0100beefbambi(~beefbambi@183.82.24.253) (Read error: Connection reset by peer)
2023-01-04 20:53:15 +0100freeside(~mengwong@103.252.202.159)
2023-01-04 20:53:41 +0100nattiestnate(~nate@2001:448a:20a3:c2e5:71b9:a710:2866:667f)
2023-01-04 20:53:58 +0100nattiestnate(~nate@2001:448a:20a3:c2e5:71b9:a710:2866:667f) (Client Quit)
2023-01-04 20:54:29 +0100nattiestnate(~nate@2001:448a:20a3:c2e5:71b9:a710:2866:667f)
2023-01-04 20:57:26 +0100eggplantade(~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2023-01-04 20:57:37 +0100freeside(~mengwong@103.252.202.159) (Ping timeout: 252 seconds)
2023-01-04 20:57:50 +0100nattiestnate(~nate@2001:448a:20a3:c2e5:71b9:a710:2866:667f) (Client Quit)
2023-01-04 21:02:56 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net)
2023-01-04 21:03:23 +0100nasrudin__(~nasrudin_@wsip-174-64-239-10.sd.sd.cox.net) (Ping timeout: 248 seconds)
2023-01-04 21:04:33 +0100jmdaemon(~jmdaemon@user/jmdaemon)
2023-01-04 21:09:18 +0100waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Quit: WeeChat 3.7.1)
2023-01-04 21:10:13 +0100freeside(~mengwong@103.252.202.159)
2023-01-04 21:16:25 +0100mechap(~mechap@user/mechap) (Ping timeout: 260 seconds)
2023-01-04 21:18:10 +0100talismanick(~talismani@76.133.152.122) (Ping timeout: 260 seconds)
2023-01-04 21:18:14 +0100mechap(~mechap@user/mechap)
2023-01-04 21:18:53 +0100 <jean-paul[m]> Sometimes my HSpec / QuickCheck test suite fails like this:... (full message at <https://libera.ems.host/_matrix/media/v3/download/libera.chat/4a9fe3954041fdd2f00af9259aef0a17b2ac…>)
2023-01-04 21:19:54 +0100beefbambi(~beefbambi@183.82.24.253)
2023-01-04 21:24:40 +0100Kaipei(~Kaiepi@nwcsnbsc03w-47-55-159-86.dhcp-dynamic.fibreop.nb.bellaliant.net)
2023-01-04 21:25:31 +0100jinsun(~jinsun@user/jinsun)
2023-01-04 21:28:25 +0100Kaiepi(~Kaiepi@nwcsnbsc03w-47-55-159-86.dhcp-dynamic.fibreop.nb.bellaliant.net) (Ping timeout: 252 seconds)
2023-01-04 21:29:33 +0100panovia(~user@user/siracusa)
2023-01-04 21:30:34 +0100ephaptic(~ephaptic@user/ephaptic) (Quit: WeeChat 3.7.1)
2023-01-04 21:32:56 +0100sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Ping timeout: 255 seconds)
2023-01-04 21:33:05 +0100sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2023-01-04 21:33:23 +0100mechap(~mechap@user/mechap) (Ping timeout: 255 seconds)
2023-01-04 21:34:49 +0100waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340)
2023-01-04 21:34:56 +0100coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot)
2023-01-04 21:35:32 +0100mechap(~mechap@user/mechap)
2023-01-04 21:41:22 +0100beefbambi(~beefbambi@183.82.24.253) (Read error: Connection reset by peer)
2023-01-04 21:41:29 +0100beefbambi(~beefbambi@183.82.24.253)
2023-01-04 21:51:13 +0100cfricke(~cfricke@user/cfricke) (Quit: WeeChat 3.7.1)
2023-01-04 21:52:43 +0100finsternis(~X@23.226.237.192)
2023-01-04 21:55:35 +0100mc47(~mc47@xmonad/TheMC47) (Remote host closed the connection)
2023-01-04 21:55:57 +0100chexum_(~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
2023-01-04 21:56:15 +0100chexum(~quassel@gateway/tor-sasl/chexum)
2023-01-04 21:57:56 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:9552:b93e:dc75:3765)
2023-01-04 21:58:15 +0100igghibu(~igghibu@91.193.5.27)
2023-01-04 22:03:40 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:9552:b93e:dc75:3765) (Ping timeout: 260 seconds)
2023-01-04 22:06:55 +0100sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Ping timeout: 260 seconds)
2023-01-04 22:07:44 +0100sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2023-01-04 22:13:20 +0100cheater(~Username@user/cheater) (Ping timeout: 246 seconds)
2023-01-04 22:14:08 +0100cheater(~Username@user/cheater)
2023-01-04 22:28:55 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net) (Ping timeout: 252 seconds)
2023-01-04 22:32:33 +0100ph88(~ph88@ip5f5af18e.dynamic.kabel-deutschland.de) (Quit: Leaving)
2023-01-04 22:36:56 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:9552:b93e:dc75:3765)
2023-01-04 22:39:50 +0100NiceBird(~NiceBird@176.88.100.183) (Quit: Leaving)
2023-01-04 22:39:56 +0100gnalzo(~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.7.1)
2023-01-04 22:47:45 +0100 <lyxia> jean-paul[m]: I don't know if this is related but I've had weird errors with test frameworks because of <<loop>>
2023-01-04 22:53:12 +0100nasrudin__(~nasrudin_@174.78.11.32)
2023-01-04 22:54:54 +0100igghibu(~igghibu@91.193.5.27) (Quit: igghibu)
2023-01-04 22:57:53 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net)
2023-01-04 23:01:17 +0100fserucas(~fserucas@50.4.115.89.rev.vodafone.pt) (Ping timeout: 256 seconds)
2023-01-04 23:01:25 +0100coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba)
2023-01-04 23:01:32 +0100nut(~nut@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 268 seconds)
2023-01-04 23:04:05 +0100jakalx(~jakalx@base.jakalx.net) (Error from remote client)
2023-01-04 23:04:39 +0100Guest9918(~finn@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
2023-01-04 23:04:42 +0100jakalx(~jakalx@base.jakalx.net)
2023-01-04 23:16:54 +0100freeside(~mengwong@103.252.202.159) (Ping timeout: 255 seconds)
2023-01-04 23:20:00 +0100wootehfoot(~wootehfoo@user/wootehfoot) (Quit: Leaving)
2023-01-04 23:21:32 +0100machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net)
2023-01-04 23:30:16 +0100freeside(~mengwong@103.252.202.159)
2023-01-04 23:30:50 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net)
2023-01-04 23:31:19 +0100Guest8032(~Guest8032@cpe-70-115-146-139.austin.res.rr.com)
2023-01-04 23:32:39 +0100Guest8032(~Guest8032@cpe-70-115-146-139.austin.res.rr.com) (Read error: Connection reset by peer)
2023-01-04 23:37:12 +0100talismanick(~talismani@2601:644:9380:5c00::43de)
2023-01-04 23:41:32 +0100cheater(~Username@user/cheater) (Read error: Connection reset by peer)
2023-01-04 23:41:39 +0100talismanick(~talismani@2601:644:9380:5c00::43de) (Ping timeout: 255 seconds)
2023-01-04 23:42:17 +0100cheater(~Username@user/cheater)
2023-01-04 23:44:21 +0100Guest9918(~finn@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Quit: WeeChat 3.5)
2023-01-04 23:44:52 +0100fizbin(~fizbin@user/fizbin) (Ping timeout: 272 seconds)
2023-01-04 23:45:04 +0100coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot)
2023-01-04 23:51:21 +0100TheCoffeMaker(~TheCoffeM@user/thecoffemaker) (Read error: Connection reset by peer)
2023-01-04 23:52:56 +0100TheCoffeMaker(~TheCoffeM@user/thecoffemaker)
2023-01-04 23:55:44 +0100ubert1(~Thunderbi@p200300ecdf264e0ec4eebb70ae26d25f.dip0.t-ipconnect.de)
2023-01-04 23:55:49 +0100ubert(~Thunderbi@p200300ecdf264ec8801a36d606119386.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
2023-01-04 23:55:49 +0100ubert1ubert
2023-01-04 23:57:14 +0100nasrudin__(~nasrudin_@174.78.11.32) (Ping timeout: 252 seconds)
2023-01-04 23:57:29 +0100nasrudin__(~nasrudin_@174.78.11.32)
2023-01-04 23:58:29 +0100__monty__(~toonn@user/toonn) (Quit: leaving)