2025/10/20

2025-10-20 00:02:25 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2025-10-20 00:10:30 +0200jreicher(~user@user/jreicher) (Read error: Connection reset by peer)
2025-10-20 00:11:08 +0200bggd(~bgg@2a01:e0a:819:1510:3eb5:dbc5:9370:da5d)
2025-10-20 00:11:56 +0200inline(~inline@2a02:8071:57a1:1260:5a1:e9a9:aa3a:fee6) Inline
2025-10-20 00:12:49 +0200peterbecich(~Thunderbi@172.222.148.214) (Quit: peterbecich)
2025-10-20 00:13:17 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-10-20 00:13:22 +0200peterbecich(~Thunderbi@172.222.148.214) peterbecich
2025-10-20 00:18:07 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-10-20 00:18:37 +0200karenw(~karenw@user/karenw) (Ping timeout: 264 seconds)
2025-10-20 00:19:32 +0200Guest57(~Guest57@95.214.217.193)
2025-10-20 00:22:52 +0200Guest57(~Guest57@95.214.217.193) (Quit: Client closed)
2025-10-20 00:23:25 +0200kk-strat(~halloy995@ip72-208-127-103.ph.ph.cox.net) (Quit: kk-strat)
2025-10-20 00:23:29 +0200inline_(~inline@ip-178-202-059-161.um47.pools.vodafone-ip.de) Inline
2025-10-20 00:26:23 +0200inline__(~inline@2a02:8071:57a1:1260:1ce3:efcb:ed4f:9e96) Inline
2025-10-20 00:26:24 +0200inline(~inline@2a02:8071:57a1:1260:5a1:e9a9:aa3a:fee6) (Ping timeout: 244 seconds)
2025-10-20 00:26:35 +0200inline__Inline
2025-10-20 00:27:15 +0200inline__(~inline@ip-178-202-059-161.um47.pools.vodafone-ip.de) Inline
2025-10-20 00:29:02 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-10-20 00:29:43 +0200inline_(~inline@ip-178-202-059-161.um47.pools.vodafone-ip.de) (Ping timeout: 240 seconds)
2025-10-20 00:30:42 +0200inline_(~inline@2a02:8071:57a1:1260:7925:4f19:c6de:9865) Inline
2025-10-20 00:31:03 +0200Inline(~inline@2a02:8071:57a1:1260:1ce3:efcb:ed4f:9e96) (Ping timeout: 244 seconds)
2025-10-20 00:32:25 +0200inline__(~inline@ip-178-202-059-161.um47.pools.vodafone-ip.de) (Ping timeout: 264 seconds)
2025-10-20 00:33:30 +0200inline__(~inline@ip-178-202-059-161.um47.pools.vodafone-ip.de) Inline
2025-10-20 00:34:02 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-10-20 00:35:39 +0200tromp(~textual@2001:1c00:3487:1b00:5da6:eb72:7bdc:37c8) (Quit: My iMac has gone to sleep. ZZZzzz…)
2025-10-20 00:37:19 +0200inline_(~inline@2a02:8071:57a1:1260:7925:4f19:c6de:9865) (Ping timeout: 246 seconds)
2025-10-20 00:41:36 +0200dolio(~dolio@130.44.140.168) (Quit: ZNC 1.9.1 - https://znc.in)
2025-10-20 00:43:28 +0200dolio(~dolio@130.44.140.168) dolio
2025-10-20 00:44:50 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-10-20 00:45:20 +0200inline__inline
2025-10-20 00:47:46 +0200dolio(~dolio@130.44.140.168) (Client Quit)
2025-10-20 00:48:24 +0200jmcantrell(~weechat@user/jmcantrell) jmcantrell
2025-10-20 00:49:01 +0200dolio(~dolio@130.44.140.168) dolio
2025-10-20 00:49:49 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2025-10-20 00:55:24 +0200hololeap(~quassel@user/hololeap) (Quit: Bye)
2025-10-20 00:56:07 +0200hololeap(~quassel@user/hololeap) hololeap
2025-10-20 01:00:13 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-10-20 01:02:23 +0200Ram-Z(Ram-Z@2a01:7e01::f03c:91ff:fe57:d2df) Ram-Z
2025-10-20 01:04:58 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
2025-10-20 01:05:14 +0200Ram-Z_(~Ram-Z@li1814-254.members.linode.com) (Ping timeout: 260 seconds)
2025-10-20 01:07:38 +0200mreh(~matthew@host86-146-25-125.range86-146.btcentralplus.com) (Ping timeout: 248 seconds)
2025-10-20 01:08:59 +0200qqe(~qqq@185.54.23.200) (Quit: Lost terminal)
2025-10-20 01:15:59 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-10-20 01:16:23 +0200chromoblob(~chromoblo@user/chromob1ot1c) (Remote host closed the connection)
2025-10-20 01:16:39 +0200chromoblob(~chromoblo@user/chromob1ot1c) chromoblob\0
2025-10-20 01:21:01 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2025-10-20 01:24:36 +0200ljdarj(~Thunderbi@user/ljdarj) (Quit: ljdarj)
2025-10-20 01:31:48 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-10-20 01:33:37 +0200peterbecich(~Thunderbi@172.222.148.214) (Ping timeout: 264 seconds)
2025-10-20 01:38:43 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2025-10-20 01:49:50 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-10-20 01:54:45 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-10-20 02:03:54 +0200craunts795335385(~craunts@136.158.7.194) (Read error: Connection reset by peer)
2025-10-20 02:04:10 +0200craunts795335385(~craunts@136.158.7.194)
2025-10-20 02:05:36 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-10-20 02:10:47 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-10-20 02:13:51 +0200machinedgod(~machinedg@d75-159-126-101.abhsia.telus.net) (Ping timeout: 256 seconds)
2025-10-20 02:21:24 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-10-20 02:24:05 +0200tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net)
2025-10-20 02:26:02 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-10-20 02:29:53 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) bitdex
2025-10-20 02:32:09 +0200weary-traveler(~user@user/user363627) user363627
2025-10-20 02:37:11 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-10-20 02:41:55 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
2025-10-20 02:42:17 +0200otto_s(~user@p4ff274f9.dip0.t-ipconnect.de) (Ping timeout: 244 seconds)
2025-10-20 02:44:18 +0200otto_s(~user@p5b044609.dip0.t-ipconnect.de)
2025-10-20 02:48:30 +0200werneta(~werneta@71.83.160.242) werneta
2025-10-20 02:50:28 +0200qqe(~qqq@185.54.23.200)
2025-10-20 02:50:56 +0200trickard(~trickard@cpe-57-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-10-20 02:51:08 +0200trickard_(~trickard@cpe-57-98-47-163.wireline.com.au)
2025-10-20 02:51:22 +0200simplystuart(~simplystu@c-75-75-152-164.hsd1.pa.comcast.net) (Ping timeout: 246 seconds)
2025-10-20 02:52:57 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-10-20 02:53:50 +0200gustrb(~gustrb@191.243.134.87)
2025-10-20 02:55:15 +0200flipflops(~cmo@2604:3d09:207f:8000::d1dc) (Ping timeout: 252 seconds)
2025-10-20 02:56:24 +0200flipflops(~cmo@2604:3d09:207f:8000::d1dc)
2025-10-20 02:56:25 +0200trickard_(~trickard@cpe-57-98-47-163.wireline.com.au) (Ping timeout: 264 seconds)
2025-10-20 02:59:06 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-10-20 03:01:23 +0200trickard_(~trickard@cpe-57-98-47-163.wireline.com.au)
2025-10-20 03:03:52 +0200flipflops(~cmo@2604:3d09:207f:8000::d1dc) (Ping timeout: 260 seconds)
2025-10-20 03:09:59 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-10-20 03:10:50 +0200xff0x(~xff0x@2405:6580:b080:900:d8fa:98a4:1ba0:2054) (Ping timeout: 248 seconds)
2025-10-20 03:15:31 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
2025-10-20 03:23:25 +0200inline(~inline@ip-178-202-059-161.um47.pools.vodafone-ip.de) (Ping timeout: 264 seconds)
2025-10-20 03:27:22 +0200acidjnk(~acidjnk@p200300d6e71719659d28c4899d9c5d95.dip0.t-ipconnect.de) (Ping timeout: 248 seconds)
2025-10-20 03:27:32 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-10-20 03:32:25 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2025-10-20 03:41:54 +0200trickard_trickard
2025-10-20 03:43:19 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-10-20 03:48:37 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2025-10-20 03:49:58 +0200ttybitnik(~ttybitnik@user/wolper) (Quit: Fading out...)
2025-10-20 03:56:45 +0200weary-traveler(~user@user/user363627) (Quit: Konversation terminated!)
2025-10-20 03:57:01 +0200weary-traveler(~user@user/user363627) user363627
2025-10-20 03:59:07 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-10-20 04:03:57 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-10-20 04:04:48 +0200xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp)
2025-10-20 04:08:09 +0200werneta(~werneta@71.83.160.242) (Quit: Lost terminal)
2025-10-20 04:10:32 +0200ephilalethes(~noumenon@113.51-175-156.customer.lyse.net) noumenon
2025-10-20 04:14:54 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-10-20 04:18:38 +0200jxv(~simulacru@2600:1700:5040:a200:846b:56ef:4da8:a13)
2025-10-20 04:21:40 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
2025-10-20 04:23:05 +0200trickard(~trickard@cpe-57-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-10-20 04:23:18 +0200trickard_(~trickard@cpe-57-98-47-163.wireline.com.au)
2025-10-20 04:26:37 +0200jxv(~simulacru@2600:1700:5040:a200:846b:56ef:4da8:a13) (Quit: Textual IRC Client: www.textualapp.com)
2025-10-20 04:29:40 +0200peterbecich(~Thunderbi@172.222.148.214) peterbecich
2025-10-20 04:31:22 +0200td_(~td@i5387091E.versanet.de) (Ping timeout: 248 seconds)
2025-10-20 04:33:00 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-10-20 04:33:23 +0200td_(~td@i53870936.versanet.de) td_
2025-10-20 04:33:35 +0200trickard_trickard
2025-10-20 04:36:01 +0200anpad(~pandeyan@user/anpad) (Ping timeout: 264 seconds)
2025-10-20 04:36:37 +0200peterbecich(~Thunderbi@172.222.148.214) (Ping timeout: 264 seconds)
2025-10-20 04:38:25 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2025-10-20 04:48:47 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-10-20 04:51:41 +0200khumba(~khumba@user/khumba) khumba
2025-10-20 04:53:31 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-10-20 04:54:47 +0200annamalai(~annamalai@157.49.239.48) (Ping timeout: 256 seconds)
2025-10-20 05:04:37 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-10-20 05:07:54 +0200anpad(~pandeyan@user/anpad) anpad
2025-10-20 05:09:08 +0200khumba(~khumba@user/khumba) ()
2025-10-20 05:09:14 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-10-20 05:10:59 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-10-20 05:15:38 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-10-20 05:16:13 +0200anpad(~pandeyan@user/anpad) (Ping timeout: 264 seconds)
2025-10-20 05:17:33 +0200qqe(~qqq@185.54.23.200) (Quit: Lost terminal)
2025-10-20 05:24:34 +0200khumba(~khumba@user/khumba) khumba
2025-10-20 05:25:43 +0200img(~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
2025-10-20 05:26:12 +0200poscat0x04(~poscat@user/poscat) poscat
2025-10-20 05:26:47 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-10-20 05:27:00 +0200img(~img@user/img) img
2025-10-20 05:27:09 +0200werneta(~werneta@71.83.160.242) werneta
2025-10-20 05:27:54 +0200poscat(~poscat@user/poscat) (Ping timeout: 248 seconds)
2025-10-20 05:31:19 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-10-20 05:40:05 +0200peterbecich(~Thunderbi@172.222.148.214) peterbecich
2025-10-20 05:42:35 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-10-20 05:47:24 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-10-20 05:48:50 +0200anpad(~pandeyan@user/anpad) anpad
2025-10-20 05:52:20 +0200aforemny(~aforemny@2001:9e8:6cc7:6800:bfb8:1818:7f09:9156) aforemny
2025-10-20 05:52:40 +0200aforemny_(~aforemny@2001:9e8:6cea:8700:cf12:fc7b:8ca1:78b9) (Ping timeout: 246 seconds)
2025-10-20 05:58:20 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-10-20 05:59:13 +0200tomboy64(~tomboy64@user/tomboy64) (Read error: Connection reset by peer)
2025-10-20 05:59:28 +0200tomboy64(~tomboy64@user/tomboy64) tomboy64
2025-10-20 06:05:14 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-10-20 06:06:56 +0200werneta(~werneta@71.83.160.242) (Quit: Lost terminal)
2025-10-20 06:09:43 +0200wickedjargon(~user@120.29.79.98) wickedjargon
2025-10-20 06:12:00 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-10-20 06:16:57 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2025-10-20 06:22:35 +0200synchromesh(~john@2406:5a00:2412:2c00:3da8:1103:8261:15b5) (Read error: Connection reset by peer)
2025-10-20 06:23:20 +0200synchromesh(~john@2406:5a00:2412:2c00:75ff:6dec:5332:48f7) synchromesh
2025-10-20 06:27:48 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-10-20 06:28:53 +0200annamalai(~annamalai@2409:4072:601a:bdd2::2602:e0ac) annamalai
2025-10-20 06:32:42 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-10-20 06:43:14 +0200michalz(~michalz@185.246.207.221)
2025-10-20 06:43:35 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-10-20 06:48:26 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-10-20 06:59:23 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-10-20 07:01:05 +0200rvalue-(~rvalue@about/hackers/rvalue) rvalue
2025-10-20 07:01:07 +0200jreicher(~user@user/jreicher) jreicher
2025-10-20 07:01:39 +0200rvalue(~rvalue@about/hackers/rvalue) (Ping timeout: 244 seconds)
2025-10-20 07:04:33 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2025-10-20 07:05:21 +0200halloy9957(~halloy995@ip72-208-127-103.ph.ph.cox.net)
2025-10-20 07:10:56 +0200rvalue(~rvalue@about/hackers/rvalue) rvalue
2025-10-20 07:11:55 +0200rvalue-(~rvalue@about/hackers/rvalue) (Ping timeout: 256 seconds)
2025-10-20 07:13:01 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-10-20 07:13:52 +0200infinity0(~infinity0@pwned.gg) (Ping timeout: 246 seconds)
2025-10-20 07:14:01 +0200Googulator(~Googulato@2a01-036d-0106-03fa-0485-6a66-0733-0e38.pool6.digikabel.hu) (Quit: Client closed)
2025-10-20 07:14:17 +0200Googulator(~Googulato@2a01-036d-0106-03fa-0485-6a66-0733-0e38.pool6.digikabel.hu)
2025-10-20 07:15:51 +0200Googulator31(~Googulato@2a01-036d-0106-03fa-0485-6a66-0733-0e38.pool6.digikabel.hu)
2025-10-20 07:15:55 +0200Googulator(~Googulato@2a01-036d-0106-03fa-0485-6a66-0733-0e38.pool6.digikabel.hu) (Client Quit)
2025-10-20 07:15:58 +0200takuan(~takuan@d8D86B9E9.access.telenet.be)
2025-10-20 07:17:46 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-10-20 07:19:48 +0200EvanR(~EvanR@user/evanr) (Ping timeout: 252 seconds)
2025-10-20 07:21:04 +0200khumba(~khumba@user/khumba) ()
2025-10-20 07:27:22 +0200gustrb(~gustrb@191.243.134.87) (Ping timeout: 248 seconds)
2025-10-20 07:28:05 +0200notzmv(~umar@user/notzmv) notzmv
2025-10-20 07:28:48 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-10-20 07:34:36 +0200infinity0(~infinity0@pwned.gg) infinity0
2025-10-20 07:36:01 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2025-10-20 07:42:24 +0200jreicher(~user@user/jreicher) (Read error: Connection reset by peer)
2025-10-20 07:45:25 +0200jreicher(~user@user/jreicher) jreicher
2025-10-20 07:45:43 +0200Googulator31(~Googulato@2a01-036d-0106-03fa-0485-6a66-0733-0e38.pool6.digikabel.hu) (Quit: Client closed)
2025-10-20 07:45:49 +0200Googulator22(~Googulato@2a01-036d-0106-03fa-0485-6a66-0733-0e38.pool6.digikabel.hu)
2025-10-20 07:46:18 +0200ephilalethes(~noumenon@113.51-175-156.customer.lyse.net) (Quit: Leaving)
2025-10-20 07:46:50 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-10-20 07:52:13 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2025-10-20 08:02:02 +0200Square(~Square4@user/square) Square
2025-10-20 08:02:38 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-10-20 08:05:27 +0200Square2(~Square@user/square) (Ping timeout: 260 seconds)
2025-10-20 08:05:37 +0200Googulator96(~Googulato@2a01-036d-0106-03fa-0485-6a66-0733-0e38.pool6.digikabel.hu)
2025-10-20 08:05:40 +0200Googulator22(~Googulato@2a01-036d-0106-03fa-0485-6a66-0733-0e38.pool6.digikabel.hu) (Quit: Client closed)
2025-10-20 08:07:49 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2025-10-20 08:14:02 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-10-20 08:18:55 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-10-20 08:22:16 +0200craunts795335385(~craunts@136.158.7.194) (Quit: The Lounge - https://thelounge.chat)
2025-10-20 08:29:50 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-10-20 08:31:36 +0200halloy9957(~halloy995@ip72-208-127-103.ph.ph.cox.net) (Quit: halloy9957)
2025-10-20 08:35:12 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-10-20 08:42:24 +0200Googulator96(~Googulato@2a01-036d-0106-03fa-0485-6a66-0733-0e38.pool6.digikabel.hu) (Quit: Client closed)
2025-10-20 08:42:42 +0200Googulator96(~Googulato@2a01-036d-0106-03fa-0485-6a66-0733-0e38.pool6.digikabel.hu)
2025-10-20 08:44:13 +0200JimL(~quassel@89.162.16.26) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
2025-10-20 08:45:37 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-10-20 08:47:21 +0200JimL(~quassel@89.162.16.26) JimL
2025-10-20 08:48:37 +0200jmcantrell(~weechat@user/jmcantrell) (Ping timeout: 264 seconds)
2025-10-20 08:51:01 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2025-10-20 08:53:00 +0200sord937(~sord937@gateway/tor-sasl/sord937) sord937
2025-10-20 08:56:29 +0200gmg(~user@user/gehmehgeh) gehmehgeh
2025-10-20 09:00:03 +0200caconym7478798(~caconym@user/caconym) (Quit: bye)
2025-10-20 09:00:47 +0200caconym7478798(~caconym@user/caconym) caconym
2025-10-20 09:01:24 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-10-20 09:06:37 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2025-10-20 09:13:50 +0200Guest57(~Guest57@95.214.217.190)
2025-10-20 09:13:52 +0200gustrb(~gustrb@191.243.134.87)
2025-10-20 09:14:45 +0200peterbecich(~Thunderbi@172.222.148.214) (Ping timeout: 252 seconds)
2025-10-20 09:15:03 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-10-20 09:15:13 +0200tromp(~textual@2001:1c00:3487:1b00:242b:79a0:e1f9:7ea5)
2025-10-20 09:18:59 +0200kukimik(~kukimik@nat1.mga.com.pl)
2025-10-20 09:20:24 +0200kukimik(~kukimik@nat1.mga.com.pl) (Remote host closed the connection)
2025-10-20 09:21:37 +0200chele(~chele@user/chele) chele
2025-10-20 09:21:46 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-10-20 09:28:53 +0200Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2025-10-20 09:33:08 +0200EvanR(~EvanR@user/evanr) EvanR
2025-10-20 09:34:46 +0200 <dminuoso> Are liftXXX primitives perhaps misnamed? It just occured to me that `liftIO :: IO a -> SomeT IO a` doesnt really pull anything out, it rather stuffs something in!
2025-10-20 09:34:49 +0200weary-traveler(~user@user/user363627) (Remote host closed the connection)
2025-10-20 09:34:53 +0200 <dminuoso> stuffIO seems more appropriate.
2025-10-20 09:38:40 +0200 <davean> It lifts an IO
2025-10-20 09:38:45 +0200 <davean> Its what it lifts
2025-10-20 09:39:37 +0200 <dminuoso> To me lifting suggests rather pulling something out.
2025-10-20 09:41:42 +0200 <davean> SomeT is build on IO, and it is a higher universe of semantics
2025-10-20 09:41:52 +0200 <davean> You are lifting it into the greater semantic world
2025-10-20 09:42:14 +0200 <davean> SomeT contains IO.
2025-10-20 09:42:43 +0200tabemann(~tabemann@172-13-49-137.lightspeed.milwwi.sbcglobal.net) (Remote host closed the connection)
2025-10-20 09:42:47 +0200 <dminuoso> Well you're embedding a plain IO action into something richer, you're stuffing it into a richer description of a computation.
2025-10-20 09:43:08 +0200 <davean> No you aren't embedding it, it is *already embeded* SomeT has all of IO
2025-10-20 09:43:12 +0200tabemann(~tabemann@172-13-49-137.lightspeed.milwwi.sbcglobal.net)
2025-10-20 09:43:22 +0200 <davean> IO is a subsection of SomeT IO
2025-10-20 09:43:33 +0200 <davean> It specificly isn't embedding
2025-10-20 09:44:05 +0200emmanuelux(~emmanuelu@user/emmanuelux) (Remote host closed the connection)
2025-10-20 09:44:37 +0200 <davean> you can lower SomeT IO into just IO
2025-10-20 09:46:07 +0200srazkvt(~sarah@user/srazkvt) srazkvt
2025-10-20 09:46:14 +0200 <davean> IO is the foundation of SomeT
2025-10-20 09:46:23 +0200 <davean> SomeT is what is built on top
2025-10-20 09:49:13 +0200Guest31(~Guest57@95.214.217.190)
2025-10-20 09:49:36 +0200Guest57(~Guest57@95.214.217.190) (Quit: Client closed)
2025-10-20 09:49:44 +0200Guest31(~Guest57@95.214.217.190) (Client Quit)
2025-10-20 09:50:34 +0200 <dminuoso> davean: But at the same time, when we talk about transformers, we say we layer monads *ontop* of a base. In `SomeT IO` you generally call IO a base monad.
2025-10-20 09:51:05 +0200 <davean> Yes, exactly, hence lifting
2025-10-20 09:52:49 +0200trickard(~trickard@cpe-57-98-47-163.wireline.com.au) (Ping timeout: 264 seconds)
2025-10-20 09:53:08 +0200trickard_(~trickard@cpe-53-98-47-163.wireline.com.au)
2025-10-20 09:55:05 +0200 <davean> IO is the base, SomeT is on top, thus we *lift IO into SomeT*
2025-10-20 09:55:21 +0200 <davean> Because it is semanticly beneith SomeT IO
2025-10-20 09:59:22 +0200acidjnk(~acidjnk@p200300d6e7171945c42b348415052731.dip0.t-ipconnect.de) acidjnk
2025-10-20 10:05:00 +0200merijn(~merijn@77.242.116.146) merijn
2025-10-20 10:05:53 +0200jreicher(~user@user/jreicher) (Ping timeout: 256 seconds)
2025-10-20 10:06:12 +0200gustrb(~gustrb@191.243.134.87) (Ping timeout: 244 seconds)
2025-10-20 10:07:18 +0200img(~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
2025-10-20 10:08:25 +0200 <monochrom> The best thing about meaningful names is that there are so many meanings to choose from!
2025-10-20 10:08:35 +0200img(~img@user/img) img
2025-10-20 10:10:37 +0200Googulator64(~Googulato@2a01-036d-0106-03fa-0485-6a66-0733-0e38.pool6.digikabel.hu)
2025-10-20 10:10:38 +0200Googulator96(~Googulato@2a01-036d-0106-03fa-0485-6a66-0733-0e38.pool6.digikabel.hu) (Quit: Client closed)
2025-10-20 10:17:46 +0200FirefoxDeHuk(~FirefoxDe@109.108.69.106)
2025-10-20 10:18:43 +0200FirefoxDeHuk(~FirefoxDe@109.108.69.106) (Client Quit)
2025-10-20 10:19:49 +0200FirefoxDeHuk(~FirefoxDe@109.108.69.106)
2025-10-20 10:19:53 +0200fp(~Thunderbi@2001:708:20:1406::10c5) fp
2025-10-20 10:20:41 +0200gustrb(~gustrb@191.243.134.87)
2025-10-20 10:22:19 +0200merijn(~merijn@77.242.116.146) (Ping timeout: 256 seconds)
2025-10-20 10:29:26 +0200kubrat(~kubrat@149.62.205.212) kubrat
2025-10-20 10:30:16 +0200mzg_(mzg@abusers.hu) (Remote host closed the connection)
2025-10-20 10:30:40 +0200synchromesh(~john@2406:5a00:2412:2c00:75ff:6dec:5332:48f7) (Read error: Connection reset by peer)
2025-10-20 10:31:59 +0200synchromesh(~john@2406:5a00:2412:2c00:75ff:6dec:5332:48f7) synchromesh
2025-10-20 10:32:26 +0200chromoblob(~chromoblo@user/chromob1ot1c) (Ping timeout: 248 seconds)
2025-10-20 10:34:08 +0200merijn(~merijn@77.242.116.146) merijn
2025-10-20 10:34:55 +0200FirefoxDeHuk(~FirefoxDe@109.108.69.106) (Quit: Client closed)
2025-10-20 10:37:37 +0200wbrawner(~wbrawner@static.56.224.132.142.clients.your-server.de) (Ping timeout: 265 seconds)
2025-10-20 10:39:09 +0200wbrawner(~wbrawner@static.56.224.132.142.clients.your-server.de) wbrawner
2025-10-20 10:39:44 +0200merijn(~merijn@77.242.116.146) (Ping timeout: 240 seconds)
2025-10-20 10:40:58 +0200 <dminuoso> davean: I guess if we just think of monad transformers or just constructions that eventually embed as some kinds of pyramid, it seems rather arbitrary whether we imagine the pyramid to have its tip pointed downwards or upwards.
2025-10-20 10:43:05 +0200FirefoxDeHuk(~FirefoxDe@109.108.69.106)
2025-10-20 10:45:37 +0200merijn(~merijn@77.242.116.146) merijn
2025-10-20 10:45:38 +0200Googulator64(~Googulato@2a01-036d-0106-03fa-0485-6a66-0733-0e38.pool6.digikabel.hu) (Quit: Client closed)
2025-10-20 10:45:49 +0200Googulator64(~Googulato@2a01-036d-0106-03fa-0485-6a66-0733-0e38.pool6.digikabel.hu)
2025-10-20 10:46:56 +0200wbrawner(~wbrawner@static.56.224.132.142.clients.your-server.de) (Ping timeout: 240 seconds)
2025-10-20 10:47:07 +0200wbrawner(~wbrawner@static.56.224.132.142.clients.your-server.de) wbrawner
2025-10-20 10:48:20 +0200 <davean> dminuoso: don't think of it as a peramid, think of its a sphere with subspheres nested inside it
2025-10-20 10:48:27 +0200 <davean> expanding out from zero
2025-10-20 10:48:46 +0200 <dminuoso> davean: Sure, and in that model wouldnt we think of IO as the inner core?
2025-10-20 10:49:07 +0200 <davean> It *is* the inner core, its not that we choose to think about it, it is litterly enclosed by
2025-10-20 10:49:18 +0200 <dminuoso> If we take a given IO action, say `putStrLn "Hello world"`, then its the action of putting that core inside layers and layers until we have a matching sphere.
2025-10-20 10:49:26 +0200 <dminuoso> Rather than pulling it out.
2025-10-20 10:50:05 +0200merijn(~merijn@77.242.116.146) (Ping timeout: 256 seconds)
2025-10-20 10:51:23 +0200 <dminuoso> This may just be the difference between operational and semantic thinking.
2025-10-20 10:51:41 +0200 <davean> No, putStrLn is already an object in IO, it has no other existance
2025-10-20 10:52:01 +0200 <dminuoso> Well I meant `liftIO (putStrLn "foo")` of course.
2025-10-20 10:52:48 +0200 <davean> Write, that projects from the IO space to the IO subspace of SomeT IO
2025-10-20 10:52:51 +0200 <tomsmeding> dminuoso: I think of liftIO as lifting "into SomeT", not "out of IO"
2025-10-20 10:53:00 +0200 <davean> Yah, it NEVER LEAVES IO
2025-10-20 10:53:04 +0200 <davean> It can't leave IO
2025-10-20 10:53:07 +0200 <tomsmeding> the sky above is larger than you, so lifting moves it into the larger thing
2025-10-20 10:53:44 +0200 <davean> it maps the IO subspace into the SomeT space, and specicily the IO subspace of said
2025-10-20 10:54:04 +0200 <tomsmeding> indeed, SomeT IO may well have more logic than IO itself, so also in that sense, it's "lifting" into a more exalted space of SomeT IO computations
2025-10-20 10:54:17 +0200 <tomsmeding> it's exactly what monochrom said
2025-10-20 10:55:22 +0200 <davean> what did monochrom say?
2025-10-20 10:55:33 +0200 <tomsmeding> 47 minutes ago
2025-10-20 10:55:40 +0200 <dminuoso> Dont all monad transformers put the base monad on the outside, in the sense that if we have some tranformer stack over IO, ultimately we have something like `IO ((M1 :.: M2 :.: ...) a)` (and possibly a lambda outside for Reader)?
2025-10-20 10:55:43 +0200 <tomsmeding> <monochrom> The best thing about meaningful names is that there are so many meanings to choose from!
2025-10-20 10:56:16 +0200 <davean> dminuoso: no, no, that is very much NOT what they do
2025-10-20 10:56:23 +0200 <tomsmeding> https://hackage.haskell.org/package/transformers-0.6.1.0/docs/Control-Monad-Trans-State-Strict.htm…
2025-10-20 10:56:33 +0200 <tomsmeding> StateT s m a ~= s -> m (a, s)
2025-10-20 10:56:34 +0200 <dminuoso> Ah I guess not.
2025-10-20 10:56:46 +0200 <davean> dminuoso: which I think is where your confusion is
2025-10-20 10:56:47 +0200 <tomsmeding> when you run them, you get a computation inside m, yes
2025-10-20 10:56:59 +0200 <dminuoso> davean: No, this is actually just a tangent I was starting to explore.
2025-10-20 10:57:19 +0200 <tomsmeding> and contrary to what davean is saying, I do not think your perspective is wrong, it's just a perspective that mismatches with what I think is the intended intuition behind "lift"
2025-10-20 10:57:26 +0200 <dminuoso> davean: Until now I was just focused more on thinking of transformers as a syntactical construct where IO resided in since thats how I think of how the effects compose.
2025-10-20 10:58:11 +0200 <davean> It isn't how the effects compose though, which gets really improtant with state and such
2025-10-20 10:58:19 +0200 <dminuoso> tomsmeding: Perhaps. liftIO is just one of the few things that never really clicked on the naming to me.
2025-10-20 10:58:58 +0200 <dminuoso> davean: Apart from ReaderT, I've never really used transformers much for a bunch of reasons.
2025-10-20 10:59:21 +0200 <dminuoso> Except for some local computation tricks.
2025-10-20 10:59:44 +0200 <dminuoso> Say something like runMaybeT $ do ...
2025-10-20 11:00:11 +0200__monty__(~toonn@user/toonn) toonn
2025-10-20 11:00:54 +0200 <dminuoso> Despite transformers being labeled with terms like "composition of effects", they are the antithesis of compositionality of library code.
2025-10-20 11:02:19 +0200 <davean> How so?
2025-10-20 11:04:01 +0200 <srazkvt> ig because instead of being able to call both functions for the wrapped monad, you need to lift the computations ?
2025-10-20 11:04:26 +0200 <dminuoso> If you use hard-wired transformers its really hard to compose different transformer code together. If you use mtl code you lack effect order specification. As a result you have a large variety of effect libraries that try to address these issues.
2025-10-20 11:04:47 +0200 <dminuoso> As a consequence hackage now is filled with code that ends up using any combination.
2025-10-20 11:05:37 +0200 <dminuoso> The only effect that is universally compatible with most libraries is pure IO.
2025-10-20 11:06:56 +0200 <davean> mtl you have a specific monad and then properties about it that you can use
2025-10-20 11:07:13 +0200merijn(~merijn@77.242.116.146) merijn
2025-10-20 11:08:30 +0200fp(~Thunderbi@2001:708:20:1406::10c5) (Ping timeout: 256 seconds)
2025-10-20 11:12:26 +0200merijn(~merijn@77.242.116.146) (Ping timeout: 248 seconds)
2025-10-20 11:21:26 +0200tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz)
2025-10-20 11:23:16 +0200FirefoxDeHuk(~FirefoxDe@109.108.69.106) (Quit: Client closed)
2025-10-20 11:23:35 +0200 <endokqr> I am profiling (+RTS -p) a Haskell program that runs for quite some time and I am interested in data from the full run. Unfortunately, this makes the time huge! I thought I'd be able to adjust the resolution of the time profile with -i and/or -V, but this seems to have no effect. What am I misunderstanding?
2025-10-20 11:23:40 +0200merijn(~merijn@77.242.116.146) merijn
2025-10-20 11:24:43 +0200FirefoxDeHuk(~FirefoxDe@109.108.69.106)
2025-10-20 11:32:27 +0200fp(~Thunderbi@130.233.70.140) fp
2025-10-20 11:33:01 +0200merijn(~merijn@77.242.116.146) (Ping timeout: 264 seconds)
2025-10-20 11:40:15 +0200merijn(~merijn@77.242.116.146) merijn
2025-10-20 11:43:39 +0200trickard_(~trickard@cpe-53-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-10-20 11:43:52 +0200trickard_(~trickard@cpe-53-98-47-163.wireline.com.au)
2025-10-20 11:47:59 +0200FirefoxDeHuk(~FirefoxDe@109.108.69.106) (Quit: Client closed)
2025-10-20 11:50:27 +0200 <dminuoso> endokqr: -i is just the sampling rate, think of it how accurate/finely grained the data is.
2025-10-20 11:50:45 +0200 <dminuoso> In practice this controls the data size of the profiling data
2025-10-20 11:51:02 +0200 <endokqr> dminuoso, Yeah, and I would imagine by setting -i to e.g. "10 Hz" would give me fewer stack frames in the time profile. But whatever number I pass there I get the same 9.1 GB .prof file.
2025-10-20 11:51:35 +0200 <dminuoso> endokqr: No, the cost centers are collected regardless. The interval is just how often the RTS stops and writes a record.
2025-10-20 11:51:47 +0200mreh(~matthew@host86-146-25-125.range86-146.btcentralplus.com)
2025-10-20 11:52:21 +0200 <dminuoso> The "stack frames" what you describe is just the cost centers.
2025-10-20 11:52:31 +0200 <endokqr> Ooooh, okay. So the only solution for me is to either post-process the .prof file and try to recognise "unimportant" branches of the tree and prune them, or go in and try to assign cost centres more intelligently?
2025-10-20 11:52:38 +0200 <dminuoso> Yes.
2025-10-20 11:53:10 +0200FirefoxDeHuk(~FirefoxDe@109.108.69.106)
2025-10-20 11:53:34 +0200FirefoxDeHuk(~FirefoxDe@109.108.69.106) (Write error: Connection reset by peer)
2025-10-20 11:53:46 +0200 <dminuoso> endokqr: You might find https://github.com/fpco/ghc-prof-flamegraph of interest (haven't used it in a few years, but I think it should still work fine)
2025-10-20 11:54:34 +0200FirefoxDeHuk(~FirefoxDe@109.108.69.106)
2025-10-20 11:54:49 +0200 <endokqr> That's what I'm aiming for, but on the full 9.1 GB file it eats all my 48 GB of RAM and then my system starts thrashing.
2025-10-20 11:55:22 +0200 <endokqr> But I could steal code from it to flatten the .prof file and then sample from it – that way I'm likely to get a subset of more interesting cost centres without difficult heuristics.
2025-10-20 11:55:43 +0200FirefoxDeHuk(~FirefoxDe@109.108.69.106) (Write error: Broken pipe)
2025-10-20 11:56:32 +0200 <dminuoso> endokqr: Btw, it coulkd be sufficient to explicitly declare cost centers on branches you *dont* want to profile, as -fprof-auto (which I presume you are using) does not poke deeper if you attached a cost center.
2025-10-20 11:56:52 +0200 <dminuoso> In the profiling data it would just collapse it into a single cost center.
2025-10-20 11:57:16 +0200srazkvt(~sarah@user/srazkvt) (Quit: Konversation terminated!)
2025-10-20 11:58:57 +0200 <dminuoso> Or you control it per-module with {-# OPTIONS_GHC -fno-prof-auto #-}
2025-10-20 11:59:26 +0200 <dminuoso> This might give you enough routes to explore
2025-10-20 11:59:43 +0200 <endokqr> That would be a rather useful trick. I'm not yet entirely sure where I'd put those annotations because I don't know where the interesting stuff and where it's not, but maybe I could figure that out either by first downsampling or spending a few minutes to think about it.
2025-10-20 12:02:28 +0200SlackCoder(~SlackCode@208.26.91.234) (Remote host closed the connection)
2025-10-20 12:04:25 +0200merijn(~merijn@77.242.116.146) (Ping timeout: 244 seconds)
2025-10-20 12:05:06 +0200jreicher(~user@user/jreicher) jreicher
2025-10-20 12:05:30 +0200merijn(~merijn@77.242.116.146) merijn
2025-10-20 12:08:05 +0200mzg(mzg@abusers.hu)
2025-10-20 12:10:02 +0200xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 248 seconds)
2025-10-20 12:11:04 +0200CiaoSen(~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) CiaoSen
2025-10-20 12:15:52 +0200trickard_trickard
2025-10-20 12:22:18 +0200merijn(~merijn@77.242.116.146) (Ping timeout: 252 seconds)
2025-10-20 12:32:22 +0200Googulator64(~Googulato@2a01-036d-0106-03fa-0485-6a66-0733-0e38.pool6.digikabel.hu) (Quit: Client closed)
2025-10-20 12:32:37 +0200Googulator64(~Googulato@2a01-036d-0106-03fa-0485-6a66-0733-0e38.pool6.digikabel.hu)
2025-10-20 12:34:40 +0200merijn(~merijn@77.242.116.146) merijn
2025-10-20 12:35:38 +0200trickard(~trickard@cpe-53-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-10-20 12:35:52 +0200trickard_(~trickard@cpe-53-98-47-163.wireline.com.au)
2025-10-20 12:56:06 +0200L29Ah(~L29Ah@wikipedia/L29Ah) (Read error: Connection timed out)
2025-10-20 12:56:31 +0200Googulator64Googulator
2025-10-20 13:00:17 +0200chromoblob(~chromoblo@user/chromob1ot1c) chromoblob\0
2025-10-20 13:05:57 +0200qqe(~qqq@185.54.23.200)
2025-10-20 13:09:17 +0200weary-traveler(~user@user/user363627) user363627
2025-10-20 13:13:18 +0200xff0x(~xff0x@2405:6580:b080:900:6316:ba02:9166:40eb)
2025-10-20 13:13:58 +0200FirefoxDeHuk(~FirefoxDe@109.108.69.106)
2025-10-20 13:15:43 +0200Googulator87(~Googulato@2a01-036d-0106-03fa-0485-6a66-0733-0e38.pool6.digikabel.hu)
2025-10-20 13:15:43 +0200Googulator(~Googulato@2a01-036d-0106-03fa-0485-6a66-0733-0e38.pool6.digikabel.hu) (Quit: Client closed)
2025-10-20 13:21:54 +0200tromp(~textual@2001:1c00:3487:1b00:242b:79a0:e1f9:7ea5) (Quit: My iMac has gone to sleep. ZZZzzz…)
2025-10-20 13:22:00 +0200chromoblob(~chromoblo@user/chromob1ot1c) (Ping timeout: 245 seconds)
2025-10-20 13:22:19 +0200inline(~inline@2a02:8071:57a1:1260:38c6:b31e:f98a:452e) Inline
2025-10-20 13:22:38 +0200chromoblob(~chromoblo@user/chromob1ot1c) chromoblob\0
2025-10-20 13:24:55 +0200Googulator87Googulator
2025-10-20 13:25:59 +0200Googulator7(~Googulato@2a01-036d-0106-03fa-0485-6a66-0733-0e38.pool6.digikabel.hu)
2025-10-20 13:26:12 +0200Googulator(~Googulato@2a01-036d-0106-03fa-0485-6a66-0733-0e38.pool6.digikabel.hu) (Quit: Client closed)
2025-10-20 13:26:14 +0200Googulator7Googulator
2025-10-20 13:27:21 +0200FirefoxDeHuk(~FirefoxDe@109.108.69.106) (Quit: Client closed)
2025-10-20 13:30:44 +0200Lycurgus(~juan@user/Lycurgus) Lycurgus
2025-10-20 13:36:54 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 244 seconds)
2025-10-20 13:37:06 +0200Lord_of_Life_(~Lord@user/lord-of-life/x-2819915) Lord_of_Life
2025-10-20 13:37:31 +0200chromoblob(~chromoblo@user/chromob1ot1c) (Read error: Connection reset by peer)
2025-10-20 13:37:53 +0200chromoblob(~chromoblo@user/chromob1ot1c) chromoblob\0
2025-10-20 13:37:59 +0200kubrat(~kubrat@149.62.205.212) (Ping timeout: 250 seconds)
2025-10-20 13:38:25 +0200Lord_of_Life_Lord_of_Life
2025-10-20 13:41:08 +0200srazkvt(~sarah@user/srazkvt) srazkvt
2025-10-20 13:52:55 +0200inline_(~inline@2a02:8071:57a1:1260:38c6:b31e:f98a:452e) Inline
2025-10-20 13:54:10 +0200inline__(~inline@2a02:8071:57a1:1260:38c6:b31e:f98a:452e) Inline
2025-10-20 13:55:19 +0200trickard_trickard
2025-10-20 13:56:01 +0200inline(~inline@2a02:8071:57a1:1260:38c6:b31e:f98a:452e) (Ping timeout: 244 seconds)
2025-10-20 13:56:20 +0200Lycurgus(~juan@user/Lycurgus) (Quit: alsoknownas.renjuan.org ( juan@acm.org ))
2025-10-20 13:57:56 +0200inline_(~inline@2a02:8071:57a1:1260:38c6:b31e:f98a:452e) (Ping timeout: 256 seconds)
2025-10-20 14:00:55 +0200kubrat(~kubrat@149.62.205.137)
2025-10-20 14:15:34 +0200Googulator(~Googulato@2a01-036d-0106-03fa-0485-6a66-0733-0e38.pool6.digikabel.hu) (Quit: Client closed)
2025-10-20 14:15:37 +0200Googulator54(~Googulato@2a01-036d-0106-03fa-0485-6a66-0733-0e38.pool6.digikabel.hu)
2025-10-20 14:15:40 +0200SlackCoder(~SlackCode@208.26.91.234) SlackCoder
2025-10-20 14:17:02 +0200L29Ah(~L29Ah@wikipedia/L29Ah) L29Ah
2025-10-20 14:20:45 +0200Googulator74(~Googulato@2a01-036d-0106-03fa-0485-6a66-0733-0e38.pool6.digikabel.hu)
2025-10-20 14:21:01 +0200Googulator54(~Googulato@2a01-036d-0106-03fa-0485-6a66-0733-0e38.pool6.digikabel.hu) (Quit: Client closed)
2025-10-20 14:30:13 +0200Natch(~natch@c-92-34-15-120.bbcust.telenor.se) (Ping timeout: 244 seconds)
2025-10-20 14:35:42 +0200FirefoxDeHuk(~FirefoxDe@109.108.69.106)
2025-10-20 14:37:38 +0200tromp(~textual@2001:1c00:3487:1b00:242b:79a0:e1f9:7ea5)
2025-10-20 14:40:10 +0200synchromesh(~john@2406:5a00:2412:2c00:75ff:6dec:5332:48f7) (Read error: Connection reset by peer)
2025-10-20 14:41:40 +0200synchromesh(~john@2406:5a00:2412:2c00:75ff:6dec:5332:48f7) synchromesh
2025-10-20 14:48:52 +0200 <endokqr> Appears non-trivial to post-process the profile data so I'm going to go with reducing the number of cost centres for now. Realised many of them are in third-party packages, which is useful information, but if it's preventing me from looking at the profile at all in a sensible way it's gonna have to go. Rebuilding dependencies without cost centres. (This also prevents the clever explicit cost
2025-10-20 14:48:55 +0200 <endokqr> centre hack from being very helpful!)
2025-10-20 14:51:40 +0200trickard(~trickard@cpe-53-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-10-20 14:51:54 +0200trickard_(~trickard@cpe-53-98-47-163.wireline.com.au)
2025-10-20 14:55:28 +0200hsw_(~hsw@112-104-9-97.adsl.dynamic.seed.net.tw) (Remote host closed the connection)
2025-10-20 14:55:52 +0200hsw_(~hsw@112-104-9-97.adsl.dynamic.seed.net.tw) hsw
2025-10-20 14:56:42 +0200CiaoSen(~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 260 seconds)
2025-10-20 14:56:57 +0200simplystuart(~simplystu@c-75-75-152-164.hsd1.pa.comcast.net)
2025-10-20 14:57:43 +0200divlamir(~divlamir@user/divlamir) (Read error: Connection reset by peer)
2025-10-20 14:58:04 +0200divlamir(~divlamir@user/divlamir) divlamir
2025-10-20 15:01:36 +0200ttybitnik(~ttybitnik@user/wolper) ttybitnik
2025-10-20 15:12:40 +0200chexum_(~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
2025-10-20 15:12:58 +0200chexum(~quassel@gateway/tor-sasl/chexum) chexum
2025-10-20 15:16:22 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 272 seconds)
2025-10-20 15:16:28 +0200pavonia(~user@user/siracusa) (Quit: Bye!)
2025-10-20 15:16:49 +0200Square(~Square4@user/square) (Ping timeout: 264 seconds)
2025-10-20 15:20:38 +0200Googulator50(~Googulato@2a01-036d-0106-03fa-0485-6a66-0733-0e38.pool6.digikabel.hu)
2025-10-20 15:20:42 +0200Googulator74(~Googulato@2a01-036d-0106-03fa-0485-6a66-0733-0e38.pool6.digikabel.hu) (Quit: Client closed)
2025-10-20 15:21:17 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) bitdex
2025-10-20 15:23:34 +0200FirefoxDeHuk(~FirefoxDe@109.108.69.106) (Quit: Client closed)
2025-10-20 15:24:20 +0200FirefoxDeHuk59(~FirefoxDe@109.108.69.106)
2025-10-20 15:24:37 +0200FirefoxDeHuk59(~FirefoxDe@109.108.69.106) (Client Quit)
2025-10-20 15:25:58 +0200FirefoxDeHuk5(~FirefoxDe@109.108.69.106)
2025-10-20 15:26:15 +0200FirefoxDeHuk5(~FirefoxDe@109.108.69.106) (Client Quit)
2025-10-20 15:27:37 +0200wbrawner(~wbrawner@static.56.224.132.142.clients.your-server.de) (Ping timeout: 260 seconds)
2025-10-20 15:28:34 +0200FirefoxDeHuk(~FirefoxDe@109.108.69.106)
2025-10-20 15:28:52 +0200FirefoxDeHuk(~FirefoxDe@109.108.69.106) (Write error: Broken pipe)
2025-10-20 15:28:54 +0200wbrawner(~wbrawner@static.56.224.132.142.clients.your-server.de) wbrawner
2025-10-20 15:31:04 +0200FirefoxDeHuk65(~FirefoxDe@109.108.69.106)
2025-10-20 15:31:34 +0200Zemy(~Zemy@2600:100c:b0a4:2b52:2c62:6eff:fe24:bb14)
2025-10-20 15:31:34 +0200Zemy_(~Zemy@72.178.108.235) (Read error: Connection reset by peer)
2025-10-20 15:32:05 +0200Zemy_(~Zemy@72.178.108.235)
2025-10-20 15:36:22 +0200Zemy(~Zemy@2600:100c:b0a4:2b52:2c62:6eff:fe24:bb14) (Ping timeout: 260 seconds)
2025-10-20 15:37:32 +0200wbrawner(~wbrawner@static.56.224.132.142.clients.your-server.de) (Ping timeout: 260 seconds)
2025-10-20 15:37:36 +0200humasect(~humasect@dyn-192-249-132-90.nexicom.net) humasect
2025-10-20 15:39:57 +0200wbrawner(~wbrawner@static.56.224.132.142.clients.your-server.de) wbrawner
2025-10-20 15:40:33 +0200Pozyomka(~pyon@user/pyon) (Ping timeout: 250 seconds)
2025-10-20 15:42:38 +0200Pozyomka(~pyon@user/pyon) pyon
2025-10-20 15:43:54 +0200tt12310978324354(~tt1231@2603:6010:8700:4a81:a4f6:acff:fe95:3803) (Ping timeout: 248 seconds)
2025-10-20 15:44:25 +0200Zemy(~Zemy@2600:100c:b0a4:2b52:30cd:7ff:fe22:3d41)
2025-10-20 15:44:26 +0200Zemy_(~Zemy@72.178.108.235) (Read error: Connection reset by peer)
2025-10-20 15:44:49 +0200Zemy_(~Zemy@72.178.108.235)
2025-10-20 15:48:43 +0200Zemy(~Zemy@2600:100c:b0a4:2b52:30cd:7ff:fe22:3d41) (Ping timeout: 246 seconds)
2025-10-20 15:52:16 +0200SlackCoder(~SlackCode@208.26.91.234) (Ping timeout: 244 seconds)
2025-10-20 15:52:52 +0200myxos(~myxos@65.25.110.175) myxokephale
2025-10-20 16:02:34 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
2025-10-20 16:04:36 +0200srazkvt(~sarah@user/srazkvt) (Quit: Konversation terminated!)
2025-10-20 16:07:31 +0200FirefoxDeHuk65(~FirefoxDe@109.108.69.106) (Quit: Client closed)
2025-10-20 16:22:09 +0200fp(~Thunderbi@130.233.70.140) (Ping timeout: 256 seconds)
2025-10-20 16:26:13 +0200fp(~Thunderbi@130.233.55.40) fp
2025-10-20 16:27:32 +0200fp(~Thunderbi@130.233.55.40) (Remote host closed the connection)
2025-10-20 16:28:32 +0200L29Ah(~L29Ah@wikipedia/L29Ah) (Read error: Connection reset by peer)
2025-10-20 16:30:47 +0200fp(~Thunderbi@wireless-86-50-140-208.open.aalto.fi) fp
2025-10-20 16:31:41 +0200inline__Inline
2025-10-20 16:33:10 +0200wbrawner(~wbrawner@static.56.224.132.142.clients.your-server.de) (Ping timeout: 246 seconds)
2025-10-20 16:35:02 +0200tromp(~textual@2001:1c00:3487:1b00:242b:79a0:e1f9:7ea5) (Quit: My iMac has gone to sleep. ZZZzzz…)
2025-10-20 16:35:47 +0200Googulator52(~Googulato@2a01-036d-0106-03fa-0485-6a66-0733-0e38.pool6.digikabel.hu)
2025-10-20 16:35:48 +0200Googulator50(~Googulato@2a01-036d-0106-03fa-0485-6a66-0733-0e38.pool6.digikabel.hu) (Quit: Client closed)
2025-10-20 16:35:53 +0200wbrawner(~wbrawner@static.56.224.132.142.clients.your-server.de) wbrawner
2025-10-20 16:37:49 +0200fp(~Thunderbi@wireless-86-50-140-208.open.aalto.fi) (Ping timeout: 264 seconds)
2025-10-20 16:40:35 +0200L29Ah(~L29Ah@wikipedia/L29Ah) L29Ah
2025-10-20 16:45:37 +0200trickard_trickard
2025-10-20 17:00:37 +0200wbrawner(~wbrawner@static.56.224.132.142.clients.your-server.de) (Ping timeout: 264 seconds)
2025-10-20 17:01:40 +0200wbrawner(~wbrawner@static.56.224.132.142.clients.your-server.de) wbrawner
2025-10-20 17:07:00 +0200tromp(~textual@2001:1c00:3487:1b00:242b:79a0:e1f9:7ea5)
2025-10-20 17:09:24 +0200wbrawner(~wbrawner@static.56.224.132.142.clients.your-server.de) (Ping timeout: 252 seconds)
2025-10-20 17:10:17 +0200wickedjargon(~user@120.29.79.98) (Ping timeout: 260 seconds)
2025-10-20 17:13:01 +0200wbrawner(~wbrawner@static.56.224.132.142.clients.your-server.de) wbrawner
2025-10-20 17:16:03 +0200ttybitnik(~ttybitnik@user/wolper) (Quit: Fading out...)
2025-10-20 17:19:43 +0200wbrawner(~wbrawner@static.56.224.132.142.clients.your-server.de) (Ping timeout: 240 seconds)
2025-10-20 17:22:02 +0200wbrawner(~wbrawner@static.56.224.132.142.clients.your-server.de) wbrawner
2025-10-20 17:25:42 +0200qqe(~qqq@185.54.23.200) (Quit: Lost terminal)
2025-10-20 17:28:40 +0200machinedgod(~machinedg@d75-159-126-101.abhsia.telus.net) machinedgod
2025-10-20 17:28:59 +0200wbrawner(~wbrawner@static.56.224.132.142.clients.your-server.de) (Ping timeout: 244 seconds)
2025-10-20 17:29:18 +0200flipflops(~cmo@2604:3d09:207f:8000::d1dc)
2025-10-20 17:30:09 +0200wbrawner(~wbrawner@static.56.224.132.142.clients.your-server.de) wbrawner
2025-10-20 17:31:19 +0200trickard(~trickard@cpe-53-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-10-20 17:31:33 +0200trickard_(~trickard@cpe-53-98-47-163.wireline.com.au)
2025-10-20 17:33:10 +0200Googulator52Googulator
2025-10-20 17:33:39 +0200chromoblob(~chromoblo@user/chromob1ot1c) (Ping timeout: 250 seconds)
2025-10-20 17:34:03 +0200chromoblob(~chromoblo@user/chromob1ot1c) chromoblob\0
2025-10-20 17:34:44 +0200humasect(~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection)
2025-10-20 17:37:48 +0200inline_(~inline@2a02:8071:57a1:1260:38c6:b31e:f98a:452e) Inline
2025-10-20 17:37:56 +0200kuribas(~user@2a02-1810-2825-6000-f3eb-4fa2-cbb5-436b.ip6.access.telenet.be) kuribas
2025-10-20 17:41:12 +0200Inline(~inline@2a02:8071:57a1:1260:38c6:b31e:f98a:452e) (Ping timeout: 256 seconds)
2025-10-20 17:47:35 +0200ladyfridaymrmonday
2025-10-20 17:55:44 +0200chele(~chele@user/chele) (Remote host closed the connection)
2025-10-20 18:01:26 +0200inline_(~inline@2a02:8071:57a1:1260:38c6:b31e:f98a:452e) (Ping timeout: 244 seconds)
2025-10-20 18:05:34 +0200flipflops(~cmo@2604:3d09:207f:8000::d1dc) (Ping timeout: 246 seconds)
2025-10-20 18:07:16 +0200AeIo(~AeIo@109.108.69.106)
2025-10-20 18:08:04 +0200AeIo(~AeIo@109.108.69.106) (Write error: Broken pipe)
2025-10-20 18:13:11 +0200 <EvanR> geekosaur, I heard matrix had an outage recently. Maybe the bridge hasn't been properly restored
2025-10-20 18:13:18 +0200 <EvanR> haven't seen anyone talk through it in a while
2025-10-20 18:13:41 +0200 <geekosaur> sm did yesterday
2025-10-20 18:13:49 +0200 <EvanR> oh
2025-10-20 18:14:24 +0200 <geekosaur> and there've been several conversations the past few days involving multiple Matrix users in #xmonad and #ghc
2025-10-20 18:15:46 +0200 <geekosaur> and I've seen a few more in other bridged channels I'm not normally in (e.g. #haskell-wasm); Matrix-side they're in my "low priority" list which I scan at least once a day to make sure things are okay
2025-10-20 18:20:43 +0200Googulator33(~Googulato@2a01-036d-0106-03fa-0485-6a66-0733-0e38.pool6.digikabel.hu)
2025-10-20 18:20:45 +0200Googulator(~Googulato@2a01-036d-0106-03fa-0485-6a66-0733-0e38.pool6.digikabel.hu) (Quit: Client closed)
2025-10-20 18:21:37 +0200td_(~td@i53870936.versanet.de) (Ping timeout: 264 seconds)
2025-10-20 18:21:48 +0200chromoblob(~chromoblo@user/chromob1ot1c) (Read error: Connection reset by peer)
2025-10-20 18:22:17 +0200merijn(~merijn@77.242.116.146) (Ping timeout: 256 seconds)
2025-10-20 18:23:41 +0200 <haskellbridge> <sm> I haven't noticed an outage EvanR
2025-10-20 18:24:14 +0200 <EvanR> it was sep 2
2025-10-20 18:24:40 +0200 <geekosaur> yeh, I figured you meant that one
2025-10-20 18:25:05 +0200kuribas(~user@2a02-1810-2825-6000-f3eb-4fa2-cbb5-436b.ip6.access.telenet.be) (Remote host closed the connection)
2025-10-20 18:25:08 +0200 <haskellbridge> <sm> I have noticed chats seem quieter of late
2025-10-20 18:25:13 +0200 <geekosaur> same
2025-10-20 18:25:26 +0200 <geekosaur> and not only haskell chats
2025-10-20 18:26:52 +0200 <geekosaur> FP Discord also has seemed a bit quieter than usual of late, and not only about Haskell (there was a lot of OCaml and Racket chat that went away)
2025-10-20 18:27:25 +0200 <haskellbridge> <sm> maybe libera has some stats
2025-10-20 18:28:03 +0200td_(~td@2001:9e8:19d3:4b00:581b:6633:814:8863)
2025-10-20 18:28:55 +0200 <EvanR> as the universe expands anyone separated by enough space recedes into the distance and decrease in frequency
2025-10-20 18:30:21 +0200 <geekosaur> dunno if libera does, but tomsmeding's log bot does
2025-10-20 18:30:50 +0200jmcantrell(~weechat@user/jmcantrell) jmcantrell
2025-10-20 18:32:32 +0200 <geekosaur> hm, maybe it doesn't any more
2025-10-20 18:32:41 +0200 <geekosaur> used to have a stats page for each channel
2025-10-20 18:33:24 +0200 <geekosaur> including things like a nick word cloud by message frequency. I guess he pruned it
2025-10-20 18:40:14 +0200weary-traveler(~user@user/user363627) (Remote host closed the connection)
2025-10-20 18:43:10 +0200 <haskellbridge> <Morj> You won't believe how quiet erlang chats are
2025-10-20 18:43:27 +0200 <EvanR> it's all about elixir discord
2025-10-20 18:43:32 +0200 <haskellbridge> <Morj> Very sad, I had to ask an llm to give me advice
2025-10-20 18:43:59 +0200 <haskellbridge> <Morj> Yea and an llm would also give elixir answers instead of erlang
2025-10-20 18:44:05 +0200 <EvanR> lol
2025-10-20 18:44:29 +0200 <EvanR> sounds like a blind spot
2025-10-20 18:45:16 +0200turlando(~turlando@user/turlando) turlando
2025-10-20 18:45:26 +0200chromoblob(~chromoblo@user/chromob1ot1c) chromoblob\0
2025-10-20 18:45:33 +0200 <haskellbridge> <Morj> «too far off the data distribution» is what they say
2025-10-20 18:45:45 +0200Googulator30(~Googulato@2a01-036d-0106-03fa-0485-6a66-0733-0e38.pool6.digikabel.hu)
2025-10-20 18:45:45 +0200Googulator33(~Googulato@2a01-036d-0106-03fa-0485-6a66-0733-0e38.pool6.digikabel.hu) (Quit: Client closed)
2025-10-20 18:47:45 +0200 <haskellbridge> <Morj> Actually I have no idea how far off the data distribution is haskell, because most questions I have are not even answered by humans
2025-10-20 18:48:34 +0200 <EvanR> they're answered by the type signature? xD
2025-10-20 18:48:52 +0200 <haskellbridge> <Morj> :D
2025-10-20 18:49:08 +0200 <haskellbridge> <Morj> No yeah but hoogle is so great. I miss it every day I write in rust
2025-10-20 18:49:30 +0200kimiamania99(~92460e22@user/kimiamania) (Quit: PegeLinux)
2025-10-20 18:50:41 +0200flipflops(~cmo@2604:3d09:207f:8000::d1dc)
2025-10-20 18:59:11 +0200tromp(~textual@2001:1c00:3487:1b00:242b:79a0:e1f9:7ea5) (Quit: My iMac has gone to sleep. ZZZzzz…)
2025-10-20 19:04:41 +0200 <haskellbridge> <doc> is there a way to auto derive instances like Num a => Num (Foo a) where { (+) = liftA2 (+); (-) = liftA2 (-); (_) = liftA2 (_); abs = fmap abs; fromInteger = pure . fromInteger; etc etc} where Foo is an applicative and all the methods just plumb fmap/liftA, liftA2, and pure… I read a thread on r/haskell abt this and it was recommended to write this out for each type you need this for, which is perfectly fine, but am curious if there's any...
2025-10-20 19:04:47 +0200 <haskellbridge> ... deriving magic that can do this
2025-10-20 19:06:04 +0200kubrat(~kubrat@149.62.205.137) (Quit: Client closed)
2025-10-20 19:07:06 +0200flipflops(~cmo@2604:3d09:207f:8000::d1dc) (Ping timeout: 252 seconds)
2025-10-20 19:08:31 +0200 <geekosaur> no auto derive, but you can in fact write an instance that works for any Applicative
2025-10-20 19:09:16 +0200 <geekosaur> the main argument against is that it leads to unexpected behavior, mostly due to ((->) e) being Applicative
2025-10-20 19:10:37 +0200Googulator30(~Googulato@2a01-036d-0106-03fa-0485-6a66-0733-0e38.pool6.digikabel.hu) (Quit: Client closed)
2025-10-20 19:10:42 +0200Googulator67(~Googulato@2a01-036d-0106-03fa-0485-6a66-0733-0e38.pool6.digikabel.hu)
2025-10-20 19:13:03 +0200 <geekosaur> instance (Applicative f, Num a) => Num (f a) where (+) = liftA2 (+); (-) = liftA2 (-); (*) = liftA2 (*); negate = fmap negate; abs = fmap abs; signum = fmap signum; fromInteger = pure . fromInteger
2025-10-20 19:13:22 +0200wootehfoot(~wootehfoo@user/wootehfoot) wootehfoot
2025-10-20 19:14:06 +0200 <geekosaur> this and Num polymorphism means using that instance is a good way to induce insanity
2025-10-20 19:14:30 +0200 <haskellbridge> <doc> yep this was also mentioned on that discussion i read, to avoid having this general instance in scope
2025-10-20 19:14:54 +0200 <geekosaur> it shouldn't be difficult to write some TH to auto-derive it
2025-10-20 19:17:58 +0200kubrat(~kubrat@149.62.205.137)
2025-10-20 19:18:12 +0200qqe(~qqq@185.54.23.200)
2025-10-20 19:20:23 +0200kubrat(~kubrat@149.62.205.137) (Client Quit)
2025-10-20 19:31:05 +0200mastarija(~mastarija@89-164-108-176.dsl.iskon.hr) mastarija
2025-10-20 19:31:22 +0200tromp(~textual@2001:1c00:3487:1b00:242b:79a0:e1f9:7ea5)
2025-10-20 19:32:12 +0200 <mastarija> Is there a way to recover the actual type from generics? The type names are written out as a type level string, but I'd like to somehow recover the original type.
2025-10-20 19:32:31 +0200 <mastarija> I'd like to construct a type level list of all the field types of a product type.
2025-10-20 19:33:59 +0200 <mastarija> I'm thinking it might be possible to hack a HasField + type family to get the fields since there's a functional dependency between the parent type, type level field name and the type of the field.
2025-10-20 19:34:37 +0200 <mastarija> But that will only work on product types that have field names (if it's even possible to use HasField like that).
2025-10-20 19:35:27 +0200 <geekosaur> I think the actual type is available, but not that way. Generics are built on Data.Data iirc, which should allow getting the actual type I think?
2025-10-20 19:36:09 +0200 <mastarija> Hm... interesting. I did not know that.
2025-10-20 19:37:47 +0200 <geekosaur> my recollection is Generics <- Data.Data <- Typeable, but while Typeable has the type available in some sense it's not powerful enough to make it directly available; the best you can do is its `cast` which produces a `Maybe targetType`
2025-10-20 19:38:17 +0200 <geekosaur> that said, it's entirely possible I remember wrong and Data.Data is the basis for a different generics implementation (SYB seems most likely in that case)
2025-10-20 19:38:32 +0200 <mastarija> Yeah. They mention something about that.
2025-10-20 19:38:33 +0200 <tomsmeding> I'm fairly sure Data.Data is not involved here
2025-10-20 19:38:41 +0200 <tomsmeding> Data.Data is untyped, and GHC.Generics is quite typed
2025-10-20 19:38:42 +0200 <mastarija> I think Typeable is not what I want.
2025-10-20 19:39:00 +0200 <geekosaur> it's not; like I said, it's not strong enough
2025-10-20 19:39:07 +0200 <tomsmeding> mastarija: which type exactly are you looking for? The type of a field?
2025-10-20 19:39:35 +0200 <mastarija> Like, my ultimate goal is to be able to make a `toTuple` / `fromTuple` instances where I could generically convert any product type into a tuple.
2025-10-20 19:39:51 +0200 <mastarija> But yes. Type of a field is what I'm looking for.
2025-10-20 19:39:58 +0200 <tomsmeding> the field types are simply there inside the Rec0 constructors
2025-10-20 19:40:16 +0200 <mastarija> When using `Rep` I unfortunatelly do not get that.
2025-10-20 19:40:21 +0200 <mastarija> Wait, really?
2025-10-20 19:40:26 +0200 <tomsmeding> % :seti -XDeriveGeneric
2025-10-20 19:40:26 +0200 <yahb2> <no output>
2025-10-20 19:40:32 +0200 <tomsmeding> % data A = A Int Bool deriving (Generic)
2025-10-20 19:40:32 +0200 <yahb2> <interactive>:63:31: error: [GHC-76037] ; Not in scope: type constructor or class ‘Generic’
2025-10-20 19:40:37 +0200 <tomsmeding> % import GHC.Generics
2025-10-20 19:40:37 +0200 <yahb2> <no output>
2025-10-20 19:40:39 +0200ljdarj(~Thunderbi@user/ljdarj) ljdarj
2025-10-20 19:40:40 +0200 <tomsmeding> % data A = A Int Bool deriving (Generic)
2025-10-20 19:40:40 +0200 <yahb2> <no output>
2025-10-20 19:40:43 +0200 <geekosaur> yes
2025-10-20 19:40:43 +0200 <tomsmeding> %% :k! Rep A
2025-10-20 19:40:43 +0200 <yahb2> https://paste.tomsmeding.com/UQWaOWBa
2025-10-20 19:40:53 +0200 <tomsmeding> note the Int and Bool in there
2025-10-20 19:41:05 +0200 <tomsmeding> I don't even see any string forms anywhere
2025-10-20 19:41:39 +0200 <mastarija> But will that work for a field that's another product? I just want to go one level deep.
2025-10-20 19:42:28 +0200 <tomsmeding> what do you mean? Do you have a simple example type?
2025-10-20 19:42:32 +0200 <mastarija> Huh. It does.
2025-10-20 19:42:35 +0200 <dcpagan> Did "join" used to be a class method that one could optionally define for a Monad instance? I could have sworn that I read somewhere that you could define a Monad instance by defining join instead of defining bind, since m >>= k = join $ fmap k m
2025-10-20 19:42:39 +0200 <mastarija> I don't know what I was thinking.
2025-10-20 19:42:50 +0200 <monochrom> I don't think join was ever a method.
2025-10-20 19:42:53 +0200 <tomsmeding> dcpagan: well you can always define (>>=) in terms of join yourself
2025-10-20 19:43:03 +0200 <mastarija> Yeah. I guess on Rec0 we are supposed to manually call Rep if we want to go deeper, right?
2025-10-20 19:43:11 +0200 <mastarija> Now it's coming back to me...
2025-10-20 19:43:15 +0200 <tomsmeding> if you want to recurse into a field, then yes
2025-10-20 19:43:55 +0200 <mastarija> Yeah. Thanks. I somehow misremembered stuff and got stuck thinking my thinking is correct xD
2025-10-20 19:43:57 +0200 <monochrom> Not sure what you read, but generally "could" could (pun!) be highly hypothetical as in "in another parallel universe" and/or "if I were World Dictator".
2025-10-20 19:44:30 +0200 <dolio> Is that a pun?
2025-10-20 19:47:20 +0200 <monochrom> Could be!
2025-10-20 19:47:25 +0200wbrawner(~wbrawner@static.56.224.132.142.clients.your-server.de) (Ping timeout: 264 seconds)
2025-10-20 19:47:33 +0200wbrawner(~wbrawner@static.56.224.132.142.clients.your-server.de) wbrawner