Home liberachat/#haskell: Logs Calendar

Logs on 2026-03-19 (liberachat/#haskell)

00:06:01 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
00:06:01 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
00:10:13 tri joins (~tri@ool-44c70bcb.dyn.optonline.net)
00:10:44 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
00:14:48 × tri quits (~tri@ool-44c70bcb.dyn.optonline.net) (Ping timeout: 264 seconds)
00:21:21 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
00:23:07 × peterbecich quits (~Thunderbi@71.84.33.135) (Ping timeout: 264 seconds)
00:25:35 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
00:36:44 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
00:44:33 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds)
00:55:26 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
00:59:21 × oskarw quits (~user@user/oskarw) (Read error: Connection reset by peer)
01:01:32 × xff0x quits (~xff0x@2405:6580:b080:900:d964:dd73:e5b:abe) (Ping timeout: 244 seconds)
01:02:10 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
01:02:19 karenw joins (~karenw@user/karenw)
01:05:27 × lisbeths quits (uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity)
01:10:50 peterbecich joins (~Thunderbi@71.84.33.135)
01:11:52 × craunts795335385 quits (~craunts@152.32.99.2) (Quit: The Lounge - https://thelounge.chat)
01:13:29 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
01:13:29 craunts795335385 joins (~craunts@152.32.99.2)
01:18:24 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
01:22:37 humasect joins (~humasect@dyn-192-249-132-90.nexicom.net)
01:25:13 vetkat joins (~vetkat@user/vetkat)
01:28:51 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
01:29:38 tri joins (~tri@ool-44c70bcb.dyn.optonline.net)
01:30:37 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 258 seconds)
01:33:05 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
01:34:05 × tri quits (~tri@ool-44c70bcb.dyn.optonline.net) (Ping timeout: 244 seconds)
01:40:29 × arandombit quits (~arandombi@user/arandombit) (Ping timeout: 268 seconds)
01:44:00 tri joins (~tri@ool-44c70bcb.dyn.optonline.net)
01:44:14 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
01:47:23 × Googulator quits (~Googulato@2a01-036d-0106-2025-8806-aadb-981f-aee0.pool6.digikabel.hu) (Quit: Client closed)
01:47:40 Googulator joins (~Googulato@2a01-036d-0106-2025-8806-aadb-981f-aee0.pool6.digikabel.hu)
01:48:55 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
01:55:25 arandombit joins (~arandombi@2a02:2455:8656:7100:881:bbf5:9bc2:908)
01:55:25 × arandombit quits (~arandombi@2a02:2455:8656:7100:881:bbf5:9bc2:908) (Changing host)
01:55:25 arandombit joins (~arandombi@user/arandombit)
01:55:45 × comonad quits (~comonad@p200300d02725570019adcc7019a0b087.dip0.t-ipconnect.de) (Ping timeout: 246 seconds)
01:57:31 × peterbecich quits (~Thunderbi@71.84.33.135) (Ping timeout: 276 seconds)
01:57:55 comonad joins (~comonad@p200300d02717df00adc247ef70bd7367.dip0.t-ipconnect.de)
01:59:37 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
01:59:57 xff0x joins (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp)
02:03:55 × tromp quits (~textual@2001:1c00:3487:1b00:1807:41fe:bcf2:17ca) (Ping timeout: 245 seconds)
02:04:04 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
02:15:00 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
02:19:57 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds)
02:23:24 × tremon quits (~tremon@83.80.159.219) (Quit: getting boxed in)
02:29:05 × She quits (haveident@libera/staff/she/her) (Quit: Either upgrades, or the world's ending.)
02:30:04 She joins (haveident@libera/staff/she/her)
02:30:23 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
02:36:50 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
02:44:24 × arandombit quits (~arandombi@user/arandombit) (Ping timeout: 246 seconds)
02:47:24 × rekahsoft quits (~rekahsoft@bras-base-orllon1103w-grc-20-76-67-111-168.dsl.bell.ca) (Remote host closed the connection)
02:53:33 merijn joins (~merijn@62.45.136.136)
02:58:34 × merijn quits (~merijn@62.45.136.136) (Ping timeout: 268 seconds)
03:03:50 × beagles quits (~beagles@142.163.133.95) (Remote host closed the connection)
03:04:09 beagles joins (~beagles@142.163.133.95)
03:04:31 × juri_ quits (~juri@217-114-215-140.pool.ovpn.com) (Ping timeout: 264 seconds)
03:05:53 juri_ joins (~juri@217-114-215-140.pool.ovpn.com)
03:08:52 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
03:09:38 <chromoblob> how could i have discovered haskell-links.org ?
03:13:31 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
03:15:14 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
03:16:43 × Googulator quits (~Googulato@2a01-036d-0106-2025-8806-aadb-981f-aee0.pool6.digikabel.hu) (Quit: Client closed)
03:16:59 Googulator joins (~Googulato@2a01-036d-0106-2025-8806-aadb-981f-aee0.pool6.digikabel.hu)
03:24:15 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
03:28:53 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
03:39:37 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
03:43:54 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
03:49:21 pipsquak-bird joins (~g@c-71-235-170-34.hsd1.ma.comcast.net)
03:49:30 <pipsquak-bird> is there a os in haskell?
03:49:33 <pipsquak-bird> any browser?
03:49:40 <pipsquak-bird> happstack.com looks awesome
03:52:31 <geekosaur> https://wiki.haskell.org/House
03:52:43 Googulator74 joins (~Googulato@84-236-126-177.pool.digikabel.hu)
03:52:48 <geekosaur> which mostly proved that Haskell's a lousy language for writing operating systems ☺
03:54:36 <haskellbridge> <sm> a good question chromoblob. You might have caught my original announcements, or you might have followed one of my mentions of it or of Haskell Map in chat. I don't think it ever got linked on haskell.org
03:54:58 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
03:55:58 × Googulator quits (~Googulato@2a01-036d-0106-2025-8806-aadb-981f-aee0.pool6.digikabel.hu) (Ping timeout: 240 seconds)
03:59:16 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
04:10:20 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
04:14:42 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds)
04:22:00 × chromoblob quits (~chromoblo@user/chromob1ot1c) (Ping timeout: 244 seconds)
04:22:43 chromoblob joins (~chromoblo@user/chromob1ot1c)
04:24:09 × traxex quits (traxex@user/traxex) (Ping timeout: 248 seconds)
04:24:39 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 258 seconds)
04:25:43 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
04:30:25 × tri quits (~tri@ool-44c70bcb.dyn.optonline.net) (Remote host closed the connection)
04:31:57 peterbecich joins (~Thunderbi@71.84.33.135)
04:32:05 × chromoblob quits (~chromoblo@user/chromob1ot1c) (Read error: Connection reset by peer)
04:32:20 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
04:32:26 chromoblob joins (~chromoblo@user/chromob1ot1c)
04:39:20 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
04:40:37 <Axman6> technically seL4 is built using Haskell as an intermediate language between Isabelle/HOL and C
04:43:11 × somemathguy quits (~somemathg@user/somemathguy) (Quit: WeeChat 4.1.1)
04:44:07 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
04:46:28 <pipsquak-bird> can I clone soemthign liek myth 2 in haskell?
04:46:34 tri joins (~tri@ool-44c70bcb.dyn.optonline.net)
04:46:46 <pipsquak-bird> Can I clone something like Myth 2 Soulblighter in Haskell?
04:47:16 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
04:51:24 × tri quits (~tri@ool-44c70bcb.dyn.optonline.net) (Ping timeout: 264 seconds)
04:54:43 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
04:55:12 × haritz quits (~hrtz@user/haritz) (Quit: ZNC 1.8.2+deb3.1+deb12u1 - https://znc.in)
04:56:14 <probie> There's no technical reason you can't, although you might have to worry about copyright infringement
04:56:30 <pipsquak-bird> hmmm
04:56:45 <pipsquak-bird> like can the computer coo ordinate a bunch of enemies ona map
04:56:56 <pipsquak-bird> and have them fight battles absed on iven damage n speed
04:57:00 <pipsquak-bird> rotate 360
04:57:09 <pipsquak-bird> simualte bombs and lghtnight bolts
04:57:12 <pipsquak-bird> hmmm
04:58:31 wickedjargon joins (~user@s0106f89e28d5699a.vc.shawcable.net)
04:59:12 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
05:02:58 <probie> pipsquak-bird: Pretty much any general purpose language (including Haskell) can do those things
05:05:10 × peterbecich quits (~Thunderbi@71.84.33.135) (Ping timeout: 245 seconds)
05:10:05 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
05:14:42 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
05:17:38 <pipsquak-bird> its magic to me
05:17:39 <pipsquak-bird> lol
05:17:43 <pipsquak-bird> I can kinda imagien in math
05:17:48 <pipsquak-bird> keeping track variables
05:17:55 <pipsquak-bird> and displaying dead limbs if overhit points
05:18:09 <pipsquak-bird> wow I am playing annoying level im outgunned n cant quite get it right
05:20:55 <probie> Has anyone tried writing an incremental parser library in Haskell? Incremental in the "tree-sitter" sense [updates can occur anywhere], not the "attoparsec" sense [feed more input]
05:24:55 <pipsquak-bird> how can happstack.com get even better?
05:25:00 <pipsquak-bird> web domiantion!
05:25:27 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
05:30:05 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
05:40:21 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
05:43:02 michalz joins (~michalz@185.246.207.217)
05:45:24 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
05:54:00 <Axman6> happstack is quite old, and I'm not sure there are many projects using it these days.
05:54:59 Square2 joins (~Square4@user/square)
05:55:03 <Axman6> I like a lot of the ideas from acid-state, but would love to see it modernised (there's been a few projects which try to do it but I don't think any have taken off)
05:55:43 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
06:00:55 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds)
06:02:34 <pipsquak-bird> lisp-clobber might be a model that works
06:02:38 <pipsquak-bird> log updates
06:02:45 <pipsquak-bird> no snapshot just log
06:02:48 <pipsquak-bird> pull plug
06:02:53 <pipsquak-bird> read in log
06:02:56 <pipsquak-bird> back uptodate?
06:06:20 <pipsquak-bird> lisp ISSR is interesting too
06:06:50 <pipsquak-bird> tiny javscipt thign to tell server what is being request, server makes html update....page only updates bit of hyml that changed...
06:06:57 <pipsquak-bird> I need to learn so much
06:06:58 <pipsquak-bird> no time!
06:11:06 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
06:13:30 tri joins (~tri@ool-44c70bcb.dyn.optonline.net)
06:15:43 <pipsquak-bird> is there a mouse friendly icewm like wm for freebsd/linux?
06:15:50 <pipsquak-bird> in haskell?
06:17:54 × tri quits (~tri@ool-44c70bcb.dyn.optonline.net) (Ping timeout: 248 seconds)
06:17:54 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
06:29:08 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
06:31:17 <mauke> the only haskell window manager I know of is xmonad
06:33:53 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
06:41:21 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
06:46:00 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
06:50:39 × gmg quits (~user@user/gehmehgeh) (Remote host closed the connection)
06:51:21 gmg joins (~user@user/gehmehgeh)
06:52:14 <gentauro> 23:29 < sshine> gentauro, https://gist.github.com/chiroptical/41d4ccc4c39cfe1f59bdd37279048510
06:52:18 <EvanR> whiplash reaction icewm is still a thin gwhoa
06:52:25 <gentauro> sshine: is that the `Don` notation? https://blog.stermon.org/articles/2017/10/24/fsharp-welcome-to-the-realworld-baby-don-notation.html
06:53:59 × marinelli quits (~weechat@gateway/tor-sasl/marinelli) (Quit: marinelli)
06:54:17 <gentauro> finally managed to get LSP to work with emacs. However, now I get messages like this -> `Name: Partial: ghc-internal/foldl1`
06:55:01 <gentauro> I'm aware that the computation is not `strict` and I'm fine with that. Is there a way to turn these kind of messages off?
06:56:28 <gentauro> the worst messages are the ones for Functor, Applicative and Monad instances. Using emacs in terminal mode and the "type signatures" are the same colour as code … Very confusing :o
06:56:46 merijn joins (~merijn@62.45.136.136)
06:58:10 <[exa]> re "not strict" you mean "not total" I assume?
07:00:10 <jreicher> gentauro: it's worth using GUI emacs for flymake-show-diagnostics-at-end-of-line 'fancy
07:00:14 <[exa]> (btw omg who did the baby shark monad, now I'll imagine the `>>` between daddysharks everytime I hear it)
07:01:09 × merijn quits (~merijn@62.45.136.136) (Ping timeout: 245 seconds)
07:07:58 sord937 joins (~sord937@gateway/tor-sasl/sord937)
07:08:12 × wickedjargon quits (~user@s0106f89e28d5699a.vc.shawcable.net) (Ping timeout: 264 seconds)
07:11:22 <gentauro> jreicher: what does that do?
07:11:43 <gentauro> like -> `(setq flymake-show-diagnostics-at-end-of-line 'fancy)`?
07:12:05 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
07:13:22 × driib3180 quits (~driib@vmi931078.contaboserver.net) (Quit: Ping timeout (120 seconds))
07:13:53 <jreicher> I would never use setq for a running session. only setopt
07:14:25 <jreicher> You can use setq if you're putting it in init.el and restarting though, if you want.
07:14:38 anselmschueler joins (~Thunderbi@user/schuelermine)
07:15:22 <jreicher> Actually I just reread (info "(flymake) Customizable variables") and it says it uses unicode graphics, so might work on terminal also. Worth a try.
07:15:28 × humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection)
07:15:47 humasect joins (~humasect@dyn-192-249-132-90.nexicom.net)
07:15:57 × Franciman quits (~Franciman@mx1.fracta.dev) (Ping timeout: 268 seconds)
07:16:16 × pierrot quits (~pi@user/pierrot) (Quit: ZNC 1.8.2 - http://znc.in)
07:16:36 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
07:16:57 × lortabac quits (~lortabac@mx1.fracta.dev) (Ping timeout: 268 seconds)
07:16:57 × nckx quits (~nckx@libera/staff/owl/nckx) (Ping timeout: 248 seconds)
07:17:05 pierrot joins (~pi@user/pierrot)
07:20:01 × pierrot quits (~pi@user/pierrot) (Client Quit)
07:23:06 CiaoSen joins (~Jura@p200300c9570792004e50ddfffe9b8922.dip0.t-ipconnect.de)
07:25:20 marinelli joins (~weechat@brrr.fr)
07:26:35 <gentauro> jreicher: yeah, I place stuff like that in `.emacs.d/init.el`
07:26:55 nckx joins (~nckx@libera/staff/owl/nckx)
07:26:57 pierrot joins (~pi@user/pierrot)
07:27:26 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
07:28:17 <jreicher> It's about the restart. Using setq requires a restart. setopt does not.
07:28:30 lortabac joins (~lortabac@mx1.fracta.dev)
07:32:07 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
07:32:45 × jreicher quits (~joelr@user/jreicher) (Quit: brb)
07:33:33 Franciman joins (~Franciman@mx1.fracta.dev)
07:34:13 jreicher joins (~joelr@user/jreicher)
07:34:39 × CiaoSen quits (~Jura@p200300c9570792004e50ddfffe9b8922.dip0.t-ipconnect.de) (Ping timeout: 272 seconds)
07:36:23 CiaoSen joins (~Jura@p549cb690.dip0.t-ipconnect.de)
07:38:11 × jreicher quits (~joelr@user/jreicher) (Client Quit)
07:40:10 jcarpenter2 joins (~lol@2603:3016:1e01:b980:9900:10f7:ff16:cae0)
07:40:51 × lol__ quits (~lol@2603:3016:1e01:b980:38fd:c90f:4f82:2f54) (Ping timeout: 246 seconds)
07:40:51 dtman34_ joins (~dtman34@2601:447:d183:2302:b0c5:8965:1c3f:d560)
07:41:12 × lol_ quits (~lol@2603:3016:1e01:b980:38fd:c90f:4f82:2f54) (Ping timeout: 246 seconds)
07:41:43 × dtman34 quits (~dtman34@c-73-242-68-179.hsd1.mn.comcast.net) (Ping timeout: 264 seconds)
07:42:05 lol_ joins (~lol@2603:3016:1e01:b980:9900:10f7:ff16:cae0)
07:42:20 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
07:42:29 <gentauro> this worked -> https://emacs-lsp.github.io/lsp-mode/page/settings/lens/#lsp-lens-enable
07:42:54 <gentauro> I'm very pedantic with 80-char lines and they were breaking indentation and stuff
07:42:57 <gentauro> jaiks
07:44:09 × humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection)
07:46:32 × ft quits (~ft@p508db341.dip0.t-ipconnect.de) (Quit: leaving)
07:49:21 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds)
07:49:49 Enrico63 joins (~Enrico63@host-79-27-153-132.retail.telecomitalia.it)
07:50:02 jreicher joins (~joelr@user/jreicher)
07:54:02 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
08:00:23 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
08:03:38 tri joins (~tri@ool-44c70bcb.dyn.optonline.net)
08:04:59 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
08:07:48 × tri quits (~tri@ool-44c70bcb.dyn.optonline.net) (Ping timeout: 246 seconds)
08:11:28 × jreicher quits (~joelr@user/jreicher) (Quit: brb)
08:21:51 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
08:22:12 jreicher joins (~joelr@user/jreicher)
08:22:16 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
08:23:28 humasect joins (~humasect@dyn-192-249-132-90.nexicom.net)
08:28:36 × humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Ping timeout: 264 seconds)
08:34:58 × Enrico63 quits (~Enrico63@host-79-27-153-132.retail.telecomitalia.it) (Ping timeout: 240 seconds)
08:43:11 merijn joins (~merijn@77.242.116.146)
08:44:55 Googulator74 is now known as Googulator
08:57:14 humasect joins (~humasect@dyn-192-249-132-90.nexicom.net)
09:01:48 × humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Ping timeout: 255 seconds)
09:07:53 troydm joins (~troydm@user/troydm)
09:19:40 × urdh quits (~urdh@user/urdh) (Ping timeout: 265 seconds)
09:19:55 urdh joins (~urdh@user/urdh)
09:20:35 × CiaoSen quits (~Jura@p549cb690.dip0.t-ipconnect.de) (Ping timeout: 245 seconds)
09:27:33 Freakie joins (~Freakie@37.96.11.80)
09:28:17 czan joins (~czan@user/mange)
09:31:31 <mesaoptimizer> if I am correct, Bool isn't a true sum type, is it? for it only contains type constructors
09:32:11 <mesaoptimizer> Either is a sum type because it is a sum of `Either` unary type constructors and type a and type b, is that right?
09:35:59 <[exa]> mesaoptimizer: () + () is a good sum, isn't it?
09:36:36 <[exa]> (relatedly, is Either () () a sum type?)
09:37:34 <mesaoptimizer> I do not know what `()` type is, sorry
09:37:41 <mesaoptimizer> is that the bottom type?
09:37:42 <[exa]> the haskell's empty type ()
09:37:45 <[exa]> :t ()
09:37:46 <lambdabot> ()
09:37:58 <mesaoptimizer> I see, so it is the bottom type
09:38:26 <[exa]> "bottom" is usually used for harsher lack of information (e.g. Void)
09:38:27 tromp joins (~textual@2001:1c00:340e:2700:d42c:a851:5541:9fa8)
09:38:31 <mesaoptimizer> oh.
09:38:38 <mesaoptimizer> I think I'm too confused to continue this discussion in the realm of Haskell
09:38:46 <[exa]> but yeah in the hierarchy of sums&products this would kinda be a bottom
09:38:50 <mesaoptimizer> maybe after I've figured it out in type theory
09:40:14 <[exa]> btw I think the main issue is about the sum labels in haskell, these are typically not occurring in most of the sum&product type explanations so it's not quite clear how to represent them, right?
09:40:29 <czan> () has got a member, so it can't be the empty type. It's the unit type (i.e. "1" in the type algebra).
09:40:38 <[exa]> as in, "what is the actual False in the language of sums"
09:44:00 <Leary> mesaoptimizer: Without a precise definition of 'sum type', there's no good answer to the question.
09:48:11 <anselmschueler> "bottom" can refer to the "least defined" value, which is undefined/nontermination in Haskell, and is a member of every type
09:48:26 <anselmschueler> "bottom" can also refer to the type that is a subtype of every type in type systems with subtyping
09:48:59 <anselmschueler> a bottom type may be the type with no values. every value of this type is vacuously also a valid value of every other type (there are no such values)
09:49:25 <anselmschueler> consequently in a type system with nontermination and subtyping the bottom type may be the type that only has nontermination
09:49:46 <anselmschueler> the Haskell equivalent of this type is "data Void" with no constructors
09:49:56 <anselmschueler> there are no values of this type except undefined/nontermination
09:51:12 <Freakie> algebraic data types as they're usually defined in functional languages are sum types, while tuples are products
09:53:20 <anselmschueler> the data keyword in Haskell is kinda a combination of sum and product
09:53:24 <anselmschueler> each constructor is a product type
09:53:33 <anselmschueler> and then these types are summed
09:54:22 <anselmschueler> e.g. "data MaybeTwo t = NoTwo | JustTwo t t" is like the product type "1" (empty product) + the product type "t × t"
09:54:35 <anselmschueler> i.e. MaybeTwo(T) = 1 + T²
09:57:16 × Freakie quits (~Freakie@37.96.11.80) (Quit: Client closed)
10:00:18 tri joins (~tri@ool-44c70bcb.dyn.optonline.net)
10:02:52 <[exa]> oh yes `1` is a good version of my `()`
10:03:06 <[exa]> in turn it would give `Bool == 1+1 == 2` :>
10:03:57 Freakie joins (~Freakie@185.45.22.133)
10:05:23 × tri quits (~tri@ool-44c70bcb.dyn.optonline.net) (Ping timeout: 272 seconds)
10:09:03 haritz joins (~hrtz@140.228.70.141)
10:09:03 × haritz quits (~hrtz@140.228.70.141) (Changing host)
10:09:03 haritz joins (~hrtz@user/haritz)
10:09:54 × xff0x quits (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 245 seconds)
10:11:46 <anselmschueler> T^2 even makes sense if 2 = Bool and X^Y = Y -> X; T^2 is a tuple (x, y), but this can be realised as a function f = \case { True -> x; False -> y }
10:18:52 × forell quits (~forell@user/forell) (Ping timeout: 268 seconds)
10:23:07 × madresch quits (~Thunderbi@user/madresch) (Ping timeout: 264 seconds)
10:30:43 × euphores quits (~SASL_euph@user/euphores) (Ping timeout: 272 seconds)
10:35:29 <merijn> mesaoptimizer: I think you're rather confused to begin with? True and False aren't type constructors, they're value constructors
10:36:18 <merijn> Freakie: ADTs are both sum AND product types
10:36:25 <merijn> that's what makes them algebraic :p
10:38:25 madresch joins (~Thunderbi@user/madresch)
10:38:45 acidjnk_new joins (~acidjnk@p200300d6e700e54146a195f20f1debd3.dip0.t-ipconnect.de)
10:41:50 × acidjnk quits (~acidjnk@p200300d6e700e503ca16aff59d0b5956.dip0.t-ipconnect.de) (Ping timeout: 245 seconds)
10:49:42 tri joins (~tri@ool-44c70bcb.dyn.optonline.net)
10:54:10 × tri quits (~tri@ool-44c70bcb.dyn.optonline.net) (Ping timeout: 248 seconds)
10:55:09 × olivial quits (~benjaminl@user/benjaminl) (Read error: Connection reset by peer)
10:55:27 olivial joins (~benjaminl@user/benjaminl)
10:55:28 × Freakie quits (~Freakie@185.45.22.133) (Ping timeout: 240 seconds)
11:00:44 × takuan quits (~takuan@d8D86B9E9.access.telenet.be) (Ping timeout: 245 seconds)
11:01:28 takuan joins (~takuan@d8d86b9e9.access.telenet.be)
11:05:13 Jackneill joins (~Jackneill@188-143-82-16.pool.digikabel.hu)
11:14:05 xff0x joins (~xff0x@2405:6580:b080:900:d540:12da:a11a:2c00)
11:14:14 × divlamir quits (~divlamir@user/divlamir) (Read error: Connection reset by peer)
11:14:34 divlamir joins (~divlamir@user/divlamir)
11:24:20 AlexNoo joins (~AlexNoo@178.34.151.138)
11:27:15 Freakie joins (~Freakie@37.96.11.80)
11:29:53 CiaoSen joins (~Jura@p549cb690.dip0.t-ipconnect.de)
11:34:10 × weary-traveler quits (~user@user/user363627) (Remote host closed the connection)
11:37:25 × comonad quits (~comonad@p200300d02717df00adc247ef70bd7367.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
11:38:04 × CiaoSen quits (~Jura@p549cb690.dip0.t-ipconnect.de) (Ping timeout: 244 seconds)
11:38:09 <gentauro> for a bool type, you only need a single bit. However, our smallest mem container is an octet ("byte")
11:43:28 comonad joins (~comonad@pd9e0770c.dip0.t-ipconnect.de)
11:47:21 × Square2 quits (~Square4@user/square) (Ping timeout: 272 seconds)
11:49:09 weary-traveler joins (~user@user/user363627)
11:50:37 tri joins (~tri@ool-44c70bcb.dyn.optonline.net)
11:51:46 somemathguy joins (~somemathg@user/somemathguy)
11:54:58 × tri quits (~tri@ool-44c70bcb.dyn.optonline.net) (Ping timeout: 248 seconds)
11:56:48 × Freakie quits (~Freakie@37.96.11.80) (Quit: Client closed)
11:59:30 × comonad quits (~comonad@pd9e0770c.dip0.t-ipconnect.de) (Ping timeout: 246 seconds)
12:00:41 comonad joins (~comonad@p200300d02717df00adc247ef70bd7367.dip0.t-ipconnect.de)
12:01:56 × Axman6 quits (~Axman6@user/axman6) (Remote host closed the connection)
12:02:09 Axman6 joins (~Axman6@user/axman6)
12:04:21 Freakie joins (~Freakie@185.45.22.133)
12:04:45 CiaoSen joins (~Jura@p549cb690.dip0.t-ipconnect.de)
12:05:53 <Freakie> does anyone have experience with using ghc-debug? I've been trying to get the TUI to work but it keeps crashing on me saying "not enough bytes". google hasn't been helpful either
12:06:29 × anselmschueler quits (~Thunderbi@user/schuelermine) (Ping timeout: 244 seconds)
12:07:09 AlexZenon joins (~alzenon@178.34.151.138)
12:07:31 <chromoblob> feed more bytes
12:07:40 <Freakie> would that I knew how
12:11:17 Alex_delenda_est joins (~al_test@178.34.151.138)
12:11:42 × AlexZenon quits (~alzenon@178.34.151.138) (Ping timeout: 255 seconds)
12:15:39 Alex_A joins (~al_test@178.34.151.138)
12:15:45 × Alex_delenda_est quits (~al_test@178.34.151.138) (Ping timeout: 255 seconds)
12:16:15 AlexZenon joins (~alzenon@178.34.151.138)
12:18:02 Alex_A is now known as Alex_delenda_est
12:19:23 AlexZenon_2 joins (~alzenon@178.34.151.138)
12:20:42 × AlexZenon quits (~alzenon@178.34.151.138) (Ping timeout: 255 seconds)
12:23:51 × AlexZenon_2 quits (~alzenon@178.34.151.138) (Ping timeout: 255 seconds)
12:27:58 AlexZenon joins (~alzenon@178.34.151.138)
12:29:37 arandombit joins (~arandombi@user/arandombit)
12:30:43 AlexZenon_2 joins (~alzenon@178.34.151.138)
12:32:24 × AlexZenon quits (~alzenon@178.34.151.138) (Ping timeout: 255 seconds)
12:34:04 tri joins (~tri@ool-44c70bcb.dyn.optonline.net)
12:35:06 × AlexZenon_2 quits (~alzenon@178.34.151.138) (Ping timeout: 255 seconds)
12:38:48 × tri quits (~tri@ool-44c70bcb.dyn.optonline.net) (Ping timeout: 264 seconds)
12:39:18 AlexZenon joins (~alzenon@178.34.151.138)
12:43:43 crazazy joins (crazazy@tilde.town)
12:50:57 <gentauro> Freakie: I once had a 33 GB space-leak with -> https://hackage.haskell.org/package/taffybar
12:51:32 <gentauro> so as chromoblob says, just gif more RAM
12:54:23 <Freakie> well the point of my program is to eat up a lot of ram but not on these input sizes :)
12:54:37 <Freakie> but no help with ghc-debug I take it then?
13:00:05 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
13:02:11 × czan quits (~czan@user/mange) (Quit: Zzz...)
13:06:44 × rainbyte quits (~rainbyte@181.47.219.110) (Read error: Connection reset by peer)
13:09:05 rainbyte joins (~rainbyte@181.47.219.110)
13:13:07 <gentauro> Freakie: I rarely use debuggers when doing FP :)
13:13:16 <gentauro> I use other mechanism for testing
13:15:07 <Freakie> well I feel like I'm out of options at this point, unfortunately
13:15:50 <Freakie> I have some sort of massive space leak that does not appear obvious why and both heap and non-heap profiling only got me so far
13:16:14 <Freakie> if you have any suggestions I'd be glad to hear them though
13:16:41 <haskellbridge> <ijouw> haskell-debugger?
13:21:07 <gentauro> Freakie: when I made this (totally wacko) I needed to see what was "eating up mem" -> https://blog.stermon.org/articles/2020/03/30/haskell-data-octet-safe-idiomatic-and-big.html and https://blog.stermon.org/articles/2020/04/06/haskell-data-octet-nand-smaller-but-slower.html
13:22:31 gentauro world longest blog post. Most people consuming my feed "complained" xD
13:22:53 <Freakie> yeah I'm not going to be able to get to the bottom of that first one
13:23:27 <Freakie> so what'd you do?
13:24:54 <gentauro> Freakie: by running the profiler, I went step-by-step, making "lazy" parts "strict"
13:25:38 <gentauro> let me see if I can find my profiling script
13:26:10 <Freakie> I've tried all variations of strictness and it didn't help
13:26:58 <Freakie> all I have to go from in my heap profiling is that most of my data comes from constructors tagged CONSTR_NOCAF but I don't know if that's worth anything or not
13:28:23 <Freakie> I've tried approximating the memory footprint of my data as well and it's using something like 100x the memory it should
13:28:35 <gentauro> Freakie: https://paste.tomsmeding.com/sJ9LB50B
13:29:36 <gentauro> Freakie: By looking at the table (and `hp2pretty`) I noticed what was leaking
13:29:47 <gentauro> there was actually several things …
13:30:03 <gentauro> so `seq` and `
13:30:16 <gentauro> {-# INLINE … #-}
13:30:17 <gentauro> everywhere
13:31:50 <Freakie> I'll give it a whirl I guess
13:31:59 <Freakie> so far the biggest fix for has been to use strict lists
13:32:50 <Freakie> everything just feels like shot in the dark because all my data seems paradoxical to me
13:35:28 prdak joins (~Thunderbi@user/prdak)
13:38:16 <Freakie> not easy to modify that script of yours :S
13:39:48 × AlexZenon quits (~alzenon@178.34.151.138) (Read error: Connection reset by peer)
13:40:04 AlexZenon joins (~alzenon@178.34.151.138)
13:42:31 × prdak quits (~Thunderbi@user/prdak) (Quit: prdak)
13:42:49 <Freakie> gentauro yeah that's more or less what I already see from profiling, unfortunately
13:43:05 × acidjnk_new quits (~acidjnk@p200300d6e700e54146a195f20f1debd3.dip0.t-ipconnect.de) (Ping timeout: 248 seconds)
13:52:36 tri joins (~tri@69.74.159.34)
13:57:06 × tri quits (~tri@69.74.159.34) (Ping timeout: 248 seconds)
14:11:34 × poscat0x04 quits (~poscat@user/poscat) (Remote host closed the connection)
14:14:39 <pipsquak-bird> start from scartch and simplify!
14:14:46 poscat joins (~poscat@user/poscat)
14:14:53 <pipsquak-bird> maek eevythgin as close to a number score like hit points
14:15:06 <pipsquak-bird> cmpuer can instantly do lke a 900 vriable problem in 1 second
14:15:12 <pipsquak-bird> so make thing numberical scores
14:15:24 <pipsquak-bird> all phd do is arbitrary category thery really
14:15:27 <pipsquak-bird> much of it is wrong
14:15:36 <pipsquak-bird> univeristy not soruce of truth nor school nor AI
14:16:08 <pipsquak-bird> hmm
14:16:20 <pipsquak-bird> software transactional memory
14:16:22 <pipsquak-bird> sounds sexy
14:16:30 <pipsquak-bird> how does it beat thread sor csp?
14:16:33 <pipsquak-bird> or actors?
14:20:52 <pipsquak-bird> 9p.io is interesting as is greenarrays.com and ocam-pi rmox system, csp based not sure about forth
14:22:42 × pierluc-codes quits (~pierlucco@modemcable092.154-83-70.mc.videotron.ca) (Ping timeout: 248 seconds)
14:30:22 pierluc-codes joins (~pierlucco@modemcable092.154-83-70.mc.videotron.ca)
14:41:54 × myme quits (~myme@2a01:799:d5e:5f00:303a:da6f:3ef4:dbc1) (Ping timeout: 246 seconds)
14:43:00 anselmschueler joins (~Thunderbi@user/schuelermine)
14:43:04 myme joins (~myme@2a01:799:d5e:5f00:bb34:b3ad:fa86:ff90)
14:43:48 × anselmschueler quits (~Thunderbi@user/schuelermine) (Remote host closed the connection)
14:55:16 <mauke> @protontorpedo
14:55:16 <lambdabot> how does j2ee compare to haskell?
14:55:23 <mauke> @protontorpedo
14:55:23 <lambdabot> ok is haskell a type of lisp?
14:56:31 rekahsoft joins (~rekahsoft@bras-base-orllon1103w-grc-20-76-67-111-168.dsl.bell.ca)
15:02:11 machinedgod joins (~machinedg@d172-219-48-230.abhsia.telus.net)
15:02:21 × pavonia quits (~user@user/siracusa) (Quit: Bye!)
15:13:49 <merijn> Freakie: Do you have code/the profiler output visible somewhere?
15:27:05 acidjnk_new joins (~acidjnk@p200300d6e700e5412a4816b29ee23bce.dip0.t-ipconnect.de)
15:35:07 × CiaoSen quits (~Jura@p549cb690.dip0.t-ipconnect.de) (Ping timeout: 264 seconds)
15:45:16 <EvanR> if you have a large input list then read it in using lazy I/O list or read it into not a list
15:46:15 <EvanR> a fully materialized large list is hell on memory usage
15:46:39 × madresch quits (~Thunderbi@user/madresch) (Ping timeout: 246 seconds)
15:55:41 v0id_7 joins (~v0id_7@user/v0id-7:62772)
16:00:37 traxex joins (traxex@user/traxex)
16:11:25 <Freakie> merijn i can upload it in a bit
16:11:38 <Freakie> trying to stresstest the program right now and I might run out of memory first
16:12:27 <Freakie> EvanR my issue is that I have to gradually *build* lists that can be exponentially large in the input
16:13:31 <Freakie> it's meant to explode in size but I should not be using over 1 gb of memory for 10000 nodes
16:13:59 <Freakie> at least I don't see how it should
16:22:15 × sord937 quits (~sord937@gateway/tor-sasl/sord937) (Ping timeout: 258 seconds)
16:22:45 califax_ joins (~califax@user/califx)
16:23:47 × califax quits (~califax@user/califx) (Ping timeout: 258 seconds)
16:24:00 califax_ is now known as califax
16:24:15 sord937 joins (~sord937@gateway/tor-sasl/sord937)
16:24:33 <gentauro> my `String` knowledge in Haskell is a bit outdated. Wasn't there a `pragma` that could be used that made `String` "faster" as in not lazy `[Char]`?
16:24:59 <probie> Why not just use a better type like `Text` if you want that?
16:25:27 gentauro but still having the nice interface. For example: `case str of (c:cs) -> …`
16:26:20 <gentauro> probie: iirc, `Text` isn't part of `base` right?
16:28:52 Tuplanolla joins (~Tuplanoll@88-114-89-88.elisa-laajakaista.fi)
16:30:33 <probie> gentauro: no, but it's one of GHC's boot libraries, so you can be sure that some version is available unless they're using a really ancient version of GHC, or a different compiler like microhs (in which case you don't have base anyway)
16:33:20 <probie> containers is outside base, but would you avoid `Map` and `Set` because of that?
16:36:09 <haskellbridge> <magic_rb> yeah i dont think there is a reason not to use text, its such a core library that essentially everythings depends on it, including ghc
16:37:21 <probie> and if you want pattern matching, you can have it
16:37:39 <probie> % :set -XOverloadedStrings -XViewPatterns -XPatternSynonyms
16:37:39 <yahb2> <no output>
16:37:53 <probie> % import qualified Data.Text as T
16:37:53 <yahb2> <no output>
16:38:14 <probie> % pattern S x xs <- (T.uncons -> Just (x, xs))
16:38:14 <yahb2> <no output>
16:38:30 <probie> % pattern EOS <- (T.uncons -> Nothing)
16:38:30 <yahb2> <no output>
16:39:43 <probie> % map (\s -> case T.reverse s of { (S x _) -> Just x; EOS -> Nothing }) ["hello", "", "world"]
16:39:43 <yahb2> [Just 'o',Nothing,Just 'd']
16:41:36 <probie> % let atLeast3 s = case s of { S _ (S _ (S _ _)) -> True; _ -> False } in filter atLeast3 $ T.words "To be, or not to be, that is the question"
16:41:36 <yahb2> ["be,","not","be,","that","the","question"]
16:42:35 <chromoblob> microhs? Haskell on microcontrollers? holy shit
16:44:13 <EvanR> Freakie, 1G resident for 10,000 of some small values does sound like a poorly laid out list algorithm which can't collect efficiently, it seems to me
16:44:27 <haskellbridge> <ijouw> If you get it to run on microcontrollers, please share build instructions
16:44:40 <Freakie> EvanR if you have any tips i'm all ears
16:45:34 <Freakie> fwiw each node at most 7 primitives distributed across 3 field (including constructors), so it should be something like ~16 bytes at worst I think per node
16:45:41 <EvanR> though I'm not sure what "I have to build lists" means, making a list is itself not usually an end
16:46:16 <EvanR> 16 bytes of useful value could balloon to several times more per list node because haskell
16:46:32 <EvanR> but not 100,000 times more if I'm not mistaken
16:46:38 <Freakie> I included the constructors and tags in that count
16:46:59 <EvanR> well 16 bytes is 2 pointers so it sounds unlikely
16:47:16 <EvanR> to be at most 16
16:47:19 <Freakie> damn I forgot how memory works
16:47:43 × traxex quits (traxex@user/traxex) (Ping timeout: 264 seconds)
16:47:44 <Freakie> let me redo my math
16:48:09 <EvanR> each boxed value not only has a pointer to it from somewhere but GC metadata as well as payload
16:48:26 <Freakie> I know, I was just off by a byte factor
16:48:35 <EvanR> and ghc usually uses a whole word for any field
16:49:13 <Freakie> but basically I have two algorithms that work on each other. both consume two lists of one type and accumulate two other lists of another type as output
16:49:33 <EvanR> accumulate?
16:49:45 <Freakie> I mean, just consing
16:49:50 <EvanR> by iteratively pushing to the beginning
16:49:58 <Freakie> yes?
16:50:02 <EvanR> ok
16:50:05 <EvanR> then what
16:50:31 <Freakie> then that continues till the input lists have been consumed
16:51:03 <EvanR> it matters how these accumulated lists are consumed
16:51:28 <Freakie> the output lists are only ever added to during the algorithms, and the input lists are only ever traversed linearly
16:51:46 <EvanR> if the output list is never consumed
16:52:03 <Freakie> I mean they have to by construction of my benchmark
16:52:15 <EvanR> it's either unobservable or a memory leak
16:52:27 <Freakie> they're fed straight into another iteration of the algorithms
16:53:26 <Freakie> heap profiling shows that 80-90% of the data recorded comes from building the output in the one algorithm, but I suspect it shows that because the lists are being retained in the other algorithm and possibly not deallocated on the run?
16:53:43 <EvanR> yes that would be my suspicion
16:54:08 <Freakie> by design the algorithms only work on lists and trees so it's bound to be inefficient but but scaling shouldn't be this bad
16:55:55 <int-e> sm: Well, I implemented a stupid thing: https://silicon.int-e.eu/lambdabot/State/where.html (static page, decodes where file in browser, no search, also not tested much)
16:56:13 <Freakie> I aborted the program after an hour and at that point only 5% of the runtime not spent on garbage collection which is not surprising given how much data is live and I don't have any compaction
16:58:15 × Jackneill quits (~Jackneill@188-143-82-16.pool.digikabel.hu) (Remote host closed the connection)
16:58:45 Jackneill joins (~Jackneill@188-143-82-16.pool.digikabel.hu)
16:59:02 × Jackneill quits (~Jackneill@188-143-82-16.pool.digikabel.hu) (Remote host closed the connection)
16:59:10 <EvanR> retaining long lists live when they don't have to be is usually caused by the algorithm consuming lists in a suboptimal way. But it's also possible that's unavoidable because of the algorithm
16:59:43 <Freakie> I can most likely refactor it to include compaction but that doesn't really help me reduce the size of the live memory to begin with
17:00:01 <monochrom> [Int] of length n, even in the worst case (which doesn't happen often), takes only n*(24+8) bytes. (Often the +8 doesn't happen because GHC-compiled code actually does a flyweight pattern for small Ints.)
17:00:37 <Freakie> I've been trying for a while to find some way of actually tracking the size of data during runtime
17:00:46 <Freakie> it seems like I have precious few alternatives at least
17:01:53 <monochrom> Profiling is only as good as the person who interprets the profiling report. >:)
17:02:15 <Freakie> well in that case I am an imposter and a cad
17:05:01 <EvanR> monochrom, that sounds like an underestimate for a list node + Int box? or is list node / Int specially implemented to reduce space
17:06:01 <monochrom> 24 is already the node, 8 is already the Int
17:06:02 <EvanR> 8+8+8+8, would be the bare minimum without any runtime info
17:06:28 <monochrom> Oh oops s/8/16/ haha
17:07:04 <gentauro> btw, do you have re-use of pattern-matchin cases in Haskell (like we have en OCaml/F#)?. Example: `type FooBarBazQux = Foo | Bar | Baz | Qux;; let fooBarBazQux = function | Foo | Bar -> "foobar" | Baz | Qux -> "bazqux";;`
17:07:09 <monochrom> But that still doesn't cause n=10000 to become 1GB. So the hypothesis that n=10000 is rejected.
17:07:42 <Freakie> I mean I have empirical data on the total number of nodes generated
17:07:45 <gentauro> it seems that `case … of` requires to define duplicate code for `Foo and Bar` and then `Baz and Qux`
17:08:01 <Freakie> which, ok is closer to 100k when I reach 1 gb
17:08:21 <EvanR> gentauro, probably for the best. I really like reading haskell's "redundant" code
17:08:35 <Freakie> gentauro haskell doesn't have disjoint patterns but I tend to use guard patterns instead
17:08:45 <EvanR> instead of mentally decompressing it after someone was "too lazy to type it all out"
17:09:01 <Freakie> that feels a little like a strawman but ok
17:09:21 <gentauro> EvanR: I'm kind of used to the `SML` way :)
17:09:43 <Freakie> I tend to prefer haskell's syntax for the most part
17:09:55 <gentauro> you know `dry` (Don't repeat yourself)
17:09:56 <EvanR> the difference between a straight list of cases, and the ruby way of having algorithms generate the code or values
17:10:11 <EvanR> yeah I have often see "dry" be bad in haskell
17:11:06 <haskellbridge> <sm> int-e https://silicon.int-e.eu/lambdabot/State/where.html - very nice! Much simpler than https://haskell-links.org . How to make it discoverable ?
17:11:26 <EvanR> you do have pattern synonyms and view patterns
17:11:40 <haskellbridge> <sm> @where+ links https://silicon.int-e.eu/lambdabot/State/where.html I guess
17:12:21 <Leary> gentauro: https://downloads.haskell.org/ghc/latest/docs/users_guide/exts/or_patterns.html
17:12:49 <Freakie> oh neat
17:14:31 <int-e> @where+ where https://silicon.int-e.eu/lambdabot/State/where.html
17:14:31 <lambdabot> I will never forget.
17:15:04 <gentauro> Leary: nice
17:15:39 <gentauro> this will work with minimalistic sum types due to -> "If we want the compiler to aid us in Haskell2010, we must write out all cases explicitly".
17:15:58 <gentauro> unless "underscore wildcard" can be used.
17:15:59 <int-e> (not opposed to changing the `links` entry, but for now it still works)
17:17:54 <Leary> Freakie: BTW, if you want good scaling, you probably need to write your algorithm to stream output as input comes in. You might be able to achieve that by building the output lists outside-in rather than inside-out, but the safer path would be to use a streaming library.
17:18:13 <sm> 👍🏻 and now added at https://joyful.com/Haskell+map#other+docs
17:18:27 <Freakie> technically I'm doing a thesis on algorithms designed to work efficiently on external memory which implies streaming by design
17:18:51 <Freakie> how do you mean outside-in though?
17:21:42 <Leary> When a recursive function `go` wants to yield an element `x`, do so by producing `x : go (...)`.
17:23:10 <Freakie> so the whole tail recursion modulo cons business?
17:24:04 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 245 seconds)
17:24:25 <Leary> Maybe; I don't think from that angle. The important part is that the recursive call is guarded behind the `:` constructor, so it doesn't run until after `x` is consumed.
17:24:26 <haskellbridge> <sm> A new entry for the Haskell Book list, tcard__ : https://www.reddit.com/r/haskell/comments/1ry38dn/haskell_brain_teasers_is_now_available/
17:24:43 <Freakie> i'll try to keep it in mind
17:25:03 <Freakie> at any rate I'm probably going to have to pivot by necessity to another part of the project and let the performance be what it is
17:25:18 <Freakie> it's just been bothering me for a while that I can't explain how hungry the algorithms are
17:26:20 <pipsquak-bird> why is computer job market so jacked now? india outsourcing and vendors trying to stamp out linux?
17:26:39 <Freakie> more like executives bought into the AI hype
17:26:44 <pipsquak-bird> heh
17:26:53 <pipsquak-bird> AI creates houses and megadorms!
17:27:02 <pipsquak-bird> free room food and net!
17:27:39 ChanServ sets mode +o monochrom
17:27:44 monochrom sets mode +b *!*@c-71-235-170-34.hsd1.ma.comcast.net
17:27:44 pipsquak-bird is kicked by monochrom (pipsquak-bird)
17:27:56 <Freakie> lmao tho
17:28:05 <Franciman> megadorms
17:28:24 <Freakie> Leary so I finally found a way to track the memory of values in runtime which also triggers a garbage collection before measuring and it seems to have completely squashed memory usage (at least within reason) at the cost of, uh, time
17:28:38 <Freakie> so I guess it's just a space leak somewhere after all
17:30:16 <Freakie> one complication of what you suggested is that I always return a pair where only one of the elements is updated
17:30:27 <Freakie> will that matter in terms of what you said?
17:30:53 monochrom sets mode -o monochrom
17:33:43 <Leary> Freakie: Probably, but you can change out `([a], [b])` for `[Either a b]`.
17:34:58 <Freakie> how will that relate to guarding behind a constructor?
17:36:31 ft joins (~ft@p508db341.dip0.t-ipconnect.de)
17:37:35 <Leary> Well it's a single list, so the rest of the computation is always behind the next cons cell, and it knows what it's already done. With two lists, you would have two independent computations instead.
17:38:23 <Freakie> oh you meant a list of eithers
17:38:45 <Freakie> I don't think that's sound
17:39:37 <Freakie> only one of the pair elements is a list, the other is a priority queue
17:41:36 <Freakie> but yeah it turns out that stuff isn't being garbage collected
17:41:58 <Freakie> which is progress at least
17:42:28 <Leary> Does it actually need to be returned? I suspect you can just thread the queue state as an argument to the recursive call (or other continuation).
17:43:43 <Freakie> do you mean with a stateful priority queue?
17:45:05 <Freakie> both need to be returned because the priority queues make up with invariants of the algorithm
17:45:06 tri joins (~tri@69.74.159.34)
17:49:39 × tri quits (~tri@69.74.159.34) (Ping timeout: 255 seconds)
17:55:22 <Freakie> thanks for the suggestions at any rate, gotta go
17:57:44 × sord937 quits (~sord937@gateway/tor-sasl/sord937) (Quit: sord937)
17:59:28 × Freakie quits (~Freakie@185.45.22.133) (Ping timeout: 240 seconds)
18:05:49 traxex joins (traxex@user/traxex)
18:06:32 × arandombit quits (~arandombi@user/arandombit) (Ping timeout: 268 seconds)
18:10:47 × weary-traveler quits (~user@user/user363627) (Remote host closed the connection)
18:18:11 arandombit joins (~arandombi@user/arandombit)
18:20:39 humasect joins (~humasect@dyn-192-249-132-90.nexicom.net)
18:21:18 madresch joins (~Thunderbi@user/madresch)
18:22:27 × humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Client Quit)
18:22:42 × arandombit quits (~arandombi@user/arandombit) (Ping timeout: 256 seconds)
18:23:25 merijn joins (~merijn@77.242.116.146)
18:24:15 madresch1 joins (~Thunderbi@user/madresch)
18:25:32 Guest62t joins (~Guest62t@p200300ca8f188500b4d545039923a63f.dip0.t-ipconnect.de)
18:25:32 × madresch quits (~Thunderbi@user/madresch) (Ping timeout: 256 seconds)
18:25:32 madresch1 is now known as madresch
18:37:26 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 256 seconds)
18:37:29 × m_a_r_k quits (~m_a_r_k@archlinux/support/mark) (Ping timeout: 248 seconds)
18:40:27 × vulpine quits (xfnw@user/meow/xfnw) (Ping timeout: 268 seconds)
19:06:52 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
19:07:14 lol__ joins (~lol@2603:3016:1e01:b980:173:305f:8185:29ce)
19:10:36 × lol_ quits (~lol@2603:3016:1e01:b980:9900:10f7:ff16:cae0) (Ping timeout: 264 seconds)
19:11:24 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
19:12:39 × ss4 quits (~wootehfoo@user/wootehfoot) (Quit: Leaving)
19:13:26 × madresch quits (~Thunderbi@user/madresch) (Read error: Connection reset by peer)
19:15:30 × somemathguy quits (~somemathg@user/somemathguy) (Ping timeout: 248 seconds)
19:15:39 madresch joins (~Thunderbi@user/madresch)
19:21:31 wootehfoot joins (~wootehfoo@user/wootehfoot)
19:22:15 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
19:23:26 × jreicher quits (~joelr@user/jreicher) (Quit: In transit)
19:26:13 arandombit joins (~arandombi@user/arandombit)
19:26:48 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
19:27:40 malte joins (~malte@mal.tc)
19:29:03 madresch1 joins (~Thunderbi@user/madresch)
19:29:51 <int-e> sm: tinkered a bit more, so links are now links.
19:30:10 × madresch quits (~Thunderbi@user/madresch) (Ping timeout: 268 seconds)
19:30:10 madresch1 is now known as madresch
19:30:49 × arandombit quits (~arandombi@user/arandombit) (Ping timeout: 244 seconds)
19:31:19 somemathguy joins (~somemathg@user/somemathguy)
19:31:39 <haskellbridge> <sm> .
19:31:39 <haskellbridge> @where where
19:31:39 <lambdabot> https://silicon.int-e.eu/lambdabot/State/where.html
19:31:50 <haskellbridge> <sm> xxx
19:31:50 <haskellbridge> @where where
19:31:50 <lambdabot> https://silicon.int-e.eu/lambdabot/State/where.html
19:32:14 peterbecich joins (~Thunderbi@71.84.33.135)
19:32:27 <sm> huh, quite a delay before those responses made it to the matrix side
19:32:41 <sm> I have been assuming the bridge is "instant"
19:33:15 <haskellbridge> <sm> int-e: excellent
19:37:36 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
19:40:30 malte_ joins (~malte@mal.tc)
19:40:34 × malte quits (~malte@mal.tc) (Ping timeout: 248 seconds)
19:40:43 malte_ is now known as malte
19:42:12 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
19:43:14 arandombit joins (~arandombi@2a02:2455:8656:7100:85cb:5d02:5632:2f7c)
19:43:14 × arandombit quits (~arandombi@2a02:2455:8656:7100:85cb:5d02:5632:2f7c) (Changing host)
19:43:14 arandombit joins (~arandombi@user/arandombit)
19:45:19 × malte quits (~malte@mal.tc) (Ping timeout: 264 seconds)
19:47:24 <haskellbridge> <ijouw> I have a file where i define a function i thought would be better with RequiredTypeArguments, so i enabled it. That led to some type error on my (implicitly forall) type variable called ord (which collides with some function in Data.Char), claiming that the compiler cannot lift functions to type level.
19:47:28 <haskellbridge> I am sure the reason for this behavior is some other language extension that R.T.A. depends on. Can someone tell me its name (or where the implicit activation is documented)?
19:48:14 × arandombit quits (~arandombi@user/arandombit) (Ping timeout: 245 seconds)
19:51:21 Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915)
19:52:03 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 255 seconds)
19:52:58 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
19:54:06 malte joins (~malte@mal.tc)
19:54:14 Lord_of_Life_ is now known as Lord_of_Life
19:55:51 madresch1 joins (~Thunderbi@user/madresch)
19:56:34 × madresch quits (~Thunderbi@user/madresch) (Ping timeout: 248 seconds)
19:56:35 madresch1 is now known as madresch
19:57:54 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
19:59:47 <monochrom> The GHC User's Guide has implied extensions, i.e., if you turn on X, it tells you that it implies Y.
20:00:26 <monochrom> (under the section on X)
20:01:47 <monochrom> I recommend looking at your local copy of the GHC User's Guide that comes with your installed GHC. Because if you do the hippie thing and search the web, you will always get the wrong version.
20:01:54 × peterbecich quits (~Thunderbi@71.84.33.135) (Ping timeout: 248 seconds)
20:08:20 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
20:13:11 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
20:18:17 arandombit joins (~arandombi@2a02:2455:8656:7100:85cb:5d02:5632:2f7c)
20:18:17 × arandombit quits (~arandombi@2a02:2455:8656:7100:85cb:5d02:5632:2f7c) (Changing host)
20:18:17 arandombit joins (~arandombi@user/arandombit)
20:23:05 × arandombit quits (~arandombi@user/arandombit) (Ping timeout: 252 seconds)
20:23:43 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
20:28:10 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
20:31:10 m_a_r_k joins (~m_a_r_k@archlinux/support/mark)
20:33:14 × wootehfoot quits (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
20:34:26 jreicher joins (~joelr@user/jreicher)
20:35:30 arandombit joins (~arandombi@user/arandombit)
20:35:58 humasect joins (~humasect@dyn-192-249-132-90.nexicom.net)
20:36:05 <tcard__> sm: Thank you! I will add that book to the list once it becomes available.
20:39:53 Guest38 joins (~Guest73@nat-128-84-124-0-685.cit.cornell.edu)
20:40:01 × Guest38 quits (~Guest73@nat-128-84-124-0-685.cit.cornell.edu) (Client Quit)
20:50:06 merijn joins (~merijn@62.45.136.136)
20:53:18 <haskellbridge> <ijouw> I asked because I do not see any such mention in https://ghc.gitlab.haskell.org/ghc/doc/users_guide/exts/required_type_arguments.html#required-type-arguments
20:54:36 × merijn quits (~merijn@62.45.136.136) (Ping timeout: 255 seconds)
20:57:07 × tjbc quits (~tjbc@user/fliife) (Quit: ZNC - https://znc.in)
20:57:31 <haskellbridge> <ijouw> But it seems that the behavior is due to the changes in implicit quantification by the extension itsself.
21:03:32 tjbc joins (~tjbc@user/fliife)
21:05:27 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
21:07:48 <probie> gentauro: 3 hours late, but I find it works well enough to do something like https://paste.tomsmeding.com/FZlWMFzW to reduce duplication. It's not as nice as what you have in ocaml or F#, but it's not particularly onerous either
21:10:00 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
21:12:01 <gentauro> probie: I added it to my project and it said "not supported
21:12:12 <gentauro> I guess it's cos I test for several GHC versions
21:12:24 <gentauro> and it's only available from 9.12
21:12:26 <gentauro> :-\
21:12:52 <gentauro> probie: oh, you actually don't use the pragam :o
21:12:55 <gentauro> nice
21:13:02 × timide quits (~timide@user/timide) (Read error: Connection reset by peer)
21:13:27 timide joins (~timide@user/timide)
21:20:49 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
21:23:21 × humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Quit: Leaving...)
21:23:31 lisbeths joins (uid135845@id-135845.lymington.irccloud.com)
21:25:10 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
21:29:36 <gentauro> probie: now we are talking <3 https://paste.tomsmeding.com/IFDeoBAU
21:31:25 × karenw quits (~karenw@user/karenw) (Ping timeout: 276 seconds)
21:34:38 CiaoSen joins (~Jura@p549cb690.dip0.t-ipconnect.de)
21:36:12 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
21:39:53 Square2 joins (~Square4@user/square)
21:43:05 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
21:51:59 × Guest62t quits (~Guest62t@p200300ca8f188500b4d545039923a63f.dip0.t-ipconnect.de) (Quit: Client closed)
21:53:07 × shr\ke quits (~shrike@user/shrke:31298) (Ping timeout: 264 seconds)
21:53:15 shr\ke joins (~shrike@user/paxhumana)
21:53:15 × shr\ke quits (~shrike@user/paxhumana) (Changing host)
21:53:15 shr\ke joins (~shrike@user/shrke:31298)
21:54:15 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
21:59:01 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds)
22:00:01 × michalz quits (~michalz@185.246.207.217) (Remote host closed the connection)
22:03:49 peterbecich joins (~Thunderbi@71.84.33.135)
22:09:39 merijn joins (~merijn@62.45.136.136)
22:12:55 × redshuffle quits (~quassel@45.43.70.75) (Remote host closed the connection)
22:13:01 redshuffle joins (~quassel@45.43.70.75)
22:14:28 × merijn quits (~merijn@62.45.136.136) (Ping timeout: 256 seconds)
22:16:30 × Goodbye_Vincent1 quits (cyvahl@freakshells.net) (Ping timeout: 255 seconds)
22:27:06 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
22:29:20 × haskellbridge quits (~hackager@96.28.224.214) (Remote host closed the connection)
22:29:52 haskellbridge joins (~hackager@96.28.224.214)
22:29:52 ChanServ sets mode +v haskellbridge
22:32:07 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
22:42:28 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
22:47:05 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
22:47:38 tri joins (~tri@ool-44c70bcb.dyn.optonline.net)
22:52:36 × tri quits (~tri@ool-44c70bcb.dyn.optonline.net) (Ping timeout: 264 seconds)
22:54:45 × CiaoSen quits (~Jura@p549cb690.dip0.t-ipconnect.de) (Ping timeout: 245 seconds)
22:57:45 × mstruebing quits (~mstruebin@ns343649.ip-188-165-193.eu) (Read error: Connection reset by peer)
22:57:50 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
22:59:48 × somemathguy quits (~somemathg@user/somemathguy) (Ping timeout: 264 seconds)
23:00:37 somemathguy joins (~somemathg@user/somemathguy)
23:01:09 mstruebing joins (~mstruebin@ns343649.ip-188-165-193.eu)
23:02:35 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
23:13:17 acidjnk_new3 joins (~acidjnk@p200300d6e700e5412a4816b29ee23bce.dip0.t-ipconnect.de)
23:13:17 × acidjnk_new quits (~acidjnk@p200300d6e700e5412a4816b29ee23bce.dip0.t-ipconnect.de) (Read error: Connection reset by peer)
23:13:17 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
23:15:15 Sgeo joins (~Sgeo@user/sgeo)
23:15:18 seven3_ joins (~seven3@user/seven3)
23:18:19 × ircbrowse_tom quits (~ircbrowse@user/tomsmeding/bot/ircbrowse-tom) (ZNC 1.9.0+deb2build3 - https://znc.in)
23:18:43 ircbrowse_tom joins (~ircbrowse@user/tomsmeding/bot/ircbrowse-tom)
23:18:45 Server sets mode +Cnt
23:19:36 × ursa-major quits (114efe6c39@2a03:6000:1812:100::11f3) (Ping timeout: 276 seconds)
23:19:54 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
23:19:59 × bliminse quits (~bliminse@user/bliminse) (Ping timeout: 276 seconds)
23:20:50 × cpli quits (77fc530071@2a03:6000:1812:100::252) (Ping timeout: 276 seconds)
23:21:11 ursa-major joins (114efe6c39@2a03:6000:1812:100::11f3)
23:21:20 bliminse joins (~bliminse@user/bliminse)
23:23:21 eso_ joins (a0662dfd5e@2a03:6000:1812:100::1266)
23:24:12 cpli joins (77fc530071@2a03:6000:1812:100::252)
23:25:19 cjay- joins (~cjay@nerdbox.nerd2nerd.org)
23:26:11 sviermsung joins (CjyvmvHdzk@user/s4msung)
23:27:46 thaumavorio_ joins (~thaumavor@thaumavor.io)
23:29:30 × eso quits (a0662dfd5e@2a03:6000:1812:100::1266) (Ping timeout: 276 seconds)
23:29:30 × s4msung quits (QGVxIqNFjX@user/s4msung) (Ping timeout: 276 seconds)
23:29:30 × cjay quits (~cjay@nerdbox.nerd2nerd.org) (Ping timeout: 276 seconds)
23:29:30 × thaumavorio quits (~thaumavor@thaumavor.io) (Ping timeout: 276 seconds)
23:29:31 × craunts795335385 quits (~craunts@152.32.99.2) (*.net *.split)
23:29:31 × igemnace quits (~igemnace@user/igemnace) (*.net *.split)
23:29:31 × PotatoGim quits (sid99505@id-99505.lymington.irccloud.com) (*.net *.split)
23:29:31 × lane quits (809450f172@2a03:6000:1812:100::1300) (*.net *.split)
23:29:31 × unlucy quits (sid572875@user/unlucy) (*.net *.split)
23:29:31 × JSharp quits (sid4580@user/JSharp) (*.net *.split)
23:29:31 × bryanv quits (~quassel@2603:c028:4503:7500:45b7:933:ab17:bc10) (*.net *.split)
23:29:31 × krjst quits (~krjst@2a0a:4cc0:2000:789a:b827:c6ff:fed6:bb48) (*.net *.split)
23:29:31 × shawwwn quits (uid6132@id-6132.helmsley.irccloud.com) (*.net *.split)
23:29:31 × Techcable quits (sid534393@user/Techcable) (*.net *.split)
23:29:31 × Zowlyfon quits (sid346067@user/Zowlyfon) (*.net *.split)
23:29:31 × arkeet quits (arkeet@moriya.ca) (*.net *.split)
23:29:31 × koala_man quits (~vidar@157.146.251.23.bc.googleusercontent.com) (*.net *.split)
23:29:31 × sa quits (sid1055@id-1055.tinside.irccloud.com) (*.net *.split)
23:29:31 × sus quits (1b7af6299f@user/zeromomentum) (*.net *.split)
23:29:31 × dsal quits (sid13060@id-13060.lymington.irccloud.com) (*.net *.split)
23:29:31 × tnks quits (sid412124@id-412124.helmsley.irccloud.com) (*.net *.split)
23:29:31 × szkl quits (sid110435@id-110435.uxbridge.irccloud.com) (*.net *.split)
23:29:31 × yaroot quits (~yaroot@2400:4052:ac0:d901:1cf4:2aff:fe51:c04c) (*.net *.split)
23:29:31 × darkling quits (~darkling@2001-ba8-1f1-f0e6-0-0-0-2.autov6rev.bitfolk.space) (*.net *.split)
23:29:31 eso_ is now known as eso
23:29:44 troydm joins (~troydm@user/troydm)
23:34:42 sus joins (1b7af6299f@user/zeromomentum)
23:36:19 lane joins (809450f172@2a03:6000:1812:100::1300)
23:38:23 igemnace joins (~igemnace@user/igemnace)
23:40:11 craunts795335385 joins (~craunts@152.32.99.2)
23:40:11 PotatoGim joins (sid99505@id-99505.lymington.irccloud.com)
23:40:11 unlucy joins (sid572875@user/unlucy)
23:40:11 JSharp joins (sid4580@user/JSharp)
23:40:11 bryanv joins (~quassel@2603:c028:4503:7500:45b7:933:ab17:bc10)
23:40:11 krjst joins (~krjst@2a0a:4cc0:2000:789a:b827:c6ff:fed6:bb48)
23:40:11 shawwwn joins (uid6132@id-6132.helmsley.irccloud.com)
23:40:11 Techcable joins (sid534393@user/Techcable)
23:40:11 Zowlyfon joins (sid346067@user/Zowlyfon)
23:40:11 arkeet joins (arkeet@moriya.ca)
23:40:11 koala_man joins (~vidar@157.146.251.23.bc.googleusercontent.com)
23:40:11 sa joins (sid1055@id-1055.tinside.irccloud.com)
23:40:11 dsal joins (sid13060@id-13060.lymington.irccloud.com)
23:40:11 tnks joins (sid412124@id-412124.helmsley.irccloud.com)
23:40:11 szkl joins (sid110435@id-110435.uxbridge.irccloud.com)
23:40:11 darkling joins (~darkling@2001-ba8-1f1-f0e6-0-0-0-2.autov6rev.bitfolk.space)
23:40:18 × PotatoGim quits (sid99505@id-99505.lymington.irccloud.com) (Max SendQ exceeded)
23:40:18 × craunts795335385 quits (~craunts@152.32.99.2) (Max SendQ exceeded)
23:40:18 × krjst quits (~krjst@2a0a:4cc0:2000:789a:b827:c6ff:fed6:bb48) (Max SendQ exceeded)
23:40:18 × Techcable quits (sid534393@user/Techcable) (Max SendQ exceeded)
23:40:18 × szkl quits (sid110435@id-110435.uxbridge.irccloud.com) (Max SendQ exceeded)
23:40:18 × unlucy quits (sid572875@user/unlucy) (Max SendQ exceeded)
23:40:18 × sa quits (sid1055@id-1055.tinside.irccloud.com) (Max SendQ exceeded)
23:40:20 yaroot joins (~yaroot@2400:4052:ac0:d901:1cf4:2aff:fe51:c04c)
23:40:42 krjst joins (~krjst@2a0a:4cc0:2000:789a:b827:c6ff:fed6:bb48)
23:40:42 craunts795335385 joins (~craunts@152.32.99.2)
23:40:48 sa joins (sid1055@id-1055.tinside.irccloud.com)
23:40:55 PotatoGim joins (sid99505@id-99505.lymington.irccloud.com)
23:40:56 Techcable joins (sid534393@user/Techcable)
23:40:56 unlucy joins (sid572875@user/unlucy)
23:41:04 szkl joins (sid110435@id-110435.uxbridge.irccloud.com)
23:46:37 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
23:51:00 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds)
23:54:06 × Tuplanolla quits (~Tuplanoll@88-114-89-88.elisa-laajakaista.fi) (Quit: Leaving.)

All times are in UTC on 2026-03-19.