2023/09/12

2023-09-12 00:04:30 +0200coot(~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot)
2023-09-12 00:05:20 +0200gmg(~user@user/gehmehgeh) (Quit: Leaving)
2023-09-12 00:05:46 +0200sm(~sm@plaintextaccounting/sm) (Ping timeout: 252 seconds)
2023-09-12 00:10:33 +0200Inst(~Inst@120.244.192.250)
2023-09-12 00:14:34 +0200CiaoSen(~Jura@2a05:5800:2a7:700:664b:f0ff:fe37:9ef) (Ping timeout: 252 seconds)
2023-09-12 00:16:31 +0200bontaq(~user@ool-45707d2c.dyn.optonline.net) (Remote host closed the connection)
2023-09-12 00:20:49 +0200sm(~sm@plaintextaccounting/sm)
2023-09-12 00:22:11 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
2023-09-12 00:23:26 +0200powderhorn(~powderhor@207-153-12-54.static.fttp.usinternet.com)
2023-09-12 00:23:46 +0200 <ph88> what does the ~ mean in https://hackage.haskell.org/package/base-4.18.0.0/docs/src/Data.Either.html#partitionEithers ?
2023-09-12 00:24:15 +0200 <erisco> ph88, it is called an irrefutable pattern
2023-09-12 00:24:22 +0200 <EvanR> lazy pattern match
2023-09-12 00:24:43 +0200 <EvanR> the pattern is assumed to match but isn't checked
2023-09-12 00:24:56 +0200 <EvanR> until absolutely necessary
2023-09-12 00:25:21 +0200 <ph88> where can i apply that in my own code ?
2023-09-12 00:25:29 +0200sm(~sm@plaintextaccounting/sm) (Ping timeout: 245 seconds)
2023-09-12 00:25:39 +0200 <EvanR> in a place where checking the pattern would lead to an infinite loop, in my experience
2023-09-12 00:26:01 +0200 <EvanR> since it's a pair, it will match anyway, so don't check now
2023-09-12 00:26:15 +0200 <EvanR> esp if it would cause an infinite loop
2023-09-12 00:28:00 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-09-12 00:28:11 +0200 <c_wraith> in the case of partitionEithers, it wouldn't be an infinite loop. It's just more efficient.
2023-09-12 00:31:44 +0200segfaultfizzbuzz(~segfaultf@12.172.217.142) (Ping timeout: 245 seconds)
2023-09-12 00:36:34 +0200wroathe(~wroathe@user/wroathe)
2023-09-12 00:36:42 +0200jmdaemon(~jmdaemon@user/jmdaemon)
2023-09-12 00:37:43 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-09-12 00:38:44 +0200hueso(~root@user/hueso) (Read error: Connection reset by peer)
2023-09-12 00:39:00 +0200hueso(~root@user/hueso)
2023-09-12 00:40:52 +0200sord937(~sord937@gateway/tor-sasl/sord937) (Quit: sord937)
2023-09-12 00:40:53 +0200merijn(~merijn@088-129-128-083.dynamic.caiway.nl)
2023-09-12 00:40:58 +0200oo_miguel(~Thunderbi@78-11-179-96.static.ip.netia.com.pl) (Ping timeout: 252 seconds)
2023-09-12 00:42:34 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 245 seconds)
2023-09-12 00:42:41 +0200waleee(~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 255 seconds)
2023-09-12 00:44:49 +0200jmdaemon(~jmdaemon@user/jmdaemon) (Ping timeout: 252 seconds)
2023-09-12 00:45:22 +0200merijn(~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2023-09-12 00:48:17 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643)
2023-09-12 00:50:54 +0200jmdaemon(~jmdaemon@user/jmdaemon)
2023-09-12 00:50:58 +0200Tuplanolla(~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) (Quit: Leaving.)
2023-09-12 00:54:15 +0200Sgeo(~Sgeo@user/sgeo)
2023-09-12 00:55:06 +0200segfaultfizzbuzz(~segfaultf@12.172.217.142)
2023-09-12 00:58:53 +0200merijn(~merijn@088-129-128-083.dynamic.caiway.nl)
2023-09-12 01:00:53 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-09-12 01:05:06 +0200azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 246 seconds)
2023-09-12 01:05:43 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 252 seconds)
2023-09-12 01:06:05 +0200shapr(~user@c-67-160-55-153.hsd1.wa.comcast.net) (Ping timeout: 255 seconds)
2023-09-12 01:06:32 +0200jmdaemon(~jmdaemon@user/jmdaemon) (Ping timeout: 255 seconds)
2023-09-12 01:06:32 +0200Inst(~Inst@120.244.192.250) (Ping timeout: 255 seconds)
2023-09-12 01:08:07 +0200Inst(~Inst@120.244.192.250)
2023-09-12 01:08:14 +0200sm(~sm@plaintextaccounting/sm)
2023-09-12 01:12:52 +0200sm(~sm@plaintextaccounting/sm) (Ping timeout: 252 seconds)
2023-09-12 01:13:32 +0200powderhorn(~powderhor@207-153-12-54.static.fttp.usinternet.com) (Quit: Client closed)
2023-09-12 01:13:45 +0200powderhorn(~powderhor@207-153-12-54.static.fttp.usinternet.com)
2023-09-12 01:14:53 +0200waleee(~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7)
2023-09-12 01:15:04 +0200mmhat(~mmh@p200300f1c7178a00ee086bfffe095315.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
2023-09-12 01:15:26 +0200mmhat(~mmh@p200300f1c7178aebee086bfffe095315.dip0.t-ipconnect.de)
2023-09-12 01:17:45 +0200xff0x(~xff0x@2405:6580:b080:900:9d7a:fcf5:f99f:89f2) (Ping timeout: 246 seconds)
2023-09-12 01:19:46 +0200xff0x(~xff0x@178.255.149.135)
2023-09-12 01:22:25 +0200Guest|50(~Guest|50@184.146.40.42)
2023-09-12 01:22:59 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 245 seconds)
2023-09-12 01:23:08 +0200Guest|50(~Guest|50@184.146.40.42) (Client Quit)
2023-09-12 01:24:56 +0200sm(~sm@plaintextaccounting/sm)
2023-09-12 01:26:33 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
2023-09-12 01:27:53 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643)
2023-09-12 01:28:27 +0200shapr(~user@75-172-29-107.tukw.qwest.net)
2023-09-12 01:28:49 +0200ystael(~ystael@user/ystael) (Ping timeout: 252 seconds)
2023-09-12 01:29:55 +0200merijn(~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2023-09-12 01:31:50 +0200Axman6(~Axman6@user/axman6)
2023-09-12 01:37:04 +0200sm(~sm@plaintextaccounting/sm) (Ping timeout: 252 seconds)
2023-09-12 01:37:47 +0200mmhat(~mmh@p200300f1c7178aebee086bfffe095315.dip0.t-ipconnect.de) (Quit: WeeChat 4.0.4)
2023-09-12 01:39:12 +0200powderhorn(~powderhor@207-153-12-54.static.fttp.usinternet.com) (Quit: Client closed)
2023-09-12 01:40:54 +0200xff0x(~xff0x@178.255.149.135) (Ping timeout: 245 seconds)
2023-09-12 01:41:12 +0200Square(~Square@user/square) (Ping timeout: 246 seconds)
2023-09-12 01:43:01 +0200xff0x(~xff0x@2405:6580:b080:900:3c1b:8aaf:c8cf:6421)
2023-09-12 01:53:49 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-09-12 01:54:20 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 248 seconds)
2023-09-12 01:55:34 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915)
2023-09-12 01:55:34 +0200sm(~sm@plaintextaccounting/sm)
2023-09-12 01:56:52 +0200chomwitt(~chomwitt@2a02:587:7a0c:4d00:1ac0:4dff:fedb:a3f1) (Ping timeout: 252 seconds)
2023-09-12 02:00:29 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 245 seconds)
2023-09-12 02:03:21 +0200pyooque(~puke@user/puke)
2023-09-12 02:03:21 +0200puke(~puke@user/puke) (Killed (mercury.libera.chat (Nickname regained by services)))
2023-09-12 02:03:21 +0200pyooquepuke
2023-09-12 02:03:28 +0200sm(~sm@plaintextaccounting/sm) (Ping timeout: 252 seconds)
2023-09-12 02:04:49 +0200merijn(~merijn@088-129-128-083.dynamic.caiway.nl)
2023-09-12 02:09:32 +0200merijn(~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 255 seconds)
2023-09-12 02:12:15 +0200aaronv(~aaronv@user/aaronv)
2023-09-12 02:14:04 +0200hueso(~root@user/hueso) (Quit: hueso)
2023-09-12 02:16:14 +0200sm(~sm@plaintextaccounting/sm)
2023-09-12 02:18:09 +0200hueso(~root@user/hueso)
2023-09-12 02:20:29 +0200sm(~sm@plaintextaccounting/sm) (Ping timeout: 245 seconds)
2023-09-12 02:29:20 +0200segfaultfizzbuzz(~segfaultf@12.172.217.142) (Ping timeout: 255 seconds)
2023-09-12 02:32:45 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-09-12 02:33:18 +0200sm(~sm@plaintextaccounting/sm)
2023-09-12 02:33:41 +0200ystael(~ystael@user/ystael)
2023-09-12 02:37:26 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 255 seconds)
2023-09-12 02:37:34 +0200sm(~sm@plaintextaccounting/sm) (Ping timeout: 252 seconds)
2023-09-12 02:39:02 +0200yosef`(~yosef`@user/yosef/x-2947716)
2023-09-12 02:51:53 +0200tcard_(~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303)
2023-09-12 02:52:37 +0200Sciencentistguy8(~sciencent@hacksoc/ordinary-member)
2023-09-12 02:53:13 +0200dsal(sid13060@id-13060.lymington.irccloud.com) (Ping timeout: 240 seconds)
2023-09-12 02:54:13 +0200tcard(~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) (Ping timeout: 240 seconds)
2023-09-12 02:54:32 +0200Sciencentistguy(~sciencent@hacksoc/ordinary-member) (Ping timeout: 255 seconds)
2023-09-12 02:54:32 +0200Sciencentistguy8Sciencentistguy
2023-09-12 02:55:16 +0200migas8(~migas@astra4961.startdedicated.net)
2023-09-12 02:55:27 +0200dsal(sid13060@id-13060.lymington.irccloud.com)
2023-09-12 02:55:54 +0200mhatta_(~mhatta@www21123ui.sakura.ne.jp)
2023-09-12 02:56:04 +0200darksatanic(~darkling@2001-ba8-1f1-f0e6-0-0-0-2.autov6rev.bitfolk.space)
2023-09-12 02:56:25 +0200tcard_(~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) (Remote host closed the connection)
2023-09-12 02:56:25 +0200tcard_(~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303)
2023-09-12 02:56:25 +0200migas(~migas@astra4961.startdedicated.net) (Quit: Ping timeout (120 seconds))
2023-09-12 02:56:25 +0200nyc(~nyc@2603-7000-a106-2fb5-0000-0000-0000-1f21.res6.spectrum.com) (Ping timeout: 246 seconds)
2023-09-12 02:56:25 +0200nyc(~nyc@2603-7000-a106-2fb5-0000-0000-0000-1f21.res6.spectrum.com)
2023-09-12 02:56:26 +0200glider(~glider@user/glider) (Quit: ZNC - https://znc.in)
2023-09-12 02:56:26 +0200remmie(ianremsen@tilde.team) (Remote host closed the connection)
2023-09-12 02:56:26 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com)
2023-09-12 02:56:26 +0200migas8migas
2023-09-12 02:56:27 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
2023-09-12 02:56:27 +0200wroathe(~wroathe@user/wroathe)
2023-09-12 02:57:35 +0200remmie(ianremsen@tilde.team)
2023-09-12 02:57:41 +0200shapr(~user@75-172-29-107.tukw.qwest.net) (Ping timeout: 255 seconds)
2023-09-12 02:58:23 +0200mhatta(~mhatta@www21123ui.sakura.ne.jp) (Ping timeout: 246 seconds)
2023-09-12 02:58:23 +0200darkling(~darkling@savella.carfax.org.uk) (Ping timeout: 246 seconds)
2023-09-12 02:58:23 +0200lyxia(~lyxia@poisson.chat) (Ping timeout: 246 seconds)
2023-09-12 03:00:59 +0200 <Inst> What are the chances that there's actually a Haskell codebase using this?
2023-09-12 03:01:01 +0200 <Inst> https://hackage.haskell.org/package/base-4.18.0.0/docs/Control-Exception.html#t:TypeError
2023-09-12 03:03:35 +0200yosef`(~yosef`@user/yosef/x-2947716) (Quit: Client closed)
2023-09-12 03:03:44 +0200 <Inst> I mean you have NRI prelude on XStrict, so there has to be someone using -fdefer-type-errors
2023-09-12 03:05:17 +0200brettgilio(a35ba67324@2604:bf00:561:2000::260) (Remote host closed the connection)
2023-09-12 03:06:32 +0200 <geekosaur> generally it's used by IDEs, so I'd look at HLS
2023-09-12 03:07:25 +0200sm(~sm@plaintextaccounting/sm)
2023-09-12 03:07:35 +0200jespada(~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) (Ping timeout: 255 seconds)
2023-09-12 03:08:42 +0200 <EvanR> -fdefer-type-errors is handy if you want to run your program before the entire thing is compiling
2023-09-12 03:09:11 +0200 <EvanR> like, if each file is a room, and you promise not to go in the rooms that aren't compiling yet
2023-09-12 03:10:30 +0200jespada(~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net)
2023-09-12 03:11:30 +0200 <Axman6> it'd be appropriate to use if you were using Data.Dynamic and you messed up
2023-09-12 03:12:59 +0200sm(~sm@plaintextaccounting/sm) (Ping timeout: 245 seconds)
2023-09-12 03:13:29 +0200 <Inst> so maybe IHP?
2023-09-12 03:13:33 +0200 <Inst> since they have hot reloading?
2023-09-12 03:20:38 +0200 <Axman6> perhaps
2023-09-12 03:21:53 +0200 <EvanR> hold the hot reloading until the changes type check, imo
2023-09-12 03:22:16 +0200 <Axman6> YOLO
2023-09-12 03:22:55 +0200 <Axman6> just coerce the Dynamic and blame the user when they get it wrong
2023-09-12 03:22:59 +0200 <jackdk> type changing + hot reloading is a real hard problem. Not sure if IHP even attempts it
2023-09-12 03:23:45 +0200 <Axman6> luckily we can do things like not reload a Wai application which has a concrete type, so all the other types can change
2023-09-12 03:23:49 +0200 <Axman6> hot*
2023-09-12 03:24:09 +0200 <EvanR> not reloading
2023-09-12 03:24:23 +0200 <Axman6> F4n't
2023-09-12 03:24:31 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net)
2023-09-12 03:24:37 +0200 <Axman6> is it F4? I dunno, never really used windows
2023-09-12 03:24:39 +0200 <geekosaur> "hot or not?" 😛
2023-09-12 03:24:54 +0200 <Inst> f4 is search, iirc, f5 is reload
2023-09-12 03:24:56 +0200 <Axman6> that's actually a great name for a hot code reloading framework XD
2023-09-12 03:25:03 +0200 <Axman6> dang, so close
2023-09-12 03:25:16 +0200 <Axman6> HsHotOrNot
2023-09-12 03:25:26 +0200 <Inst> c4 is a great name for a package manager, but in a Haskell context...
2023-09-12 03:25:37 +0200 <Axman6> (HotOrNotHs might get you thrown in jail)
2023-09-12 03:25:45 +0200 <geekosaur> sounds like the opposite of a package manager to me
2023-09-12 03:26:01 +0200 <geekosaur> deconstruction manager maybe
2023-09-12 03:26:08 +0200 <Axman6> unzipping a tarball is definitely exploding a package
2023-09-12 03:26:50 +0200shapr(~user@c-67-160-55-153.hsd1.wa.comcast.net)
2023-09-12 03:27:18 +0200 <Axman6> the package I've always wanted to make was a combination of Grenade, the deep learning package, and Accelerate for running it on the GUP - the name would of course be RPG
2023-09-12 03:27:24 +0200 <Inst> why am i using (\cases ... ) args?
2023-09-12 03:27:40 +0200 <Inst> did anyone fix accelerate?
2023-09-12 03:27:42 +0200 <Axman6> I tried to do it once but realised I don't know enough about either package to pull it off :'(
2023-09-12 03:27:46 +0200sm(~sm@plaintextaccounting/sm)
2023-09-12 03:28:27 +0200 <Inst> this doesn't work :(
2023-09-12 03:28:27 +0200 <Inst> cases localFile remoteFile internalFile of
2023-09-12 03:28:53 +0200 <Axman6> why not?
2023-09-12 03:29:04 +0200 <Axman6> GPU*
2023-09-12 03:29:30 +0200 <Inst> ummm, afaik cases isn't a thing, right? but \cases is?
2023-09-12 03:29:49 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 252 seconds)
2023-09-12 03:31:59 +0200 <int-e> if you want to bind a variable called 'cases'
2023-09-12 03:32:34 +0200sm(~sm@plaintextaccounting/sm) (Ping timeout: 252 seconds)
2023-09-12 03:32:50 +0200 <int-e> Oh, \cases does exist but is new in 9.4.1.
2023-09-12 03:35:24 +0200 <int-e> You can always use `case (v1, v2, v3) of ...` in an expression context. But that doesn't really work in the lambda-case niche; you're basically left with the unsugared \v1 v2 v3 -> case (v1, v2, v3) of ... instead.
2023-09-12 03:38:38 +0200xff0x(~xff0x@2405:6580:b080:900:3c1b:8aaf:c8cf:6421) (Ping timeout: 255 seconds)
2023-09-12 03:39:00 +0200Axman6was secretly hoping jle` would pick up grenade mantenence after his excellent series on singletons basically built the exact same library from scratch
2023-09-12 03:39:25 +0200 <Axman6> s/singletons/dependent types
2023-09-12 03:41:57 +0200lyxia(~lyxia@poisson.chat)
2023-09-12 03:42:35 +0200 <Inst> yeah, but I wanted to avoid the tupled syntax
2023-09-12 03:47:34 +0200otto_s(~user@p5de2fddf.dip0.t-ipconnect.de) (Ping timeout: 245 seconds)
2023-09-12 03:48:24 +0200ystael(~ystael@user/ystael) (Ping timeout: 245 seconds)
2023-09-12 03:48:31 +0200 <int-e> > case (,) 1 2 of (,) x y -> (x, y)
2023-09-12 03:48:32 +0200 <lambdabot> (1,2)
2023-09-12 03:48:54 +0200iteratee(~kyle@162.218.222.207) (Ping timeout: 255 seconds)
2023-09-12 03:49:18 +0200otto_s(~user@p5de2f28b.dip0.t-ipconnect.de)
2023-09-12 03:52:34 +0200 <Inst> whoa, thanks
2023-09-12 03:52:47 +0200 <Inst> far, far from ideal, but big improvement
2023-09-12 03:53:09 +0200merijn(~merijn@088-129-128-083.dynamic.caiway.nl)
2023-09-12 03:57:09 +0200lottaquestions(~nick@2607:fa49:503d:b200:fe78:84a4:cfad:8849)
2023-09-12 03:57:34 +0200merijn(~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 245 seconds)
2023-09-12 03:59:08 +0200lottaquestions_(~nick@2607:fa49:503d:b200:2663:b169:e6fe:3201) (Ping timeout: 248 seconds)
2023-09-12 04:01:33 +0200sm(~sm@plaintextaccounting/sm)
2023-09-12 04:03:16 +0200lottaquestions(~nick@2607:fa49:503d:b200:fe78:84a4:cfad:8849) (Read error: Connection reset by peer)
2023-09-12 04:03:41 +0200lottaquestions(~nick@2607:fa49:503d:b200:fe78:84a4:cfad:8849)
2023-09-12 04:06:40 +0200sm(~sm@plaintextaccounting/sm) (Ping timeout: 252 seconds)
2023-09-12 04:07:05 +0200yosef`(~yosef`@user/yosef/x-2947716)
2023-09-12 04:12:59 +0200ddellacosta(~ddellacos@ool-44c738de.dyn.optonline.net) (Ping timeout: 245 seconds)
2023-09-12 04:14:50 +0200ddellacosta(~ddellacos@ool-44c738de.dyn.optonline.net)
2023-09-12 04:16:53 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net)
2023-09-12 04:21:41 +0200shapr(~user@c-67-160-55-153.hsd1.wa.comcast.net) (Ping timeout: 246 seconds)
2023-09-12 04:23:10 +0200Inst(~Inst@120.244.192.250) (Ping timeout: 252 seconds)
2023-09-12 04:23:49 +0200brettgilio(~brettgili@2001:19f0:5c01:364:5400:4ff:fe92:8142)
2023-09-12 04:25:21 +0200Typedfern(~Typedfern@81.red-83-37-27.dynamicip.rima-tde.net) (Ping timeout: 246 seconds)
2023-09-12 04:25:43 +0200Typedfern(~Typedfern@81.red-83-37-27.dynamicip.rima-tde.net)
2023-09-12 04:26:11 +0200xff0x(~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp)
2023-09-12 04:26:49 +0200AWizzArd(~code@gehrels.uberspace.de) (Server closed connection)
2023-09-12 04:26:56 +0200AWizzArd(~code@gehrels.uberspace.de)
2023-09-12 04:26:57 +0200yosef`(~yosef`@user/yosef/x-2947716) (Quit: Client closed)
2023-09-12 04:27:49 +0200segfaultfizzbuzz(~segfaultf@12.172.217.142)
2023-09-12 04:28:10 +0200Inst(~Inst@120.244.192.250)
2023-09-12 04:32:09 +0200segfaultfizzbuzz(~segfaultf@12.172.217.142) (Ping timeout: 245 seconds)
2023-09-12 04:33:15 +0200mjacob(~mjacob@adrastea.uberspace.de) (Server closed connection)
2023-09-12 04:33:24 +0200mjacob(~mjacob@adrastea.uberspace.de)
2023-09-12 04:35:45 +0200sm(~sm@plaintextaccounting/sm)
2023-09-12 04:40:29 +0200sm(~sm@plaintextaccounting/sm) (Ping timeout: 245 seconds)
2023-09-12 04:42:34 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-09-12 04:47:14 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 246 seconds)
2023-09-12 04:47:56 +0200td_(~td@i53870901.versanet.de) (Ping timeout: 255 seconds)
2023-09-12 04:49:45 +0200td_(~td@i53870916.versanet.de)
2023-09-12 04:51:36 +0200mysl(~mysl@user/mysl) (Ping timeout: 246 seconds)
2023-09-12 04:52:00 +0200mysl(~mysl@user/mysl)
2023-09-12 04:52:35 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
2023-09-12 04:55:12 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:2861:bb9d:e03c:c139) (Remote host closed the connection)
2023-09-12 04:55:16 +0200finn_elija(~finn_elij@user/finn-elija/x-0085643)
2023-09-12 04:55:16 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
2023-09-12 04:55:16 +0200finn_elijaFinnElija
2023-09-12 04:55:32 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:b93b:6165:58a2:3e5e)
2023-09-12 04:59:30 +0200 <Inst> you can't get haddock comments into where clauses, right?
2023-09-12 05:10:58 +0200aforemny_(~aforemny@i59F516DD.versanet.de)
2023-09-12 05:11:20 +0200aforemny(~aforemny@i59F516FF.versanet.de) (Ping timeout: 255 seconds)
2023-09-12 05:12:56 +0200machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net)
2023-09-12 05:13:48 +0200 <glguy> I wouldn't think so
2023-09-12 05:17:37 +0200jmdaemon(~jmdaemon@user/jmdaemon)
2023-09-12 05:17:48 +0200segfaultfizzbuzz(~segfaultf@12.172.217.142)
2023-09-12 05:19:26 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 255 seconds)
2023-09-12 05:22:08 +0200segfaultfizzbuzz(~segfaultf@12.172.217.142) (Ping timeout: 255 seconds)
2023-09-12 05:25:18 +0200jargon(~jargon@184.101.67.95) (Remote host closed the connection)
2023-09-12 05:29:20 +0200aaronv(~aaronv@user/aaronv) (Ping timeout: 255 seconds)
2023-09-12 05:37:49 +0200segfaultfizzbuzz(~segfaultf@12.172.217.142)
2023-09-12 05:39:24 +0200ornx(~ornx@user/ornxka)
2023-09-12 05:39:24 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 246 seconds)
2023-09-12 05:40:30 +0200aaronv(~aaronv@user/aaronv)
2023-09-12 05:40:44 +0200 <ornx> okay, be honest with me, how many times would you all estimate that you have implemented peano numbers in some form
2023-09-12 05:41:16 +0200merijn(~merijn@088-129-128-083.dynamic.caiway.nl)
2023-09-12 05:41:54 +0200 <jackdk> ornx: `count = S count` times
2023-09-12 05:42:14 +0200 <ornx> lmao
2023-09-12 05:42:25 +0200 <ornx> it certainly feels like that sometimes
2023-09-12 05:46:07 +0200 <Axman6> Not that often, mostly at the type level
2023-09-12 05:47:54 +0200 <jackdk> And even then we have Nat now
2023-09-12 05:48:35 +0200 <Axman6> yeah - and the plugin that Clash uses to make dealing with them sane
2023-09-12 05:54:05 +0200_d0t(~{-d0t-}@user/-d0t-/x-7915216) (Ping timeout: 255 seconds)
2023-09-12 05:55:06 +0200phma(~phma@host-67-44-208-5.hnremote.net) (Read error: Connection reset by peer)
2023-09-12 05:55:54 +0200phma(~phma@2001:5b0:210f:7168:cc95:7518:e3ef:e00e)
2023-09-12 05:58:44 +0200 <Inst> honestly peano arithmetic is the hello world of proof languages
2023-09-12 06:00:00 +0200 <segfaultfizzbuzz> https://www.twitch.tv/trumporbiden2024 is why computers were invented
2023-09-12 06:05:30 +0200_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
2023-09-12 06:13:11 +0200 <Inst> in haskell-land, when is it a good idea to stop adding features to your library and just ship?
2023-09-12 06:13:33 +0200 <Inst> right now I'm thinking about trying to figure out how to check if i have read-write permissions on files in a directory
2023-09-12 06:14:28 +0200 <Inst> and completely rebuild my result for what should be a simple "check if file exists, satisfies hash, deploy into it locally or from net, etc"
2023-09-12 06:14:44 +0200merijn(~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 246 seconds)
2023-09-12 06:14:46 +0200 <monochrom> ornx: Does it count if I use parametricity to prove that (forall a. a -> (a -> a) -> a) is in bijection with the natural numbers? http://www.vex.net/~trebla/haskell/abs-type-param.html#example-a.-aaaa
2023-09-12 06:16:08 +0200segfaultfizzbuzz(~segfaultf@12.172.217.142) (Ping timeout: 246 seconds)
2023-09-12 06:18:24 +0200malte(~malte@mal.tc) (Ping timeout: 246 seconds)
2023-09-12 06:21:15 +0200 <Inst> hmmm, not sure if this is interesting, but let's say I'm executing a bunch of IO actions and wish to fold the results together
2023-09-12 06:21:37 +0200 <Inst> i guess we're back to "Haskell sucks at variadic functions"?
2023-09-12 06:22:51 +0200 <mauke> f <$> a <*> b <*> c <*>
2023-09-12 06:22:57 +0200 <mauke> d
2023-09-12 06:23:08 +0200 <Inst> no, but f is specific to a number of arguments
2023-09-12 06:23:25 +0200 <Inst> i think sequence might be able to do it, i.e, [IO [a]]
2023-09-12 06:23:43 +0200 <[Leary]> We have `instance Monoid a => Monoid (IO a)`. And even if that weren't the case you could use `Ap`.
2023-09-12 06:24:52 +0200 <Inst> yeah, okay, this would work better, Seq to avoid append penalties with lists / vector
2023-09-12 06:25:32 +0200 <Inst> could just fold [IO (Seq a)]?
2023-09-12 06:25:44 +0200 <Inst> as in, Data.Foldable.Fold?
2023-09-12 06:26:32 +0200 <Inst> but even if monoid is empty, i'll still get the effects out, right?
2023-09-12 06:26:52 +0200tcard_(~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) (Quit: Leaving)
2023-09-12 06:27:08 +0200tcard(~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303)
2023-09-12 06:27:45 +0200 <Inst> foldMap' id, it seems
2023-09-12 06:28:29 +0200_d0t(~{-d0t-}@user/-d0t-/x-7915216)
2023-09-12 06:31:03 +0200arahael(~arahael@1.145.115.51)
2023-09-12 06:31:08 +0200malte(~malte@mal.tc)
2023-09-12 06:33:48 +0200Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection)
2023-09-12 06:45:08 +0200pjlsergeant__(sid143467@id-143467.hampstead.irccloud.com) (Server closed connection)
2023-09-12 06:45:22 +0200pjlsergeant__(sid143467@id-143467.hampstead.irccloud.com)
2023-09-12 06:46:03 +0200machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 246 seconds)
2023-09-12 06:48:00 +0200 <Axman6> that's just fold isn't it? is there a fold'?
2023-09-12 06:48:05 +0200 <Axman6> @hoogle fold'
2023-09-12 06:48:05 +0200 <lambdabot> Pipes.Prelude fold' :: Monad m => (x -> a -> x) -> x -> (x -> b) -> Producer a m r -> m (b, r)
2023-09-12 06:48:05 +0200 <lambdabot> Data.HashPSQ fold' :: (k -> p -> v -> a -> a) -> a -> HashPSQ k p v -> a
2023-09-12 06:48:05 +0200 <lambdabot> Data.IntPSQ fold' :: (Int -> p -> v -> a -> a) -> a -> IntPSQ p v -> a
2023-09-12 06:51:26 +0200shapr(~user@c-67-160-55-153.hsd1.wa.comcast.net)
2023-09-12 06:51:58 +0200 <Inst> tbh i'm trying to run through a bunch of exception-throwing IO actions, catch them, convert them to my own exception type, then collate the exceptions and report them
2023-09-12 06:52:27 +0200 <Axman6> IIRC lens has some nice stuff for managing and converting exceptions
2023-09-12 06:52:36 +0200 <Inst> jeez
2023-09-12 06:53:10 +0200 <Inst> https://hackage.haskell.org/package/lens-5.2.3/docs/Control-Exception-Lens.html
2023-09-12 06:56:17 +0200segfaultfizzbuzz(~segfaultf@12.172.217.142)
2023-09-12 06:59:47 +0200 <Inst> huh, interesting, i can implement the short-circuiting behavior via <|> from alternative
2023-09-12 07:02:21 +0200litharge(litharge@libera/bot/litharge) (*.net *.split)
2023-09-12 07:02:21 +0200pjlsergeant__(sid143467@id-143467.hampstead.irccloud.com) (*.net *.split)
2023-09-12 07:02:21 +0200malte(~malte@mal.tc) (*.net *.split)
2023-09-12 07:02:21 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:b93b:6165:58a2:3e5e) (*.net *.split)
2023-09-12 07:02:21 +0200td_(~td@i53870916.versanet.de) (*.net *.split)
2023-09-12 07:02:21 +0200AWizzArd(~code@gehrels.uberspace.de) (*.net *.split)
2023-09-12 07:02:21 +0200lyxia(~lyxia@poisson.chat) (*.net *.split)
2023-09-12 07:02:21 +0200remmie(ianremsen@tilde.team) (*.net *.split)
2023-09-12 07:02:21 +0200darksatanic(~darkling@2001-ba8-1f1-f0e6-0-0-0-2.autov6rev.bitfolk.space) (*.net *.split)
2023-09-12 07:02:22 +0200Sciencentistguy(~sciencent@hacksoc/ordinary-member) (*.net *.split)
2023-09-12 07:02:22 +0200puke(~puke@user/puke) (*.net *.split)
2023-09-12 07:02:22 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (*.net *.split)
2023-09-12 07:02:22 +0200waleee(~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (*.net *.split)
2023-09-12 07:02:22 +0200wz1000(~zubin@static.11.113.47.78.clients.your-server.de) (*.net *.split)
2023-09-12 07:02:22 +0200pointlessslippe1(~pointless@212.82.82.3) (*.net *.split)
2023-09-12 07:02:22 +0200masterbuilder(~masterbui@user/masterbuilder) (*.net *.split)
2023-09-12 07:02:22 +0200Logio(em@kapsi.fi) (*.net *.split)
2023-09-12 07:02:22 +0200notzmv(~zmv@user/notzmv) (*.net *.split)
2023-09-12 07:02:23 +0200NinjaTrappeur(~ninja@about/aquilenet/vodoo/NinjaTrappeur) (*.net *.split)
2023-09-12 07:02:23 +0200xelxebar(~xelxebar@wilsonb.com) (*.net *.split)
2023-09-12 07:02:23 +0200drdo(~drdo@bl8-38-186.dsl.telepac.pt) (*.net *.split)
2023-09-12 07:02:23 +0200dcoutts(~duncan@82-69-94-207.dsl.in-addr.zen.co.uk) (*.net *.split)
2023-09-12 07:02:23 +0200kimiamania4(~67afdc47@user/kimiamania) (*.net *.split)
2023-09-12 07:02:23 +0200seeg123456(~seeg12345@64.176.64.83) (*.net *.split)
2023-09-12 07:02:23 +0200dsrt^(~cd@c-66-56-7-24.hsd1.ga.comcast.net) (*.net *.split)
2023-09-12 07:02:24 +0200RMSBach(~guygastin@137.184.131.156) (*.net *.split)
2023-09-12 07:02:24 +0200Taneb(~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0) (*.net *.split)
2023-09-12 07:02:24 +0200ursa-major(~ursa-majo@static-198-44-128-154.cust.tzulo.com) (*.net *.split)
2023-09-12 07:02:24 +0200hexeme(~hexeme@user/hexeme) (*.net *.split)
2023-09-12 07:02:24 +0200_d0t(~{-d0t-}@user/-d0t-/x-7915216) (*.net *.split)
2023-09-12 07:02:24 +0200phma(~phma@2001:5b0:210f:7168:cc95:7518:e3ef:e00e) (*.net *.split)
2023-09-12 07:02:24 +0200jmdaemon(~jmdaemon@user/jmdaemon) (*.net *.split)
2023-09-12 07:02:24 +0200mysl(~mysl@user/mysl) (*.net *.split)
2023-09-12 07:02:24 +0200mjacob(~mjacob@adrastea.uberspace.de) (*.net *.split)
2023-09-12 07:02:24 +0200Inst(~Inst@120.244.192.250) (*.net *.split)
2023-09-12 07:02:24 +0200xff0x(~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (*.net *.split)
2023-09-12 07:02:24 +0200ddellacosta(~ddellacos@ool-44c738de.dyn.optonline.net) (*.net *.split)
2023-09-12 07:02:24 +0200brettgilio(~brettgili@2001:19f0:5c01:364:5400:4ff:fe92:8142) (*.net *.split)
2023-09-12 07:02:24 +0200mhatta_(~mhatta@www21123ui.sakura.ne.jp) (*.net *.split)
2023-09-12 07:02:24 +0200dsal(sid13060@id-13060.lymington.irccloud.com) (*.net *.split)
2023-09-12 07:02:25 +0200migas(~migas@astra4961.startdedicated.net) (*.net *.split)
2023-09-12 07:02:25 +0200hueso(~root@user/hueso) (*.net *.split)
2023-09-12 07:02:25 +0200jjhoo(jahakala@user/jjhoo) (*.net *.split)
2023-09-12 07:02:25 +0200son0p(~ff@186.121.39.74) (*.net *.split)
2023-09-12 07:02:25 +0200bgamari(~bgamari@70.16.98.14) (*.net *.split)
2023-09-12 07:02:25 +0200hughjfch1(~hughjfche@vmi556545.contaboserver.net) (*.net *.split)
2023-09-12 07:02:26 +0200cptaffe(~ZNC@2600:1700:f08:111f::18e7) (*.net *.split)
2023-09-12 07:02:26 +0200xmachina(~xmachina@modemcable048.127-56-74.mc.videotron.ca) (*.net *.split)
2023-09-12 07:02:26 +0200dispater(~dispater@mail.brprice.uk) (*.net *.split)
2023-09-12 07:02:26 +0200woffs(3cd46299b2@woffs.de) (*.net *.split)
2023-09-12 07:02:26 +0200tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (*.net *.split)
2023-09-12 07:02:26 +0200YuutaW(~YuutaW@mail.yuuta.moe) (*.net *.split)
2023-09-12 07:02:26 +0200Hafydd(~Hafydd@user/hafydd) (*.net *.split)
2023-09-12 07:02:26 +0200sudden(~cat@user/sudden) (*.net *.split)
2023-09-12 07:02:26 +0200L29Ah(~L29Ah@wikipedia/L29Ah) (*.net *.split)
2023-09-12 07:02:26 +0200m1dnight(~christoph@78-22-4-67.access.telenet.be) (*.net *.split)
2023-09-12 07:02:26 +0200Athas(athas@sigkill.dk) (*.net *.split)
2023-09-12 07:02:26 +0200Moyst_(~moyst@user/moyst) (*.net *.split)
2023-09-12 07:02:27 +0200koala_man(~vidar@157.146.251.23.bc.googleusercontent.com) (*.net *.split)
2023-09-12 07:02:27 +0200lawt(~lawt@2603:c024:c008:d000:5b4f:1ef2:fed2:ef3d) (*.net *.split)
2023-09-12 07:02:27 +0200geekosaur(~geekosaur@xmonad/geekosaur) (*.net *.split)
2023-09-12 07:02:27 +0200arahael(~arahael@1.145.115.51) (*.net *.split)
2023-09-12 07:02:27 +0200tcard(~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) (*.net *.split)
2023-09-12 07:02:27 +0200aforemny_(~aforemny@i59F516DD.versanet.de) (*.net *.split)
2023-09-12 07:02:27 +0200Typedfern(~Typedfern@81.red-83-37-27.dynamicip.rima-tde.net) (*.net *.split)
2023-09-12 07:02:27 +0200lottaquestions(~nick@2607:fa49:503d:b200:fe78:84a4:cfad:8849) (*.net *.split)
2023-09-12 07:02:28 +0200otto_s(~user@p5de2f28b.dip0.t-ipconnect.de) (*.net *.split)
2023-09-12 07:02:28 +0200jespada(~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) (*.net *.split)
2023-09-12 07:02:28 +0200Sgeo(~Sgeo@user/sgeo) (*.net *.split)
2023-09-12 07:02:28 +0200sajith(~sajith@user/sajith) (*.net *.split)
2023-09-12 07:02:28 +0200nonzen(~nonzen@user/nonzen) (*.net *.split)
2023-09-12 07:02:28 +0200pavonia(~user@user/siracusa) (*.net *.split)
2023-09-12 07:02:28 +0200vglfr(~vglfr@cli-188-239-201-89.bbn.slav.dn.ua) (*.net *.split)
2023-09-12 07:02:29 +0200orcus(~orcus@mail.brprice.uk) (*.net *.split)
2023-09-12 07:02:29 +0200zer0bitz_(~zer0bitz@user/zer0bitz) (*.net *.split)
2023-09-12 07:02:29 +0200Pent(sid313808@id-313808.lymington.irccloud.com) (*.net *.split)
2023-09-12 07:02:29 +0200tnks(sid412124@id-412124.helmsley.irccloud.com) (*.net *.split)
2023-09-12 07:02:29 +0200p3n(~p3n@217.198.124.246) (*.net *.split)
2023-09-12 07:02:29 +0200ubert(~Thunderbi@77.119.175.117.wireless.dyn.drei.com) (*.net *.split)
2023-09-12 07:02:29 +0200acertain_(sid470584@id-470584.hampstead.irccloud.com) (*.net *.split)
2023-09-12 07:02:30 +0200actioninja(~actioninj@user/actioninja) (*.net *.split)
2023-09-12 07:02:30 +0200dminuoso(~dminuoso@user/dminuoso) (*.net *.split)
2023-09-12 07:02:30 +0200haskellbridge(~haskellbr@069-135-003-034.biz.spectrum.com) (*.net *.split)
2023-09-12 07:02:30 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (*.net *.split)
2023-09-12 07:02:31 +0200EsoAlgo81(~EsoAlgo@129.146.136.145) (*.net *.split)
2023-09-12 07:02:31 +0200taktoa[c](sid282096@id-282096.tinside.irccloud.com) (*.net *.split)
2023-09-12 07:02:31 +0200habib(~habib@91.196.222.95) (*.net *.split)
2023-09-12 07:02:31 +0200robbert-vdh(~robbert@robbertvanderhelm.nl) (*.net *.split)
2023-09-12 07:02:31 +0200tstat(~tstat@user/tstat) (*.net *.split)
2023-09-12 07:02:31 +0200Pixi(~Pixi@user/pixi) (*.net *.split)
2023-09-12 07:02:31 +0200barrucadu(~barrucadu@carcosa.barrucadu.co.uk) (*.net *.split)
2023-09-12 07:02:31 +0200vgtw(~vgtw@user/vgtw) (*.net *.split)
2023-09-12 07:02:32 +0200shachaf(~shachaf@user/shachaf) (*.net *.split)
2023-09-12 07:02:32 +0200mxs(~mxs@user/mxs) (*.net *.split)
2023-09-12 07:02:32 +0200Franciman(~Franciman@mx1.fracta.dev) (*.net *.split)
2023-09-12 07:02:32 +0200telser(~quassel@user/telser) (*.net *.split)
2023-09-12 07:02:32 +0200cawfee(~root@2406:3003:2077:2758::babe) (*.net *.split)
2023-09-12 07:02:32 +0200bionade24(~bionade24@2a03:4000:33:45b::1) (*.net *.split)
2023-09-12 07:02:32 +0200gaze___(sid387101@id-387101.helmsley.irccloud.com) (*.net *.split)
2023-09-12 07:02:33 +0200shawwwn(sid6132@id-6132.helmsley.irccloud.com) (*.net *.split)
2023-09-12 07:02:33 +0200joeyh(~joeyh@kitenet.net) (*.net *.split)
2023-09-12 07:02:33 +0200Nikopol(nikopol@user/astrorigin) (*.net *.split)
2023-09-12 07:02:33 +0200aspen(sid449115@helmsley.irccloud.com) (*.net *.split)
2023-09-12 07:02:33 +0200farn(~farn@2a03:4000:7:3cd:d4ab:85ff:feeb:f505) (*.net *.split)
2023-09-12 07:02:33 +0200immae(~immae@2a01:4f8:141:53e7::) (*.net *.split)
2023-09-12 07:02:33 +0200liskin(~liskin@xmonad/liskin) (*.net *.split)
2023-09-12 07:02:33 +0200img(~img@user/img) (*.net *.split)
2023-09-12 07:02:33 +0200thelounge793(~thelounge@2a05:f480:1400:24b2:5400:4ff:fe76:a8f3) (*.net *.split)
2023-09-12 07:02:33 +0200edwtjo(~edwtjo@fsf/member/edwtjo) (*.net *.split)
2023-09-12 07:02:33 +0200micro(~micro@user/micro) (*.net *.split)
2023-09-12 07:02:34 +0200opqdonut(opqdonut@pseudo.fixme.fi) (*.net *.split)
2023-09-12 07:02:34 +0200nadja(~dequbed@banana-new.kilobyte22.de) (*.net *.split)
2023-09-12 07:02:34 +0200sweater1(~sweater@206.81.18.26) (*.net *.split)
2023-09-12 07:02:34 +0200kaskal(~kaskal@213-147-167-98.nat.highway.webapn.at) (*.net *.split)
2023-09-12 07:02:34 +0200heath3(~heath@user/heath) (*.net *.split)
2023-09-12 07:02:35 +0200lav(~pi@wikipedia/maddy-from-celeste) (*.net *.split)
2023-09-12 07:02:35 +0200chymera(~chymera@ns1000526.ip-51-81-46.us) (*.net *.split)
2023-09-12 07:02:35 +0200Vajb(~Vajb@2001:999:500:7771:18aa:c4e5:e7a9:f44b) (*.net *.split)
2023-09-12 07:02:35 +0200stefan-_(~cri@42dots.de) (*.net *.split)
2023-09-12 07:02:35 +0200oats(~thomas@user/oats) (*.net *.split)
2023-09-12 07:02:35 +0200infinity0(~infinity0@pwned.gg) (*.net *.split)
2023-09-12 07:02:35 +0200Katarushisu1(~Katarushi@cpc147790-finc20-2-0-cust502.4-2.cable.virginm.net) (*.net *.split)
2023-09-12 07:02:35 +0200zero(~z@user/zero) (*.net *.split)
2023-09-12 07:02:35 +0200g00gler(uid125351@id-125351.uxbridge.irccloud.com) (*.net *.split)
2023-09-12 07:02:36 +0200meejah(~meejah@rutas.meejah.ca) (*.net *.split)
2023-09-12 07:02:36 +0200Adeon(sid418992@id-418992.lymington.irccloud.com) (*.net *.split)
2023-09-12 07:02:36 +0200GoldsteinQ(~goldstein@goldstein.rs) (*.net *.split)
2023-09-12 07:02:36 +0200thaumavorio(~thaumavor@thaumavor.io) (*.net *.split)
2023-09-12 07:02:36 +0200Unode(~Unode@fg-ext-220.embl.de) (*.net *.split)
2023-09-12 07:02:36 +0200cyphase(~cyphase@user/cyphase) (*.net *.split)
2023-09-12 07:02:36 +0200it_(~quassel@v2202212189510211193.supersrv.de) (*.net *.split)
2023-09-12 07:02:36 +0200haveo(~haveo@sl35.iuwt.fr) (*.net *.split)
2023-09-12 07:02:37 +0200edmundnoble_(sid229620@id-229620.helmsley.irccloud.com) (*.net *.split)
2023-09-12 07:02:37 +0200lbseale(~quassel@user/ep1ctetus) (*.net *.split)
2023-09-12 07:02:37 +0200loonycyborg(loonycybor@wesnoth/developer/loonycyborg) (*.net *.split)
2023-09-12 07:02:37 +0200Clint(~Clint@user/clint) (*.net *.split)
2023-09-12 07:02:37 +0200justache(~justache@user/justache) (*.net *.split)
2023-09-12 07:02:38 +0200dagit(~dagit@2001:558:6025:38:71c6:9d58:7252:8976) (*.net *.split)
2023-09-12 07:02:38 +0200ridcully_(~ridcully@p508ac5fc.dip0.t-ipconnect.de) (*.net *.split)
2023-09-12 07:02:38 +0200Nixkernal(~Nixkernal@119.4.193.178.dynamic.wline.res.cust.swisscom.ch) (*.net *.split)
2023-09-12 07:02:38 +0200aku(~aku@65.108.245.241) (*.net *.split)
2023-09-12 07:02:38 +0200Buggys(Buggys@shelltalk.net) (*.net *.split)
2023-09-12 07:02:38 +0200kritzefitz(~kritzefit@debian/kritzefitz) (*.net *.split)
2023-09-12 07:02:38 +0200whatsupdoc(uid509081@id-509081.hampstead.irccloud.com) (*.net *.split)
2023-09-12 07:02:38 +0200rubin55(sid175221@id-175221.hampstead.irccloud.com) (*.net *.split)
2023-09-12 07:02:38 +0200segfaultfizzbuzz(~segfaultf@12.172.217.142) (*.net *.split)
2023-09-12 07:02:38 +0200shapr(~user@c-67-160-55-153.hsd1.wa.comcast.net) (*.net *.split)
2023-09-12 07:02:38 +0200ft(~ft@p508dbaa9.dip0.t-ipconnect.de) (*.net *.split)
2023-09-12 07:02:38 +0200dumptruckman(~dumptruck@143-42-184-47.ip.linodeusercontent.com) (*.net *.split)
2023-09-12 07:02:39 +0200haskl(~haskl@user/haskl) (*.net *.split)
2023-09-12 07:02:39 +0200hrberg(~quassel@171.79-160-161.customer.lyse.net) (*.net *.split)
2023-09-12 07:02:39 +0200Fischmiep(~Fischmiep@user/Fischmiep) (*.net *.split)
2023-09-12 07:02:39 +0200V(~v@ircpuzzles/2022/april/winner/V) (*.net *.split)
2023-09-12 07:02:39 +0200sefidel(~sefidel@user/sefidel) (*.net *.split)
2023-09-12 07:02:40 +0200caubert(~caubert@user/caubert) (*.net *.split)
2023-09-12 07:02:40 +0200[Leary](~Leary]@user/Leary/x-0910699) (*.net *.split)
2023-09-12 07:02:40 +0200erisco(~erisco@d24-141-66-165.home.cgocable.net) (*.net *.split)
2023-09-12 07:02:40 +0200mcfrdy(~mcfrdy@user/mcfrdy) (*.net *.split)
2023-09-12 07:02:40 +0200forell(~forell@user/forell) (*.net *.split)
2023-09-12 07:02:40 +0200Vq(~vq@90-225-115-195-no122.tbcn.telia.com) (*.net *.split)
2023-09-12 07:02:40 +0200acidsys(~crameleon@openSUSE/member/crameleon) (*.net *.split)
2023-09-12 07:02:41 +0200terrorjack(~terrorjac@2a01:4f8:c17:87f8::) (*.net *.split)
2023-09-12 07:02:41 +0200mht-wtf(~mht@2a03:b0c0:3:e0::1e2:c001) (*.net *.split)
2023-09-12 07:02:41 +0200kawzeg_(kawzeg@2a01:7e01::f03c:92ff:fee2:ec34) (*.net *.split)
2023-09-12 07:02:41 +0200xnbya(~xnbya@2a01:4f8:c17:cbdd::1) (*.net *.split)
2023-09-12 07:02:41 +0200sgarcia_(sgarcia@swarm.znchost.com) (*.net *.split)
2023-09-12 07:02:41 +0200hamishmack(sid389057@id-389057.hampstead.irccloud.com) (*.net *.split)
2023-09-12 07:02:41 +0200T_S____(sid501726@id-501726.uxbridge.irccloud.com) (*.net *.split)
2023-09-12 07:02:42 +0200Rembane(~Rembane@li346-36.members.linode.com) (*.net *.split)
2023-09-12 07:02:42 +0200bastelfreak(bastelfrea@libera/staff/VoxPupuli.bastelfreak) (*.net *.split)
2023-09-12 07:02:42 +0200dfg(~dfg@user/dfg) (*.net *.split)
2023-09-12 07:02:42 +0200gawen(~gawen@user/gawen) (*.net *.split)
2023-09-12 07:02:42 +0200s4msung(0RQA7T2IW8@user/s4msung) (*.net *.split)
2023-09-12 07:02:42 +0200rachelambda(~rachelamb@78-67-128-99-no247.tbcn.telia.com) (*.net *.split)
2023-09-12 07:02:42 +0200connrs(~connrs@user/connrs) (*.net *.split)
2023-09-12 07:02:42 +0200kaol(~kaol@94-237-42-30.nl-ams1.upcloud.host) (*.net *.split)
2023-09-12 07:02:42 +0200gabiruh(~gabiruh@vps19177.publiccloud.com.br) (*.net *.split)
2023-09-12 07:02:42 +0200gentauro(~gentauro@user/gentauro) (*.net *.split)
2023-09-12 07:02:42 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (*.net *.split)
2023-09-12 07:02:43 +0200cafkafk(~cafkafk@fsf/member/cafkafk) (*.net *.split)
2023-09-12 07:02:43 +0200ChaiTRex(~ChaiTRex@user/chaitrex) (*.net *.split)
2023-09-12 07:02:43 +0200chexum(~quassel@gateway/tor-sasl/chexum) (*.net *.split)
2023-09-12 07:02:43 +0200stiell_(~stiell@gateway/tor-sasl/stiell) (*.net *.split)
2023-09-12 07:02:43 +0200chiselfuse(~chiselfus@user/chiselfuse) (*.net *.split)
2023-09-12 07:02:43 +0200califax(~califax@user/califx) (*.net *.split)
2023-09-12 07:02:43 +0200ec(~ec@gateway/tor-sasl/ec) (*.net *.split)
2023-09-12 07:02:43 +0200adanwan(~adanwan@gateway/tor-sasl/adanwan) (*.net *.split)
2023-09-12 07:02:43 +0200Noinia(~Frank@77-162-168-71.fixed.kpn.net) (*.net *.split)
2023-09-12 07:02:43 +0200renegade(~renegade@bcdcac82.skybroadband.com) (*.net *.split)
2023-09-12 07:02:44 +0200lambdap237(~lambdap@static.167.190.119.168.clients.your-server.de) (*.net *.split)
2023-09-12 07:02:44 +0200myme(~myme@2a01:799:d60:e400:523a:264f:abbd:410) (*.net *.split)
2023-09-12 07:02:44 +0200Luj(~Luj@2a01:e0a:5f9:9681:5880:c9ff:fe9f:3dfb) (*.net *.split)
2023-09-12 07:02:44 +0200koolazer(~koo@user/koolazer) (*.net *.split)
2023-09-12 07:02:45 +0200nckx(nckx@libera/staff/owl/nckx) (*.net *.split)
2023-09-12 07:02:45 +0200EvanR(~EvanR@user/evanr) (*.net *.split)
2023-09-12 07:02:45 +0200YoungFrog(~youngfrog@39.129-180-91.adsl-dyn.isp.belgacom.be) (*.net *.split)
2023-09-12 07:02:45 +0200bjobjo(~bjobjo@user/bjobjo) (*.net *.split)
2023-09-12 07:02:45 +0200Unhammer(~Unhammer@user/unhammer) (*.net *.split)
2023-09-12 07:02:45 +0200snek(sid280155@id-280155.lymington.irccloud.com) (*.net *.split)
2023-09-12 07:02:45 +0200tabemann_(~tabemann@172-13-49-137.lightspeed.milwwi.sbcglobal.net) (*.net *.split)
2023-09-12 07:02:45 +0200smalltalkman(uid545680@id-545680.hampstead.irccloud.com) (*.net *.split)
2023-09-12 07:02:45 +0200Ekho(~Ekho@user/ekho) (*.net *.split)
2023-09-12 07:02:45 +0200mankyKitty(sid31287@id-31287.helmsley.irccloud.com) (*.net *.split)
2023-09-12 07:02:45 +0200jinsun(~jinsun@user/jinsun) (*.net *.split)
2023-09-12 07:02:46 +0200xsarnik(xsarnik@lounge.fi.muni.cz) (*.net *.split)
2023-09-12 07:02:46 +0200lightandlight(sid135476@id-135476.helmsley.irccloud.com) (*.net *.split)
2023-09-12 07:02:46 +0200xstill_(xstill@fimu/xstill) (*.net *.split)
2023-09-12 07:02:46 +0200riatre(~quassel@2001:310:6000:f::5198:1) (*.net *.split)
2023-09-12 07:02:46 +0200hsw(~hsw@2001-b030-2303-0104-0172-0025-0012-0132.hinet-ip6.hinet.net) (*.net *.split)
2023-09-12 07:02:46 +0200pieguy128(~pieguy128@bras-base-mtrlpq5031w-grc-46-67-70-100-114.dsl.bell.ca) (*.net *.split)
2023-09-12 07:02:46 +0200monochrom(trebla@216.138.220.146) (*.net *.split)
2023-09-12 07:02:46 +0200Me-me(~me-me@user/me-me) (*.net *.split)
2023-09-12 07:02:46 +0200peutri(~peutri@bobo.desast.re) (*.net *.split)
2023-09-12 07:02:46 +0200VioletJewel(~violet@user/violetjewel) (*.net *.split)
2023-09-12 07:02:46 +0200cheater(~Username@user/cheater) (*.net *.split)
2023-09-12 07:02:46 +0200CAT_S(apic@brezn3.muc.ccc.de) (*.net *.split)
2023-09-12 07:02:47 +0200acro(~acro@user/acro) (*.net *.split)
2023-09-12 07:02:47 +0200AlexNoo(~AlexNoo@178.34.160.172) (*.net *.split)
2023-09-12 07:02:47 +0200superbil(~superbil@1-34-176-171.hinet-ip.hinet.net) (*.net *.split)
2023-09-12 07:02:47 +0200conjunctive(sid433686@id-433686.helmsley.irccloud.com) (*.net *.split)
2023-09-12 07:02:47 +0200neptun(neptun@2607:5300:60:5910:dcad:beff:feef:5bc) (*.net *.split)
2023-09-12 07:02:47 +0200sand-witch(~m-mzmz6l@vmi833741.contaboserver.net) (*.net *.split)
2023-09-12 07:02:48 +0200tomsmeding(~tomsmedin@static.21.109.88.23.clients.your-server.de) (*.net *.split)
2023-09-12 07:02:48 +0200hugo(znc@verdigris.lysator.liu.se) (*.net *.split)
2023-09-12 07:02:48 +0200institor(~henricus@user/institor) (*.net *.split)
2023-09-12 07:02:48 +0200ringo___(~ringo@157.230.117.128) (*.net *.split)
2023-09-12 07:02:48 +0200mira(~aranea@wireguard/contributorcat/mira) (*.net *.split)
2023-09-12 07:02:48 +0200user2(~user@162.255.84.96) (*.net *.split)
2023-09-12 07:02:48 +0200raoul(~raoul@95.179.203.88) (*.net *.split)
2023-09-12 07:02:48 +0200lilata(~lilata@137.184.4.49) (*.net *.split)
2023-09-12 07:02:49 +0200gabriel_sevecek(~gabriel@188-167-229-200.dynamic.chello.sk) (*.net *.split)
2023-09-12 07:02:49 +0200Angelz(Angelz@Angelz.oddprotocol.org) (*.net *.split)
2023-09-12 07:02:49 +0200Hooloovoo(~Hooloovoo@hax0rbana.org) (*.net *.split)
2023-09-12 07:02:49 +0200DigitalKiwi(~kiwi@2604:a880:400:d0::1ca0:e001) (*.net *.split)
2023-09-12 07:02:49 +0200krjt(~krjst@2604:a880:800:c1::16b:8001) (*.net *.split)
2023-09-12 07:02:49 +0200sphynx(~xnyhps@2a02:2770:3:0:216:3eff:fe67:3288) (*.net *.split)
2023-09-12 07:02:50 +0200jmct(sid160793@id-160793.tinside.irccloud.com) (*.net *.split)
2023-09-12 07:02:50 +0200buhman(sid411355@user/buhman) (*.net *.split)
2023-09-12 07:02:50 +0200lally(sid388228@id-388228.uxbridge.irccloud.com) (*.net *.split)
2023-09-12 07:02:50 +0200PotatoGim(sid99505@id-99505.lymington.irccloud.com) (*.net *.split)
2023-09-12 07:02:50 +0200Jon(jon@dow.land) (*.net *.split)
2023-09-12 07:02:50 +0200geekosaur[c](sid609282@xmonad/geekosaur) (*.net *.split)
2023-09-12 07:02:50 +0200chessai(sid225296@id-225296.lymington.irccloud.com) (*.net *.split)
2023-09-12 07:02:50 +0200anderson(~anderson@user/anderson) (*.net *.split)
2023-09-12 07:02:50 +0200dfordvm(~dfordivam@160.16.87.223.v6.sakura.ne.jp) (*.net *.split)
2023-09-12 07:02:50 +0200minigrim0(~minigrim0@2a01:4f9:6b:3416:68ba:8dff:fe58:a5ea) (*.net *.split)
2023-09-12 07:02:50 +0200Fangs(sid141280@id-141280.hampstead.irccloud.com) (*.net *.split)
2023-09-12 07:02:50 +0200tinwood(~tinwood@canonical/tinwood) (*.net *.split)
2023-09-12 07:02:50 +0200amir(sid22336@user/amir) (*.net *.split)
2023-09-12 07:02:50 +0200SanchayanMaity(sid478177@id-478177.hampstead.irccloud.com) (*.net *.split)
2023-09-12 07:02:50 +0200defanor(~defanor@tart.uberspace.net) (*.net *.split)
2023-09-12 07:02:50 +0200carter(sid14827@id-14827.helmsley.irccloud.com) (*.net *.split)
2023-09-12 07:02:50 +0200delyan_(sid523379@id-523379.hampstead.irccloud.com) (*.net *.split)
2023-09-12 07:02:50 +0200edwardk(sid47016@haskell/developer/edwardk) (*.net *.split)
2023-09-12 07:02:50 +0200S11001001(sid42510@id-42510.ilkley.irccloud.com) (*.net *.split)
2023-09-12 07:02:51 +0200ario(~ario@159.65.220.102) (*.net *.split)
2023-09-12 07:02:51 +0200nisstyre(wes@user/nisstyre) (*.net *.split)
2023-09-12 07:02:51 +0200wallymathieu(sid533252@id-533252.uxbridge.irccloud.com) (*.net *.split)
2023-09-12 07:02:51 +0200degraafk(sid71464@id-71464.lymington.irccloud.com) (*.net *.split)
2023-09-12 07:02:51 +0200yvan-sraka(sid419690@id-419690.lymington.irccloud.com) (*.net *.split)
2023-09-12 07:02:51 +0200welterde(welterde@thinkbase.srv.welterde.de) (*.net *.split)
2023-09-12 07:02:51 +0200vjoki(~vjoki@2a00:d880:3:1::fea1:9ae) (*.net *.split)
2023-09-12 07:02:51 +0200PHO`(~pho@akari.cielonegro.org) (*.net *.split)
2023-09-12 07:02:51 +0200MironZ(~MironZ@nat-infra.ehlab.uk) (*.net *.split)
2023-09-12 07:02:51 +0200diagprov(sid348783@user/diagprov) (*.net *.split)
2023-09-12 07:02:51 +0200ChanServ(ChanServ@services.libera.chat) (*.net *.split)
2023-09-12 07:02:51 +0200natto(~natto@129.154.243.159) (*.net *.split)
2023-09-12 07:02:51 +0200nek0(~nek0@2a01:4f8:222:2b41::12) (*.net *.split)
2023-09-12 07:02:51 +0200ncf(~n@monade.li) (*.net *.split)
2023-09-12 07:02:51 +0200leah2(~leah@vuxu.org) (*.net *.split)
2023-09-12 07:02:51 +0200[_________](~oos95GWG@user/oos95GWG) (*.net *.split)
2023-09-12 07:02:52 +0200tomboy64(~tomboy64@user/tomboy64) (*.net *.split)
2023-09-12 07:02:52 +0200MelanieMalik(ellenor@callbox.trd.is) (*.net *.split)
2023-09-12 07:02:52 +0200lambdabot(~lambdabot@haskell/bot/lambdabot) (*.net *.split)
2023-09-12 07:02:52 +0200dy(sid3438@user/dy) (*.net *.split)
2023-09-12 07:02:52 +0200agander_m(sid407952@id-407952.tinside.irccloud.com) (*.net *.split)
2023-09-12 07:02:52 +0200jackdk(sid373013@cssa/jackdk) (*.net *.split)
2023-09-12 07:02:52 +0200ysh____(sid6017@id-6017.ilkley.irccloud.com) (*.net *.split)
2023-09-12 07:02:52 +0200samhh(7569f027cf@2604:bf00:561:2000::e4) (*.net *.split)
2023-09-12 07:02:53 +0200juri_(~juri@84-19-175-187.pool.ovpn.com) (*.net *.split)
2023-09-12 07:02:53 +0200nshepper1(nshepperd@2600:3c03::f03c:92ff:fe28:92c9) (*.net *.split)
2023-09-12 07:02:53 +0200zups(~meow@2a01:4f9:c010:6036::1) (*.net *.split)
2023-09-12 07:02:53 +0200byorgey(~byorgey@155.138.238.211) (*.net *.split)
2023-09-12 07:02:53 +0200res0nat0r0844909(~Fletch@falcon.whatbox.ca) (*.net *.split)
2023-09-12 07:02:53 +0200jocke-l(jocke-l@a.x0.is) (*.net *.split)
2023-09-12 07:02:53 +0200kosmikus_(~kosmikus@nullzig.kosmikus.org) (*.net *.split)
2023-09-12 07:02:53 +0200mrmonday(~robert@what.i.hope.is.not.a.tabernaevagant.es) (*.net *.split)
2023-09-12 07:02:53 +0200codedmart_(codedmart@2600:3c01::f03c:92ff:fefe:8511) (*.net *.split)
2023-09-12 07:02:53 +0200aristid(sid1599@id-1599.uxbridge.irccloud.com) (*.net *.split)
2023-09-12 07:02:53 +0200beaky(~beaky@2a03:b0c0:0:1010::1e:a001) (*.net *.split)
2023-09-12 07:02:54 +0200robertm(robertm@lattice.rojoma.com) (*.net *.split)
2023-09-12 07:02:54 +0200Teacup(~teacup@user/teacup) (*.net *.split)
2023-09-12 07:02:54 +0200SrPx(sid108780@id-108780.uxbridge.irccloud.com) (*.net *.split)
2023-09-12 07:02:54 +0200yandere(sid467876@id-467876.ilkley.irccloud.com) (*.net *.split)
2023-09-12 07:02:54 +0200christiaanb(sid84827@id-84827.lymington.irccloud.com) (*.net *.split)
2023-09-12 07:02:54 +0200adium(adium@user/adium) (*.net *.split)
2023-09-12 07:02:54 +0200jle`(~jle`@cpe-23-240-75-236.socal.res.rr.com) (*.net *.split)
2023-09-12 07:02:54 +0200titibandit(~titibandi@user/titibandit) (*.net *.split)
2023-09-12 07:02:54 +0200Natch(~natch@c-9e07225c.038-60-73746f7.bbcust.telenor.se) (*.net *.split)
2023-09-12 07:02:55 +0200Patternmaster(~georg@user/Patternmaster) (*.net *.split)
2023-09-12 07:02:55 +0200remedan(~remedan@ip-94-112-0-18.bb.vodafone.cz) (*.net *.split)
2023-09-12 07:02:55 +0200bwe(~bwe@static.72.17.201.195.clients.your-server.de) (*.net *.split)
2023-09-12 07:02:55 +0200Philonous(~Philonous@user/philonous) (*.net *.split)
2023-09-12 07:02:55 +0200dtman34(~dtman34@c-76-156-89-180.hsd1.mn.comcast.net) (*.net *.split)
2023-09-12 07:02:56 +0200Putonlalla(~Putonlall@it-cyan.it.jyu.fi) (*.net *.split)
2023-09-12 07:02:56 +0200tomku(~tomku@user/tomku) (*.net *.split)
2023-09-12 07:02:56 +0200mniip(mniip@libera/staff/mniip) (*.net *.split)
2023-09-12 07:02:56 +0200wagle(~wagle@quassel.wagle.io) (*.net *.split)
2023-09-12 07:02:56 +0200drewjose(~drewjose@129.154.40.88) (*.net *.split)
2023-09-12 07:02:57 +0200df(~ben@justworks.xyz) (*.net *.split)
2023-09-12 07:02:57 +0200pie_(~pie_bnc@user/pie/x-2818909) (*.net *.split)
2023-09-12 07:02:57 +0200nurupo(~nurupo.ga@user/nurupo) (*.net *.split)
2023-09-12 07:02:57 +0200mmaruseacph2(~mihai@mihai.page) (*.net *.split)
2023-09-12 07:02:57 +0200nullie(~nullie@amsterdam.nullie.name) (*.net *.split)
2023-09-12 07:02:57 +0200Ram-Z(~Ram-Z@li1814-254.members.linode.com) (*.net *.split)
2023-09-12 07:02:57 +0200cods(~fred@82-65-232-44.subs.proxad.net) (*.net *.split)
2023-09-12 07:02:57 +0200troydm1(~troydm@host-176-37-53-238.b025.la.net.ua) (*.net *.split)
2023-09-12 07:02:58 +0200Techcable(~Techcable@user/Techcable) (*.net *.split)
2023-09-12 07:02:58 +0200noteness(~noteness@user/noteness) (*.net *.split)
2023-09-12 07:02:58 +0200exarkun(~exarkun@user/exarkun) (*.net *.split)
2023-09-12 07:02:58 +0200Yumemi(~Yumemi@212.47.254.173) (*.net *.split)
2023-09-12 07:02:58 +0200andjjj23(~irc@107.170.228.47) (*.net *.split)
2023-09-12 07:02:58 +0200jludwig(~justin@li657-110.members.linode.com) (*.net *.split)
2023-09-12 07:02:58 +0200nicole(ilbelkyr@libera/staff/ilbelkyr) (*.net *.split)
2023-09-12 07:03:41 +0200segfaultfizzbuzz(~segfaultf@12.172.217.142)
2023-09-12 07:03:41 +0200shapr(~user@c-67-160-55-153.hsd1.wa.comcast.net)
2023-09-12 07:03:41 +0200pjlsergeant__(sid143467@id-143467.hampstead.irccloud.com)
2023-09-12 07:03:41 +0200malte(~malte@mal.tc)
2023-09-12 07:03:41 +0200arahael(~arahael@1.145.115.51)
2023-09-12 07:03:41 +0200_d0t(~{-d0t-}@user/-d0t-/x-7915216)
2023-09-12 07:03:41 +0200tcard(~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303)
2023-09-12 07:03:41 +0200phma(~phma@2001:5b0:210f:7168:cc95:7518:e3ef:e00e)
2023-09-12 07:03:41 +0200jmdaemon(~jmdaemon@user/jmdaemon)
2023-09-12 07:03:42 +0200aforemny_(~aforemny@i59F516DD.versanet.de)
2023-09-12 07:03:42 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:b93b:6165:58a2:3e5e)
2023-09-12 07:03:42 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643)
2023-09-12 07:03:42 +0200mysl(~mysl@user/mysl)
2023-09-12 07:03:42 +0200td_(~td@i53870916.versanet.de)
2023-09-12 07:03:42 +0200mjacob(~mjacob@adrastea.uberspace.de)
2023-09-12 07:03:42 +0200Inst(~Inst@120.244.192.250)
2023-09-12 07:03:42 +0200AWizzArd(~code@gehrels.uberspace.de)
2023-09-12 07:03:42 +0200xff0x(~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp)
2023-09-12 07:03:42 +0200Typedfern(~Typedfern@81.red-83-37-27.dynamicip.rima-tde.net)
2023-09-12 07:03:42 +0200brettgilio(~brettgili@2001:19f0:5c01:364:5400:4ff:fe92:8142)
2023-09-12 07:03:42 +0200ddellacosta(~ddellacos@ool-44c738de.dyn.optonline.net)
2023-09-12 07:03:42 +0200lottaquestions(~nick@2607:fa49:503d:b200:fe78:84a4:cfad:8849)
2023-09-12 07:03:42 +0200otto_s(~user@p5de2f28b.dip0.t-ipconnect.de)
2023-09-12 07:03:42 +0200lyxia(~lyxia@poisson.chat)
2023-09-12 07:03:42 +0200jespada(~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net)
2023-09-12 07:03:42 +0200remmie(ianremsen@tilde.team)
2023-09-12 07:03:42 +0200darksatanic(~darkling@2001-ba8-1f1-f0e6-0-0-0-2.autov6rev.bitfolk.space)
2023-09-12 07:03:42 +0200mhatta_(~mhatta@www21123ui.sakura.ne.jp)
2023-09-12 07:03:42 +0200dsal(sid13060@id-13060.lymington.irccloud.com)
2023-09-12 07:03:42 +0200migas(~migas@astra4961.startdedicated.net)
2023-09-12 07:03:42 +0200Sciencentistguy(~sciencent@hacksoc/ordinary-member)
2023-09-12 07:03:42 +0200hueso(~root@user/hueso)
2023-09-12 07:03:42 +0200puke(~puke@user/puke)
2023-09-12 07:03:42 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915)
2023-09-12 07:03:42 +0200waleee(~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7)
2023-09-12 07:03:42 +0200Sgeo(~Sgeo@user/sgeo)
2023-09-12 07:03:42 +0200sajith(~sajith@user/sajith)
2023-09-12 07:03:42 +0200nonzen(~nonzen@user/nonzen)
2023-09-12 07:03:42 +0200jjhoo(jahakala@user/jjhoo)
2023-09-12 07:03:42 +0200son0p(~ff@186.121.39.74)
2023-09-12 07:03:42 +0200wz1000(~zubin@static.11.113.47.78.clients.your-server.de)
2023-09-12 07:03:42 +0200pavonia(~user@user/siracusa)
2023-09-12 07:03:42 +0200ft(~ft@p508dbaa9.dip0.t-ipconnect.de)
2023-09-12 07:03:42 +0200dumptruckman(~dumptruck@143-42-184-47.ip.linodeusercontent.com)
2023-09-12 07:03:42 +0200cafkafk(~cafkafk@fsf/member/cafkafk)
2023-09-12 07:03:42 +0200bgamari(~bgamari@70.16.98.14)
2023-09-12 07:03:42 +0200pointlessslippe1(~pointless@212.82.82.3)
2023-09-12 07:03:42 +0200ChaiTRex(~ChaiTRex@user/chaitrex)
2023-09-12 07:03:42 +0200masterbuilder(~masterbui@user/masterbuilder)
2023-09-12 07:03:42 +0200vglfr(~vglfr@cli-188-239-201-89.bbn.slav.dn.ua)
2023-09-12 07:03:42 +0200Logio(em@kapsi.fi)
2023-09-12 07:03:42 +0200hughjfch1(~hughjfche@vmi556545.contaboserver.net)
2023-09-12 07:03:42 +0200notzmv(~zmv@user/notzmv)
2023-09-12 07:03:42 +0200Noinia(~Frank@77-162-168-71.fixed.kpn.net)
2023-09-12 07:03:42 +0200cptaffe(~ZNC@2600:1700:f08:111f::18e7)
2023-09-12 07:03:42 +0200xmachina(~xmachina@modemcable048.127-56-74.mc.videotron.ca)
2023-09-12 07:03:42 +0200orcus(~orcus@mail.brprice.uk)
2023-09-12 07:03:42 +0200dispater(~dispater@mail.brprice.uk)
2023-09-12 07:03:42 +0200woffs(3cd46299b2@woffs.de)
2023-09-12 07:03:42 +0200zer0bitz_(~zer0bitz@user/zer0bitz)
2023-09-12 07:03:42 +0200NinjaTrappeur(~ninja@about/aquilenet/vodoo/NinjaTrappeur)
2023-09-12 07:03:42 +0200tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
2023-09-12 07:03:42 +0200Pent(sid313808@id-313808.lymington.irccloud.com)
2023-09-12 07:03:42 +0200YuutaW(~YuutaW@mail.yuuta.moe)
2023-09-12 07:03:42 +0200chexum(~quassel@gateway/tor-sasl/chexum)
2023-09-12 07:03:42 +0200tnks(sid412124@id-412124.helmsley.irccloud.com)
2023-09-12 07:03:42 +0200EsoAlgo81(~EsoAlgo@129.146.136.145)
2023-09-12 07:03:42 +0200taktoa[c](sid282096@id-282096.tinside.irccloud.com)
2023-09-12 07:03:42 +0200habib(~habib@91.196.222.95)
2023-09-12 07:03:42 +0200nullie(~nullie@amsterdam.nullie.name)
2023-09-12 07:03:42 +0200Hafydd(~Hafydd@user/hafydd)
2023-09-12 07:03:42 +0200p3n(~p3n@217.198.124.246)
2023-09-12 07:03:42 +0200sudden(~cat@user/sudden)
2023-09-12 07:03:42 +0200ubert(~Thunderbi@77.119.175.117.wireless.dyn.drei.com)
2023-09-12 07:03:42 +0200L29Ah(~L29Ah@wikipedia/L29Ah)
2023-09-12 07:03:42 +0200m1dnight(~christoph@78-22-4-67.access.telenet.be)
2023-09-12 07:03:42 +0200xelxebar(~xelxebar@wilsonb.com)
2023-09-12 07:03:42 +0200drdo(~drdo@bl8-38-186.dsl.telepac.pt)
2023-09-12 07:03:42 +0200dcoutts(~duncan@82-69-94-207.dsl.in-addr.zen.co.uk)
2023-09-12 07:03:42 +0200kimiamania4(~67afdc47@user/kimiamania)
2023-09-12 07:03:42 +0200acertain_(sid470584@id-470584.hampstead.irccloud.com)
2023-09-12 07:03:42 +0200seeg123456(~seeg12345@64.176.64.83)
2023-09-12 07:03:42 +0200Unhammer(~Unhammer@user/unhammer)
2023-09-12 07:03:42 +0200Athas(athas@sigkill.dk)
2023-09-12 07:03:42 +0200Moyst_(~moyst@user/moyst)
2023-09-12 07:03:42 +0200koala_man(~vidar@157.146.251.23.bc.googleusercontent.com)
2023-09-12 07:03:42 +0200actioninja(~actioninj@user/actioninja)
2023-09-12 07:03:42 +0200lawt(~lawt@2603:c024:c008:d000:5b4f:1ef2:fed2:ef3d)
2023-09-12 07:03:42 +0200dminuoso(~dminuoso@user/dminuoso)
2023-09-12 07:03:42 +0200dsrt^(~cd@c-66-56-7-24.hsd1.ga.comcast.net)
2023-09-12 07:03:42 +0200RMSBach(~guygastin@137.184.131.156)
2023-09-12 07:03:42 +0200Taneb(~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0)
2023-09-12 07:03:42 +0200haskellbridge(~haskellbr@069-135-003-034.biz.spectrum.com)
2023-09-12 07:03:42 +0200geekosaur(~geekosaur@xmonad/geekosaur)
2023-09-12 07:03:42 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2023-09-12 07:03:42 +0200ursa-major(~ursa-majo@static-198-44-128-154.cust.tzulo.com)
2023-09-12 07:03:42 +0200hexeme(~hexeme@user/hexeme)
2023-09-12 07:03:42 +0200kaskal(~kaskal@213-147-167-98.nat.highway.webapn.at)
2023-09-12 07:03:42 +0200adium(adium@user/adium)
2023-09-12 07:03:42 +0200robbert-vdh(~robbert@robbertvanderhelm.nl)
2023-09-12 07:03:42 +0200jle`(~jle`@cpe-23-240-75-236.socal.res.rr.com)
2023-09-12 07:03:42 +0200heath3(~heath@user/heath)
2023-09-12 07:03:42 +0200tstat(~tstat@user/tstat)
2023-09-12 07:03:42 +0200titibandit(~titibandi@user/titibandit)
2023-09-12 07:03:42 +0200Pixi(~Pixi@user/pixi)
2023-09-12 07:03:42 +0200barrucadu(~barrucadu@carcosa.barrucadu.co.uk)
2023-09-12 07:03:42 +0200lav(~pi@wikipedia/maddy-from-celeste)
2023-09-12 07:03:42 +0200chymera(~chymera@ns1000526.ip-51-81-46.us)
2023-09-12 07:03:42 +0200Natch(~natch@c-9e07225c.038-60-73746f7.bbcust.telenor.se)
2023-09-12 07:03:42 +0200Patternmaster(~georg@user/Patternmaster)
2023-09-12 07:03:42 +0200vgtw(~vgtw@user/vgtw)
2023-09-12 07:03:42 +0200remedan(~remedan@ip-94-112-0-18.bb.vodafone.cz)
2023-09-12 07:03:42 +0200bwe(~bwe@static.72.17.201.195.clients.your-server.de)
2023-09-12 07:03:42 +0200shachaf(~shachaf@user/shachaf)
2023-09-12 07:03:42 +0200Philonous(~Philonous@user/philonous)
2023-09-12 07:03:42 +0200Vajb(~Vajb@2001:999:500:7771:18aa:c4e5:e7a9:f44b)
2023-09-12 07:03:42 +0200dtman34(~dtman34@c-76-156-89-180.hsd1.mn.comcast.net)
2023-09-12 07:03:42 +0200oats(~thomas@user/oats)
2023-09-12 07:03:42 +0200stefan-_(~cri@42dots.de)
2023-09-12 07:03:42 +0200mxs(~mxs@user/mxs)
2023-09-12 07:03:42 +0200Franciman(~Franciman@mx1.fracta.dev)
2023-09-12 07:03:42 +0200telser(~quassel@user/telser)
2023-09-12 07:03:42 +0200cawfee(~root@2406:3003:2077:2758::babe)
2023-09-12 07:03:42 +0200infinity0(~infinity0@pwned.gg)
2023-09-12 07:03:42 +0200gaze___(sid387101@id-387101.helmsley.irccloud.com)
2023-09-12 07:03:42 +0200bionade24(~bionade24@2a03:4000:33:45b::1)
2023-09-12 07:03:42 +0200shawwwn(sid6132@id-6132.helmsley.irccloud.com)
2023-09-12 07:03:42 +0200aspen(sid449115@helmsley.irccloud.com)
2023-09-12 07:03:42 +0200joeyh(~joeyh@kitenet.net)
2023-09-12 07:03:42 +0200Nikopol(nikopol@user/astrorigin)
2023-09-12 07:03:42 +0200immae(~immae@2a01:4f8:141:53e7::)
2023-09-12 07:03:42 +0200farn(~farn@2a03:4000:7:3cd:d4ab:85ff:feeb:f505)
2023-09-12 07:03:42 +0200liskin(~liskin@xmonad/liskin)
2023-09-12 07:03:42 +0200img(~img@user/img)
2023-09-12 07:03:42 +0200thelounge793(~thelounge@2a05:f480:1400:24b2:5400:4ff:fe76:a8f3)
2023-09-12 07:03:42 +0200edwtjo(~edwtjo@fsf/member/edwtjo)
2023-09-12 07:03:42 +0200opqdonut(opqdonut@pseudo.fixme.fi)
2023-09-12 07:03:42 +0200micro(~micro@user/micro)
2023-09-12 07:03:42 +0200Katarushisu1(~Katarushi@cpc147790-finc20-2-0-cust502.4-2.cable.virginm.net)
2023-09-12 07:03:42 +0200zero(~z@user/zero)
2023-09-12 07:03:42 +0200haskl(~haskl@user/haskl)
2023-09-12 07:03:42 +0200nadja(~dequbed@banana-new.kilobyte22.de)
2023-09-12 07:03:42 +0200g00gler(uid125351@id-125351.uxbridge.irccloud.com)
2023-09-12 07:03:42 +0200sweater1(~sweater@206.81.18.26)
2023-09-12 07:03:42 +0200hrberg(~quassel@171.79-160-161.customer.lyse.net)
2023-09-12 07:03:42 +0200Fischmiep(~Fischmiep@user/Fischmiep)
2023-09-12 07:03:42 +0200renegade(~renegade@bcdcac82.skybroadband.com)
2023-09-12 07:03:42 +0200stiell_(~stiell@gateway/tor-sasl/stiell)
2023-09-12 07:03:42 +0200natto(~natto@129.154.243.159)
2023-09-12 07:03:42 +0200lambdap237(~lambdap@static.167.190.119.168.clients.your-server.de)
2023-09-12 07:03:42 +0200nek0(~nek0@2a01:4f8:222:2b41::12)
2023-09-12 07:03:42 +0200myme(~myme@2a01:799:d60:e400:523a:264f:abbd:410)
2023-09-12 07:03:42 +0200Luj(~Luj@2a01:e0a:5f9:9681:5880:c9ff:fe9f:3dfb)
2023-09-12 07:03:42 +0200ncf(~n@monade.li)
2023-09-12 07:03:42 +0200V(~v@ircpuzzles/2022/april/winner/V)
2023-09-12 07:03:42 +0200leah2(~leah@vuxu.org)
2023-09-12 07:03:42 +0200[_________](~oos95GWG@user/oos95GWG)
2023-09-12 07:03:42 +0200meejah(~meejah@rutas.meejah.ca)
2023-09-12 07:03:42 +0200Adeon(sid418992@id-418992.lymington.irccloud.com)
2023-09-12 07:03:42 +0200conjunctive(sid433686@id-433686.helmsley.irccloud.com)
2023-09-12 07:03:42 +0200sefidel(~sefidel@user/sefidel)
2023-09-12 07:03:42 +0200tomboy64(~tomboy64@user/tomboy64)
2023-09-12 07:03:42 +0200chiselfuse(~chiselfus@user/chiselfuse)
2023-09-12 07:03:42 +0200neptun(neptun@2607:5300:60:5910:dcad:beff:feef:5bc)
2023-09-12 07:03:42 +0200GoldsteinQ(~goldstein@goldstein.rs)
2023-09-12 07:03:42 +0200thaumavorio(~thaumavor@thaumavor.io)
2023-09-12 07:03:42 +0200Unode(~Unode@fg-ext-220.embl.de)
2023-09-12 07:03:42 +0200cyphase(~cyphase@user/cyphase)
2023-09-12 07:03:42 +0200sand-witch(~m-mzmz6l@vmi833741.contaboserver.net)
2023-09-12 07:03:42 +0200it_(~quassel@v2202212189510211193.supersrv.de)
2023-09-12 07:03:42 +0200koolazer(~koo@user/koolazer)
2023-09-12 07:03:42 +0200califax(~califax@user/califx)
2023-09-12 07:03:42 +0200haveo(~haveo@sl35.iuwt.fr)
2023-09-12 07:03:42 +0200caubert(~caubert@user/caubert)
2023-09-12 07:03:42 +0200MelanieMalik(ellenor@callbox.trd.is)
2023-09-12 07:03:42 +0200nckx(nckx@libera/staff/owl/nckx)
2023-09-12 07:03:42 +0200EvanR(~EvanR@user/evanr)
2023-09-12 07:03:42 +0200litharge(litharge@libera/bot/litharge)
2023-09-12 07:03:42 +0200YoungFrog(~youngfrog@39.129-180-91.adsl-dyn.isp.belgacom.be)
2023-09-12 07:03:42 +0200[Leary](~Leary]@user/Leary/x-0910699)
2023-09-12 07:03:42 +0200erisco(~erisco@d24-141-66-165.home.cgocable.net)
2023-09-12 07:03:42 +0200edmundnoble_(sid229620@id-229620.helmsley.irccloud.com)
2023-09-12 07:03:42 +0200bjobjo(~bjobjo@user/bjobjo)
2023-09-12 07:03:42 +0200snek(sid280155@id-280155.lymington.irccloud.com)
2023-09-12 07:03:42 +0200lbseale(~quassel@user/ep1ctetus)
2023-09-12 07:03:42 +0200mcfrdy(~mcfrdy@user/mcfrdy)
2023-09-12 07:03:42 +0200loonycyborg(loonycybor@wesnoth/developer/loonycyborg)
2023-09-12 07:03:42 +0200forell(~forell@user/forell)
2023-09-12 07:03:42 +0200tabemann_(~tabemann@172-13-49-137.lightspeed.milwwi.sbcglobal.net)
2023-09-12 07:03:42 +0200Vq(~vq@90-225-115-195-no122.tbcn.telia.com)
2023-09-12 07:03:42 +0200Putonlalla(~Putonlall@it-cyan.it.jyu.fi)
2023-09-12 07:03:42 +0200Clint(~Clint@user/clint)
2023-09-12 07:03:42 +0200ec(~ec@gateway/tor-sasl/ec)
2023-09-12 07:03:42 +0200smalltalkman(uid545680@id-545680.hampstead.irccloud.com)
2023-09-12 07:03:42 +0200acidsys(~crameleon@openSUSE/member/crameleon)
2023-09-12 07:03:42 +0200justache(~justache@user/justache)
2023-09-12 07:03:42 +0200tomsmeding(~tomsmedin@static.21.109.88.23.clients.your-server.de)
2023-09-12 07:03:42 +0200institor(~henricus@user/institor)
2023-09-12 07:03:42 +0200dagit(~dagit@2001:558:6025:38:71c6:9d58:7252:8976)
2023-09-12 07:03:42 +0200lambdabot(~lambdabot@haskell/bot/lambdabot)
2023-09-12 07:03:42 +0200ridcully_(~ridcully@p508ac5fc.dip0.t-ipconnect.de)
2023-09-12 07:03:42 +0200Ekho(~Ekho@user/ekho)
2023-09-12 07:03:42 +0200hugo(znc@verdigris.lysator.liu.se)
2023-09-12 07:03:42 +0200Nixkernal(~Nixkernal@119.4.193.178.dynamic.wline.res.cust.swisscom.ch)
2023-09-12 07:03:42 +0200adanwan(~adanwan@gateway/tor-sasl/adanwan)
2023-09-12 07:03:42 +0200exarkun(~exarkun@user/exarkun)
2023-09-12 07:03:42 +0200aku(~aku@65.108.245.241)
2023-09-12 07:03:42 +0200Buggys(Buggys@shelltalk.net)
2023-09-12 07:03:42 +0200kritzefitz(~kritzefit@debian/kritzefitz)
2023-09-12 07:03:42 +0200mankyKitty(sid31287@id-31287.helmsley.irccloud.com)
2023-09-12 07:03:42 +0200jinsun(~jinsun@user/jinsun)
2023-09-12 07:03:42 +0200whatsupdoc(uid509081@id-509081.hampstead.irccloud.com)
2023-09-12 07:03:42 +0200rubin55(sid175221@id-175221.hampstead.irccloud.com)
2023-09-12 07:03:42 +0200tomku(~tomku@user/tomku)
2023-09-12 07:03:42 +0200mniip(mniip@libera/staff/mniip)
2023-09-12 07:03:42 +0200wagle(~wagle@quassel.wagle.io)
2023-09-12 07:03:42 +0200xsarnik(xsarnik@lounge.fi.muni.cz)
2023-09-12 07:03:42 +0200drewjose(~drewjose@129.154.40.88)
2023-09-12 07:03:42 +0200dy(sid3438@user/dy)
2023-09-12 07:03:42 +0200agander_m(sid407952@id-407952.tinside.irccloud.com)
2023-09-12 07:03:42 +0200jackdk(sid373013@cssa/jackdk)
2023-09-12 07:03:42 +0200lightandlight(sid135476@id-135476.helmsley.irccloud.com)
2023-09-12 07:03:42 +0200xstill_(xstill@fimu/xstill)
2023-09-12 07:03:42 +0200riatre(~quassel@2001:310:6000:f::5198:1)
2023-09-12 07:03:42 +0200hsw(~hsw@2001-b030-2303-0104-0172-0025-0012-0132.hinet-ip6.hinet.net)
2023-09-12 07:03:42 +0200ringo___(~ringo@157.230.117.128)
2023-09-12 07:03:42 +0200pieguy128(~pieguy128@bras-base-mtrlpq5031w-grc-46-67-70-100-114.dsl.bell.ca)
2023-09-12 07:03:42 +0200monochrom(trebla@216.138.220.146)
2023-09-12 07:03:42 +0200Me-me(~me-me@user/me-me)
2023-09-12 07:03:42 +0200mira(~aranea@wireguard/contributorcat/mira)
2023-09-12 07:03:42 +0200peutri(~peutri@bobo.desast.re)
2023-09-12 07:03:42 +0200terrorjack(~terrorjac@2a01:4f8:c17:87f8::)
2023-09-12 07:03:42 +0200VioletJewel(~violet@user/violetjewel)
2023-09-12 07:03:42 +0200cheater(~Username@user/cheater)
2023-09-12 07:03:42 +0200ysh____(sid6017@id-6017.ilkley.irccloud.com)
2023-09-12 07:03:42 +0200CAT_S(apic@brezn3.muc.ccc.de)
2023-09-12 07:03:42 +0200user2(~user@162.255.84.96)
2023-09-12 07:03:42 +0200acro(~acro@user/acro)
2023-09-12 07:03:42 +0200raoul(~raoul@95.179.203.88)
2023-09-12 07:03:42 +0200lilata(~lilata@137.184.4.49)
2023-09-12 07:03:42 +0200AlexNoo(~AlexNoo@178.34.160.172)
2023-09-12 07:03:42 +0200superbil(~superbil@1-34-176-171.hinet-ip.hinet.net)
2023-09-12 07:03:42 +0200mht-wtf(~mht@2a03:b0c0:3:e0::1e2:c001)
2023-09-12 07:03:42 +0200kawzeg_(kawzeg@2a01:7e01::f03c:92ff:fee2:ec34)
2023-09-12 07:03:42 +0200xnbya(~xnbya@2a01:4f8:c17:cbdd::1)
2023-09-12 07:03:42 +0200samhh(7569f027cf@2604:bf00:561:2000::e4)
2023-09-12 07:03:42 +0200sgarcia_(sgarcia@swarm.znchost.com)
2023-09-12 07:03:42 +0200T_S____(sid501726@id-501726.uxbridge.irccloud.com)
2023-09-12 07:03:42 +0200hamishmack(sid389057@id-389057.hampstead.irccloud.com)
2023-09-12 07:03:42 +0200Rembane(~Rembane@li346-36.members.linode.com)
2023-09-12 07:03:42 +0200bastelfreak(bastelfrea@libera/staff/VoxPupuli.bastelfreak)
2023-09-12 07:03:42 +0200juri_(~juri@84-19-175-187.pool.ovpn.com)
2023-09-12 07:03:42 +0200dfg(~dfg@user/dfg)
2023-09-12 07:03:42 +0200gawen(~gawen@user/gawen)
2023-09-12 07:03:42 +0200s4msung(0RQA7T2IW8@user/s4msung)
2023-09-12 07:03:42 +0200df(~ben@justworks.xyz)
2023-09-12 07:03:42 +0200rachelambda(~rachelamb@78-67-128-99-no247.tbcn.telia.com)
2023-09-12 07:03:42 +0200connrs(~connrs@user/connrs)
2023-09-12 07:03:42 +0200kaol(~kaol@94-237-42-30.nl-ams1.upcloud.host)
2023-09-12 07:03:42 +0200gabiruh(~gabiruh@vps19177.publiccloud.com.br)
2023-09-12 07:03:42 +0200gentauro(~gentauro@user/gentauro)
2023-09-12 07:03:42 +0200nshepper1(nshepperd@2600:3c03::f03c:92ff:fe28:92c9)
2023-09-12 07:03:42 +0200pie_(~pie_bnc@user/pie/x-2818909)
2023-09-12 07:03:42 +0200zups(~meow@2a01:4f9:c010:6036::1)
2023-09-12 07:03:42 +0200byorgey(~byorgey@155.138.238.211)
2023-09-12 07:03:42 +0200res0nat0r0844909(~Fletch@falcon.whatbox.ca)
2023-09-12 07:03:42 +0200jocke-l(jocke-l@a.x0.is)
2023-09-12 07:03:42 +0200nurupo(~nurupo.ga@user/nurupo)
2023-09-12 07:03:42 +0200mmaruseacph2(~mihai@mihai.page)
2023-09-12 07:03:42 +0200gabriel_sevecek(~gabriel@188-167-229-200.dynamic.chello.sk)
2023-09-12 07:03:42 +0200Angelz(Angelz@Angelz.oddprotocol.org)
2023-09-12 07:03:42 +0200Ram-Z(~Ram-Z@li1814-254.members.linode.com)
2023-09-12 07:03:42 +0200cods(~fred@82-65-232-44.subs.proxad.net)
2023-09-12 07:03:42 +0200troydm1(~troydm@host-176-37-53-238.b025.la.net.ua)
2023-09-12 07:03:42 +0200kosmikus_(~kosmikus@nullzig.kosmikus.org)
2023-09-12 07:03:42 +0200mrmonday(~robert@what.i.hope.is.not.a.tabernaevagant.es)
2023-09-12 07:03:42 +0200codedmart_(codedmart@2600:3c01::f03c:92ff:fefe:8511)
2023-09-12 07:03:42 +0200aristid(sid1599@id-1599.uxbridge.irccloud.com)
2023-09-12 07:03:42 +0200beaky(~beaky@2a03:b0c0:0:1010::1e:a001)
2023-09-12 07:03:42 +0200Techcable(~Techcable@user/Techcable)
2023-09-12 07:03:42 +0200noteness(~noteness@user/noteness)
2023-09-12 07:03:42 +0200robertm(robertm@lattice.rojoma.com)
2023-09-12 07:03:42 +0200Teacup(~teacup@user/teacup)
2023-09-12 07:03:42 +0200SrPx(sid108780@id-108780.uxbridge.irccloud.com)
2023-09-12 07:03:42 +0200yandere(sid467876@id-467876.ilkley.irccloud.com)
2023-09-12 07:03:42 +0200christiaanb(sid84827@id-84827.lymington.irccloud.com)
2023-09-12 07:03:42 +0200Yumemi(~Yumemi@212.47.254.173)
2023-09-12 07:03:42 +0200andjjj23(~irc@107.170.228.47)
2023-09-12 07:03:42 +0200jludwig(~justin@li657-110.members.linode.com)
2023-09-12 07:03:42 +0200Hooloovoo(~Hooloovoo@hax0rbana.org)
2023-09-12 07:03:42 +0200nicole(ilbelkyr@libera/staff/ilbelkyr)
2023-09-12 07:03:42 +0200diagprov(sid348783@user/diagprov)
2023-09-12 07:03:42 +0200MironZ(~MironZ@nat-infra.ehlab.uk)
2023-09-12 07:03:42 +0200PHO`(~pho@akari.cielonegro.org)
2023-09-12 07:03:42 +0200vjoki(~vjoki@2a00:d880:3:1::fea1:9ae)
2023-09-12 07:03:42 +0200welterde(welterde@thinkbase.srv.welterde.de)
2023-09-12 07:03:42 +0200yvan-sraka(sid419690@id-419690.lymington.irccloud.com)
2023-09-12 07:03:42 +0200degraafk(sid71464@id-71464.lymington.irccloud.com)
2023-09-12 07:03:42 +0200wallymathieu(sid533252@id-533252.uxbridge.irccloud.com)
2023-09-12 07:03:42 +0200nisstyre(wes@user/nisstyre)
2023-09-12 07:03:42 +0200ario(~ario@159.65.220.102)
2023-09-12 07:03:42 +0200S11001001(sid42510@id-42510.ilkley.irccloud.com)
2023-09-12 07:03:42 +0200edwardk(sid47016@haskell/developer/edwardk)
2023-09-12 07:03:42 +0200delyan_(sid523379@id-523379.hampstead.irccloud.com)
2023-09-12 07:03:42 +0200carter(sid14827@id-14827.helmsley.irccloud.com)
2023-09-12 07:03:42 +0200defanor(~defanor@tart.uberspace.net)
2023-09-12 07:03:42 +0200SanchayanMaity(sid478177@id-478177.hampstead.irccloud.com)
2023-09-12 07:03:42 +0200amir(sid22336@user/amir)
2023-09-12 07:03:42 +0200tinwood(~tinwood@canonical/tinwood)
2023-09-12 07:03:42 +0200Fangs(sid141280@id-141280.hampstead.irccloud.com)
2023-09-12 07:03:42 +0200minigrim0(~minigrim0@2a01:4f9:6b:3416:68ba:8dff:fe58:a5ea)
2023-09-12 07:03:42 +0200dfordvm(~dfordivam@160.16.87.223.v6.sakura.ne.jp)
2023-09-12 07:03:42 +0200anderson(~anderson@user/anderson)
2023-09-12 07:03:42 +0200chessai(sid225296@id-225296.lymington.irccloud.com)
2023-09-12 07:03:42 +0200geekosaur[c](sid609282@xmonad/geekosaur)
2023-09-12 07:03:42 +0200lally(sid388228@id-388228.uxbridge.irccloud.com)
2023-09-12 07:03:42 +0200PotatoGim(sid99505@id-99505.lymington.irccloud.com)
2023-09-12 07:03:42 +0200jmct(sid160793@id-160793.tinside.irccloud.com)
2023-09-12 07:03:42 +0200Jon(jon@dow.land)
2023-09-12 07:03:42 +0200buhman(sid411355@user/buhman)
2023-09-12 07:03:42 +0200sphynx(~xnyhps@2a02:2770:3:0:216:3eff:fe67:3288)
2023-09-12 07:03:42 +0200DigitalKiwi(~kiwi@2604:a880:400:d0::1ca0:e001)
2023-09-12 07:03:42 +0200krjt(~krjst@2604:a880:800:c1::16b:8001)
2023-09-12 07:03:42 +0200ChanServ(ChanServ@services.libera.chat)
2023-09-12 07:03:42 +0200molybdenum.libera.chat+o ChanServ
2023-09-12 07:03:58 +0200segfaultfizzbuzz(~segfaultf@12.172.217.142) (Ping timeout: 255 seconds)
2023-09-12 07:03:58 +0200biberu(~biberu@user/biberu) (Max SendQ exceeded)
2023-09-12 07:03:58 +0200jakesyl____(sid56879@id-56879.hampstead.irccloud.com) (Max SendQ exceeded)
2023-09-12 07:03:58 +0200hook54321(sid149355@user/hook54321) (Max SendQ exceeded)
2023-09-12 07:03:58 +0200NiKaN(sid385034@2a03:5180:f:1::5:e00a) (Max SendQ exceeded)
2023-09-12 07:03:58 +0200joel135(sid136450@id-136450.hampstead.irccloud.com) (Max SendQ exceeded)
2023-09-12 07:03:58 +0200shailangsa(~shailangs@host86-186-196-224.range86-186.btcentralplus.com) (Max SendQ exceeded)
2023-09-12 07:03:58 +0200haskellbridge(~haskellbr@069-135-003-034.biz.spectrum.com) (Excess Flood)
2023-09-12 07:03:58 +0200Fischmiep(~Fischmiep@user/Fischmiep) (Max SendQ exceeded)
2023-09-12 07:03:58 +0200dsrt^(~cd@c-66-56-7-24.hsd1.ga.comcast.net) (Max SendQ exceeded)
2023-09-12 07:03:58 +0200mrmr158(~mrmr@user/mrmr)
2023-09-12 07:03:58 +0200Pixi(~Pixi@user/pixi) (Max SendQ exceeded)
2023-09-12 07:03:59 +0200sympt(~sympt@user/sympt) (Max SendQ exceeded)
2023-09-12 07:03:59 +0200Fischmiep(~Fischmiep@user/Fischmiep)
2023-09-12 07:03:59 +0200mrmr15(~mrmr@user/mrmr) (Max SendQ exceeded)
2023-09-12 07:03:59 +0200mrmr158mrmr15
2023-09-12 07:03:59 +0200arahael(~arahael@1.145.115.51) (Quit: leaving)
2023-09-12 07:03:59 +0200joel135(sid136450@id-136450.hampstead.irccloud.com)
2023-09-12 07:04:06 +0200Pixi(~Pixi@user/pixi)
2023-09-12 07:04:27 +0200sympt(~sympt@user/sympt)
2023-09-12 07:04:32 +0200dsrt^(~cd@c-66-56-7-24.hsd1.ga.comcast.net)
2023-09-12 07:04:44 +0200Guest3051(sid1055@id-1055.tinside.irccloud.com) (Ping timeout: 243 seconds)
2023-09-12 07:04:56 +0200biberu(~biberu@user/biberu)
2023-09-12 07:05:27 +0200jakesyl____(sid56879@id-56879.hampstead.irccloud.com)
2023-09-12 07:05:39 +0200NiKaN(sid385034@id-385034.helmsley.irccloud.com)
2023-09-12 07:05:47 +0200hook54321(sid149355@user/hook54321)
2023-09-12 07:06:18 +0200haskellbridge(~haskellbr@069-135-003-034.biz.spectrum.com)
2023-09-12 07:06:18 +0200haskellbridge(~haskellbr@069-135-003-034.biz.spectrum.com) (Read error: Connection reset by peer)
2023-09-12 07:06:39 +0200haskellbridge(~haskellbr@069-135-003-034.biz.spectrum.com)
2023-09-12 07:07:04 +0200Guest3051(sid1055@id-1055.tinside.irccloud.com)
2023-09-12 07:08:53 +0200michalz(~michalz@185.246.207.222)
2023-09-12 07:12:14 +0200acidjnk(~acidjnk@p200300d6e7072f13848a4652d3a909c0.dip0.t-ipconnect.de)
2023-09-12 07:14:22 +0200qqq(~qqq@92.43.167.61)
2023-09-12 07:23:55 +0200econo_(uid147250@id-147250.tinside.irccloud.com)
2023-09-12 07:26:15 +0200iteratee(~kyle@162.218.222.207)
2023-09-12 07:28:05 +0200takuan(~takuan@178-116-218-225.access.telenet.be)
2023-09-12 07:32:23 +0200merijn(~merijn@088-129-128-083.dynamic.caiway.nl)
2023-09-12 07:36:33 +0200_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Quit: _ht)
2023-09-12 07:36:48 +0200acidjnk(~acidjnk@p200300d6e7072f13848a4652d3a909c0.dip0.t-ipconnect.de) (Ping timeout: 246 seconds)
2023-09-12 07:39:49 +0200christiaanb(sid84827@id-84827.lymington.irccloud.com) (Server closed connection)
2023-09-12 07:39:58 +0200christiaanb(sid84827@id-84827.lymington.irccloud.com)
2023-09-12 07:40:13 +0200sm(~sm@plaintextaccounting/sm)
2023-09-12 07:43:28 +0200zeroyin
2023-09-12 07:46:03 +0200shailangsa(~shailangs@host86-186-196-224.range86-186.btcentralplus.com)
2023-09-12 07:56:30 +0200idgaen(~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
2023-09-12 07:58:37 +0200CiaoSen(~Jura@2a05:5800:29f:6f00:664b:f0ff:fe37:9ef)
2023-09-12 08:02:09 +0200Inst(~Inst@120.244.192.250) (Ping timeout: 245 seconds)
2023-09-12 08:04:02 +0200acidjnk(~acidjnk@p200300d6e7072f13dd7273edbfdb54c8.dip0.t-ipconnect.de)
2023-09-12 08:04:38 +0200aaronv(~aaronv@user/aaronv) (Ping timeout: 246 seconds)
2023-09-12 08:05:33 +0200yandere(sid467876@id-467876.ilkley.irccloud.com) (Server closed connection)
2023-09-12 08:05:43 +0200yandere(sid467876@id-467876.ilkley.irccloud.com)
2023-09-12 08:06:45 +0200merijn(~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 255 seconds)
2023-09-12 08:08:46 +0200SrPx(sid108780@id-108780.uxbridge.irccloud.com) (Server closed connection)
2023-09-12 08:09:30 +0200SrPx(sid108780@id-108780.uxbridge.irccloud.com)
2023-09-12 08:10:44 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-09-12 08:11:56 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Client Quit)
2023-09-12 08:15:44 +0200aaronv(~aaronv@user/aaronv)
2023-09-12 08:20:30 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-09-12 08:29:36 +0200cafkafk(~cafkafk@fsf/member/cafkafk) (Ping timeout: 246 seconds)
2023-09-12 08:30:44 +0200idgaen(~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 4.0.2)
2023-09-12 08:30:49 +0200chomwitt(~chomwitt@2a02:587:7a0c:4d00:1ac0:4dff:fedb:a3f1)
2023-09-12 08:31:47 +0200cafkafk(~cafkafk@fsf/member/cafkafk)
2023-09-12 08:31:54 +0200mmhat(~mmh@p200300f1c7178aebee086bfffe095315.dip0.t-ipconnect.de)
2023-09-12 08:35:05 +0200bliminse(~bliminse@user/bliminse) (Ping timeout: 246 seconds)
2023-09-12 08:47:49 +0200jludwig(~justin@li657-110.members.linode.com) (Server closed connection)
2023-09-12 08:48:12 +0200jludwig(~justin@li657-110.members.linode.com)
2023-09-12 08:52:19 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:d785:ed50:6a7:a156)
2023-09-12 08:53:30 +0200darksatanicdarkling
2023-09-12 08:55:49 +0200sord937(~sord937@gateway/tor-sasl/sord937)
2023-09-12 09:03:42 +0200shapr(~user@c-67-160-55-153.hsd1.wa.comcast.net) (Ping timeout: 255 seconds)
2023-09-12 09:05:33 +0200jackneill__(~Jackneill@20014C4E1E101A00E9F1E1049A19AA9C.dsl.pool.telekom.hu)
2023-09-12 09:10:57 +0200privacy(~privacy@47.219.84.6)
2023-09-12 09:13:31 +0200danza(~francesco@151.37.250.249)
2023-09-12 09:16:26 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net)
2023-09-12 09:21:32 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 255 seconds)
2023-09-12 09:24:26 +0200outerh3ll(~outerhell@user/outerh3ll)
2023-09-12 09:28:08 +0200aforemny_aforemny
2023-09-12 09:30:51 +0200tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz)
2023-09-12 09:35:56 +0200coot(~coot@89-69-206-216.dynamic.chello.pl)
2023-09-12 09:37:13 +0200Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2023-09-12 09:37:17 +0200danza(~francesco@151.37.250.249) (Ping timeout: 255 seconds)
2023-09-12 09:37:41 +0200outerh3ll(~outerhell@user/outerh3ll) (Quit: WeeChat 4.0.4)
2023-09-12 09:38:53 +0200outerh3ll(~outerhell@user/outerh3ll)
2023-09-12 09:39:07 +0200merijn(~merijn@088-129-128-083.dynamic.caiway.nl)
2023-09-12 09:39:32 +0200outerh3ll(~outerhell@user/outerh3ll) (Client Quit)
2023-09-12 09:41:06 +0200brankow(~brankow@95.180.100.181)
2023-09-12 09:44:14 +0200robobub(uid248673@id-248673.uxbridge.irccloud.com)
2023-09-12 09:46:21 +0200gentauro(~gentauro@user/gentauro) (Read error: Connection reset by peer)
2023-09-12 09:49:43 +0200kuribas(~user@ip-188-118-57-242.reverse.destiny.be)
2023-09-12 09:51:49 +0200oo_miguel(~Thunderbi@78-11-179-96.static.ip.netia.com.pl)
2023-09-12 09:52:05 +0200gentauro(~gentauro@user/gentauro)
2023-09-12 09:54:50 +0200notzmv(~zmv@user/notzmv) (Ping timeout: 255 seconds)
2023-09-12 09:59:17 +0200chele(~chele@user/chele)
2023-09-12 10:00:31 +0200aaronv(~aaronv@user/aaronv) (Remote host closed the connection)
2023-09-12 10:00:49 +0200aaronv(~aaronv@user/aaronv)
2023-09-12 10:11:35 +0200sm(~sm@plaintextaccounting/sm) (Quit: sm)
2023-09-12 10:16:39 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2023-09-12 10:18:56 +0200machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net)
2023-09-12 10:21:19 +0200mysl(~mysl@user/mysl) (Ping timeout: 245 seconds)
2023-09-12 10:24:58 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:b93b:6165:58a2:3e5e) (Remote host closed the connection)
2023-09-12 10:27:52 +0200 <probie> Does anyone here have strong preferences about GraphQL server libraries?
2023-09-12 10:30:41 +0200 <[exa]> I wish there would be good ones
2023-09-12 10:31:35 +0200mysl(~mysl@user/mysl)
2023-09-12 10:32:36 +0200phma(~phma@2001:5b0:210f:7168:cc95:7518:e3ef:e00e) (Read error: Connection reset by peer)
2023-09-12 10:32:39 +0200 <probie> As far as I can tell, of those that are maintained there's Morpheus, which is a bit too opinionated for me
2023-09-12 10:33:30 +0200cfricke(~cfricke@user/cfricke)
2023-09-12 10:33:38 +0200phma(~phma@2001:5b0:211c:cea8:446a:c697:5d5a:83a7)
2023-09-12 10:37:13 +0200ubert2(~Thunderbi@178.115.39.254.wireless.dyn.drei.com)
2023-09-12 10:38:15 +0200Inst(~Inst@120.244.192.250)
2023-09-12 10:38:16 +0200ubert(~Thunderbi@77.119.175.117.wireless.dyn.drei.com) (Ping timeout: 252 seconds)
2023-09-12 10:38:16 +0200ubert2ubert
2023-09-12 10:39:41 +0200 <kuribas> I started designing one, since I didn't like the existing ones.
2023-09-12 10:39:48 +0200 <kuribas> But it's on hold.
2023-09-12 10:40:44 +0200 <kuribas> Like a lot of haskell libraries, they are either to sofisticated, or to simple (just a clone of javascript libraries).
2023-09-12 10:41:11 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-09-12 10:41:50 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-09-12 10:42:14 +0200 <tomsmeding> jackdk: do we? GHC.TypeNats.Nat is just NAtural
2023-09-12 10:42:16 +0200 <tomsmeding> *Natural
2023-09-12 10:43:02 +0200 <Inst> does anyone use IO as a monoid?
2023-09-12 10:43:12 +0200danza(~francesco@151.37.250.249)
2023-09-12 10:43:42 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-09-12 10:47:51 +0200 <[exa]> probie: kuribas: I actually needed to simplify it, full graphql querying doesn't at all by far allow reasonably federated evaluation
2023-09-12 10:49:16 +0200pavonia(~user@user/siracusa) (Ping timeout: 252 seconds)
2023-09-12 10:49:34 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
2023-09-12 10:50:11 +0200danza(~francesco@151.37.250.249) (Ping timeout: 246 seconds)
2023-09-12 10:53:49 +0200danse-nr3(~francesco@151.37.250.249)
2023-09-12 10:54:13 +0200pavonia(~user@user/siracusa)
2023-09-12 10:57:02 +0200 <kuribas> federated?
2023-09-12 10:57:27 +0200immae(~immae@2a01:4f8:141:53e7::) (Quit: WeeChat 3.3)
2023-09-12 10:57:47 +0200 <tomsmeding> Inst: "did anyone fix accelerate" what did you mean?
2023-09-12 10:58:10 +0200azimut(~azimut@gateway/tor-sasl/azimut)
2023-09-12 10:59:33 +0200immae(~immae@2a01:4f8:141:53e7::)
2023-09-12 10:59:46 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:b93b:6165:58a2:3e5e)
2023-09-12 11:01:01 +0200merijn(~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 258 seconds)
2023-09-12 11:07:08 +0200 <[exa]> kuribas: like with sparql, but preferably less b0rked
2023-09-12 11:09:13 +0200kuribasdoesn't know sparql
2023-09-12 11:09:39 +0200 <Inst> tomsmeding: well, is the hackage compiling on 9.4.x?
2023-09-12 11:09:53 +0200 <Inst> also, here's something interesting we're discussing on Discord, mainly because I misunderstood the applicative instance of IO
2023-09-12 11:09:54 +0200 <tomsmeding> Inst: the master branch is, as far as I know
2023-09-12 11:10:06 +0200 <Inst> newtype over IO [a]
2023-09-12 11:10:06 +0200 <tomsmeding> hackage is indeed lagging
2023-09-12 11:10:14 +0200 <Inst> get it to fail like a parser combinator when [a] is []
2023-09-12 11:10:34 +0200 <Inst> i.e, cheap short-circuiting
2023-09-12 11:11:00 +0200 <Inst> erm, alternative instance, not applicative instance
2023-09-12 11:11:55 +0200 <tomsmeding> as in `newtype InstIO a = InstIO (IO [a])` ?
2023-09-12 11:12:00 +0200 <Inst> ya
2023-09-12 11:12:01 +0200 <[exa]> kuribas: happy you. :D
2023-09-12 11:12:09 +0200 <Inst> not familiar with asum
2023-09-12 11:12:16 +0200 <Inst> but that's a good approximation of fold, no?
2023-09-12 11:12:40 +0200 <Inst> so, io actions yielding some list type, map the newtype constructor onto the list of io actions, then asum
2023-09-12 11:12:46 +0200 <Inst> cheap short-circuiting?
2023-09-12 11:13:39 +0200 <tomsmeding> Inst: would it be a monad too?
2023-09-12 11:14:52 +0200 <Inst> ack, IO [IO [a]]
2023-09-12 11:15:09 +0200 <Inst> isn't ListT generally not producing a monad? :(
2023-09-12 11:15:47 +0200andjjj23(~irc@107.170.228.47) (Server closed connection)
2023-09-12 11:16:04 +0200andjjj23(~irc@107.170.228.47)
2023-09-12 11:17:26 +0200 <kuribas> fold uses <>, asum <|>
2023-09-12 11:17:46 +0200 <tomsmeding> Inst: https://paste.tomsmeding.com/nRdGemxt ?
2023-09-12 11:17:59 +0200 <tomsmeding> not sure about the monad instance
2023-09-12 11:18:00 +0200danse-nr3_(~francesco@151.35.249.3)
2023-09-12 11:19:47 +0200 <Inst> only important thing was that i wanted cheap short-circuiting via the alternative
2023-09-12 11:20:29 +0200danse-nr3(~francesco@151.37.250.249) (Ping timeout: 245 seconds)
2023-09-12 11:21:20 +0200 <[Leary]> If you really want cheap short-circuiting, just use the mechanism that's already built into IO? E.g. `\io -> io >>= \case{ [] -> throwIO EmptyList; x:xs -> pure (x:|xs) }`.
2023-09-12 11:22:04 +0200caryhartline(~caryhartl@168.182.58.169)
2023-09-12 11:23:35 +0200 <danse-nr3_> still unsure about the question. Short-circuiting for what? Could you write an instance of function you expect to short-circuit?
2023-09-12 11:23:44 +0200 <jackdk> tomsmeding: maybe I was too hopeful
2023-09-12 11:23:54 +0200Guest|2(~Guest|2@150.214.58.89)
2023-09-12 11:23:55 +0200Guest|2(~Guest|2@150.214.58.89) (Client Quit)
2023-09-12 11:28:48 +0200 <Inst> yeah, tired, will work on it later, was just surprised this wasn't IO type's default behavior
2023-09-12 11:29:19 +0200 <tomsmeding> monads doesn't care about what's in the returned value
2023-09-12 11:29:21 +0200 <tomsmeding> *don't
2023-09-12 11:29:31 +0200 <tomsmeding> indeed they can't, because of parametricity
2023-09-12 11:30:07 +0200 <tomsmeding> anything that does something special with a returned empty list from a monad M (e.g. IO) would have to look like 'data M a = M [a]' -- i.e. have the list embedded
2023-09-12 11:30:27 +0200 <tomsmeding> in (<|>) or (>>=) you have no clue what the 'a' is that you're passing on
2023-09-12 11:32:10 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-09-12 11:34:38 +0200Teacup(~teacup@user/teacup) (Server closed connection)
2023-09-12 11:34:49 +0200Teacup(~teacup@user/teacup)
2023-09-12 11:37:43 +0200mc47(~mc47@xmonad/TheMC47)
2023-09-12 11:38:42 +0200 <Inst> tomsmeding: so, call it the Go monad / Go monoid informally?
2023-09-12 11:39:48 +0200 <tomsmeding> why "Go"?
2023-09-12 11:40:05 +0200 <Inst> IO monad with multiple return, no?
2023-09-12 11:40:18 +0200 <tomsmeding> it's a combination of the list monad (nondeterminism) with the IO monad
2023-09-12 11:40:36 +0200 <Inst> with a different alternative instance
2023-09-12 11:40:57 +0200 <Inst> that, unfortunately, isn't as ergonomic as you'd like it to be, but the problem I'm trying to solve is handling a combination of unrecoverable and recoverable exceptions
2023-09-12 11:41:07 +0200 <Inst> and outputting them to a result list
2023-09-12 11:41:13 +0200 <tomsmeding> These?
2023-09-12 11:41:31 +0200 <tomsmeding> https://hackage.haskell.org/package/monad-chronicle
2023-09-12 11:43:37 +0200 <probie> % import Control.Exception
2023-09-12 11:43:37 +0200 <yahb2> <no output>
2023-09-12 11:43:49 +0200 <probie> % catchErrs = foldr (\f k -> catch (f >> pure id) (\(SomeException e) -> pure (SomeException e:)) <*> k) (pure [])
2023-09-12 11:43:49 +0200 <yahb2> <interactive>:99:21: error: [-Wname-shadowing, -Werror=name-shadowing] ; This binding for ‘f’ shadows the existing binding ; defined at <interactive>:61:1
2023-09-12 11:43:50 +0200 <Inst> interesting types
2023-09-12 11:44:15 +0200 <probie> % catchErrs [print 5, throwIO (userError "oh no"), print 7, print 42 >> throwIO (userError "sad")]
2023-09-12 11:44:15 +0200 <yahb2> <interactive>:101:1: error: ; Variable not in scope: catchErrs :: [IO ()] -> t
2023-09-12 11:44:16 +0200 <tomsmeding> % :set -Wno-error
2023-09-12 11:44:16 +0200 <yahb2> <no location info>: warning: [-Wunrecognised-warning-flags] ; unrecognised warning flag: -Wno-error
2023-09-12 11:44:22 +0200 <Inst> but tbh i'm just more attracted to the idea of using a different interface for IO monad
2023-09-12 11:44:30 +0200 <tomsmeding> % :unset -Werror
2023-09-12 11:44:30 +0200 <yahb2> don't know how to reverse -Werror
2023-09-12 11:44:35 +0200 <tomsmeding> -.-
2023-09-12 11:44:40 +0200 <Inst> instead of using it as a monad, using it as a monoid / alternative, and having roughly the same power as IO monad
2023-09-12 11:44:55 +0200 <[Leary]> % :set -Wwarn
2023-09-12 11:44:55 +0200 <yahb2> <no output>
2023-09-12 11:45:03 +0200 <probie> % foldr (\next k -> catch (next >> pure id) (\(SomeException e) -> pure (SomeException e:)) <*> k) (pure []) [print 5, throwIO (userError "oh no"), print 7, print 42 >> throwIO (userError "sad")]
2023-09-12 11:45:03 +0200 <yahb2> <interactive>:109:115: warning: [-Wtype-defaults] ; • Defaulting the following constraints to type ‘Integer’ ; (Num a0) arising from the literal ‘5’ at <interactive>:109:115 ; (...
2023-09-12 11:45:24 +0200 <tomsmeding> % :q
2023-09-12 11:45:24 +0200 <yahb2> <no output>
2023-09-12 11:45:26 +0200 <tomsmeding> % 42
2023-09-12 11:45:27 +0200 <yahb2> 42
2023-09-12 11:45:33 +0200 <tomsmeding> % import Control.Exception
2023-09-12 11:45:33 +0200 <yahb2> <no output>
2023-09-12 11:45:39 +0200 <tomsmeding> % catchErrs = foldr (\f k -> catch (f >> pure id) (\(SomeException e) -> pure (SomeException e:)) <*> k) (pure [])
2023-09-12 11:45:39 +0200 <yahb2> <no output>
2023-09-12 11:45:45 +0200 <tomsmeding> % catchErrs [print 5, throwIO (userError "oh no"), print 7, print 42 >> throwIO (userError "sad")]
2023-09-12 11:45:46 +0200 <yahb2> 5 ; 7 ; 42 ; [user error (oh no),user error (sad)]
2023-09-12 11:45:50 +0200 <tomsmeding> probie: ^
2023-09-12 11:46:18 +0200 <probie> Inst: is that the sort of thing you want, or are you trying to do something else?
2023-09-12 11:46:26 +0200 <Inst> you're really the king of foldr, probie
2023-09-12 11:49:05 +0200 <Inst> seems close enough, i'm too tired, about to fall asleep
2023-09-12 11:49:56 +0200 <Inst> i already have code that's doing this in do notation, but i'm trying to set it up so i can do it via fold, foldMap', or something like that, the monoid method was just really attractive, shame alternative wasn't supportive
2023-09-12 11:52:09 +0200 <Inst> still, i'm guessing, the IO [a] newtype isn't interesting?
2023-09-12 11:52:51 +0200 <Inst> I'm also trying to figure out, how to get IO . []... ffff
2023-09-12 11:54:06 +0200danse-nr3_(~francesco@151.35.249.3) (Remote host closed the connection)
2023-09-12 11:54:15 +0200 <tomsmeding> I mean, the data type is isomorphic to Compose IO []
2023-09-12 11:54:20 +0200 <tomsmeding> but its instances probably differ
2023-09-12 11:54:29 +0200danse-nr3_(~francesco@151.35.249.3)
2023-09-12 12:02:22 +0200ft(~ft@p508dbaa9.dip0.t-ipconnect.de) (Quit: leaving)
2023-09-12 12:02:38 +0200CiaoSen(~Jura@2a05:5800:29f:6f00:664b:f0ff:fe37:9ef) (Ping timeout: 246 seconds)
2023-09-12 12:03:31 +0200mysl(~mysl@user/mysl) (Ping timeout: 252 seconds)
2023-09-12 12:04:32 +0200 <gensyst> What are your opinions on prefixing record fields vs. NoFieldSelectors & having a proper ability to reuse record field names ??
2023-09-12 12:04:40 +0200 <gensyst> I've been trying the latter, but it seems to have a massive disadvantage: Stuff like (\(Dog { name = x } -> x), and something similar, all over the place. The big offender: Having to type out the "Dog", losing the entire benefit of type inference (one of the great advertised Haskell benefits).
2023-09-12 12:04:44 +0200 <gensyst> Is this really a tradeoff?
2023-09-12 12:04:58 +0200 <gensyst> Or are there ways to make NoFieldSelectors more painless?
2023-09-12 12:05:03 +0200notzmv(~zmv@user/notzmv)
2023-09-12 12:05:10 +0200mysl(~mysl@user/mysl)
2023-09-12 12:05:28 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-09-12 12:10:29 +0200xff0x(~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 245 seconds)
2023-09-12 12:11:03 +0200 <jackdk> gensyst: I usually use `generic-lens` with `import Data.Generics.Labels ()` and `-XOverloadedLabels`
2023-09-12 12:13:26 +0200Inst(~Inst@120.244.192.250) (Ping timeout: 255 seconds)
2023-09-12 12:14:31 +0200Inst(~Inst@120.244.192.250)
2023-09-12 12:14:34 +0200 <Inst> hmmm
2023-09-12 12:14:43 +0200 <Inst> this is closer to a typeclass than a newtype with a different instance
2023-09-12 12:14:46 +0200merijn(~merijn@088-129-128-083.dynamic.caiway.nl)
2023-09-12 12:15:13 +0200 <Inst> short-term, i can implement this via an operator
2023-09-12 12:15:32 +0200 <Inst> within a where clause, less smelly use of custom operators
2023-09-12 12:16:39 +0200 <Inst> alternative doesn't work the way I expect, if the way I expect is lawful, I can just come up with a typeclass for it
2023-09-12 12:17:53 +0200fendor(~fendor@2a02:8388:1640:be00:c785:45ab:c70:9d3f)
2023-09-12 12:18:18 +0200 <Inst> XAlternative is unused, I assume XAlternative2 is unused as well
2023-09-12 12:18:26 +0200 <Inst> >||< is unused
2023-09-12 12:18:47 +0200 <Inst> falsy is unused
2023-09-12 12:19:21 +0200 <Inst> ^_^ is also unused, but sort of twee
2023-09-12 12:21:15 +0200 <tomsmeding> ^_^ is not a valid operator name unfortunately
2023-09-12 12:21:21 +0200 <tomsmeding> ^.^ is
2023-09-12 12:21:38 +0200 <Inst> already in hoogle
2023-09-12 12:21:50 +0200 <Inst> https://hackage.haskell.org/package/cubicbezier
2023-09-12 12:22:09 +0200 <Inst> i'm not good at abstract algebra or category theory, isn't Alternative essentially ad-hoc?
2023-09-12 12:22:20 +0200 <Inst> a monoid on applicative
2023-09-12 12:23:14 +0200econo_(uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity)
2023-09-12 12:29:30 +0200 <ncf> it should at least be a monoid on f a, but sometimes other laws are required, see https://en.wikibooks.org/wiki/Haskell/Alternative_and_MonadPlus#Other_suggested_laws
2023-09-12 12:30:48 +0200 <ncf> you could also take the view that, while applicative functors are functors that preserve finite products, alternatives also preserve coproducts
2023-09-12 12:31:10 +0200 <ncf> this suggests a different typing: empty :: f Void; (<|>) :: f a -> f b -> f (Either a b)
2023-09-12 12:31:42 +0200 <ncf> see http://h2.jaguarpaw.co.uk/posts/alternatives-convert-products-to-sums/
2023-09-12 12:32:23 +0200puke(~puke@user/puke) (Remote host closed the connection)
2023-09-12 12:33:58 +0200 <kuribas> Inst: do you have a question about cubicbezier?
2023-09-12 12:34:16 +0200 <ncf> one nice example of a functor that is both product-preserving (monoidal/applicative) and coproduct-preserving (alternative) is Decidable a = Yes a | No (a -> Void). it's not hard to see that if you can decide A and B, you can also decide (A, B) and Either A B
2023-09-12 12:34:57 +0200 <ncf> the interesting thing is that Decidable isn't even a Functor, because you can't map No contravariantly. it's an Invariant functor, so it doesn't fit the usual hierarchy Functor => Applicative => Alternative
2023-09-12 12:35:15 +0200 <ncf> anyhow this isn't very useful without dependent types
2023-09-12 12:35:56 +0200 <Inst> I mean cubicbeizier is using ^.^
2023-09-12 12:38:10 +0200 <Inst> well, I'm trying to find a stabilization of XAlternative beyond "parser combinators work this why, why don't other Alternatives work the same way?"
2023-09-12 12:38:22 +0200puke(~puke@user/puke)
2023-09-12 12:38:53 +0200random-jellyfish(~random-je@user/random-jellyfish)
2023-09-12 12:39:59 +0200 <ncf> what's XAlternative?
2023-09-12 12:42:38 +0200Yumemi(~Yumemi@212.47.254.173) (Server closed connection)
2023-09-12 12:42:42 +0200 <tomsmeding> Inst: because for parser combinators, the list is inside the monad
2023-09-12 12:42:47 +0200 <tomsmeding> it's Parser a, not Parser [a]
2023-09-12 12:42:57 +0200Yumemi(~Yumemi@2001:bc8:47a0:1b14::1)
2023-09-12 12:43:56 +0200 <Inst> moreover, natively, <|> ends up consuming input
2023-09-12 12:44:08 +0200 <Inst> unless there's try built into the parser combinator
2023-09-12 12:44:14 +0200 <Inst> or try is applied
2023-09-12 12:44:23 +0200 <tomsmeding> that's very parser-combinator-specific semantics
2023-09-12 12:44:38 +0200 <tomsmeding> not all functors have a sense of "input" :p
2023-09-12 12:44:42 +0200 <Inst> ncf: a typeclass based on falsy and >||<
2023-09-12 12:44:59 +0200 <Inst> wherein falsy >||< a = a, a >||< _ = a
2023-09-12 12:46:44 +0200waleee(~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 255 seconds)
2023-09-12 12:48:38 +0200waleee(~waleee@h-176-10-137-138.NA.cust.bahnhof.se)
2023-09-12 12:48:39 +0200 <ncf> those laws together imply a = falsy for all a
2023-09-12 12:48:43 +0200merijn(~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 240 seconds)
2023-09-12 12:49:26 +0200 <ncf> a =(1) falsy >||< a =(2) falsy
2023-09-12 12:50:46 +0200 <tomsmeding> ncf: presumably the second law only holds if the first argument doesn't reduce to 'falsy'
2023-09-12 12:51:10 +0200 <Inst> falsy >||< a = a; a >||< _ = a
2023-09-12 12:51:31 +0200 <ncf> so you depend on Eq?
2023-09-12 12:51:33 +0200 <Inst> afaik it's a lawful definition for applicative
2023-09-12 12:51:46 +0200 <Inst> erm, alternative
2023-09-12 12:52:07 +0200 <ncf> are functors involved? what's the type of falsy and (>||<)?
2023-09-12 12:52:51 +0200 <Inst> falsy is basically how I'd imagine alternative generally worked until I found out stuff like, well, instance [a] where <|> = <>
2023-09-12 12:53:22 +0200 <Inst> so a valid implementatino for XAlternative would also be valid for Applicative
2023-09-12 12:53:26 +0200 <Inst> erm, Alternative
2023-09-12 12:53:46 +0200 <Inst> you could define list that way too
2023-09-12 12:54:13 +0200 <gensyst> jackdk, sigh... another (probably useful) library without a tutorial
2023-09-12 12:58:35 +0200 <gensyst> right?
2023-09-12 13:02:51 +0200 <probie> gensyst: are you referring to generic-lens, or something else?
2023-09-12 13:04:41 +0200pavonia(~user@user/siracusa) (Quit: Bye!)
2023-09-12 13:06:28 +0200 <danse-nr3_> i always assumed that if i could not understand a library considering its reduced doc, i was on the wrong stage of the evolution of an haskell programmer
2023-09-12 13:07:06 +0200 <gensyst> probie, yeah generic-lens. here's the quote:
2023-09-12 13:07:07 +0200 <gensyst> jackdk> gensyst: I usually use `generic-lens` with `import Data.Generics.Labels ()` and `-XOverloadedLabels`
2023-09-12 13:08:02 +0200 <gensyst> Are lenses "*the* way" to allow both duplicate record names and avoid all the pain if I would try doing it without lenses (e.g. NoFieldSelectors)??
2023-09-12 13:08:09 +0200 <gensyst> maybe the time has come to bite the bullet, and get into lenses
2023-09-12 13:08:22 +0200 <gensyst> but that only raises more questions... lens vs. generic-lens, etc.
2023-09-12 13:08:47 +0200 <gensyst> Quick recap from above comments of mine:
2023-09-12 13:08:47 +0200 <probie> So if you've got a field call "foo", and have derived Generic, you can go `thing ^. #foo` to extract foo from thing
2023-09-12 13:08:47 +0200 <gensyst> <gensyst> What are your opinions on prefixing record fields vs. NoFieldSelectors & having a proper ability to reuse record field names ??
2023-09-12 13:08:54 +0200 <gensyst> <gensyst> I've been trying the latter, but it seems to have a massive disadvantage: Stuff like (\(Dog { name = x } -> x), and something similar, all over the place. The big offender: Having to type out the "Dog", losing the entire benefit of type inference (one of the great advertised Haskell benefits).
2023-09-12 13:09:48 +0200 <probie> `generic-lens` is used in addition to `lens` - it just gives you "lenses for free" and doesn't require TH
2023-09-12 13:10:00 +0200 <danse-nr3_> i guess lenses should actually be orthogonal to the problem of naming selectors, but maybe you want to learn the solution with lenses to save some time as they are often better than regular selectors
2023-09-12 13:11:45 +0200privacy(~privacy@47.219.84.6) (Quit: Leaving)
2023-09-12 13:12:48 +0200L29Ah(~L29Ah@wikipedia/L29Ah) ()
2023-09-12 13:13:05 +0200L29Ah(~L29Ah@wikipedia/L29Ah)
2023-09-12 13:14:36 +0200xff0x(~xff0x@2405:6580:b080:900:6189:4408:b965:9b16)
2023-09-12 13:15:41 +0200L29Ah(~L29Ah@wikipedia/L29Ah) ()
2023-09-12 13:18:12 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net)
2023-09-12 13:22:09 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-09-12 13:23:07 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 258 seconds)
2023-09-12 13:25:19 +0200waleee(~waleee@h-176-10-137-138.NA.cust.bahnhof.se) (Quit: WeeChat 4.0.2)
2023-09-12 13:28:09 +0200malte(~malte@mal.tc) (Remote host closed the connection)
2023-09-12 13:41:29 +0200 <danse-nr3_> had never heard about the Go monad before
2023-09-12 13:42:00 +0200aaronv(~aaronv@user/aaronv) (Remote host closed the connection)
2023-09-12 13:42:25 +0200aaronv(~aaronv@user/aaronv)
2023-09-12 13:46:08 +0200Square(~Square4@user/square)
2023-09-12 13:47:59 +0200Inst(~Inst@120.244.192.250) (Ping timeout: 245 seconds)
2023-09-12 13:49:02 +0200danse-nr3_(~francesco@151.35.249.3) (Ping timeout: 246 seconds)
2023-09-12 13:49:37 +0200L29Ah(~L29Ah@wikipedia/L29Ah)
2023-09-12 13:52:13 +0200waleee(~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7)
2023-09-12 13:53:48 +0200danse-nr3_(~francesco@151.35.249.3)
2023-09-12 13:54:23 +0200 <danse-nr3_> i cannot even find it anywhere https://hoogle.haskell.org/?hoogle=Go
2023-09-12 14:05:05 +0200 <carbolymer> why ghc is complaining: Redundant constraint: HasCallStack
2023-09-12 14:05:10 +0200 <carbolymer> doesn't make sense to me
2023-09-12 14:05:43 +0200 <carbolymer> oh... actually it does
2023-09-12 14:05:51 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-09-12 14:05:58 +0200merijn(~merijn@088-129-128-083.dynamic.caiway.nl)
2023-09-12 14:06:06 +0200 <carbolymer> I'm using HasCallstack on a function which calls functions which do not have HasCallStack
2023-09-12 14:10:23 +0200merijn(~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 258 seconds)
2023-09-12 14:14:48 +0200ddellacosta(~ddellacos@ool-44c738de.dyn.optonline.net) (Quit: WeeChat 4.0.3)
2023-09-12 14:16:34 +0200ddellacosta(~ddellacos@ool-44c738de.dyn.optonline.net)
2023-09-12 14:28:35 +0200 <gensyst> probie, danse-nr3_ thanks for the input
2023-09-12 14:28:54 +0200 <gensyst> danse-nr3_> "i guess lenses should actually be orthogonal to the problem of naming selectors"
2023-09-12 14:29:06 +0200 <gensyst> why? with lenses, i can have same record names for different types without issues, right?
2023-09-12 14:30:59 +0200 <danse-nr3_> i doubt it, but i guess if you pursue a solution to have same lens names, you will enable some extension that allows same selector names anyways
2023-09-12 14:32:16 +0200 <danse-nr3_> it is just an abstraction more on top of the problem. Might save you some time as you will probably want to eventually use that abstraction anyways
2023-09-12 14:33:14 +0200 <gensyst> so with lenses with same names, i'll still have to resort to (\(Dog { name = x } -> x) shenanigans (as with NoFieldSelectors)?
2023-09-12 14:33:23 +0200 <gensyst> jackdk, look forward to your input if you're still around
2023-09-12 14:34:22 +0200 <danse-nr3_> i am not sure that you need that shenigan in the first place, but my answer is no, you might have to resort to completely different shenigans
2023-09-12 14:34:55 +0200 <danse-nr3_> sorry, your original problem is a bit far away in the chat. If you want to come back to it, might have to state it again
2023-09-12 14:35:56 +0200 <gensyst> Here's the original:
2023-09-12 14:35:58 +0200 <gensyst> ---
2023-09-12 14:35:59 +0200 <gensyst> <gensyst> What are your opinions on prefixing record fields vs. NoFieldSelectors & having a proper ability to reuse record field names ??
2023-09-12 14:36:00 +0200 <gensyst> <gensyst> I've been trying the latter, but it seems to have a massive disadvantage: Stuff like (\(Dog { name = x } -> x), and something similar, all over the place. The big offender: Having to type out the "Dog", losing the entire benefit of type inference (one of the great advertised Haskell benefits).
2023-09-12 14:36:00 +0200 <gensyst> <gensyst> Is this really a tradeoff?
2023-09-12 14:36:00 +0200 <gensyst> <gensyst> Or are there ways to make NoFieldSelectors more painless?
2023-09-12 14:36:01 +0200 <gensyst> ---
2023-09-12 14:37:23 +0200shailangsa(~shailangs@host86-186-196-224.range86-186.btcentralplus.com) (Remote host closed the connection)
2023-09-12 14:37:55 +0200 <danse-nr3_> i think you cannot use `name` and expect the compiler to infer the type, although i am not very familiar with these extensions. I do not think (\(Dog { name = x } -> x) is needed though, probably just something like Dog.name
2023-09-12 14:37:59 +0200robertm(robertm@lattice.rojoma.com) (Server closed connection)
2023-09-12 14:38:18 +0200robertm(robertm@lattice.rojoma.com)
2023-09-12 14:38:27 +0200 <danse-nr3_> maybe we can play a bit with the interpreter and figure out
2023-09-12 14:38:39 +0200 <danse-nr3_> % set -XNoFieldSelectors
2023-09-12 14:38:39 +0200 <yahb2> <interactive>:13:1: error: ; • Variable not in scope: set ; • Perhaps you meant ‘seq’ (imported from Prelude) ; ; <interactive>:13:6: error: ; Data constructor not in scope: XNoFieldSe...
2023-09-12 14:38:48 +0200 <danse-nr3_> % :set -XNoFieldSelectors
2023-09-12 14:38:48 +0200 <yahb2> <no output>
2023-09-12 14:39:08 +0200 <danse-nr3_> % data Dog { name :: String }
2023-09-12 14:39:08 +0200 <yahb2> <interactive>:17:10: error: ; Unexpected type ‘{name :: String}’ ; In the data declaration for ‘Dog’ ; A data declaration should have form ; data Dog a = ...
2023-09-12 14:39:15 +0200 <danse-nr3_> % data Dog = Dog { name :: String }
2023-09-12 14:39:15 +0200 <yahb2> <no output>
2023-09-12 14:39:24 +0200 <danse-nr3_> % data Cat = Cat { name :: String }
2023-09-12 14:39:24 +0200 <yahb2> <no output>
2023-09-12 14:39:33 +0200 <danse-nr3_> % :t Dog.name
2023-09-12 14:39:33 +0200 <yahb2> <interactive>:1:1: error: ; Not in scope: ‘Dog.name’ ; No module named ‘Dog’ is imported.
2023-09-12 14:39:52 +0200 <danse-nr3_> some other extension might be needed
2023-09-12 14:39:56 +0200 <danse-nr3_> % :t name
2023-09-12 14:39:56 +0200 <yahb2> <interactive>:1:1: error: ; • Variable not in scope: name ; • NB: ‘name’ is a field selector belonging to the type ‘Cat’ ; that has been suppressed by NoFieldSelectors
2023-09-12 14:42:30 +0200 <danse-nr3_> possibly this one https://ghc.gitlab.haskell.org/ghc/doc/users_guide/exts/overloaded_record_dot.html gensyst
2023-09-12 14:42:58 +0200 <danse-nr3_> % :set -XOverloadedRecordDot
2023-09-12 14:42:58 +0200 <yahb2> <no output>
2023-09-12 14:43:05 +0200 <danse-nr3_> % :t Dog.name
2023-09-12 14:43:05 +0200 <yahb2> <interactive>:1:1: error: ; Not in scope: ‘Dog.name’ ; No module named ‘Dog’ is imported.
2023-09-12 14:43:23 +0200mjs2600(~mjs2600@174.169.225.239) (Quit: ZNC 1.8.2 - https://znc.in)
2023-09-12 14:43:26 +0200 <stefan-_> % dog = Dog "foo"
2023-09-12 14:43:27 +0200 <yahb2> <no output>
2023-09-12 14:43:29 +0200 <stefan-_> % dog.name
2023-09-12 14:43:29 +0200 <yahb2> "foo"
2023-09-12 14:43:43 +0200 <stefan-_> the dot syntax works at the value level
2023-09-12 14:43:51 +0200 <danse-nr3_> thanks stefan-_
2023-09-12 14:44:07 +0200 <danse-nr3_> and possibly this also gives you what you wanted gensyst, let us see...
2023-09-12 14:44:13 +0200 <danse-nr3_> % :t (.name)
2023-09-12 14:44:13 +0200 <yahb2> (.name) :: GHC.Records.HasField "name" r a => r -> a
2023-09-12 14:44:43 +0200 <danse-nr3_> looks like it, your `.name` that will play nicely with type inference
2023-09-12 14:45:10 +0200mjs2600(~mjs2600@c-174-169-225-239.hsd1.vt.comcast.net)
2023-09-12 14:45:24 +0200 <gensyst> woah.... hmmmmmm
2023-09-12 14:45:39 +0200 <gensyst> but this already gives you the biggest benefits of lenses
2023-09-12 14:45:42 +0200 <gensyst> record syntax
2023-09-12 14:46:00 +0200 <danse-nr3_> lenses have a lot of benefits, it is a big library
2023-09-12 14:46:22 +0200 <danse-nr3_> and even just `get`, `set` and `over` are handy enough to justify its use
2023-09-12 14:46:44 +0200 <danse-nr3_> sorry ... that was not `get`, it is actually called `view`
2023-09-12 14:47:20 +0200 <danse-nr3_> unfortunately it is not very easy to approach as a library, so you might want to keep it for later
2023-09-12 14:48:51 +0200terrorjack(~terrorjac@2a01:4f8:c17:87f8::) (Ping timeout: 255 seconds)
2023-09-12 14:49:34 +0200 <gensyst> thanks!
2023-09-12 14:49:59 +0200 <danse-nr3_> you are welcome! Now my battery is over. Bye
2023-09-12 14:50:13 +0200 <gensyst> danse-nr3_, this is on my list https://leanpub.com/optics-by-example
2023-09-12 14:50:18 +0200 <gensyst> goodbye!
2023-09-12 14:50:35 +0200terrorjack(~terrorjac@2a01:4f8:c17:87f8::)
2023-09-12 14:51:13 +0200aaronv(~aaronv@user/aaronv) (Ping timeout: 240 seconds)
2023-09-12 14:51:42 +0200 <stefan-_> gensyst, for a short introduction you can check: https://www.schoolofhaskell.com/school/to-infinity-and-beyond/pick-of-the-week/a-little-lens-start…
2023-09-12 14:52:07 +0200 <stefan-_> I recently also read a bit Optics by Example, was quite a good read so far
2023-09-12 14:52:34 +0200jmdaemon(~jmdaemon@user/jmdaemon) (Ping timeout: 245 seconds)
2023-09-12 14:52:55 +0200 <gensyst> stefan-_, nice thanks
2023-09-12 14:53:15 +0200waleee(~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 246 seconds)
2023-09-12 14:54:31 +0200 <stefan-_> gensyst, and I found this a quite good introduction to all the extensions: https://github.com/mtamc/generic-lens-modern-setup
2023-09-12 14:54:32 +0200danse-nr3_(~francesco@151.35.249.3) (Ping timeout: 255 seconds)
2023-09-12 14:55:13 +0200waleee(~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7)
2023-09-12 14:58:07 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com)
2023-09-12 14:58:07 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
2023-09-12 14:58:07 +0200wroathe(~wroathe@user/wroathe)
2023-09-12 14:59:42 +0200 <ddellacosta> gensyst: optics by example is great btw, it probably helped me get a basic level of familiarity with non-trivial lens concepts more than anything
2023-09-12 15:00:04 +0200 <ddellacosta> definitely recommend picking that up soon if it's already on your list
2023-09-12 15:01:54 +0200 <gensyst> very, very nice
2023-09-12 15:02:34 +0200waleee(~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 245 seconds)
2023-09-12 15:02:35 +0200 <gensyst> stefan-_, ddellacosta I can see end of the tunnel now. Haskell learning curve essential end, because Haskell progress seems to have stagnated a bit (imo a great thing)
2023-09-12 15:03:00 +0200 <gensyst> for me things remaining: lenses (optics by example book), type level magic (thinking with types book), and concurrency (marlow book)
2023-09-12 15:03:07 +0200 <gensyst> after that i'm basically "done" i think
2023-09-12 15:03:15 +0200 <gensyst> unless dependent types come along
2023-09-12 15:03:27 +0200 <gensyst> which could take... a few years at least?
2023-09-12 15:04:01 +0200 <gensyst> so at least newbies nowadays know how long the road will be. this was not the case a few years ago. you just kept learning, and learning, and learning,... and you had no idea where things would end
2023-09-12 15:05:17 +0200danse-nr3_(~francesco@151.35.249.3)
2023-09-12 15:14:52 +0200waleee(~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7)
2023-09-12 15:15:57 +0200Lycurgus(~juan@user/Lycurgus)
2023-09-12 15:17:28 +0200 <jackdk> I would not consider optics essential (though it is very useful), and I would delay thinking with types and the Marlow book (though both are probably excellent)
2023-09-12 15:18:20 +0200danse-nr3__(~francesco@151.37.243.136)
2023-09-12 15:18:39 +0200danse-nr3_(~francesco@151.35.249.3) (Read error: Connection reset by peer)
2023-09-12 15:19:23 +0200 <gensyst> jackdk, can you elaborate on those three?
2023-09-12 15:20:17 +0200shailangsa(~shailangs@host86-186-196-224.range86-186.btcentralplus.com)
2023-09-12 15:21:01 +0200 <jackdk> I find it easier to understand the solutions people have come up with if I've seen the problems they've faced. Therefore, write Haskell, hit problems, then go looking for the solutions. If you stick to reasonably flat records, you can do without lens for quite a while (despite it being really awesome). You can also do a lot without typelevel magic or concurrency, so defer them to later instead of trying to learn the entire ecosystem up front
2023-09-12 15:22:02 +0200 <gensyst> ok i see what you mean
2023-09-12 15:22:07 +0200 <gensyst> thanks
2023-09-12 15:22:14 +0200 <gensyst> so those are, wait until you need them
2023-09-12 15:22:23 +0200 <dminuoso> This is a difficult process in general though. For instance, you couldnt want to first write your own HTTP server before using warp.
2023-09-12 15:22:36 +0200 <jackdk> Haskell's iconic feature is laziness, after all
2023-09-12 15:22:41 +0200 <dminuoso> Its also difficult to have the foresight to know when the attempt is pointless.
2023-09-12 15:23:04 +0200 <jackdk> read enough to know _that_ there are these problems and the names (and maybe the outlines) of the solutions, but then go and write some code
2023-09-12 15:23:37 +0200 <dminuoso> But yeah, optics is definitely not essential (unless you are interfacing with a library that imposes this requirement onto you).
2023-09-12 15:24:56 +0200 <gensyst> You guys have, BTW, blown my mind today with NoFieldSelectors. How did I not know about this.
2023-09-12 15:25:09 +0200 <gensyst> stefan-_, the setup you linked to is imo the way. should be standardized
2023-09-12 15:25:16 +0200 <gensyst> and advocated on the whole planet
2023-09-12 15:25:29 +0200 <gensyst> sorry, I meant
2023-09-12 15:25:35 +0200 <gensyst> OverloadedRecordDot
2023-09-12 15:25:42 +0200 <gensyst> (on top of NoFieldSelectors)
2023-09-12 15:26:02 +0200 <gensyst> How did I not know about OverloadedRecordDot??? This is obviously the future
2023-09-12 15:26:13 +0200qqq(~qqq@92.43.167.61) (Ping timeout: 240 seconds)
2023-09-12 15:26:18 +0200 <gensyst> Every newbie will wonder why nobody mentioned it to them in the beginning.
2023-09-12 15:26:25 +0200TheCoffeMaker(~TheCoffeM@user/thecoffemaker) (Ping timeout: 255 seconds)
2023-09-12 15:26:26 +0200 <danse-nr3__> i saw the two extensions bundled together in some doc, but could not retrieve it again
2023-09-12 15:28:37 +0200 <danse-nr3__> how did you get to NoFieldSelectors? Maybe we can improve some wiki page
2023-09-12 15:29:16 +0200ystael(~ystael@user/ystael)
2023-09-12 15:30:27 +0200 <gensyst> danse-nr3__, probably after googling in frustration about some "name clashes" stuff
2023-09-12 15:30:40 +0200 <danse-nr3__> :P
2023-09-12 15:34:07 +0200 <gensyst> Mind-blowing.... unless I'm mistaken, this will allow me (among other things) to put the same "un" name into each newtype:
2023-09-12 15:34:12 +0200 <gensyst> newtype Foo = Foo { un :: Int }
2023-09-12 15:34:12 +0200 <gensyst> newtype Bar = Bar { un :: Int }
2023-09-12 15:34:24 +0200 <gensyst> no need to think about "unFoo" and "unBar" pitas
2023-09-12 15:34:44 +0200 <danse-nr3__> cool, had not thought about that
2023-09-12 15:34:52 +0200 <gensyst> Pure bliss
2023-09-12 15:35:42 +0200TheCoffeMaker(~TheCoffeM@user/thecoffemaker)
2023-09-12 15:35:42 +0200 <danse-nr3__> i guess this is an opportunity to define a conventional name for those cases, although `un` sounds good to me
2023-09-12 15:36:19 +0200 <danse-nr3__> considering the knowledge most haskellers have, there is probably a more scientific choice
2023-09-12 15:38:10 +0200 <EvanR> why isn't the point of having the newtype field name with NoFieldSelectors
2023-09-12 15:38:16 +0200 <EvanR> what is the point*
2023-09-12 15:38:56 +0200 <gensyst> EvanR, we're talking in combination with OverloadedRecordDot
2023-09-12 15:39:01 +0200 <gensyst> let a = foo.un
2023-09-12 15:39:04 +0200 <gensyst> let b = bar.un
2023-09-12 15:39:32 +0200waleee(~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 255 seconds)
2023-09-12 15:39:49 +0200 <EvanR> cool, now when you want map over something and unFoo, you can write like map (\foo -> foo.un) stuff instead of map unFoo stuff
2023-09-12 15:40:11 +0200 <danse-nr3__> actually you can just use (.un), no need for lambdas
2023-09-12 15:40:14 +0200 <danse-nr3__> to feed the brainstorming, i suggest `de`. Because if `Foo` is a constructor, `de` would be a deconstructor? Not sure the term exists
2023-09-12 15:40:56 +0200 <danse-nr3__> but on the other hand, `un` is closer to most usages in current haskell code
2023-09-12 15:41:08 +0200 <EvanR> why does it need to be 1 or 2 characters long
2023-09-12 15:41:15 +0200waleee(~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7)
2023-09-12 15:41:18 +0200 <EvanR> unwrap
2023-09-12 15:41:19 +0200 <danse-nr3__> it does not. Of course, brevity helps
2023-09-12 15:41:37 +0200 <danse-nr3__> yeah, "wrapper" is a bit an overloaded term in programming
2023-09-12 15:41:46 +0200 <EvanR> it helps people point at haskell and say, look, incomprehensible
2023-09-12 15:42:14 +0200 <EvanR> (to be fair, shit like "yes! call it `un'" is common in every other language
2023-09-12 15:42:15 +0200caryhartline(~caryhartl@168.182.58.169) (Quit: caryhartline)
2023-09-12 15:42:16 +0200 <EvanR> )
2023-09-12 15:42:41 +0200 <EvanR> hopefully we learn from their mistakes
2023-09-12 15:43:14 +0200 <gensyst> danse-nr3__> "actually you can just use (.un), no need for lambdas"
2023-09-12 15:43:14 +0200 <gensyst> This is the part I'm finding so cool. Just replacing "recordName" with "(.recordName)" (of course not necessary in cases where the ".recordName" suffix works) just suddenly works, and everything typechecks magically, and all name clashes are magically gone.
2023-09-12 15:43:25 +0200 <EvanR> de is short for german or germany, unless we're in spanish or something
2023-09-12 15:43:39 +0200 <danse-nr3__> `dec`?
2023-09-12 15:43:57 +0200 <EvanR> it's a newtype unwrapper, a standard thing, unwrap makes sense to me
2023-09-12 15:44:05 +0200 <EvanR> no, monads are not based on unwrapping
2023-09-12 15:44:10 +0200 <EvanR> specifically
2023-09-12 15:44:21 +0200 <EvanR> but newtypes are
2023-09-12 15:45:21 +0200Lycurgus(~juan@user/Lycurgus) (Quit: Tschüss)
2023-09-12 15:45:46 +0200 <danse-nr3__> i think i prefer `un` to `unwrap`, the concept of wrapping is way too overloaded
2023-09-12 15:46:29 +0200 <EvanR> in bad explanations of monads, yes
2023-09-12 15:46:40 +0200 <EvanR> what else are you thinking of
2023-09-12 15:46:45 +0200 <gensyst> I'll let others, powerful players decide documented conventions. I wrote "un" because I've seen "unFoo", "unBar", etc. many times.
2023-09-12 15:46:52 +0200 <gensyst> although I've also seen "getBar", etc.
2023-09-12 15:47:02 +0200 <gensyst> but get is so... boring lol
2023-09-12 15:47:17 +0200 <EvanR> also run
2023-09-12 15:47:21 +0200 <gensyst> yeah
2023-09-12 15:47:23 +0200 <gensyst> indeed
2023-09-12 15:47:27 +0200 <dminuoso> `runFoo` is something I like as well, if the (often monadic) combinators you use continously construct up some computation you can somehow later force.
2023-09-12 15:48:06 +0200 <danse-nr3__> not sure why you keep thinking about monads, as this is way more abstract
2023-09-12 15:48:12 +0200 <EvanR> though the runFoo stuff doesn't run anything, it just unwraps
2023-09-12 15:48:19 +0200 <EvanR> which is a no-op because newtypes
2023-09-12 15:48:41 +0200 <haskellbridge> <m​auke> I invented the unFoo convention, but I probably wasn't the first
2023-09-12 15:48:45 +0200 <dminuoso> EvanR: well the `runFoo` is usually used in the spots where you actually force its inner thing.
2023-09-12 15:48:52 +0200 <dminuoso> So the `run` part is not unjustified.
2023-09-12 15:49:23 +0200 <haskellbridge> <m​auke> Do we know who introduced it?
2023-09-12 15:49:40 +0200 <dminuoso> Given that the data/newtype wrapper will protect the innards from computation.
2023-09-12 15:49:59 +0200sm(~sm@plaintextaccounting/sm)
2023-09-12 15:50:05 +0200 <EvanR> danse-nr3__, you aren't giving any examples at all, really
2023-09-12 15:50:16 +0200 <danse-nr3__> which examples do you want?
2023-09-12 15:50:47 +0200 <EvanR> you can't call something unwrap because too many things (like what) Are Unwrapping In Haskell
2023-09-12 15:51:46 +0200 <danse-nr3__> https://en.wikipedia.org/wiki/Wrapper
2023-09-12 15:51:46 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 252 seconds)
2023-09-12 15:52:30 +0200 <EvanR> well this is a discussion about oop-like dot syntax so I guess it makes sense to go as far as we want to judge what stuff should be called or feel like
2023-09-12 15:52:37 +0200 <EvanR> instead of haskell context
2023-09-12 15:52:56 +0200 <danse-nr3__> XD
2023-09-12 15:52:57 +0200 <dolio> Personally I think the extension itself has design flaws.
2023-09-12 15:53:08 +0200 <dolio> .field is a poor choice of name.
2023-09-12 15:53:36 +0200 <lortabac> gensyst: I don't know if someone has already mentioned it, but Data.Coerce is probably a better tool for working with newtypes
2023-09-12 15:54:26 +0200merijn(~merijn@088-129-128-083.dynamic.caiway.nl)
2023-09-12 15:54:38 +0200 <danse-nr3__> where did you pick `.field` from dolio?
2023-09-12 15:54:48 +0200 <dolio> I mean using a dot.
2023-09-12 15:56:04 +0200 <danse-nr3__> i see, what had you used?
2023-09-12 15:56:08 +0200 <lortabac> dolio: why do you think so? dot only has 4 different meanings in Haskell /s
2023-09-12 15:56:22 +0200 <dolio> # maybe
2023-09-12 15:56:35 +0200 <danse-nr3__> yeah, a bit noisy
2023-09-12 15:57:12 +0200 <danse-nr3__> i think # is already used in haskell although i do not use it often
2023-09-12 15:57:58 +0200 <dolio> It's not used in anything common that I can think of.
2023-09-12 15:58:48 +0200 <c_wraith> isn't it used by the optics library?
2023-09-12 15:58:55 +0200 <geekosaur> # is already in use… for that, even
2023-09-12 15:59:13 +0200 <dolio> The overloaded record accessors would have predated that.
2023-09-12 16:00:00 +0200 <EvanR> # has precedent in other languages, ML?
2023-09-12 16:00:06 +0200 <EvanR> for record fields
2023-09-12 16:00:20 +0200 <c_wraith> # is also use by GHC internals with MagicHash, though that is a very specific syntactic extra case
2023-09-12 16:00:26 +0200nicole(ilbelkyr@libera/staff/ilbelkyr) (Quit: Reconnecting)
2023-09-12 16:00:29 +0200nicole(ilbelkyr@libera/staff/ilbelkyr)
2023-09-12 16:00:38 +0200 <danse-nr3__> anyways, we have not been nearly as "scientific" as i had hoped. Probably we will end up on no agreement and i guess i would stick on `un`. Anyways, thinking this as an isomorphism, we have a function `Foo` to go from a type to the other. We want to find a name for its inverse. Since `Foo` is a constructor, the other is a deconstructor, but being so common i suggest the shorter `de` or `dec`
2023-09-12 16:00:42 +0200 <dolio> Yeah, that's at the end of the name.
2023-09-12 16:01:14 +0200EdnaLuv(~EdnaLuv@2605:59c8:70dd:1300:345e:9be7:36f7:e799)
2023-09-12 16:01:29 +0200gehmehgeh(~user@user/gehmehgeh)
2023-09-12 16:02:11 +0200 <c_wraith> Not just names! ghci> :t 1#\n1# :: GHC.Prim.Int#
2023-09-12 16:03:00 +0200 <c_wraith> and "hello"# :: GHC.Prim.Addr#
2023-09-12 16:03:14 +0200 <tomsmeding> also OverloadedLabels
2023-09-12 16:03:40 +0200 <EdnaLuv> TSA Delta Flight 194 Ad - Be Careful What You Eat before Your Flight! A TSA public service ad urges air passengers to be mindful of what they eat before their flight to avoid another Delta 194 diarrhea spray incident. https://justpaste.it/Delta_194_TSA/
2023-09-12 16:03:46 +0200ChanServ+o geekosaur
2023-09-12 16:03:51 +0200geekosaur+b *!*@2605:59c8:70dd:1300:345e:9be7:36f7:e799
2023-09-12 16:03:51 +0200EdnaLuvgeekosaur (EdnaLuv)
2023-09-12 16:03:57 +0200 <tomsmeding> geekosaur++
2023-09-12 16:03:58 +0200geekosaur-o geekosaur
2023-09-12 16:04:20 +0200 <dolio> Well, the labels thing just points to a kind of overall failure in these record extensions.
2023-09-12 16:05:39 +0200qqq(~qqq@92.43.167.61)
2023-09-12 16:08:51 +0200 <dolio> So, actually, the overloaded labels already used my choice much earlier, and allow something very similar.
2023-09-12 16:10:21 +0200 <dolio> You could have just had an extension that auto-declares labels for records, but OverloadedRecordDot decided to instead not do that and add a separate system for .field syntax, with the bad excuse that other languages use . for that.
2023-09-12 16:12:19 +0200cfricke(~cfricke@user/cfricke) (Ping timeout: 255 seconds)
2023-09-12 16:12:43 +0200qqq(~qqq@92.43.167.61) (Ping timeout: 240 seconds)
2023-09-12 16:28:35 +0200merijn(~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 255 seconds)
2023-09-12 16:31:35 +0200segfaultfizzbuzz(~segfaultf@12.172.217.142)
2023-09-12 16:40:09 +0200segfaultfizzbuzz(~segfaultf@12.172.217.142) (Ping timeout: 258 seconds)
2023-09-12 16:41:29 +0200idgaen(~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
2023-09-12 16:42:03 +0200segfaultfizzbuzz(~segfaultf@12.172.217.142)
2023-09-12 16:42:24 +0200dhil(~dhil@78.45.150.83.ewm.ftth.as8758.net)
2023-09-12 16:47:43 +0200cafkafk(~cafkafk@fsf/member/cafkafk) (Remote host closed the connection)
2023-09-12 16:48:08 +0200cafkafk(~cafkafk@fsf/member/cafkafk)
2023-09-12 16:49:34 +0200phma_(~phma@host-67-44-208-7.hnremote.net)
2023-09-12 16:50:33 +0200 <ncf> is there a way to, in a cabal.project file, say "use whatever version of foo is installed, and if you can't find any, fall back to this source-repository-package"?
2023-09-12 16:50:53 +0200 <ncf> it seems like the falling back is in the other direction
2023-09-12 16:51:29 +0200Guest|44(~Guest|44@203.189.114.89.rev.vodafone.pt)
2023-09-12 16:51:54 +0200phma__(phma@2001:5b0:211c:cea8:446a:c697:5d5a:83a7)
2023-09-12 16:51:56 +0200Guest|44(~Guest|44@203.189.114.89.rev.vodafone.pt) (Client Quit)
2023-09-12 16:53:05 +0200cptaffe(~ZNC@2600:1700:f08:111f::18e7) (Quit: ZNC 1.8.2 - https://znc.in)
2023-09-12 16:53:20 +0200phma(~phma@2001:5b0:211c:cea8:446a:c697:5d5a:83a7) (Ping timeout: 255 seconds)
2023-09-12 16:53:44 +0200 <c_wraith> "is installed" isn't really a concept cabal v2 does.
2023-09-12 16:53:55 +0200phma_(~phma@host-67-44-208-7.hnremote.net) (Ping timeout: 252 seconds)
2023-09-12 16:54:25 +0200 <c_wraith> (by which I mean the v2 UI, not specific versions)
2023-09-12 16:54:33 +0200phma__phma
2023-09-12 16:55:22 +0200 <geekosaur> well, `installed` is actually a thing, but you can't specify a fallback to a source-repository-package
2023-09-12 16:56:06 +0200cptaffe(~ZNC@99-47-99-155.lightspeed.ltrkar.sbcglobal.net)
2023-09-12 16:58:16 +0200 <ncf> bummer
2023-09-12 17:03:14 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 255 seconds)
2023-09-12 17:08:21 +0200chomwitt(~chomwitt@2a02:587:7a0c:4d00:1ac0:4dff:fedb:a3f1) (Ping timeout: 255 seconds)
2023-09-12 17:12:10 +0200gensyst(~gensyst@user/gensyst) (Quit: Leaving)
2023-09-12 17:12:33 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-09-12 17:14:54 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:b93b:6165:58a2:3e5e) (Remote host closed the connection)
2023-09-12 17:15:04 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:d785:ed50:6a7:a156) (Quit: WeeChat 2.8)
2023-09-12 17:15:10 +0200eggplantade(~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net)
2023-09-12 17:19:58 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net)
2023-09-12 17:22:24 +0200billchenchina(~billchenc@103.152.35.21)
2023-09-12 17:24:43 +0200fendor(~fendor@2a02:8388:1640:be00:c785:45ab:c70:9d3f) (Remote host closed the connection)
2023-09-12 17:24:48 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 246 seconds)
2023-09-12 17:31:38 +0200econo_(uid147250@id-147250.tinside.irccloud.com)
2023-09-12 17:35:14 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-09-12 17:38:12 +0200blomberg(~default_u@117.200.7.49)
2023-09-12 17:38:55 +0200 <blomberg> hey inside f there is g and inside g there is h, but that's just currying, what if i want both g and h side by side inside f, is that allowed?
2023-09-12 17:39:10 +0200 <blomberg> if so, that doesn't seeem functional?
2023-09-12 17:40:04 +0200 <danse-nr3__> could you make an example, blomberg? Can use an interpreter here with %, i will try something that follows your description, you can correct
2023-09-12 17:41:22 +0200 <danse-nr3__> % print "actually, i am not sure how to write what you described, please try yourself"
2023-09-12 17:41:22 +0200 <yahb2> "actually, i am not sure how to write what you described, please try yourself"
2023-09-12 17:42:15 +0200 <danse-nr3__> does > also work?
2023-09-12 17:42:20 +0200 <danse-nr3__> > print "yes"
2023-09-12 17:42:21 +0200 <lambdabot> <IO ()>
2023-09-12 17:42:24 +0200 <blomberg> i don't know where keyword does generates curried functions or function side by side
2023-09-12 17:43:59 +0200 <danse-nr3__> i do not understand what you mean
2023-09-12 17:44:16 +0200 <blomberg> i will show you pseudocode
2023-09-12 17:44:27 +0200 <danse-nr3__> alright
2023-09-12 17:45:50 +0200merijn(~merijn@088-129-128-083.dynamic.caiway.nl)
2023-09-12 17:45:54 +0200 <blomberg> def f(): { (def g(): return 3) ; (def h(): return 7) }
2023-09-12 17:46:29 +0200 <blomberg> notice g() and h() are not curried in f
2023-09-12 17:46:39 +0200 <danse-nr3__> i will try
2023-09-12 17:46:39 +0200 <danse-nr3__> % f = g + h where g = 3, h = 7
2023-09-12 17:46:39 +0200 <yahb2> <interactive>:41:22: error: parse error on input ‘,’
2023-09-12 17:47:27 +0200 <blomberg> def f(): { [def g(): def h(): return 7] } #now they are curried
2023-09-12 17:47:30 +0200 <danse-nr3__> % let g = 3 in let h = 7 in let f = g + h
2023-09-12 17:47:30 +0200 <yahb2> <interactive>:43:40: error: ; parse error (possibly incorrect indentation or mismatched brackets)
2023-09-12 17:47:48 +0200 <int-e> % f = g + h where g = 3; h = 7
2023-09-12 17:47:49 +0200 <yahb2> <no output>
2023-09-12 17:47:50 +0200 <blomberg> def f(): { [def g(): return def h(): return 7] } #now they are curried
2023-09-12 17:47:52 +0200 <int-e> % f
2023-09-12 17:47:52 +0200 <yahb2> 10
2023-09-12 17:47:56 +0200 <danse-nr3__> thanks int-e
2023-09-12 17:48:33 +0200 <blomberg> my question is if i use where and inside it define a function, and then in another clause define another function, they are side by side
2023-09-12 17:48:37 +0200 <int-e> `where` is at the declaration level; let ... in ... is an expression, so that's why the second attempt didn't work
2023-09-12 17:48:59 +0200 <int-e> s/declaration/binding/ I guess
2023-09-12 17:49:54 +0200 <danse-nr3__> thanks, maybe had to use parenthesis with `let`, but i will just try to remember ; the next time. I am still a bit confused about blomberg's question
2023-09-12 17:50:12 +0200 <blomberg> f x |x<3 = g^2 where g | x>3 = h where h --h and g are the expanded defintions of the functions
2023-09-12 17:51:10 +0200 <blomberg> int-e: what's declaration level vs expression inside functions don't they share the same scope
2023-09-12 17:51:30 +0200 <blomberg> ok let has local scope
2023-09-12 17:51:35 +0200 <blomberg> but i was talking about where
2023-09-12 17:51:52 +0200 <danse-nr3__> blomberg, in your first example f seems to return two functions
2023-09-12 17:52:36 +0200 <blomberg> danse-nr3__: not in haskell definitions dont' "return" unless explicitly mentioned via = sign
2023-09-12 17:52:57 +0200 <blomberg> danse-nr3__: look ^
2023-09-12 17:53:05 +0200 <blomberg> danse-nr3__: f x |x<3 = g^2 where g | x>3 = h where h --h and g are the expanded defintions of the functions
2023-09-12 17:53:36 +0200caryhartline(~caryhartl@168.182.58.169)
2023-09-12 17:53:41 +0200 <blomberg> where g ; where h are just definitions they don't return it means they can't be curried and thus 2 definitions are there inside f
2023-09-12 17:54:07 +0200 <blomberg> what if there were multiple definitions inside f side-by-side , then that's not currying
2023-09-12 17:54:12 +0200 <int-e> blomberg: there are many scopes; each `let [bindings] in [expression]` creates a nested scope for the final expression.
2023-09-12 17:54:34 +0200 <blomberg> int-e: got it
2023-09-12 17:54:45 +0200 <blomberg> but that's not my question
2023-09-12 17:55:06 +0200 <int-e> blomberg: f x | [guards] = [expression] where [bindings] opens a scope for the guards and the expression
2023-09-12 17:55:23 +0200 <danse-nr3__> blomberg, could you collect a small example in haskell? The pseudocode is not very clear
2023-09-12 17:55:23 +0200 <blomberg> inside f there is g inside g there is h inside h there is i and inside i there is j . versus
2023-09-12 17:55:29 +0200 <int-e> "don't they share the same scope" made no sense to me.
2023-09-12 17:55:37 +0200 <blomberg> inside f there is g beside h beside i beside j .....
2023-09-12 17:55:54 +0200_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
2023-09-12 17:55:55 +0200 <blomberg> look i already showed you the code
2023-09-12 17:56:02 +0200ripspin(~chatzilla@1.145.166.245)
2023-09-12 17:56:12 +0200 <blomberg> f x |x<3 = g^2 where g | x>3 = h where h --h and g are the expanded defintions of the functions -- i can't be more clear than this
2023-09-12 17:56:21 +0200 <yushyin> well ...
2023-09-12 17:56:48 +0200 <blomberg> my question is clear, inside that code that i sent, are f->g->h curried or does haskell not curry then
2023-09-12 17:56:52 +0200shapr(~user@c-67-160-55-153.hsd1.wa.comcast.net)
2023-09-12 17:56:57 +0200 <blomberg> yushyin: please don't
2023-09-12 17:57:14 +0200 <int-e> what does currying have to do with scopes?!
2023-09-12 17:57:27 +0200 <EvanR> everything function is curried and takes exactly 1 argument
2023-09-12 17:57:35 +0200 <EvanR> every function
2023-09-12 17:57:48 +0200notzmv(~zmv@user/notzmv) (Ping timeout: 240 seconds)
2023-09-12 17:57:48 +0200 <blomberg> int-e: nothing you mentioned let, so i said to you, that's irrelevant to my quesiton, please don't digress furthere
2023-09-12 17:57:49 +0200 <EvanR> surface syntax is just sugar
2023-09-12 17:57:57 +0200 <blomberg> EvanR: yes
2023-09-12 17:58:05 +0200 <EvanR> so there you go
2023-09-12 17:58:14 +0200 <EvanR> next
2023-09-12 17:58:18 +0200 <blomberg> EvanR: f x |x<3 = g^2 where g | x>3 = h where h --h and g are the expanded defintions of the functions -- i can't be more clear than this
2023-09-12 17:58:53 +0200 <int-e> That's not a question.
2023-09-12 17:58:56 +0200 <yushyin> you can repost your code many times, but that doesn't make it more clear what your actual question is
2023-09-12 17:59:01 +0200 <EvanR> also that's highly repetitious chat
2023-09-12 17:59:04 +0200 <blomberg> so what about in this case : where g ; g is not a function borrowed from outside but is defined
2023-09-12 17:59:24 +0200 <int-e> (Saying that your question is clear doesn't do anything to clarify your question.)
2023-09-12 17:59:49 +0200 <EvanR> blomberg what are you actually asking
2023-09-12 17:59:54 +0200 <blomberg> EvanR: f x |x<3 = g^2 where g x = x | x>3 = h where h x = x*2
2023-09-12 17:59:55 +0200 <geekosaur> you keep saying "curried"; it seems to have nothing to do with your question
2023-09-12 18:00:29 +0200 <EvanR> maybe go get your question and code together in a compact form and come back with a link to it
2023-09-12 18:00:39 +0200kuribas(~user@ip-188-118-57-242.reverse.destiny.be) (Quit: ERC (IRC client for Emacs 27.1))
2023-09-12 18:00:42 +0200 <geekosaur> if your question is "where are g and h in scope" then the answer is that "g" is in scope in "f" and "h" is in scope in "g"
2023-09-12 18:00:52 +0200 <blomberg> EvanR: f x |x<3 = g^2 where g x = x | x>3 = h where h x = x*2 --ok edited, are both g and h inside f ?so my question is can i have multiple functions "SIDE BY SIDE"
2023-09-12 18:01:11 +0200 <EvanR> go edit it more and come back
2023-09-12 18:01:18 +0200 <EvanR> instead of reposting over and over
2023-09-12 18:01:20 +0200 <blomberg> what ?
2023-09-12 18:01:24 +0200 <geekosaur> you can define "h" in the same where block as "g" and then it will be in scope in "f"
2023-09-12 18:01:53 +0200 <geekosaur> if you define it in its own "where" block, that block is local to the definition of "g"
2023-09-12 18:01:55 +0200 <blomberg> geekosaur: ok thx that's what i was asking, but the problem is it's not purely functional
2023-09-12 18:02:00 +0200 <geekosaur> so?
2023-09-12 18:03:26 +0200 <blomberg> {where h x = x*2; g x = g^2; } now these functions are defined SIDE BY SIDE
2023-09-12 18:03:31 +0200 <EvanR> where is attached to the definitions, rather than expressions, that might help you
2023-09-12 18:03:34 +0200 <geekosaur> that has to do with the difference between evaluation and execution, not with scoping
2023-09-12 18:03:48 +0200ddellacosta(~ddellacos@ool-44c738de.dyn.optonline.net) (Ping timeout: 240 seconds)
2023-09-12 18:03:56 +0200 <blomberg> EvanR: yes so it's not purely functional
2023-09-12 18:03:58 +0200 <EvanR> first where is attached to the definition for f, second where is attached to definition for g, which is inside the first where
2023-09-12 18:04:22 +0200 <blomberg> EvanR: yes but it's not purely functional
2023-09-12 18:04:31 +0200 <geekosaur> also what you just wrote is a type error because you used "g" both as a function and as a value, but I suspect you meant "x" for the second
2023-09-12 18:04:46 +0200 <EvanR> all 3 functions are purely functional functions
2023-09-12 18:04:48 +0200 <geekosaur> also there is nothing there so far that is not purely functional
2023-09-12 18:05:02 +0200 <geekosaur> what do you believe "purely functional" means?
2023-09-12 18:05:28 +0200Square2(~Square4@user/square)
2023-09-12 18:05:40 +0200 <int-e> . o O ( bland, not curried )
2023-09-12 18:05:45 +0200 <geekosaur> I really think you need to take a turn through the haskell wikibook at least to learn what Haskellers mean by things like "currying" and "purely functional"
2023-09-12 18:06:02 +0200 <geekosaur> because you're just causing confusion when you use them to mean something else
2023-09-12 18:06:08 +0200 <blomberg> well \x -> (\y -> (\z > value )) #this is curried but \x->(\y->value1 ; \z->value2) --look this is not curried
2023-09-12 18:06:19 +0200 <int-e> what is ";'?
2023-09-12 18:06:28 +0200 <danse-nr3__> was going to ask the same
2023-09-12 18:06:30 +0200 <int-e> you're making up syntax that doesn't exist
2023-09-12 18:06:39 +0200 <int-e> (in Haskell)
2023-09-12 18:06:44 +0200 <blomberg> ; is the "uncurry" that I just prepared for you int-e as my dish
2023-09-12 18:07:11 +0200danse-nr3__smells trolling
2023-09-12 18:07:14 +0200 <blomberg> int-e: in where that's where ; came from in my haskell code that you don't pay attention to
2023-09-12 18:07:24 +0200Square(~Square4@user/square) (Ping timeout: 240 seconds)
2023-09-12 18:07:27 +0200 <EvanR> it's not valid
2023-09-12 18:07:31 +0200 <blomberg> danse-nr3__: i am very serious
2023-09-12 18:07:46 +0200 <EvanR> your code is wrong
2023-09-12 18:08:06 +0200 <blomberg> {where h x = x*2; g x = g^2; } that's where the ; comes from it's the "uncurry" guys i have been reiterating to you over and over without trolling
2023-09-12 18:08:12 +0200 <geekosaur> uncurry means turning (a, b) -> c into a -> b -> c. no semicolons involved
2023-09-12 18:08:19 +0200 <yushyin> blomberg: it's not
2023-09-12 18:08:32 +0200 <blomberg> but you seem to take the ; as my uncurry dish just for you to eat and taste the uncurry!!!!
2023-09-12 18:08:36 +0200 <geekosaur> we have no idea what you are trying to say when you say "uncurry" because it's not that
2023-09-12 18:08:51 +0200 <EvanR> :t uncurry
2023-09-12 18:08:52 +0200 <lambdabot> (a -> b -> c) -> (a, b) -> c
2023-09-12 18:08:58 +0200int-eleans back pointing towards https://www.haskell.org/onlinereport/haskell2010/haskellch4.html
2023-09-12 18:08:59 +0200 <geekosaur> reversed, sigh
2023-09-12 18:09:16 +0200qqq(~qqq@92.43.167.61)
2023-09-12 18:09:33 +0200 <geekosaur> in any case you may not be trolling but you are refusing to use terminology that will be understood and blaming us for it
2023-09-12 18:09:56 +0200 <shapr> uh oh, do I need my hat of power?
2023-09-12 18:09:56 +0200 <blomberg> evan (a,b) is my (a;b) assuming a and b are functions that's the uncurry
2023-09-12 18:10:14 +0200 <blomberg> EvanR:so how does haskell curry that up as it's side by side
2023-09-12 18:10:17 +0200 <EvanR> uncurry takes a function and a pair, not two functions
2023-09-12 18:10:23 +0200ChanServ+o shapr
2023-09-12 18:10:23 +0200 <blomberg> side by side pay attention to this word
2023-09-12 18:10:56 +0200 <shapr> blomberg: if several people are taking issue with how you are expressing things, it may be a good time to consider what they are saying
2023-09-12 18:12:44 +0200 <shapr> you don't have to, but the alternative is likely removal from the discussion
2023-09-12 18:12:47 +0200 <blomberg> f->g->h that's fine i have no problem, but f->(g,h) that's i don't understand wehre is the explanation in https://www.haskell.org/onlinereport/haskell2010/haskellch4.html
2023-09-12 18:13:42 +0200 <int-e> FWIW the point of that link was that declarations and bindings are quite different from lambda abstractions.
2023-09-12 18:13:57 +0200exarkun(~exarkun@user/exarkun) (Server closed connection)
2023-09-12 18:14:07 +0200ddellacosta(~ddellacos@ool-44c738de.dyn.optonline.net)
2023-09-12 18:14:30 +0200machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 246 seconds)
2023-09-12 18:14:53 +0200 <blomberg> int-e: in what way
2023-09-12 18:15:02 +0200 <int-e> you wouldn't understand
2023-09-12 18:15:09 +0200Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542)
2023-09-12 18:15:14 +0200 <yushyin> perhaps learning haskell via a repl (ghci, lambdabot, yahb2) and using expanded layout syntax is not the most appropriate way, it seems to confuse you
2023-09-12 18:15:19 +0200 <blomberg> i know lambda calculus
2023-09-12 18:15:21 +0200exarkun(~exarkun@user/exarkun)
2023-09-12 18:15:28 +0200 <shapr> exarkun: hi, how's code?
2023-09-12 18:16:04 +0200 <exarkun> Hi shapr
2023-09-12 18:16:20 +0200 <exarkun> I have a function, `decode`, that takes a list of erasure-coded values. The list might be longer than the minimum threshold required to recover the encoded data.
2023-09-12 18:16:31 +0200 <exarkun> Also I have cryptographic hashes of chunks of both the inputs and outputs to the erasure coding process
2023-09-12 18:16:47 +0200 <shapr> ooh, this sounds like fun
2023-09-12 18:16:53 +0200 <exarkun> My function currently does not verify the hashes, it just takes the minimum number of required values and throws them at the decoder
2023-09-12 18:17:32 +0200 <exarkun> But now I would like it to verify the hashes, and also I would like it to recover with per-"chunk" granularity to hash verification failures (where possible)
2023-09-12 18:18:02 +0200 <exarkun> Should be kind of straightforward right?
2023-09-12 18:18:14 +0200 <shapr> I dunno, is the code in a repo I can see?
2023-09-12 18:18:47 +0200segfaultfizzbuzz(~segfaultf@12.172.217.142) (Ping timeout: 246 seconds)
2023-09-12 18:18:49 +0200 <shapr> Does order matter when handing chunks to erasure decode?
2023-09-12 18:18:52 +0200 <exarkun> Also I have a property test that throws what should be fatal corruption into the encoded data and verifies it no longer decodes (but I don't have one that throws supposedly non-fatal corruption in and verifies that it still does yet)
2023-09-12 18:19:00 +0200 <exarkun> yes, it does
2023-09-12 18:19:27 +0200 <shapr> Is order something you can determine from only the values?
2023-09-12 18:19:53 +0200 <exarkun> The code is here, https://whetstone.private.storage/privatestorage/tahoe-chk/-/tree/20.validate-share-blocks?ref_typ…
2023-09-12 18:20:01 +0200 <exarkun> no, you have to keep track of it
2023-09-12 18:20:04 +0200merijn(~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 245 seconds)
2023-09-12 18:20:36 +0200 <exarkun> The function takes the values to be decoded as a [(Int, Share)], where that Int needs to be passed along to the decoder
2023-09-12 18:20:45 +0200eggplantade(~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2023-09-12 18:21:21 +0200 <exarkun> The function that needs to do this work is Tahoe.CHK.decode (src/Tahoe/CHK.hs)
2023-09-12 18:22:33 +0200 <exarkun> The Share record has `shareBlocks` that gives a list of the chunks (maybe I should start calling them "blocks" now)
2023-09-12 18:22:49 +0200 <exarkun> It also has `shareBlockHashTree`, a merkle tree of the correct hashes of each block
2023-09-12 18:24:40 +0200 <exarkun> So, eg, `zipWith someHashCheckFunction (leafHashes . shareBlockHashTree $ share) (shareBlocks share)` would tell you something I think - give you a list of bools of the validity of each block of one share.
2023-09-12 18:25:21 +0200ddellacosta(~ddellacos@ool-44c738de.dyn.optonline.net) (Ping timeout: 246 seconds)
2023-09-12 18:25:29 +0200_d0t(~{-d0t-}@user/-d0t-/x-7915216) (Ping timeout: 245 seconds)
2023-09-12 18:27:17 +0200n0den1te(~n0den1te@223.178.81.181)
2023-09-12 18:27:28 +0200ddellacosta(~ddellacos@ool-44c738de.dyn.optonline.net)
2023-09-12 18:27:28 +0200 <mauke> did you know that your haskell program can use a lot more memory than expected if you accidentally innerJoin an unrelated table (with no condition) to your main query?
2023-09-12 18:27:31 +0200 <mauke> sigh
2023-09-12 18:28:08 +0200eggplantade(~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net)
2023-09-12 18:28:58 +0200mjs2600(~mjs2600@c-174-169-225-239.hsd1.vt.comcast.net) (Quit: ZNC 1.8.2 - https://znc.in)
2023-09-12 18:29:55 +0200ripspin(~chatzilla@1.145.166.245) (Remote host closed the connection)
2023-09-12 18:30:05 +0200 <shapr> exarkun: it's too bad the order can't be determined from the values themselves
2023-09-12 18:30:23 +0200 <danse-nr3__> which library mauke?
2023-09-12 18:30:25 +0200 <exarkun> shapr: Tell me more
2023-09-12 18:30:38 +0200 <mauke> danse-nr3__: for SQL? selda
2023-09-12 18:30:59 +0200 <shapr> it'd just be easier to pitch whatever subset you get into the erasure decoder
2023-09-12 18:31:07 +0200shapr-o shapr
2023-09-12 18:31:12 +0200_d0t(~{-d0t-}@user/-d0t-/x-7915216)
2023-09-12 18:31:20 +0200mjs2600(~mjs2600@c-174-169-225-239.hsd1.vt.comcast.net)
2023-09-12 18:31:28 +0200 <exarkun> shapr: As a bonus, the erasure decoder I have uses `error` if you give it the wrong number of things
2023-09-12 18:32:17 +0200 <exarkun> shapr: Or if the inputs aren't all the same length
2023-09-12 18:32:22 +0200eggplantade(~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 252 seconds)
2023-09-12 18:32:44 +0200 <exarkun> shapr: Or if you double up on any block numbers
2023-09-12 18:33:34 +0200 <exarkun> shapr: I imagine we can just pretend (Int, ByteString) is the block and work around that structure where necessary?
2023-09-12 18:33:50 +0200 <shapr> yeah
2023-09-12 18:35:22 +0200 <shapr> hm, I get failures running the test suite, is that expected?
2023-09-12 18:36:03 +0200 <exarkun> "decode signals error if the integrity of the shares is compromised" should fail, that's the property test that checks whether bad blocks are detected
2023-09-12 18:36:21 +0200 <exarkun> sometimes ~70 other tests fail because the erasure decoder bindings are buggy!
2023-09-12 18:36:57 +0200 <exarkun> but just run it again, eventually they'll pass ;)
2023-09-12 18:37:06 +0200 <shapr> Yeah, only that one failed for me
2023-09-12 18:37:17 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-09-12 18:37:36 +0200 <exarkun> That one should have something like `│ BlockBitFlips [ [ "a" ] , [ "a" ] ]` in its output
2023-09-12 18:38:05 +0200 <exarkun> That says "I xor'd the blocks of both shares with "a" and then ran the decoder"
2023-09-12 18:38:33 +0200 <exarkun> And then `diff True (==) (isLeft result)` fails because the decoder doesn't notice the corruption and just gives back some result
2023-09-12 18:39:18 +0200ChaiTRex(~ChaiTRex@user/chaitrex) (Ping timeout: 246 seconds)
2023-09-12 18:39:32 +0200 <exarkun> (Hedgehog.Gen.bytes shrinks towards "a" which was a little surprising, but okay fine)
2023-09-12 18:42:33 +0200ChaiTRex(~ChaiTRex@user/chaitrex)
2023-09-12 18:44:12 +0200 <shapr> exarkun: is it possible the corruption produces a valid value?
2023-09-12 18:44:30 +0200 <exarkun> shapr: Corruption can't be detected by looking at only the values
2023-09-12 18:44:38 +0200sm(~sm@plaintextaccounting/sm) (Quit: sm)
2023-09-12 18:44:41 +0200 <exarkun> shapr: So working on corrupt inputs _will_ give you _some_ output
2023-09-12 18:44:46 +0200 <shapr> oh
2023-09-12 18:47:32 +0200 <shapr> I think you said one of your inputs is the hash of the correct output? Is that how you would detect corrupted data?
2023-09-12 18:47:41 +0200 <exarkun> yes
2023-09-12 18:47:45 +0200 <exarkun> Or
2023-09-12 18:48:02 +0200 <exarkun> I have two things, I'm not sure which one it makes more sense to use
2023-09-12 18:48:30 +0200 <exarkun> The inputs to the erasure decoder are "blocks" and the outputs are "segments". I have hashes of all of the blocks and all of the segments.
2023-09-12 18:48:45 +0200 <exarkun> So I could check before decoding or after
2023-09-12 18:50:13 +0200 <exarkun> there are k times more blocks than segments, so checking the blocks is k times more expensive (I guess)
2023-09-12 18:50:27 +0200ChaiTRex(~ChaiTRex@user/chaitrex) (Remote host closed the connection)
2023-09-12 18:50:29 +0200 <exarkun> but you can't check segments until you've finished decoding, so checking segments incurs all of the decoding cost
2023-09-12 18:50:51 +0200 <exarkun> so performance-wise I don't see an obvious winner
2023-09-12 18:51:18 +0200 <exarkun> in terms of correctness, checking segments means you'll catch bugs in the decoder in addition to corrupt blocks
2023-09-12 18:51:27 +0200ChaiTRex(~ChaiTRex@user/chaitrex)
2023-09-12 18:51:44 +0200 <exarkun> (and there's definitely at least one of those right now!)
2023-09-12 18:51:53 +0200 <shapr> is this pure Haskell code where you can lazily check both as you go?
2023-09-12 18:53:14 +0200 <shapr> I like the using a lazy list as control flow, perhaps more than I should.
2023-09-12 18:53:23 +0200 <exarkun> The decoder is C but everything around it is Haskell. I think the decoder being C gets rid of the chance to have smaller-than-a-block laziness, but doesn't cause problems otherwise (and none of the hashes help with smaller-than-a-block stuff anyway)
2023-09-12 18:53:56 +0200 <exarkun> yea I think I know what you mean. I almost feel like the return type of this function should be [IO (Either SomeError ByteString)].
2023-09-12 18:54:06 +0200waleee(~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 255 seconds)
2023-09-12 18:54:15 +0200 <exarkun> instead of IO Either (SomeError ByteString)
2023-09-12 18:54:32 +0200 <shapr> How difficult is a pure Haskell decoder? Would that be a useful oracle to see if bugs are present in the C code?
2023-09-12 18:54:40 +0200 <exarkun> I wonder if that version would actually be even easier to write, hm
2023-09-12 18:55:47 +0200 <exarkun> the C code is only about 500 lines of dense matrix manipulation code...
2023-09-12 18:55:48 +0200blomberg(~default_u@117.200.7.49) (Ping timeout: 240 seconds)
2023-09-12 18:56:10 +0200 <shapr> :-(
2023-09-12 18:56:12 +0200 <exarkun> plus there's a paper to go with it!
2023-09-12 18:56:21 +0200 <shapr> ooh, bonus fun!
2023-09-12 18:56:56 +0200 <exarkun> at some point I will have to tackle the decoder directly, to find out why its results get randomly corrupted somehow
2023-09-12 18:57:13 +0200 <exarkun> but I think for adding this validation it's a red herring
2023-09-12 18:57:37 +0200 <EvanR> C applied for its strengths: numeric code
2023-09-12 18:57:59 +0200 <EvanR> where has all the fortran gone
2023-09-12 18:59:36 +0200ChaiTRex(~ChaiTRex@user/chaitrex) (Ping timeout: 246 seconds)
2023-09-12 19:01:05 +0200 <shapr> exarkun: I got a bugfix PR for my testing library from someone I met at ICFP, that's how code is going for me
2023-09-12 19:01:14 +0200 <exarkun> shapr: nice
2023-09-12 19:01:34 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:f9cc:9bb3:d19d:9050)
2023-09-12 19:01:40 +0200 <shapr> turns out if you sass QuickCheck hard enough, a PhD will immediately be dispatched to your location
2023-09-12 19:01:46 +0200 <shapr> er, "a PhD student"
2023-09-12 19:01:51 +0200ChaiTRex(~ChaiTRex@user/chaitrex)
2023-09-12 19:01:51 +0200 <exarkun> haha
2023-09-12 19:02:19 +0200 <exarkun> is it a fun bug
2023-09-12 19:02:46 +0200 <shapr> eh, not really. Seems that QuickCheck is now a full on batch testing tool instead of a true random tester as it was before
2023-09-12 19:03:05 +0200 <exarkun> hm, what's the difference between those things?
2023-09-12 19:03:09 +0200segfaultfizzbuzz(~segfaultf@12.172.217.142)
2023-09-12 19:03:39 +0200 <shapr> I was doing a loop of "run one property test, check coverage" and that caused QuickCheck to produce the same value over and over
2023-09-12 19:03:47 +0200 <exarkun> ahh
2023-09-12 19:09:00 +0200ddellacosta(~ddellacos@ool-44c738de.dyn.optonline.net) (Ping timeout: 240 seconds)
2023-09-12 19:10:18 +0200Square2(~Square4@user/square) (Ping timeout: 255 seconds)
2023-09-12 19:10:19 +0200tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
2023-09-12 19:10:31 +0200ddellacosta(~ddellacos@ool-44c738de.dyn.optonline.net)
2023-09-12 19:13:03 +0200wootehfoot(~wootehfoo@user/wootehfoot)
2023-09-12 19:18:19 +0200danse-nr3_(~francesco@151.47.242.109)
2023-09-12 19:18:29 +0200danse-nr3__(~francesco@151.37.243.136) (Read error: Connection reset by peer)
2023-09-12 19:19:38 +0200 <shapr> exarkun: as far as I know, a real random test means a PRNG picks a value from the entire value range of the type you requested
2023-09-12 19:20:10 +0200 <shapr> that's not quite the case anymore for QuickCheck; https://github.com/shapr/kudzu/issues/8#issuecomment-1709103689
2023-09-12 19:21:32 +0200chomwitt(~chomwitt@2a02:587:7a0c:4d00:1ac0:4dff:fedb:a3f1)
2023-09-12 19:21:52 +0200 <shapr> QuickCheck returns the seed on failure: https://github.com/nick8325/quickcheck/blob/master/src/Test/QuickCheck/Test.hs#L130
2023-09-12 19:22:17 +0200 <shapr> (and the size, and last I checked you need both to get the exact value that failed the test)
2023-09-12 19:22:59 +0200 <shapr> if it also returned the seed on success, I could extract the (seed,size) after each succees, and feed that into the next size 1 batch test
2023-09-12 19:23:17 +0200 <shapr> so I may put up a PR and ask for feedback
2023-09-12 19:23:29 +0200vgtw(~vgtw@user/vgtw) (Quit: ZNC - https://znc.in)
2023-09-12 19:23:41 +0200 <mauke> seedback
2023-09-12 19:23:46 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-09-12 19:23:49 +0200 <shapr> :-D
2023-09-12 19:24:20 +0200 <shapr> I gave a talk on kudzu at ICFP! Afterwards I got really interesting questions that I had never considered!
2023-09-12 19:24:42 +0200 <shapr> I can barely wait for the final recording to be public so I can go listen to the questions, I was *way* too nervous to remember all of them.
2023-09-12 19:26:50 +0200vgtw(~vgtw@user/vgtw)
2023-09-12 19:27:08 +0200zer0bitz_zer0bitz
2023-09-12 19:27:56 +0200noteness(~noteness@user/noteness) (Server closed connection)
2023-09-12 19:29:10 +0200noteness(~noteness@user/noteness)
2023-09-12 19:29:46 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:f9cc:9bb3:d19d:9050) (Remote host closed the connection)
2023-09-12 19:35:00 +0200wootehfoot(~wootehfoo@user/wootehfoot) (Quit: Leaving)
2023-09-12 19:35:04 +0200danse-nr3_(~francesco@151.47.242.109) (Ping timeout: 252 seconds)
2023-09-12 19:36:56 +0200merijn(~merijn@088-129-128-083.dynamic.caiway.nl)
2023-09-12 19:37:35 +0200Techcable(~Techcable@user/Techcable) (Server closed connection)
2023-09-12 19:37:43 +0200Techcable(~Techcable@user/Techcable)
2023-09-12 19:41:24 +0200merijn(~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 240 seconds)
2023-09-12 19:43:06 +0200wootehfoot(~wootehfoo@user/wootehfoot)
2023-09-12 19:48:44 +0200phma(phma@2001:5b0:211c:cea8:446a:c697:5d5a:83a7) (Read error: Connection reset by peer)
2023-09-12 19:49:40 +0200phma(~phma@2001:5b0:210d:8e28:dfdb:e371:52a2:8c6c)
2023-09-12 20:09:39 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:f9cc:9bb3:d19d:9050)
2023-09-12 20:11:10 +0200notzmv(~zmv@user/notzmv)
2023-09-12 20:11:50 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-09-12 20:15:07 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-09-12 20:16:39 +0200danza(~francesco@151.47.242.109)
2023-09-12 20:20:29 +0200son0p(~ff@186.121.39.74) (Ping timeout: 245 seconds)
2023-09-12 20:22:26 +0200vgtw(~vgtw@user/vgtw) (Quit: ZNC - https://znc.in)
2023-09-12 20:25:56 +0200segfaultfizzbuzz(~segfaultf@12.172.217.142) (Ping timeout: 258 seconds)
2023-09-12 20:26:49 +0200Pickchea(~private@user/pickchea)
2023-09-12 20:28:03 +0200vgtw(~vgtw@user/vgtw)
2023-09-12 20:31:00 +0200chomwitt(~chomwitt@2a02:587:7a0c:4d00:1ac0:4dff:fedb:a3f1) (Ping timeout: 246 seconds)
2023-09-12 20:32:46 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-09-12 20:34:14 +0200chomwitt(~chomwitt@ppp-94-67-130-18.home.otenet.gr)
2023-09-12 20:34:49 +0200phma(~phma@2001:5b0:210d:8e28:dfdb:e371:52a2:8c6c) (Read error: Connection reset by peer)
2023-09-12 20:35:33 +0200mc47(~mc47@xmonad/TheMC47) (Remote host closed the connection)
2023-09-12 20:36:11 +0200waleee(~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7)
2023-09-12 20:39:00 +0200segfaultfizzbuzz(~segfaultf@12.172.217.142)
2023-09-12 20:42:46 +0200phma(~phma@host-67-44-208-181.hnremote.net)
2023-09-12 20:42:55 +0200danza(~francesco@151.47.242.109) (Remote host closed the connection)
2023-09-12 20:43:19 +0200danza(~francesco@151.47.242.109)
2023-09-12 20:47:44 +0200abrar(~abrar@pool-108-52-90-30.phlapa.fios.verizon.net)
2023-09-12 20:49:17 +0200shapr(~user@c-67-160-55-153.hsd1.wa.comcast.net) (Quit: gotta buy shoes for glass blowing)
2023-09-12 20:52:08 +0200chele(~chele@user/chele) (Remote host closed the connection)
2023-09-12 20:56:53 +0200powderhorn(~powderhor@207-153-12-54.static.fttp.usinternet.com)
2023-09-12 20:58:24 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-09-12 21:00:07 +0200tomsmeding(~tomsmedin@static.21.109.88.23.clients.your-server.de) (Quit: ZNC 1.8.2 - https://znc.in)
2023-09-12 21:00:47 +0200tomsmeding(~tomsmedin@2a01:4f8:c0c:5e5e::2)
2023-09-12 21:02:47 +0200aaronv(~aaronv@user/aaronv)
2023-09-12 21:05:49 +0200aaronv(~aaronv@user/aaronv) (Remote host closed the connection)
2023-09-12 21:06:08 +0200aaronv(~aaronv@user/aaronv)
2023-09-12 21:11:48 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-09-12 21:15:34 +0200pavonia(~user@user/siracusa)
2023-09-12 21:19:05 +0200cptaffe(~ZNC@99-47-99-155.lightspeed.ltrkar.sbcglobal.net) (Changing host)
2023-09-12 21:19:05 +0200cptaffe(~ZNC@user/cptaffe)
2023-09-12 21:19:59 +0200codaraxis(~codaraxis@user/codaraxis)
2023-09-12 21:20:54 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-09-12 21:21:29 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net)
2023-09-12 21:26:43 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 252 seconds)
2023-09-12 21:28:04 +0200merijn(~merijn@088-129-128-083.dynamic.caiway.nl)
2023-09-12 21:34:07 +0200powderhorn(~powderhor@207-153-12-54.static.fttp.usinternet.com) (Quit: Client closed)
2023-09-12 21:34:21 +0200powderhorn(~powderhor@207-153-12-54.static.fttp.usinternet.com)
2023-09-12 21:34:37 +0200Sgeo(~Sgeo@user/sgeo)
2023-09-12 21:34:44 +0200Pickchea(~private@user/pickchea) (Quit: Leaving)
2023-09-12 21:34:47 +0200stiell_(~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
2023-09-12 21:35:21 +0200stiell_(~stiell@gateway/tor-sasl/stiell)
2023-09-12 21:37:35 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-09-12 21:37:44 +0200segfaultfizzbuzz(~segfaultf@12.172.217.142) (Ping timeout: 258 seconds)
2023-09-12 21:38:08 +0200idgaen(~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 4.0.2)
2023-09-12 21:49:24 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-09-12 21:49:57 +0200evertedsphere_(uid434122@id-434122.hampstead.irccloud.com)
2023-09-12 21:50:13 +0200ChaiTRex(~ChaiTRex@user/chaitrex) (Quit: ChaiTRex)
2023-09-12 21:52:45 +0200evertedsphere_(uid434122@id-434122.hampstead.irccloud.com) (Client Quit)
2023-09-12 21:53:47 +0200evertedsphere(sid434122@id-434122.hampstead.irccloud.com)
2023-09-12 21:58:14 +0200merijn(~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 246 seconds)
2023-09-12 22:01:19 +0200segfaultfizzbuzz(~segfaultf@12.172.217.142)
2023-09-12 22:02:26 +0200_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Quit: _ht)
2023-09-12 22:02:33 +0200segfaultfizzbuzz(~segfaultf@12.172.217.142) (Client Quit)
2023-09-12 22:04:27 +0200waleee(~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 258 seconds)
2023-09-12 22:05:01 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-09-12 22:06:19 +0200vglfr(~vglfr@cli-188-239-201-89.bbn.slav.dn.ua) (Ping timeout: 252 seconds)
2023-09-12 22:06:58 +0200waleee(~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7)
2023-09-12 22:08:05 +0200vglfr(~vglfr@88.155.2.21)
2023-09-12 22:10:29 +0200mysl(~mysl@user/mysl) (Ping timeout: 245 seconds)
2023-09-12 22:12:10 +0200Guest|79(~Guest|79@83-82-144-164.cable.dynamic.v4.ziggo.nl)
2023-09-12 22:14:26 +0200aaronv(~aaronv@user/aaronv) (Ping timeout: 246 seconds)
2023-09-12 22:16:55 +0200aaronv(~aaronv@user/aaronv)
2023-09-12 22:17:40 +0200mysl(~mysl@user/mysl)
2023-09-12 22:18:24 +0200notzmv(~zmv@user/notzmv) (Ping timeout: 245 seconds)
2023-09-12 22:18:27 +0200ddellacosta(~ddellacos@ool-44c738de.dyn.optonline.net) (Ping timeout: 246 seconds)
2023-09-12 22:19:04 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-09-12 22:20:24 +0200Carbon-lang(~Carbonlan@ip121.ip-149-56-160.net)
2023-09-12 22:20:42 +0200ddellacosta(~ddellacos@ool-44c738de.dyn.optonline.net)
2023-09-12 22:21:19 +0200waleee(~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 245 seconds)
2023-09-12 22:22:04 +0200sm(~sm@plaintextaccounting/sm)
2023-09-12 22:25:35 +0200stackdroid18(14094@de1.hashbang.sh)
2023-09-12 22:28:09 +0200Carbon-lang(~Carbonlan@ip121.ip-149-56-160.net) (Ping timeout: 252 seconds)
2023-09-12 22:28:32 +0200waleee(~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7)
2023-09-12 22:30:36 +0200Carbon-lang(~Carbonlan@ip121.ip-149-56-160.net)
2023-09-12 22:32:35 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-09-12 22:36:08 +0200accord(uid568320@id-568320.hampstead.irccloud.com)
2023-09-12 22:36:50 +0200caryhartline(~caryhartl@168.182.58.169) (Ping timeout: 246 seconds)
2023-09-12 22:39:41 +0200Guest|79(~Guest|79@83-82-144-164.cable.dynamic.v4.ziggo.nl) (Quit: Connection closed)
2023-09-12 22:39:56 +0200Inst(~Inst@120.244.192.250)
2023-09-12 22:40:46 +0200stackdroid18(14094@de1.hashbang.sh) (Quit: hasta la vista... tchau!)
2023-09-12 22:41:35 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-09-12 22:41:47 +0200wootehfoot(~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
2023-09-12 22:42:59 +0200waleee(~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 255 seconds)
2023-09-12 22:43:56 +0200random-jellyfish(~random-je@user/random-jellyfish) (Quit: Client closed)
2023-09-12 22:46:49 +0200michalz(~michalz@185.246.207.222) (Remote host closed the connection)
2023-09-12 22:52:15 +0200Square2(~Square4@user/square)
2023-09-12 22:53:27 +0200acidjnk(~acidjnk@p200300d6e7072f13dd7273edbfdb54c8.dip0.t-ipconnect.de) (Ping timeout: 246 seconds)
2023-09-12 22:54:41 +0200Tuplanolla(~Tuplanoll@91-159-68-236.elisa-laajakaista.fi)
2023-09-12 22:54:43 +0200jackneill__(~Jackneill@20014C4E1E101A00E9F1E1049A19AA9C.dsl.pool.telekom.hu) (Ping timeout: 252 seconds)
2023-09-12 22:55:39 +0200Carbon-lang(~Carbonlan@ip121.ip-149-56-160.net) (Ping timeout: 252 seconds)
2023-09-12 22:57:07 +0200Carbon-lang(~Carbonlan@ip121.ip-149-56-160.net)
2023-09-12 22:58:55 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-09-12 23:00:54 +0200sudden(~cat@user/sudden) (Ping timeout: 245 seconds)
2023-09-12 23:01:46 +0200sudden(~cat@user/sudden)
2023-09-12 23:05:08 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-09-12 23:05:11 +0200waleee(~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7)
2023-09-12 23:06:36 +0200_d0t(~{-d0t-}@user/-d0t-/x-7915216) (Ping timeout: 240 seconds)
2023-09-12 23:08:23 +0200takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2023-09-12 23:09:42 +0200mysl(~mysl@user/mysl) (Ping timeout: 255 seconds)
2023-09-12 23:10:54 +0200vglfr(~vglfr@88.155.2.21) (Ping timeout: 245 seconds)
2023-09-12 23:11:23 +0200mysl(~mysl@user/mysl)
2023-09-12 23:11:52 +0200vglfr(~vglfr@cli-188-239-201-89.bbn.slav.dn.ua)
2023-09-12 23:16:05 +0200merijn(~merijn@088-129-128-083.dynamic.caiway.nl)
2023-09-12 23:18:19 +0200danza_(~francesco@151.37.245.236)
2023-09-12 23:20:47 +0200danza(~francesco@151.47.242.109) (Ping timeout: 255 seconds)
2023-09-12 23:22:18 +0200beaky(~beaky@2a03:b0c0:0:1010::1e:a001) (Server closed connection)
2023-09-12 23:22:37 +0200beaky(~beaky@2a03:b0c0:0:1010::1e:a001)
2023-09-12 23:30:59 +0200_d0t(~{-d0t-}@user/-d0t-/x-7915216)
2023-09-12 23:31:57 +0200waleee(~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 246 seconds)
2023-09-12 23:33:49 +0200Inst(~Inst@120.244.192.250) (Ping timeout: 245 seconds)
2023-09-12 23:35:29 +0200mysl(~mysl@user/mysl) (Ping timeout: 245 seconds)
2023-09-12 23:35:33 +0200erisco(~erisco@d24-141-66-165.home.cgocable.net) (Quit: ZNC 1.8.2+cygwin2 - https://znc.in)
2023-09-12 23:36:02 +0200sm(~sm@plaintextaccounting/sm) (Quit: sm)
2023-09-12 23:36:25 +0200erisco(~erisco@d24-141-66-165.home.cgocable.net)
2023-09-12 23:37:39 +0200mysl(~mysl@user/mysl)
2023-09-12 23:38:42 +0200ornx(~ornx@user/ornxka) (Quit: WeeChat 4.0.3)
2023-09-12 23:46:19 +0200dhil(~dhil@78.45.150.83.ewm.ftth.as8758.net) (Ping timeout: 245 seconds)
2023-09-12 23:50:16 +0200merijn(~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2023-09-12 23:50:57 +0200sm(~sm@plaintextaccounting/sm)
2023-09-12 23:52:12 +0200jmdaemon(~jmdaemon@user/jmdaemon)
2023-09-12 23:52:37 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-09-12 23:53:18 +0200emmanuelux(~emmanuelu@user/emmanuelux)
2023-09-12 23:56:38 +0200wroathe(~wroathe@user/wroathe)
2023-09-12 23:57:32 +0200wroathe(~wroathe@user/wroathe) (Client Quit)
2023-09-12 23:57:41 +0200wroathe(~wroathe@user/wroathe)