2025/01/22

2025-01-22 00:05:04 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2025-01-22 00:05:58 +0100alfiee(alfiee@user/alfiee) (Ping timeout: 244 seconds)
2025-01-22 00:08:49 +0100sprotte24(~sprotte24@p200300d16f040300a9d95df64a090144.dip0.t-ipconnect.de) (Quit: Leaving)
2025-01-22 00:09:21 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds)
2025-01-22 00:09:33 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-01-22 00:13:54 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 246 seconds)
2025-01-22 00:20:26 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2025-01-22 00:20:31 +0100Sgeo(~Sgeo@user/sgeo) Sgeo
2025-01-22 00:21:04 +0100LainExperiments(~LainExper@user/LainExperiments) LainExperiments
2025-01-22 00:25:06 +0100gabriel_sevecek(~gabriel@188-167-229-200.dynamic.chello.sk) (Read error: Connection reset by peer)
2025-01-22 00:25:17 +0100Everything(~Everythin@195.138.86.118) (Quit: leaving)
2025-01-22 00:25:24 +0100LainExperiments6(~LainExper@user/LainExperiments) LainExperiments
2025-01-22 00:25:41 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
2025-01-22 00:27:00 +0100__monty__(~toonn@user/toonn) (Quit: leaving)
2025-01-22 00:27:38 +0100gabriel_sevecek(~gabriel@188-167-229-200.dynamic.chello.sk) gabriel_sevecek
2025-01-22 00:28:40 +0100LainExperiments(~LainExper@user/LainExperiments) (Ping timeout: 240 seconds)
2025-01-22 00:31:16 +0100dibblego(~dibblego@haskell/developer/dibblego) (Read error: Connection reset by peer)
2025-01-22 00:31:30 +0100dibblego(~dibblego@116-255-1-119.ip4.superloop.au)
2025-01-22 00:31:30 +0100dibblego(~dibblego@116-255-1-119.ip4.superloop.au) (Changing host)
2025-01-22 00:31:30 +0100dibblego(~dibblego@haskell/developer/dibblego) dibblego
2025-01-22 00:34:49 +0100dysthesis(~dysthesis@user/dysthesis) dysthesis
2025-01-22 00:36:23 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2025-01-22 00:38:40 +0100Midjak(~MarciZ@82.66.147.146) (Quit: This computer has gone to sleep)
2025-01-22 00:41:11 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
2025-01-22 00:46:51 +0100JuanDaugherty(~juan@user/JuanDaugherty) JuanDaugherty
2025-01-22 00:47:11 +0100Xe(~Xe@perl/impostor/xe) (Read error: Connection reset by peer)
2025-01-22 00:49:53 +0100Xe(~Xe@perl/impostor/xe) Xe
2025-01-22 00:51:04 +0100JuanDaughertyColinRobinson
2025-01-22 00:51:45 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2025-01-22 00:57:24 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2025-01-22 00:59:58 +0100ljdarj1(~Thunderbi@user/ljdarj) ljdarj
2025-01-22 01:00:17 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-01-22 01:02:33 +0100alx741(~alx741@186.33.188.229) (Ping timeout: 246 seconds)
2025-01-22 01:02:56 +0100ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 265 seconds)
2025-01-22 01:02:56 +0100ljdarj1ljdarj
2025-01-22 01:04:21 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 244 seconds)
2025-01-22 01:05:32 +0100 <zero> hellwolf: the ability to do `(0,1) { fst = 2 } ==> (2,1)`
2025-01-22 01:06:40 +0100LainExperiments6(~LainExper@user/LainExperiments) (Ping timeout: 240 seconds)
2025-01-22 01:07:57 +0100WzC(~Frank@77-162-168-71.fixed.kpn.net) (Ping timeout: 252 seconds)
2025-01-22 01:08:27 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2025-01-22 01:11:13 +0100Noinia(~Frank@77-162-168-71.fixed.kpn.net)
2025-01-22 01:12:37 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds)
2025-01-22 01:14:25 +0100 <haskellbridge> <magic_rb> Without lenses it do be a bit awkward to update tuples. But then again if your tuple is 4 or more wide, maybe you should consider a record
2025-01-22 01:14:47 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) bitdex
2025-01-22 01:18:00 +0100L29Ah(~L29Ah@wikipedia/L29Ah) ()
2025-01-22 01:18:36 +0100L29Ah(~L29Ah@wikipedia/L29Ah) L29Ah
2025-01-22 01:20:00 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 264 seconds)
2025-01-22 01:20:59 +0100KicksonButt(~AdminUser@187.21.174.221) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
2025-01-22 01:23:04 +0100 <jackdk> Agreed - it's rare indeed that I want even a 3-tuple
2025-01-22 01:23:50 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2025-01-22 01:28:27 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds)
2025-01-22 01:29:41 +0100acidjnk(~acidjnk@p200300d6e7283f1030c548a6d05e3160.dip0.t-ipconnect.de) (Ping timeout: 248 seconds)
2025-01-22 01:36:16 +0100 <zero> first and second from Data.Bifunctor are useful
2025-01-22 01:36:22 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) bitdex
2025-01-22 01:36:23 +0100 <zero> :t first
2025-01-22 01:36:24 +0100 <lambdabot> Arrow a => a b c -> a (b, d) (c, d)
2025-01-22 01:36:51 +0100 <zero> first (const 2) (0,1)
2025-01-22 01:36:54 +0100 <zero> > first (const 2) (0,1)
2025-01-22 01:36:55 +0100 <lambdabot> (2,1)
2025-01-22 01:37:33 +0100 <geekosaur> you're reinventing lens, I see
2025-01-22 01:39:22 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2025-01-22 01:39:39 +0100 <geekosaur> in some sense, at least
2025-01-22 01:39:46 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich
2025-01-22 01:40:00 +0100 <zero> reiventing lisp
2025-01-22 01:40:51 +0100 <zero> > (fst . snd . snd) (0,(1,(2,3)))
2025-01-22 01:40:53 +0100 <lambdabot> 2
2025-01-22 01:41:28 +0100 <zero> > (fst (snd (snd (0,(1,(2,3))))))
2025-01-22 01:41:30 +0100 <lambdabot> 2
2025-01-22 01:42:12 +0100 <zero> > let (car,cdr) = (fst,snd) in (fst (snd (snd (0,(1,(2,3))))))
2025-01-22 01:42:14 +0100 <lambdabot> 2
2025-01-22 01:42:23 +0100 <zero> > let (car,cdr) = (fst,snd) in (car (cdr (cdr (0,(1,(2,3))))))
2025-01-22 01:42:25 +0100 <lambdabot> 2
2025-01-22 01:42:29 +0100 <zero> there we go
2025-01-22 01:44:09 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds)
2025-01-22 01:44:15 +0100 <zero> i wonder about the efficiency of tuple trees vs idiomatic trees in haskell
2025-01-22 01:51:03 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-01-22 01:52:40 +0100dysthesis(~dysthesis@user/dysthesis) (Remote host closed the connection)
2025-01-22 01:54:43 +0100xff0x(~xff0x@2405:6580:b080:900:8176:27ad:84f:a9f5) (Ping timeout: 264 seconds)
2025-01-22 01:54:45 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2025-01-22 01:55:17 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 248 seconds)
2025-01-22 01:55:26 +0100Tuplanolla(~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.)
2025-01-22 01:59:57 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
2025-01-22 02:01:11 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds)
2025-01-22 02:10:41 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2025-01-22 02:15:30 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 272 seconds)
2025-01-22 02:20:00 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 264 seconds)
2025-01-22 02:24:23 +0100mange(~user@user/mange) mange
2025-01-22 02:24:34 +0100ec(~ec@gateway/tor-sasl/ec) ec
2025-01-22 02:25:56 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2025-01-22 02:28:48 +0100otto_s(~user@p5de2f474.dip0.t-ipconnect.de) (Ping timeout: 272 seconds)
2025-01-22 02:29:12 +0100weary-traveler(~user@user/user363627) (Remote host closed the connection)
2025-01-22 02:29:48 +0100otto_s(~user@p5de2f486.dip0.t-ipconnect.de)
2025-01-22 02:32:43 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2025-01-22 02:40:47 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-01-22 02:41:54 +0100bcksl(~bcksl@user/bcksl) (Quit: \)
2025-01-22 02:41:54 +0100end(~end@user/end/x-0094621) (Quit: end)
2025-01-22 02:43:13 +0100bcksl(~bcksl@user/bcksl) bcksl
2025-01-22 02:43:59 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2025-01-22 02:45:24 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 265 seconds)
2025-01-22 02:45:41 +0100end(~end@user/end/x-0094621) end^
2025-01-22 02:48:47 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
2025-01-22 02:50:15 +0100xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp)
2025-01-22 02:59:21 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2025-01-22 03:00:53 +0100ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 248 seconds)
2025-01-22 03:04:16 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 272 seconds)
2025-01-22 03:14:44 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2025-01-22 03:16:56 +0100ft(~ft@p3e9bca18.dip0.t-ipconnect.de) (Ping timeout: 272 seconds)
2025-01-22 03:18:00 +0100ft(~ft@p4fc2a1c1.dip0.t-ipconnect.de) ft
2025-01-22 03:19:01 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
2025-01-22 03:21:52 +0100xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 252 seconds)
2025-01-22 03:26:00 +0100poscat(~poscat@user/poscat) (Ping timeout: 252 seconds)
2025-01-22 03:26:16 +0100poscat(~poscat@user/poscat) poscat
2025-01-22 03:28:52 +0100xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp)
2025-01-22 03:30:06 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2025-01-22 03:30:31 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-01-22 03:34:42 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2025-01-22 03:34:54 +0100hueso_(~root@user/hueso) hueso
2025-01-22 03:35:01 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 248 seconds)
2025-01-22 03:36:37 +0100hueso_(~root@user/hueso) (Client Quit)
2025-01-22 03:44:22 +0100cy7(~yt@pool-99-238-69-14.cpe.net.cable.rogers.com) (Ping timeout: 265 seconds)
2025-01-22 03:45:30 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2025-01-22 03:49:30 +0100dysthesis(~dysthesis@user/dysthesis) dysthesis
2025-01-22 03:49:57 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
2025-01-22 03:50:25 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich
2025-01-22 03:54:20 +0100califax(~califax@user/califx) (Remote host closed the connection)
2025-01-22 03:54:36 +0100califax(~califax@user/califx) califx
2025-01-22 03:55:13 +0100xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 252 seconds)
2025-01-22 03:55:29 +0100ColinRobinsonJuanDaugherty
2025-01-22 03:55:36 +0100machinedgod(~machinedg@d108-173-18-100.abhsia.telus.net) (Ping timeout: 252 seconds)
2025-01-22 03:56:05 +0100xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp)
2025-01-22 03:56:47 +0100cy7(~yt@pool-99-238-69-14.cpe.net.cable.rogers.com)
2025-01-22 04:00:51 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2025-01-22 04:02:38 +0100JuanDaughertyColinRobinson
2025-01-22 04:11:00 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2025-01-22 04:16:50 +0100j1n37(~j1n37@user/j1n37) (Read error: Connection reset by peer)
2025-01-22 04:17:30 +0100weary-traveler(~user@user/user363627) user363627
2025-01-22 04:20:41 +0100euleritian(~euleritia@ip4d17fae8.dynamic.kabel-deutschland.de) (Remote host closed the connection)
2025-01-22 04:20:48 +0100j1n37(~j1n37@user/j1n37) j1n37
2025-01-22 04:20:56 +0100euleritian(~euleritia@77.23.250.232)
2025-01-22 04:21:06 +0100ystael(~ystael@user/ystael) (Ping timeout: 265 seconds)
2025-01-22 04:21:15 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-01-22 04:22:04 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2025-01-22 04:22:56 +0100euleritian(~euleritia@77.23.250.232) (Remote host closed the connection)
2025-01-22 04:23:14 +0100euleritian(~euleritia@ip4d17fae8.dynamic.kabel-deutschland.de)
2025-01-22 04:23:17 +0100euleritian(~euleritia@ip4d17fae8.dynamic.kabel-deutschland.de) (Remote host closed the connection)
2025-01-22 04:23:34 +0100euleritian(~euleritia@ip4d17fae8.dynamic.kabel-deutschland.de)
2025-01-22 04:25:41 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 248 seconds)
2025-01-22 04:26:54 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
2025-01-22 04:28:40 +0100weary-traveler(~user@user/user363627) (Remote host closed the connection)
2025-01-22 04:32:38 +0100weary-traveler(~user@user/user363627) user363627
2025-01-22 04:37:26 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2025-01-22 04:41:48 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2025-01-22 04:43:15 +0100j1n37(~j1n37@user/j1n37) (Read error: Connection reset by peer)
2025-01-22 04:46:49 +0100j1n37(~j1n37@user/j1n37) j1n37
2025-01-22 04:48:22 +0100AbueloAtrofiado(~AbueloAtr@2806:106e:1b:2d3:3915:1723:c558:3f6b)
2025-01-22 04:48:59 +0100AbueloAtrofiado(~AbueloAtr@2806:106e:1b:2d3:3915:1723:c558:3f6b) (Client Quit)
2025-01-22 04:52:49 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2025-01-22 04:57:09 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
2025-01-22 05:05:37 +0100Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2025-01-22 05:05:52 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) bitdex
2025-01-22 05:08:12 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2025-01-22 05:08:34 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds)
2025-01-22 05:10:59 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-01-22 05:12:35 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2025-01-22 05:15:17 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 248 seconds)
2025-01-22 05:18:43 +0100 <jle`> tuple trees are basically type-level trees -- there's that common trick that you can use them to easily overload/timeout typechecking
2025-01-22 05:18:47 +0100dysthesis(~dysthesis@user/dysthesis) (Remote host closed the connection)
2025-01-22 05:19:01 +0100homo(~homo@user/homo) homo
2025-01-22 05:19:45 +0100aforemny(~aforemny@2001:9e8:6ce4:b500:6e75:95aa:3ce2:b258) aforemny
2025-01-22 05:19:49 +0100 <jle`> :t let f x = (x, x) in f . f . f . f . f . f . f . f
2025-01-22 05:19:50 +0100 <lambdabot> b -> ((((((((b, b), (b, b)), ((b, b), (b, b))), (((b, b), (b, b)), ((b, b), (b, b)))), ((((b, b), (b, b)), ((b, b), (b, b))), (((b, b), (b, b)), ((b, b), (b, b))))), (((((b, b), (b, b)), ((b, b), (b,
2025-01-22 05:19:50 +0100 <lambdabot> b))), (((b, b), (b, b)), ((b, b), (b, b)))), ((((b, b), (b, b)), ((b, b), (b, b))), (((b, b), (b, b)), ((b, b), (b, b)))))), ((((((b, b), (b, b)), ((b, b), (b, b))), (((b, b), (b, b)), ((b, b), (b,
2025-01-22 05:19:50 +0100 <lambdabot> b)))), ((((b, b), (b, b)), ((b, b), (b, b))), (((b, b), (b, b)), ((b, b), (b, b))))), (((((b, b), (b, b)), ((b, b), (b, b))), (((b, b), (b, b)), ((b, b), (b, b)))), ((((b, b), (b, b)), ((b, b), (b,
2025-01-22 05:19:50 +0100 <lambdabot> b))), (((b, b), (b, b)), ((b, b), (b, b))))))), (((((((b, b), (b, b)), ((b, b), (b, b))), (((b, b), (b, b)), ((b, b), (b, b)))), ((((b, b), (b, b)), ((b, b), (b, b))), (((b, b), (b, b)), ((b, b), (b,
2025-01-22 05:19:50 +0100 <lambdabot> b))))), (((((b, b), (b, b)), ((b, b), (b, b))), (((b, b), (b, b)), ((b, b), (b, b)))), ((((b, b), (b, b)), ((b, b), (b, b))), (((b, b), (b, b)), ((b, b), (b, b)))))), ((((((b, b), (b, b)), ((b, b),
2025-01-22 05:19:52 +0100 <lambdabot> (b, b))), (((b, b), (b, b)), ((b, b), (b, b)))), ((((b, b), (b, b)), ((b, b), (b, b))), (((b, b), (b, b)), ((b, b), (b, b))))), (((((b, b), (b, b)), ((b, b), (b, b))), (((b, b), (b, b)), ((b, b), (b,
2025-01-22 05:19:54 +0100 <lambdabot> b)))), ((((b, b), (b, b)), ((b, b), (b, b))), (((b, b), (b, b)), ((b, b), (b, b))))))))
2025-01-22 05:19:58 +0100 <jle`> oh sorry i didn't realize that would actually evaluate
2025-01-22 05:20:36 +0100aforemny_(~aforemny@2001:9e8:6cc6:4600:1315:1249:75e2:82ec) (Ping timeout: 276 seconds)
2025-01-22 05:23:34 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2025-01-22 05:27:45 +0100 <monochrom> But yeah it's exponential length output so exponential time so we're cool. :)
2025-01-22 05:28:00 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2025-01-22 05:28:18 +0100 <geekosaur> most of the slowdown there, though, was lambdabot throttling so it didn't get kicked for flooding…
2025-01-22 05:28:38 +0100 <geekosaur> ghc was done with its delay when the first line came out
2025-01-22 05:33:15 +0100agent314(~quassel@208.131.130.69) agent314
2025-01-22 05:33:47 +0100halloy1022(~halloy102@111.65.75.121)
2025-01-22 05:34:01 +0100halloy1022(~halloy102@111.65.75.121) (Remote host closed the connection)
2025-01-22 05:35:58 +0100 <homo> exciting good news https://github.com/augustss/MicroHs/tree/hugs
2025-01-22 05:38:45 +0100 <haskellbridge> <sm> sounds cool, what will it mean ?
2025-01-22 05:38:57 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2025-01-22 05:43:44 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
2025-01-22 05:54:19 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2025-01-22 05:58:48 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2025-01-22 06:01:43 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-01-22 06:06:07 +0100 <jackdk> MicroHs will be buildable from Hugs, meaning that we have at least one actively developed Haskell compiler that's bootstrappable from C, which means you could if you wanted root its bootstrap chain in hex0, the couple-hundred-byte assembler
2025-01-22 06:06:08 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 252 seconds)
2025-01-22 06:07:56 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2025-01-22 06:11:55 +0100 <geekosaur> I have to say I still don't see the point. The only thing I can think of is vetting the entire build chain, but the xz exploit demonstrated that "Reflections on Trusting Trust" is still with us and only gets worse with every new link in the chain
2025-01-22 06:12:21 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2025-01-22 06:15:15 +0100 <geekosaur> (so you're going to vet patches. (a) damn lot of patches in something as old as gcc; (b) Alice strings together 30 patches, each innocuous but together you get the xz exploit. Will you catch that?)
2025-01-22 06:16:04 +0100tnt2(~Thunderbi@user/tnt1) tnt1
2025-01-22 06:16:10 +0100tnt1(~Thunderbi@user/tnt1) (Ping timeout: 272 seconds)
2025-01-22 06:16:10 +0100tnt2tnt1
2025-01-22 06:23:15 +0100 <mange> Isn't the point of "reflections on trusting trust" that the exploit survives in the binary alone? Bootstrapping at least ensures we can find the exploit in source, eventually.
2025-01-22 06:23:18 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2025-01-22 06:25:38 +0100 <geekosaur> that's just one way to do it. the one I described above is another. there are a lot of exploits possible; RoTT isn't about a single specific form of exploit but the entire class. it uses the specific one as an example
2025-01-22 06:28:12 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 272 seconds)
2025-01-22 06:31:15 +0100 <probie> geekosaur: It's no security panacea, but it still reduces the number of parties you need to trust
2025-01-22 06:38:42 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2025-01-22 06:43:17 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
2025-01-22 06:43:32 +0100ColinRobinson(~juan@user/JuanDaugherty) (Ping timeout: 252 seconds)
2025-01-22 06:45:46 +0100bgamari(~bgamari@64.223.233.64) (Remote host closed the connection)
2025-01-22 06:45:51 +0100fmira(~user@user/fmira) fmira
2025-01-22 06:46:46 +0100acidjnk(~acidjnk@p200300d6e7283f9028c796acceb77e24.dip0.t-ipconnect.de) acidjnk
2025-01-22 06:47:14 +0100bgamari(~bgamari@64.223.233.64)
2025-01-22 06:53:07 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-01-22 06:54:05 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2025-01-22 06:56:05 +0100 <homo> geekosaur even without security concern, for academic haskell this is proof where each binary comes from, guix is a very cool distro for science
2025-01-22 06:57:07 +0100ft(~ft@p4fc2a1c1.dip0.t-ipconnect.de) (Quit: leaving)
2025-01-22 06:58:06 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 276 seconds)
2025-01-22 06:58:45 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
2025-01-22 07:04:02 +0100 <homo> also xz situation shows why free software is important: you can fix it on source level (instead of disassembling binary) and you can legally share your fixes with other people
2025-01-22 07:04:35 +0100Sgeo(~Sgeo@user/sgeo) Sgeo
2025-01-22 07:08:56 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2025-01-22 07:14:04 +0100michalz(~michalz@185.246.207.205)
2025-01-22 07:15:39 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds)
2025-01-22 07:19:14 +0100takuan(~takuan@178-116-218-225.access.telenet.be)
2025-01-22 07:19:35 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich
2025-01-22 07:21:36 +0100acidjnk(~acidjnk@p200300d6e7283f9028c796acceb77e24.dip0.t-ipconnect.de) (Ping timeout: 246 seconds)
2025-01-22 07:23:43 +0100 <homo> btw, the following patch is required to be applied to hugs to ignore integer overflow https://github.com/augustss/hugs98-plus-Sep2006/commit/a87d3a15194e4d7724627e43a94ac1d12ab78f9c.pa…
2025-01-22 07:25:25 +0100agent314(~quassel@208.131.130.69) (Ping timeout: 248 seconds)
2025-01-22 07:27:00 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2025-01-22 07:31:33 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2025-01-22 07:32:55 +0100weary-traveler(~user@user/user363627) (Remote host closed the connection)
2025-01-22 07:39:32 +0100aforemny_(~aforemny@i59F4C565.versanet.de) aforemny
2025-01-22 07:40:24 +0100aforemny(~aforemny@2001:9e8:6ce4:b500:6e75:95aa:3ce2:b258) (Ping timeout: 272 seconds)
2025-01-22 07:42:21 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2025-01-22 07:42:51 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-01-22 07:46:31 +0100beaky_beaky
2025-01-22 07:46:58 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2025-01-22 07:47:17 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 248 seconds)
2025-01-22 07:49:31 +0100euleritian(~euleritia@ip4d17fae8.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds)
2025-01-22 07:49:44 +0100euleritian(~euleritia@dynamic-176-006-129-235.176.6.pool.telefonica.de)
2025-01-22 07:53:21 +0100acidjnk(~acidjnk@p200300d6e7283f902c848c46912cda18.dip0.t-ipconnect.de) acidjnk
2025-01-22 07:57:44 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2025-01-22 08:05:06 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 272 seconds)
2025-01-22 08:08:07 +0100rvalue(~rvalue@user/rvalue) (Read error: Connection reset by peer)
2025-01-22 08:08:39 +0100rvalue(~rvalue@user/rvalue) rvalue
2025-01-22 08:09:57 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2025-01-22 08:14:29 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
2025-01-22 08:25:21 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2025-01-22 08:27:11 +0100Square2(~Square4@user/square) Square
2025-01-22 08:29:51 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds)
2025-01-22 08:33:15 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-01-22 08:33:40 +0100sawilagar(~sawilagar@user/sawilagar) sawilagar
2025-01-22 08:37:33 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 246 seconds)
2025-01-22 08:37:41 +0100agent314(~quassel@208.131.130.89) agent314
2025-01-22 08:37:50 +0100tnt2(~Thunderbi@user/tnt1) tnt1
2025-01-22 08:39:01 +0100tnt1(~Thunderbi@user/tnt1) (Ping timeout: 252 seconds)
2025-01-22 08:39:04 +0100tnt2tnt1
2025-01-22 08:42:18 +0100bgamari(~bgamari@64.223.233.64) (Quit: ZNC 1.8.2 - https://znc.in)
2025-01-22 08:43:42 +0100bgamari(~bgamari@64.223.233.64)
2025-01-22 08:47:18 +0100ZLima12(~zlima12@user/meow/ZLima12) (Ping timeout: 276 seconds)
2025-01-22 08:47:27 +0100ZLima12_(~zlima12@user/meow/ZLima12) ZLima12
2025-01-22 08:50:27 +0100Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2025-01-22 08:54:25 +0100igemnace_igemnace
2025-01-22 08:55:52 +0100sord937(~sord937@gateway/tor-sasl/sord937) sord937
2025-01-22 09:00:01 +0100caconym(~caconym@user/caconym) (Quit: bye)
2025-01-22 09:00:38 +0100caconym(~caconym@user/caconym) caconym
2025-01-22 09:02:32 +0100 <[exa]> wow, cool news from microhs. One could ask if microhs could bootstrap ghc then
2025-01-22 09:08:45 +0100tnt2(~Thunderbi@user/tnt1) tnt1
2025-01-22 09:10:08 +0100tnt1(~Thunderbi@user/tnt1) (Ping timeout: 265 seconds)
2025-01-22 09:10:08 +0100tnt2tnt1
2025-01-22 09:10:33 +0100Smiles(uid551636@id-551636.lymington.irccloud.com) Smiles
2025-01-22 09:12:05 +0100acidjnk(~acidjnk@p200300d6e7283f902c848c46912cda18.dip0.t-ipconnect.de) (Ping timeout: 248 seconds)
2025-01-22 09:22:04 +0100dtman34(~dtman34@2601:447:d000:1f5e:1cea:b288:f5aa:1b03) (Quit: ZNC 1.8.2+deb3.1 - https://znc.in)
2025-01-22 09:22:25 +0100dtman34(~dtman34@2601:447:d000:1f5e:5054:ff:fee3:b667) dtman34
2025-01-22 09:22:46 +0100merijn(~merijn@77.242.116.146) merijn
2025-01-22 09:24:19 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-01-22 09:24:35 +0100euleritian(~euleritia@dynamic-176-006-129-235.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
2025-01-22 09:25:11 +0100euleritian(~euleritia@ip2504f9f4.dynamic.kabel-deutschland.de)
2025-01-22 09:27:39 +0100gmg(~user@user/gehmehgeh) gehmehgeh
2025-01-22 09:27:58 +0100kuribas(~user@ptr-17d51emnohepwfpyix2.18120a2.ip6.access.telenet.be) kuribas
2025-01-22 09:28:37 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 244 seconds)
2025-01-22 09:29:38 +0100tnt2(~Thunderbi@user/tnt1) tnt1
2025-01-22 09:29:58 +0100tnt1(~Thunderbi@user/tnt1) (Ping timeout: 272 seconds)
2025-01-22 09:29:59 +0100tnt2tnt1
2025-01-22 09:35:16 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 265 seconds)
2025-01-22 09:39:06 +0100Square(~Square@user/square) Square
2025-01-22 09:39:59 +0100 <kqr> I feel like I'
2025-01-22 09:40:04 +0100 <kqr> Oops, premature return. Sorry!
2025-01-22 09:41:11 +0100 <kqr> I feel like I'm missing something obvious here. I have a Data.Fixed number, and I want to stringify it with just the precision needed. I.e. something like 200 becomes "200", 5 becomes "5", while 0.1 becomes "0.1", and 0.003 is "0.003". I could do this manually, of course, but there ought to be something to help me, right?
2025-01-22 09:48:25 +0100acidjnk(~acidjnk@p200300d6e7283f9071ccd1d777a13b28.dip0.t-ipconnect.de) acidjnk
2025-01-22 09:49:09 +0100 <opqdonut> kqr: showFixed, "First arg is whether to chop off trailing zeros"
2025-01-22 09:53:35 +0100alexherbo2(~alexherbo@2a02-8440-350e-d10b-25a2-ca7e-51a0-4409.rev.sfr.net) alexherbo2
2025-01-22 09:54:45 +0100Square(~Square@user/square) (Ping timeout: 248 seconds)
2025-01-22 09:56:10 +0100machinedgod(~machinedg@d108-173-18-100.abhsia.telus.net) machinedgod
2025-01-22 09:57:46 +0100merijn(~merijn@77.242.116.146) (Quit: leaving)
2025-01-22 10:02:05 +0100merijn(~merijn@77.242.116.146) merijn
2025-01-22 10:06:02 +0100 <kqr> opqdonut, Wait, yeah, that does exactly what I need. I think when I tested it I accidentally gave it the wrong boolean and then never stopped to think it through again. Thanks!
2025-01-22 10:14:23 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-01-22 10:18:43 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 245 seconds)
2025-01-22 10:39:55 +0100 <hellwolf> I am missing the "why" clearly stated for the MicroHs. But it's exciting if we could bootstrap GHC from it.
2025-01-22 10:40:17 +0100alexherbo2(~alexherbo@2a02-8440-350e-d10b-25a2-ca7e-51a0-4409.rev.sfr.net) (Remote host closed the connection)
2025-01-22 10:40:36 +0100alexherbo2(~alexherbo@2a02-8440-350e-d10b-25a2-ca7e-51a0-4409.rev.sfr.net) alexherbo2
2025-01-22 10:42:14 +0100cy7(~yt@pool-99-238-69-14.cpe.net.cable.rogers.com) (Ping timeout: 252 seconds)
2025-01-22 10:44:49 +0100xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 248 seconds)
2025-01-22 10:48:01 +0100 <haskellbridge> <sm> why microhs exists at all ?
2025-01-22 10:48:03 +0100 <homo> [exa] I'm afraid without cooperation from ghc developers, ghc will never be buildable by alternative implementations, because ghc depends too much on its own extensions and internal quirks, and 7.x bugs show there is no guarantee that ghc can build itself, alternative option is to fork ghc to reduce those requirements
2025-01-22 10:49:36 +0100JuanDaugherty(~juan@user/JuanDaugherty) JuanDaugherty
2025-01-22 10:51:23 +0100lxsameer(~lxsameer@Serene/lxsameer) lxsameer
2025-01-22 10:53:10 +0100 <[exa]> sm: because there's never enough compiler alternatives
2025-01-22 10:53:29 +0100 <haskellbridge> <sm> a dramatically simpler, cleaner and more portable new haskell compiler actively maintained by a top haskell developer - valuable
2025-01-22 10:53:41 +0100 <hellwolf> the idea was bootstrap from a older GHC
2025-01-22 10:53:51 +0100 <hellwolf> and GHC compiles itself version by version
2025-01-22 10:54:15 +0100JuanDaughertyColinRobinson
2025-01-22 10:54:17 +0100 <homo> hellwolf how do you get older ghc working on riscv and arm without running x86 instruction emulator?
2025-01-22 10:54:18 +0100 <[exa]> homo: well, true
2025-01-22 10:54:23 +0100sprotte24(~sprotte24@p200300d16f084200f435cd8a7bac203a.dip0.t-ipconnect.de)
2025-01-22 10:55:28 +0100 <homo> older ghc path is what Googulator from #bootstrappable channel prefers
2025-01-22 10:56:20 +0100 <hellwolf> I guess you just need to build an old one from one platform?
2025-01-22 10:56:41 +0100 <hellwolf> ultimate bootstrap goal was build everything from a FORTH compiler
2025-01-22 10:56:49 +0100hellwolfnot being serious here
2025-01-22 10:57:04 +0100 <homo> that assumes I must have an emulator for that platform or I must buy specific hardware
2025-01-22 10:58:17 +0100 <homo> bootstrappable is not about getting archives of all historical laggage, if there is alternative and maintained implementation capable of doing bootstrap it's more preferable path than going back in history
2025-01-22 11:01:10 +0100 <homo> and for self-hosted implementation to be bootstrappable, best practice is that it uses small subset of it's own features, not almost entire set of features
2025-01-22 11:01:16 +0100tnt2(~Thunderbi@user/tnt1) tnt1
2025-01-22 11:01:57 +0100tnt1(~Thunderbi@user/tnt1) (Ping timeout: 248 seconds)
2025-01-22 11:02:20 +0100 <merijn> homo: I mean, GHC doesn't use most of the advanced stuff of itself
2025-01-22 11:02:34 +0100fmira(~user@user/fmira) (Remote host closed the connection)
2025-01-22 11:02:42 +0100 <haskellbridge> <sm> start with say microhs, build progressively more featureful variants of ghc
2025-01-22 11:03:04 +0100 <haskellbridge> <sm> unless you've all been saying that already, in which case carry on
2025-01-22 11:03:10 +0100fmira(~user@user/fmira) fmira
2025-01-22 11:03:47 +0100 <merijn> homo: I mean, the REAL answer to your bootstrap question is: You'd go through the LLVM backend
2025-01-22 11:03:50 +0100 <homo> also my interest is getting haskell to plan9, I am not insane to port not just elephant, but a freaking blue whale called ghc
2025-01-22 11:04:37 +0100tnt1(~Thunderbi@user/tnt1) tnt1
2025-01-22 11:05:28 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-01-22 11:05:40 +0100 <merijn> homo: Generally you'd want to bootstrap by simply cross-compiling at least a semi-recent GHC to whatever platform
2025-01-22 11:05:41 +0100tnt2(~Thunderbi@user/tnt1) (Ping timeout: 248 seconds)
2025-01-22 11:05:43 +0100 <homo> merijn if it doesn't use those, how do you explain that ghc 4 can't directly build latest version of ghc? can ghc 5 do that? ghc 6? ghc 7? ghc 8?
2025-01-22 11:06:55 +0100sprotte24(~sprotte24@p200300d16f084200f435cd8a7bac203a.dip0.t-ipconnect.de) (Quit: Leaving)
2025-01-22 11:07:26 +0100 <homo> even cross-compiled I won't bother doing work necessary to port ghc neither to different os nor to different processor instruction set
2025-01-22 11:07:49 +0100j1n37(~j1n37@user/j1n37) (Ping timeout: 248 seconds)
2025-01-22 11:09:01 +0100j1n37(~j1n37@user/j1n37) j1n37
2025-01-22 11:09:15 +0100sprotte24(~sprotte24@p200300d16f084200f435cd8a7bac203a.dip0.t-ipconnect.de)
2025-01-22 11:09:44 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 252 seconds)
2025-01-22 11:12:55 +0100 <homo> and 7.x gap got solved last month by Googulator, it's not funny that ghc 7.x can't build ghc 7.x, literally same version of itself
2025-01-22 11:15:27 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2025-01-22 11:16:42 +0100j1n37(~j1n37@user/j1n37) (Ping timeout: 252 seconds)
2025-01-22 11:16:54 +0100swamp_(~zmt00@user/zmt00) zmt00
2025-01-22 11:19:36 +0100fmira(~user@user/fmira) (Remote host closed the connection)
2025-01-22 11:20:27 +0100 <geekosaur> you say this like you think you're ghc's primary stakeholder
2025-01-22 11:20:31 +0100j1n37(~j1n37@user/j1n37) j1n37
2025-01-22 11:20:35 +0100 <geekosaur> the primary stakeholders are:
2025-01-22 11:20:39 +0100 <geekosaur> - PL researchers
2025-01-22 11:20:48 +0100zmt01(~zmt00@user/zmt00) (Ping timeout: 272 seconds)
2025-01-22 11:20:55 +0100 <geekosaur> - industry users (yes, they very much exist _and_ drive ghc development)
2025-01-22 11:20:56 +0100fmira(~user@user/fmira) fmira
2025-01-22 11:21:14 +0100 <geekosaur> - to a lesser extent, pedagogical - teaching
2025-01-22 11:21:38 +0100 <geekosaur> no, ghc is not going to be downgraded so you can build 9.12 with ghc 4
2025-01-22 11:22:28 +0100 <merijn> homo: ok, so suppose we spend 5 or so man-years to make GHC 9 be compilable with GHC 4. Then what? What exactly is the benefit of that massive time investment?
2025-01-22 11:22:32 +0100 <geekosaur> C doesn't have these problems because C doesn't change that redically
2025-01-22 11:22:44 +0100 <homo> geekosaur thank goodness I'm not stakeholder, but that was reply to suggestions such as building from ancient ghc or doing cross-compiling
2025-01-22 11:23:22 +0100 <merijn> homo: So? What's the problem with bootstrapping via ancient versions?
2025-01-22 11:23:30 +0100 <merijn> "It takes time and is annoying to do"?
2025-01-22 11:23:40 +0100 <geekosaur> you want to make life hard for yourself, go right ahead. don't demand everyone else bow to your insistence
2025-01-22 11:23:42 +0100 <merijn> Who cares, how often do you think new platforms get bootstrapped?
2025-01-22 11:23:47 +0100 <homo> merijn don't bother, like I said earlier my goal is to get haskell to plan9 and I am satisfied with microhs
2025-01-22 11:24:21 +0100 <merijn> I mean, at this point anything that's not GHC isn't Haskell in any practical sense, tbh.
2025-01-22 11:24:39 +0100 <merijn> Even UHC is questionable, since it presumably can't compile large parts of Hackage
2025-01-22 11:25:34 +0100 <homo> the only thing that can be worse than ghc in terms of quality is zig, because to bootstrap zig you need to rebuild zig 0.10.0 32 times and zig 0.11.0 16 times, all those 48 are slightly different from each other, but broken enough to need step-by-step source code adjustments after every build
2025-01-22 11:27:51 +0100j1n37(~j1n37@user/j1n37) (Ping timeout: 276 seconds)
2025-01-22 11:29:09 +0100tnt2(~Thunderbi@user/tnt1) tnt1
2025-01-22 11:29:14 +0100j1n37(~j1n37@user/j1n37) j1n37
2025-01-22 11:30:23 +0100tnt1(~Thunderbi@user/tnt1) (Ping timeout: 245 seconds)
2025-01-22 11:30:24 +0100tnt2tnt1
2025-01-22 11:30:33 +0100EvanR(~EvanR@user/evanr) (Ping timeout: 252 seconds)
2025-01-22 11:34:12 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-01-22 11:34:18 +0100 <kuribas> Can you not compile ghc to C, and bootstrap from there?
2025-01-22 11:34:20 +0100 <homo> merijn and practically microhs "not being haskell" is irrelevant if all I want is to have compiler for lazy statically-typed functional programming language on plan9, even if ghc was on plan9 I would unlikely be able to build more than 1% of packages on stackage, because plan9 is neither posix nor microsoft windows
2025-01-22 11:34:24 +0100j1n37-(~j1n37@user/j1n37) j1n37
2025-01-22 11:35:00 +0100j1n37(~j1n37@user/j1n37) (Ping timeout: 276 seconds)
2025-01-22 11:35:51 +0100 <merijn> kuribas: Only kinda
2025-01-22 11:36:29 +0100 <homo> just to port microhs to plan9 I'll still have to rewrite combinator virtual machine to align with plan9, and on top of that I'll need to get rid of all posix and ffi dependencies in haskell code
2025-01-22 11:36:38 +0100tnt1(~Thunderbi@user/tnt1) (Ping timeout: 245 seconds)
2025-01-22 11:36:54 +0100tnt1(~Thunderbi@user/tnt1) tnt1
2025-01-22 11:37:04 +0100tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz)
2025-01-22 11:38:18 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 245 seconds)
2025-01-22 11:39:28 +0100 <homo> kuribas 1. for clean bootstrap something other than ghc must be able to convert ghc language into c language, 2. practically plan9 is so different that you'll need to rewrite generated c code by hand
2025-01-22 11:40:21 +0100 <hellwolf> huh, why plan9 was brought up.
2025-01-22 11:40:52 +0100hellwolfretiring from this thread, I guess I got lost somewhere
2025-01-22 11:41:28 +0100xff0x(~xff0x@2405:6580:b080:900:55d6:5b69:524c:1857)
2025-01-22 11:42:58 +0100j1n37-(~j1n37@user/j1n37) (Ping timeout: 272 seconds)
2025-01-22 11:42:59 +0100j1n37(~j1n37@user/j1n37) j1n37
2025-01-22 11:43:49 +0100__monty__(~toonn@user/toonn) toonn
2025-01-22 11:44:41 +0100chele(~chele@user/chele) chele
2025-01-22 11:47:53 +0100j1n37(~j1n37@user/j1n37) (Ping timeout: 245 seconds)
2025-01-22 11:50:46 +0100j1n37(~j1n37@user/j1n37) j1n37
2025-01-22 11:57:44 +0100pointlessslippe1(~pointless@62.106.85.17) (Read error: Connection reset by peer)
2025-01-22 11:58:10 +0100 <homo> hellwolf I'm focused on something more realistic than bootstrapping ghc and porting ghc to different platform (whether it is processor instuction set or operating system), bootstrapping haskell on different platform doesn't imply bootstrapping ghc, I don't intend to sound like ghc's stakeholder, rather I respect their lack of interest by not working with them
2025-01-22 11:58:29 +0100j1n37-(~j1n37@user/j1n37) j1n37
2025-01-22 11:58:55 +0100j1n37(~j1n37@user/j1n37) (Ping timeout: 264 seconds)
2025-01-22 12:01:23 +0100pointlessslippe1(~pointless@62.106.85.17) pointlessslippe1
2025-01-22 12:01:48 +0100 <kuribas> homo: "lazy statically-typed", are there other than haskell?
2025-01-22 12:02:59 +0100 <geekosaur> curry
2025-01-22 12:03:00 +0100 <homo> I'll say it more completely: lazy statically-typed with IO monad and pretty syntax, combination of which cannot be found in other languages
2025-01-22 12:03:39 +0100agent314(~quassel@208.131.130.89) (Ping timeout: 265 seconds)
2025-01-22 12:03:50 +0100agent314(~quassel@208.131.130.116) agent314
2025-01-22 12:03:57 +0100 <kuribas> there idris2 with optional lazyness.
2025-01-22 12:04:19 +0100 <kuribas> I wouldn't call haskell "pretty syntax".
2025-01-22 12:05:32 +0100 <homo> kuribas try working with communities that use haxe and guile, you'll understand what I mean by pretty syntax
2025-01-22 12:07:12 +0100j1n37-(~j1n37@user/j1n37) (Ping timeout: 246 seconds)
2025-01-22 12:07:38 +0100j1n37(~j1n37@user/j1n37) j1n37
2025-01-22 12:08:03 +0100 <merijn> kuribas: Clean?
2025-01-22 12:08:32 +0100 <homo> I don't recall clean having IO monad
2025-01-22 12:08:37 +0100 <geekosaur> they said "IO monad"
2025-01-22 12:08:47 +0100 <geekosaur> Clean uses uniqueness types instead
2025-01-22 12:11:01 +0100agent314_(~quassel@208.131.130.89) agent314
2025-01-22 12:11:09 +0100agent314(~quassel@208.131.130.116) (Ping timeout: 260 seconds)
2025-01-22 12:11:17 +0100 <hellwolf> | However, Clean deals with mutable state and input/output (I/O) through a uniqueness type system, in contrast to Haskell's use of monads.
2025-01-22 12:12:53 +0100j1n37(~j1n37@user/j1n37) (Ping timeout: 248 seconds)
2025-01-22 12:13:31 +0100 <geekosaur> (granting that what Clean claims about Haskell is BS because monads have nothing to do with how IO and ST work)
2025-01-22 12:13:58 +0100 <geekosaur> (they just provide sequencing, the real magic is buried in `runRW#`)
2025-01-22 12:17:23 +0100 <hellwolf> re that "sequencing", I recently fixed a bug in a monad that I implemented, where I had a bug related to "sequencing". The short story, it didn't. But it's not monad's fault. That starts to make me to realign my intuition. I can't fully articulate everything rigorously yet, but I definitely would not assume monad means sequences.
2025-01-22 12:17:57 +0100 <geekosaur> the specific way IO and ST use it guarantees sequencing, and that is the sole reason that they are monads
2025-01-22 12:18:07 +0100j1n37(~j1n37@user/j1n37) j1n37
2025-01-22 12:18:57 +0100 <geekosaur> whereas, do you know about accursedUnutterablePerformIO? all it does is inline runRW#. and that causes the world to come unraveled
2025-01-22 12:19:12 +0100remedan(~remedan@ip-62-245-108-153.bb.vodafone.cz) (Quit: Bye!)
2025-01-22 12:19:40 +0100Smiles(uid551636@id-551636.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2025-01-22 12:20:48 +0100alexherbo2(~alexherbo@2a02-8440-350e-d10b-25a2-ca7e-51a0-4409.rev.sfr.net) (Remote host closed the connection)
2025-01-22 12:21:09 +0100 <hellwolf> 01-22 13:17 <geekosaur> the specific way IO and ST use it guarantees sequencing, and that is the sole reason that they are monads
2025-01-22 12:21:09 +0100 <hellwolf> yea, that's probably a better phrase of cause and effect.
2025-01-22 12:21:09 +0100 <hellwolf> There is nothing "sequential" about the list monad, e.g.
2025-01-22 12:22:06 +0100 <geekosaur> strictly speaking there is, but it's because lists are (linked) lists so sequential is pretty much the rule of the day
2025-01-22 12:24:33 +0100ubert(~Thunderbi@2a02:8109:ab8a:5a00:8ff4:ecd1:bf2c:3514) ubert
2025-01-22 12:25:57 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-01-22 12:26:39 +0100remedan(~remedan@ip-62-245-108-153.bb.vodafone.cz) remedan
2025-01-22 12:28:55 +0100j1n37(~j1n37@user/j1n37) (Ping timeout: 252 seconds)
2025-01-22 12:30:24 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 252 seconds)
2025-01-22 12:30:29 +0100euleritian(~euleritia@ip2504f9f4.dynamic.kabel-deutschland.de) (Ping timeout: 244 seconds)
2025-01-22 12:30:39 +0100euleritian(~euleritia@dynamic-176-006-138-118.176.6.pool.telefonica.de)
2025-01-22 12:31:29 +0100remedan(~remedan@ip-62-245-108-153.bb.vodafone.cz) (Client Quit)
2025-01-22 12:32:31 +0100j1n37(~j1n37@user/j1n37) j1n37
2025-01-22 12:33:28 +0100remedan(~remedan@ip-62-245-108-153.bb.vodafone.cz) remedan
2025-01-22 12:35:58 +0100benjamin(~benjamin@2a03:4b80:a720:7ac0:3716:ccab:82b8:4e6a)
2025-01-22 12:38:55 +0100j1n37-(~j1n37@user/j1n37) j1n37
2025-01-22 12:39:34 +0100j1n37(~j1n37@user/j1n37) (Ping timeout: 252 seconds)
2025-01-22 12:46:23 +0100xdminsy(~xdminsy@117.147.71.185) (Read error: Connection reset by peer)
2025-01-22 12:46:57 +0100acidjnk(~acidjnk@p200300d6e7283f9071ccd1d777a13b28.dip0.t-ipconnect.de) (Ping timeout: 248 seconds)
2025-01-22 12:47:11 +0100xdminsy(~xdminsy@117.147.71.185) xdminsy
2025-01-22 12:47:50 +0100m5zs7k(aquares@web10.mydevil.net) (Ping timeout: 244 seconds)
2025-01-22 12:48:44 +0100xdminsy(~xdminsy@117.147.71.185) (Read error: Connection reset by peer)
2025-01-22 12:49:28 +0100j1n37-(~j1n37@user/j1n37) (Ping timeout: 252 seconds)
2025-01-22 12:49:37 +0100xdminsy(~xdminsy@117.147.71.185) xdminsy
2025-01-22 12:51:04 +0100rvalue-(~rvalue@user/rvalue) rvalue
2025-01-22 12:52:21 +0100rvalue(~rvalue@user/rvalue) (Ping timeout: 276 seconds)
2025-01-22 12:52:49 +0100m5zs7k(aquares@web10.mydevil.net) m5zs7k
2025-01-22 12:53:25 +0100ZLima12_(~zlima12@user/meow/ZLima12) ()
2025-01-22 12:54:35 +0100sprotte24(~sprotte24@p200300d16f084200f435cd8a7bac203a.dip0.t-ipconnect.de) (Quit: Leaving)
2025-01-22 12:56:27 +0100Smiles(uid551636@id-551636.lymington.irccloud.com) Smiles
2025-01-22 12:56:45 +0100j1n37(~j1n37@user/j1n37) j1n37
2025-01-22 12:57:31 +0100sawilagar(~sawilagar@user/sawilagar) (Quit: Leaving)
2025-01-22 12:57:42 +0100rvalue-rvalue
2025-01-22 12:58:45 +0100homo(~homo@user/homo) (Ping timeout: 248 seconds)
2025-01-22 13:01:46 +0100ZLima12(~zlima12@user/meow/ZLima12) ZLima12
2025-01-22 13:04:13 +0100euleritian(~euleritia@dynamic-176-006-138-118.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
2025-01-22 13:05:23 +0100j1n37(~j1n37@user/j1n37) (Ping timeout: 245 seconds)
2025-01-22 13:05:59 +0100comerijn(~merijn@77.242.116.146) merijn
2025-01-22 13:07:28 +0100j1n37(~j1n37@user/j1n37) j1n37
2025-01-22 13:08:53 +0100merijn(~merijn@77.242.116.146) (Ping timeout: 252 seconds)
2025-01-22 13:09:31 +0100euleritian(~euleritia@ip2504f9f4.dynamic.kabel-deutschland.de)
2025-01-22 13:11:02 +0100homo(~homo@user/homo) homo
2025-01-22 13:13:44 +0100ColinRobinson(~juan@user/JuanDaugherty) (Ping timeout: 265 seconds)
2025-01-22 13:14:05 +0100j1n37-(~j1n37@user/j1n37) j1n37
2025-01-22 13:14:45 +0100j1n37(~j1n37@user/j1n37) (Ping timeout: 248 seconds)
2025-01-22 13:15:20 +0100anon9(~lockywolf@coconut.lockywolf.net) (Read error: Connection reset by peer)
2025-01-22 13:15:40 +0100homo(~homo@user/homo) (Ping timeout: 265 seconds)
2025-01-22 13:16:00 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-01-22 13:17:54 +0100jespada(~jespada@2800:a4:2218:a200:482e:fef6:692e:a2e1) jespada
2025-01-22 13:19:04 +0100alexherbo2(~alexherbo@2a02-8440-350e-d10b-25a2-ca7e-51a0-4409.rev.sfr.net) alexherbo2
2025-01-22 13:20:16 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 252 seconds)
2025-01-22 13:23:14 +0100lockywolf(~lockywolf@coconut.lockywolf.net) lockywolf
2025-01-22 13:26:41 +0100acidjnk(~acidjnk@p200300d6e7283f901940e4dc08dc50c4.dip0.t-ipconnect.de) acidjnk
2025-01-22 13:26:50 +0100m5zs7k(aquares@web10.mydevil.net) (Ping timeout: 272 seconds)
2025-01-22 13:26:56 +0100homo(~homo@user/homo) homo
2025-01-22 13:32:26 +0100m5zs7k(aquares@web10.mydevil.net) m5zs7k
2025-01-22 13:32:41 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2025-01-22 13:33:50 +0100j1n37-(~j1n37@user/j1n37) (Ping timeout: 252 seconds)
2025-01-22 13:34:00 +0100j1n37(~j1n37@user/j1n37) j1n37
2025-01-22 13:36:31 +0100benjamin(~benjamin@2a03:4b80:a720:7ac0:3716:ccab:82b8:4e6a) (Quit: benjamin)
2025-01-22 13:36:39 +0100benjamin(~benjamin@2a03:4b80:a720:7ac0:3716:ccab:82b8:4e6a)
2025-01-22 13:38:36 +0100j1n37-(~j1n37@user/j1n37) j1n37
2025-01-22 13:39:23 +0100 <spew> homo i'm working on a microhs port to plan9
2025-01-22 13:39:48 +0100j1n37(~j1n37@user/j1n37) (Ping timeout: 276 seconds)
2025-01-22 13:43:54 +0100CiaoSen(~Jura@2a05:5800:213:ca00:ca4b:d6ff:fec1:99da) CiaoSen
2025-01-22 13:44:21 +0100j1n37-(~j1n37@user/j1n37) (Ping timeout: 276 seconds)
2025-01-22 13:46:16 +0100 <homo> spew don't rush it, bootstrap from hugs is still incomplete, and pre-generated combinators assume posix environment
2025-01-22 13:47:01 +0100 <homo> unless you really want it to be inside ape layer
2025-01-22 13:47:53 +0100 <haskellbridge> <maerwald> Hi homo
2025-01-22 13:49:36 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) lortabac
2025-01-22 13:52:02 +0100alexherbo2(~alexherbo@2a02-8440-350e-d10b-25a2-ca7e-51a0-4409.rev.sfr.net) (Remote host closed the connection)
2025-01-22 13:52:22 +0100alexherbo2(~alexherbo@2a02-8440-350e-d10b-25a2-ca7e-51a0-4409.rev.sfr.net) alexherbo2
2025-01-22 13:56:00 +0100 <homo> hi
2025-01-22 13:57:48 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2025-01-22 14:00:52 +0100Achylles(~Achylles@45.182.57.13) Achylles
2025-01-22 14:01:04 +0100j1n37(~j1n37@user/j1n37) j1n37
2025-01-22 14:01:57 +0100mange(~user@user/mange) (Quit: Zzz...)
2025-01-22 14:03:26 +0100Achylles(~Achylles@45.182.57.13) (Read error: Connection reset by peer)
2025-01-22 14:06:24 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-01-22 14:09:07 +0100j1n37(~j1n37@user/j1n37) (Ping timeout: 264 seconds)
2025-01-22 14:09:47 +0100L29Ah(~L29Ah@wikipedia/L29Ah) (Read error: Connection timed out)
2025-01-22 14:10:46 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 265 seconds)
2025-01-22 14:14:20 +0100benjamin(~benjamin@2a03:4b80:a720:7ac0:3716:ccab:82b8:4e6a) (Ping timeout: 272 seconds)
2025-01-22 14:16:36 +0100alx741(~alx741@186.33.188.229)
2025-01-22 14:18:59 +0100 <spew> no, native
2025-01-22 14:21:31 +0100Everything(~Everythin@195.138.86.118) Everything
2025-01-22 14:22:15 +0100xff0x_(~xff0x@2405:6580:b080:900:453a:eee1:9125:e152)
2025-01-22 14:24:09 +0100xff0x(~xff0x@2405:6580:b080:900:55d6:5b69:524c:1857) (Ping timeout: 260 seconds)
2025-01-22 14:27:28 +0100 <homo> in that case priority right now is to get it to build with hugs, limitation is that hugs doesn't have GHT.Types(Any), so ghc/PrimTable.hs needs to be rewritten to Data.Dynamic or to some abstract tree
2025-01-22 14:27:44 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
2025-01-22 14:28:27 +0100 <homo> I tried to convert it to Data.Dynamic, got myself trapped into fractal of errors - fixing each error brings more errors than before
2025-01-22 14:31:22 +0100simplystuart(~simplystu@c-75-75-152-164.hsd1.pa.comcast.net)
2025-01-22 14:31:51 +0100 <homo> adding GHC.Types(Any) to hugs is still an option though
2025-01-22 14:38:03 +0100 <spew> that's fine, I'll deal with any merge conflicts later
2025-01-22 14:39:49 +0100acidjnk(~acidjnk@p200300d6e7283f901940e4dc08dc50c4.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
2025-01-22 14:40:06 +0100j1n37(~j1n37@user/j1n37) j1n37
2025-01-22 14:41:18 +0100dhil(~dhil@2a0c:b381:588:5f00:a699:dabe:88f8:fb39) dhil
2025-01-22 14:43:31 +0100 <homo> spew I plan to rip off ffi completely and rewrite haskell code that calls ffi to instead use syscalls provided by kernel, thus breaking haskell2010 standard
2025-01-22 14:46:03 +0100j1n37(~j1n37@user/j1n37) (Ping timeout: 252 seconds)
2025-01-22 14:47:33 +0100comerijn(~merijn@77.242.116.146) (Ping timeout: 248 seconds)
2025-01-22 14:48:53 +0100j1n37(~j1n37@user/j1n37) j1n37
2025-01-22 14:49:01 +0100merijn(~merijn@77.242.116.146) merijn
2025-01-22 14:50:12 +0100rekahsoft(~rekahsoft@70.51.99.237) rekahsoft
2025-01-22 14:50:32 +0100omegatron(~some@user/omegatron) omegatron
2025-01-22 14:56:28 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-01-22 14:57:12 +0100ChaiTRex(~ChaiTRex@user/chaitrex) (Ping timeout: 264 seconds)
2025-01-22 14:58:48 +0100ChaiTRex(~ChaiTRex@user/chaitrex) ChaiTRex
2025-01-22 14:59:59 +0100weary-traveler(~user@user/user363627) user363627
2025-01-22 15:00:44 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 252 seconds)
2025-01-22 15:02:28 +0100j1n37(~j1n37@user/j1n37) (Ping timeout: 272 seconds)
2025-01-22 15:04:58 +0100j1n37(~j1n37@user/j1n37) j1n37
2025-01-22 15:10:29 +0100simplystuart(~simplystu@c-75-75-152-164.hsd1.pa.comcast.net) (Ping timeout: 248 seconds)
2025-01-22 15:11:22 +0100j1n37(~j1n37@user/j1n37) (Ping timeout: 252 seconds)
2025-01-22 15:16:37 +0100acidjnk(~acidjnk@p200300d6e7283f90011c28c9cab0cc71.dip0.t-ipconnect.de) acidjnk
2025-01-22 15:17:34 +0100j1n37(~j1n37@user/j1n37) j1n37
2025-01-22 15:19:18 +0100vishalpaudel(~Thunderbi@user/vishalpaudel) vishalpaudel
2025-01-22 15:19:32 +0100 <vishalpaudel> Hi from india
2025-01-22 15:24:43 +0100j1n37(~j1n37@user/j1n37) (Ping timeout: 265 seconds)
2025-01-22 15:25:30 +0100 <hellwolf> Hi!
2025-01-22 15:26:03 +0100j1n37(~j1n37@user/j1n37) j1n37
2025-01-22 15:26:11 +0100 <vishalpaudel> will my chats persist?
2025-01-22 15:26:27 +0100 <vishalpaudel> because i find that in irc, all my chats just wipe away
2025-01-22 15:26:30 +0100 <vishalpaudel> there is no history
2025-01-22 15:26:34 +0100agent314_(~quassel@208.131.130.89) (Ping timeout: 260 seconds)
2025-01-22 15:27:21 +0100 <vishalpaudel> nobody uses irc, huh, only bots are online
2025-01-22 15:27:34 +0100 <hellwolf> https://ircbrowse.tomsmeding.com/browse/lchaskell
2025-01-22 15:27:47 +0100 <hellwolf> do you have specific question?
2025-01-22 15:27:49 +0100 <geekosaur> irc has no history by itself but there is a log bot here, see the /topic
2025-01-22 15:28:06 +0100 <geekosaur> and some of us stay connected 24Ă—7
2025-01-22 15:28:38 +0100 <vishalpaudel> @geekosaur, thanks for answering
2025-01-22 15:28:38 +0100 <lambdabot> Unknown command, try @list
2025-01-22 15:28:58 +0100 <vishalpaudel> no #hellwolf
2025-01-22 15:29:09 +0100 <vishalpaudel> hellwolf
2025-01-22 15:29:11 +0100 <hellwolf> what made you interested in joining the channel
2025-01-22 15:29:35 +0100jespada(~jespada@2800:a4:2218:a200:482e:fef6:692e:a2e1) (Quit: My Mac has gone to sleep. ZZZzzz…)
2025-01-22 15:29:35 +0100 <vishalpaudel> curiosity
2025-01-22 15:29:39 +0100 <vishalpaudel> ?
2025-01-22 15:30:04 +0100ystael(~ystael@user/ystael) ystael
2025-01-22 15:30:12 +0100 <vishalpaudel> i mean maybe you are asking about the steps I took that made me join this channel:
2025-01-22 15:30:37 +0100 <vishalpaudel> i was using thunderbird for matrix login for helix-editor, then I realised thunderbird allows irc chats
2025-01-22 15:30:47 +0100 <vishalpaudel> the first irc that came to mind was: #haskell
2025-01-22 15:31:40 +0100 <vishalpaudel> bye
2025-01-22 15:32:15 +0100merijn(~merijn@77.242.116.146) (Ping timeout: 252 seconds)
2025-01-22 15:32:18 +0100vishalpaudel(~Thunderbi@user/vishalpaudel) (Quit: vishalpaudel)
2025-01-22 15:32:37 +0100simplystuart(~simplystu@c-75-75-152-164.hsd1.pa.comcast.net)
2025-01-22 15:32:52 +0100merijn(~merijn@77.242.116.146) merijn
2025-01-22 15:33:28 +0100 <hellwolf> reminds me of tending a bookshop, when a surprise custom pops in then leaves after a few glances.
2025-01-22 15:34:49 +0100 <mauke> I didn't know thunderbird could speak irc
2025-01-22 15:35:21 +0100 <geekosaur> it can
2025-01-22 15:35:29 +0100Sgeo(~Sgeo@user/sgeo) Sgeo
2025-01-22 15:35:30 +0100 <geekosaur> may require a plugin
2025-01-22 15:36:02 +0100 <hellwolf> it's a pity that we didn't get an answer why #haskell was the first channel it came to his mind.
2025-01-22 15:36:36 +0100 <mauke> https://support.mozilla.org/en-US/kb/instant-messaging-and-chat
2025-01-22 15:37:00 +0100 <mauke> I only knew about chatzilla
2025-01-22 15:37:05 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2025-01-22 15:41:18 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2025-01-22 15:41:25 +0100j1n37(~j1n37@user/j1n37) (Ping timeout: 248 seconds)
2025-01-22 15:45:30 +0100jespada(~jespada@2800:a4:2218:a200:482e:fef6:692e:a2e1) jespada
2025-01-22 15:45:31 +0100j1n37(~j1n37@user/j1n37) j1n37
2025-01-22 15:47:07 +0100user_(~user@user/fmira) fmira
2025-01-22 15:47:40 +0100Googulator(~Googulato@2a01-036d-0106-2445-f43e-80de-c8dc-0b63.pool6.digikabel.hu)
2025-01-22 15:49:37 +0100fmira(~user@user/fmira) (Remote host closed the connection)
2025-01-22 15:51:41 +0100j1n37(~j1n37@user/j1n37) (Ping timeout: 252 seconds)
2025-01-22 15:52:51 +0100jespada(~jespada@2800:a4:2218:a200:482e:fef6:692e:a2e1) (Quit: My Mac has gone to sleep. ZZZzzz…)
2025-01-22 15:54:24 +0100merijn(~merijn@77.242.116.146) (Ping timeout: 272 seconds)
2025-01-22 15:56:53 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-01-22 15:58:33 +0100j1n37(~j1n37@user/j1n37) j1n37
2025-01-22 16:01:13 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 245 seconds)
2025-01-22 16:04:36 +0100gentauro(~gentauro@user/gentauro) (Read error: Connection reset by peer)
2025-01-22 16:05:17 +0100merijn(~merijn@77.242.116.146) merijn
2025-01-22 16:05:25 +0100CiaoSen(~Jura@2a05:5800:213:ca00:ca4b:d6ff:fec1:99da) (Ping timeout: 248 seconds)
2025-01-22 16:05:48 +0100Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542) Unicorn_Princess
2025-01-22 16:07:03 +0100j1n37(~j1n37@user/j1n37) (Ping timeout: 245 seconds)
2025-01-22 16:09:13 +0100j1n37(~j1n37@user/j1n37) j1n37
2025-01-22 16:09:40 +0100merijn(~merijn@77.242.116.146) (Ping timeout: 252 seconds)
2025-01-22 16:10:37 +0100remedan(~remedan@ip-62-245-108-153.bb.vodafone.cz) (Quit: Bye!)
2025-01-22 16:10:39 +0100gentauro(~gentauro@user/gentauro) gentauro
2025-01-22 16:11:05 +0100merijn(~merijn@77.242.116.146) merijn
2025-01-22 16:14:29 +0100remedan(~remedan@ip-62-245-108-153.bb.vodafone.cz) remedan
2025-01-22 16:15:08 +0100j1n37-(~j1n37@user/j1n37) j1n37
2025-01-22 16:15:18 +0100j1n37(~j1n37@user/j1n37) (Ping timeout: 272 seconds)
2025-01-22 16:15:29 +0100Smiles(uid551636@id-551636.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2025-01-22 16:17:06 +0100cy7(~yt@pool-99-238-69-14.cpe.net.cable.rogers.com)
2025-01-22 16:20:11 +0100L29Ah(~L29Ah@wikipedia/L29Ah) L29Ah
2025-01-22 16:20:13 +0100JuanDaugherty(~juan@user/JuanDaugherty) JuanDaugherty
2025-01-22 16:20:36 +0100j1n37(~j1n37@user/j1n37) j1n37
2025-01-22 16:21:00 +0100j1n37-(~j1n37@user/j1n37) (Ping timeout: 276 seconds)
2025-01-22 16:26:30 +0100 <glguy> Thunderbird natively supports IRC, no plug-in needed, but it's about the minimum support for it you can have
2025-01-22 16:29:12 +0100comerijn(~merijn@77.242.116.146) merijn
2025-01-22 16:29:42 +0100tt12310978324354(~tt1231@2603:6010:8700:4a81:219f:50d3:618a:a6ee) (Ping timeout: 246 seconds)
2025-01-22 16:31:24 +0100j1n37(~j1n37@user/j1n37) (Ping timeout: 276 seconds)
2025-01-22 16:31:48 +0100merijn(~merijn@77.242.116.146) (Ping timeout: 246 seconds)
2025-01-22 16:33:21 +0100JuanDaugherty(~juan@user/JuanDaugherty) (Ping timeout: 276 seconds)
2025-01-22 16:36:00 +0100 <dminuoso> I have an assoc list [(Text, Int)] that I need to do lookup on in both directions. Now I can keep a duplicate [(Int, Text)] which feels like a waaste,, copy and rewrite from base/ghc-internal including the RULES which feels a bit silly...
2025-01-22 16:37:41 +0100j1n37(~j1n37@user/j1n37) j1n37
2025-01-22 16:38:19 +0100simplystuart(~simplystu@c-75-75-152-164.hsd1.pa.comcast.net) (Ping timeout: 260 seconds)
2025-01-22 16:42:37 +0100j1n37(~j1n37@user/j1n37) (Ping timeout: 244 seconds)
2025-01-22 16:42:59 +0100Googulator(~Googulato@2a01-036d-0106-2445-f43e-80de-c8dc-0b63.pool6.digikabel.hu) (Quit: Client closed)
2025-01-22 16:43:12 +0100Googulator(~Googulato@2a01-036d-0106-2445-f43e-80de-c8dc-0b63.pool6.digikabel.hu)
2025-01-22 16:44:03 +0100acidjnk(~acidjnk@p200300d6e7283f90011c28c9cab0cc71.dip0.t-ipconnect.de) (Ping timeout: 246 seconds)
2025-01-22 16:46:00 +0100pavonia(~user@user/siracusa) (Quit: Bye!)
2025-01-22 16:47:19 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-01-22 16:49:38 +0100euleritian(~euleritia@ip2504f9f4.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds)
2025-01-22 16:49:58 +0100euleritian(~euleritia@dynamic-176-006-134-141.176.6.pool.telefonica.de)
2025-01-22 16:51:45 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 248 seconds)
2025-01-22 16:52:53 +0100j1n37(~j1n37@user/j1n37) j1n37
2025-01-22 16:53:04 +0100CiaoSen(~Jura@2a05:5800:213:ca00:ca4b:d6ff:fec1:99da) CiaoSen
2025-01-22 16:57:41 +0100simplystuart(~simplystu@c-75-75-152-164.hsd1.pa.comcast.net)
2025-01-22 17:00:21 +0100j1n37(~j1n37@user/j1n37) (Ping timeout: 248 seconds)
2025-01-22 17:01:21 +0100alecs(~alecs@nat16.software.imdea.org) (Ping timeout: 248 seconds)
2025-01-22 17:03:35 +0100alexherbo2(~alexherbo@2a02-8440-350e-d10b-25a2-ca7e-51a0-4409.rev.sfr.net) (Remote host closed the connection)
2025-01-22 17:04:34 +0100Feuermagier(~Feuermagi@user/feuermagier) (Ping timeout: 260 seconds)
2025-01-22 17:08:03 +0100 <tomsmeding> dminuoso: https://hackage.haskell.org/package/bimap-0.5.0/docs/Data-Bimap.html ?
2025-01-22 17:09:25 +0100simplystuart(~simplystu@c-75-75-152-164.hsd1.pa.comcast.net) (Remote host closed the connection)
2025-01-22 17:09:41 +0100simplystuart(~simplystu@c-75-75-152-164.hsd1.pa.comcast.net)
2025-01-22 17:11:21 +0100ft(~ft@p4fc2a1c1.dip0.t-ipconnect.de) ft
2025-01-22 17:13:37 +0100LainExperiments(~LainExper@user/LainExperiments) LainExperiments
2025-01-22 17:14:08 +0100simplystuart(~simplystu@c-75-75-152-164.hsd1.pa.comcast.net) (Ping timeout: 245 seconds)
2025-01-22 17:19:18 +0100j1n37(~j1n37@user/j1n37) j1n37
2025-01-22 17:21:00 +0100simplystuart(~simplystu@c-75-75-152-164.hsd1.pa.comcast.net)
2025-01-22 17:25:12 +0100rstromlund(~user@user/rstromlund) rstromlund
2025-01-22 17:26:21 +0100rstromlu`(~user@208.94.155.174)
2025-01-22 17:30:57 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Ping timeout: 246 seconds)
2025-01-22 17:31:18 +0100CiaoSen(~Jura@2a05:5800:213:ca00:ca4b:d6ff:fec1:99da) (Ping timeout: 246 seconds)
2025-01-22 17:31:38 +0100j1n37(~j1n37@user/j1n37) (Ping timeout: 245 seconds)
2025-01-22 17:32:25 +0100jespada(~jespada@2800:a4:2218:a200:482e:fef6:692e:a2e1) jespada
2025-01-22 17:35:49 +0100Feuermagier(~Feuermagi@user/feuermagier) Feuermagier
2025-01-22 17:36:40 +0100comerijn(~merijn@77.242.116.146) (Ping timeout: 265 seconds)
2025-01-22 17:38:03 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-01-22 17:38:10 +0100Smiles(uid551636@id-551636.lymington.irccloud.com) Smiles
2025-01-22 17:39:07 +0100Googulator(~Googulato@2a01-036d-0106-2445-f43e-80de-c8dc-0b63.pool6.digikabel.hu) (Quit: Client closed)
2025-01-22 17:39:24 +0100Googulator(~Googulato@2a01-036d-0106-2445-f43e-80de-c8dc-0b63.pool6.digikabel.hu)
2025-01-22 17:40:58 +0100JuanDaugherty(~juan@user/JuanDaugherty) JuanDaugherty
2025-01-22 17:41:48 +0100j1n37(~j1n37@user/j1n37) j1n37
2025-01-22 17:42:29 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 248 seconds)
2025-01-22 17:44:25 +0100chele(~chele@user/chele) (Remote host closed the connection)
2025-01-22 17:46:50 +0100Everything(~Everythin@195.138.86.118) (Ping timeout: 252 seconds)
2025-01-22 17:50:42 +0100j1n37(~j1n37@user/j1n37) (Ping timeout: 276 seconds)
2025-01-22 17:51:10 +0100euphores(~SASL_euph@user/euphores) (Quit: Leaving.)
2025-01-22 17:53:21 +0100cy7(~yt@pool-99-238-69-14.cpe.net.cable.rogers.com) (Ping timeout: 246 seconds)
2025-01-22 17:57:03 +0100JuanDaughertyColinRobinson
2025-01-22 18:02:09 +0100euphores(~SASL_euph@user/euphores) euphores
2025-01-22 18:05:52 +0100tt12310978324354(~tt1231@2603:6010:8700:4a81:219f:50d3:618a:a6ee) tt1231
2025-01-22 18:08:28 +0100srazkvt(~sarah@user/srazkvt) srazkvt
2025-01-22 18:10:13 +0100machinedgod(~machinedg@d108-173-18-100.abhsia.telus.net) (Ping timeout: 248 seconds)
2025-01-22 18:11:13 +0100euleritian(~euleritia@dynamic-176-006-134-141.176.6.pool.telefonica.de) (Ping timeout: 248 seconds)
2025-01-22 18:11:39 +0100euleritian(~euleritia@dynamic-176-006-143-131.176.6.pool.telefonica.de)
2025-01-22 18:12:56 +0100remedan(~remedan@ip-62-245-108-153.bb.vodafone.cz) (Quit: Bye!)
2025-01-22 18:13:45 +0100LainExperiments(~LainExper@user/LainExperiments) (Quit: Client closed)
2025-01-22 18:13:46 +0100remedan(~remedan@ip-62-245-108-153.bb.vodafone.cz) remedan
2025-01-22 18:19:42 +0100gmg(~user@user/gehmehgeh) (Quit: Leaving)
2025-01-22 18:22:02 +0100simplystuart(~simplystu@c-75-75-152-164.hsd1.pa.comcast.net) (Ping timeout: 252 seconds)
2025-01-22 18:22:03 +0100CiaoSen(~Jura@2a05:5800:213:ca00:ca4b:d6ff:fec1:99da) CiaoSen
2025-01-22 18:22:30 +0100gmg(~user@user/gehmehgeh) gehmehgeh
2025-01-22 18:24:13 +0100dhil(~dhil@2a0c:b381:588:5f00:a699:dabe:88f8:fb39) (Ping timeout: 252 seconds)
2025-01-22 18:27:39 +0100alecs(~alecs@61.pool85-58-154.dynamic.orange.es) alecs
2025-01-22 18:27:47 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-01-22 18:30:09 +0100euleritian(~euleritia@dynamic-176-006-143-131.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
2025-01-22 18:30:27 +0100euleritian(~euleritia@ip4d17fae8.dynamic.kabel-deutschland.de)
2025-01-22 18:31:40 +0100rstromlund(~user@user/rstromlund) (Remote host closed the connection)
2025-01-22 18:31:40 +0100rstromlu`(~user@208.94.155.174) (Remote host closed the connection)
2025-01-22 18:31:56 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 252 seconds)
2025-01-22 18:32:50 +0100gmg(~user@user/gehmehgeh) (Remote host closed the connection)
2025-01-22 18:36:07 +0100kadobanana(~mud@user/kadoban) (Ping timeout: 265 seconds)
2025-01-22 18:37:42 +0100simplystuart(~simplystu@c-75-75-152-164.hsd1.pa.comcast.net)
2025-01-22 18:39:00 +0100gmg(~user@user/gehmehgeh) gehmehgeh
2025-01-22 18:41:00 +0100alexherbo2(~alexherbo@2a02-8440-350b-59c9-e473-7bcd-32f4-0905.rev.sfr.net) alexherbo2
2025-01-22 18:41:37 +0100LainExperiments(~LainExper@user/LainExperiments) LainExperiments
2025-01-22 18:44:00 +0100jespada(~jespada@2800:a4:2218:a200:482e:fef6:692e:a2e1) (Quit: My Mac has gone to sleep. ZZZzzz…)
2025-01-22 18:45:13 +0100alexherbo2(~alexherbo@2a02-8440-350b-59c9-e473-7bcd-32f4-0905.rev.sfr.net) (Remote host closed the connection)
2025-01-22 18:48:16 +0100target_i(~target_i@user/target-i/x-6023099) target_i
2025-01-22 18:50:08 +0100lxsameer(~lxsameer@Serene/lxsameer) (Ping timeout: 265 seconds)
2025-01-22 18:51:42 +0100lxsameer(lxsameer@Serene/lxsameer) lxsameer
2025-01-22 18:53:33 +0100dtman34(~dtman34@2601:447:d000:1f5e:5054:ff:fee3:b667) (Ping timeout: 246 seconds)
2025-01-22 18:55:20 +0100tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net) tzh
2025-01-22 18:58:39 +0100benjamin(~benjamin@2a03:4b80:a720:7ac0:8c60:ac8a:de1d:6a28)
2025-01-22 19:01:36 +0100sprotte24(~sprotte24@p200300d16f084200fc9f655953232e47.dip0.t-ipconnect.de)
2025-01-22 19:05:04 +0100kadobanana(~mud@user/kadoban) kadoban
2025-01-22 19:06:45 +0100ColinRobinson(~juan@user/JuanDaugherty) (Ping timeout: 276 seconds)
2025-01-22 19:12:38 +0100lyxia(~lyxia@poisson.chat)
2025-01-22 19:15:10 +0100LainExperiments(~LainExper@user/LainExperiments) (Ping timeout: 240 seconds)
2025-01-22 19:15:31 +0100mud(~mud@user/kadoban) kadoban
2025-01-22 19:15:49 +0100kadobanana(~mud@user/kadoban) (Ping timeout: 260 seconds)
2025-01-22 19:17:12 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-01-22 19:17:36 +0100Tuplanolla(~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) Tuplanolla
2025-01-22 19:17:41 +0100benjamin(~benjamin@2a03:4b80:a720:7ac0:8c60:ac8a:de1d:6a28) (Ping timeout: 265 seconds)
2025-01-22 19:22:08 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 272 seconds)
2025-01-22 19:26:34 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich
2025-01-22 19:27:21 +0100gorignak(~gorignak@user/gorignak) (Quit: quit)
2025-01-22 19:27:52 +0100gorignak(~gorignak@user/gorignak) gorignak
2025-01-22 19:31:22 +0100benjamin(~benjamin@2a03:4b80:a720:7ac0:7928:92d2:fc41:f8b4)
2025-01-22 19:31:56 +0100ljdarj(~Thunderbi@user/ljdarj) ljdarj
2025-01-22 19:34:58 +0100Square(~Square@user/square) Square
2025-01-22 19:37:59 +0100Square2(~Square4@user/square) (Ping timeout: 265 seconds)
2025-01-22 19:38:48 +0100simplystuart(~simplystu@c-75-75-152-164.hsd1.pa.comcast.net) (Ping timeout: 244 seconds)
2025-01-22 19:41:18 +0100cy7(~yt@pool-99-238-69-14.cpe.net.cable.rogers.com)
2025-01-22 19:43:34 +0100JuanDaugherty(~juan@user/JuanDaugherty) JuanDaugherty
2025-01-22 19:43:53 +0100Lord_of_Life_(~Lord@user/lord-of-life/x-2819915) Lord_of_Life
2025-01-22 19:44:18 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 246 seconds)
2025-01-22 19:46:15 +0100fun-safe-math(~fun-safe-@2601:1c2:1b7f:801f:57f8:e679:8a1b:f20a) (Quit: No Ping reply in 180 seconds.)
2025-01-22 19:46:49 +0100Lord_of_Life_Lord_of_Life
2025-01-22 19:48:30 +0100fun-safe-math(~fun-safe-@2601:1c2:1b7f:801f:fa00:fd40:df55:721e) fun-safe-math
2025-01-22 19:49:12 +0100jespada(~jespada@2800:a4:2218:a200:482e:fef6:692e:a2e1) jespada
2025-01-22 19:49:33 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 245 seconds)
2025-01-22 19:52:40 +0100ubert(~Thunderbi@2a02:8109:ab8a:5a00:8ff4:ecd1:bf2c:3514) (Remote host closed the connection)
2025-01-22 19:53:34 +0100kuribas(~user@ptr-17d51emnohepwfpyix2.18120a2.ip6.access.telenet.be) (Remote host closed the connection)
2025-01-22 19:56:01 +0100LainExperiments(~LainExper@user/LainExperiments) LainExperiments
2025-01-22 19:56:52 +0100ash3en(~Thunderbi@ip1f10cbd6.dynamic.kabel-deutschland.de) ash3en
2025-01-22 19:56:57 +0100ash3en(~Thunderbi@ip1f10cbd6.dynamic.kabel-deutschland.de) (Client Quit)
2025-01-22 19:57:10 +0100machinedgod(~machinedg@d108-173-18-100.abhsia.telus.net) machinedgod
2025-01-22 19:59:55 +0100Everything(~Everythin@195.138.86.118) Everything
2025-01-22 20:00:12 +0100LainExperiments(~LainExper@user/LainExperiments) (Client Quit)
2025-01-22 20:00:48 +0100alecs(~alecs@61.pool85-58-154.dynamic.orange.es) (Ping timeout: 245 seconds)
2025-01-22 20:04:07 +0100simplystuart(~simplystu@c-75-75-152-164.hsd1.pa.comcast.net)
2025-01-22 20:05:28 +0100nhar(~noah@host-68-169-128-200.BROOLT1.epbfi.com)
2025-01-22 20:05:34 +0100JuanDaughertyColinRobinson
2025-01-22 20:07:07 +0100sord937(~sord937@gateway/tor-sasl/sord937) (Quit: sord937)
2025-01-22 20:11:11 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-01-22 20:16:18 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 276 seconds)
2025-01-22 20:17:04 +0100Square2(~Square4@user/square) Square
2025-01-22 20:22:17 +0100cy7(~yt@pool-99-238-69-14.cpe.net.cable.rogers.com) (Changing host)
2025-01-22 20:22:17 +0100cy7(~yt@user/cysh) cysh
2025-01-22 20:23:24 +0100benjamin(~benjamin@2a03:4b80:a720:7ac0:7928:92d2:fc41:f8b4) (Ping timeout: 265 seconds)
2025-01-22 20:24:04 +0100Square2(~Square4@user/square) (Ping timeout: 260 seconds)
2025-01-22 20:25:09 +0100mulk(~mulk@pd9514590.dip0.t-ipconnect.de) (Ping timeout: 248 seconds)
2025-01-22 20:27:24 +0100jocke-l(jocke-l@a.x0.is) (Quit: WeeChat 3.8)
2025-01-22 20:27:25 +0100L29Ah(~L29Ah@wikipedia/L29Ah) (Read error: Connection timed out)
2025-01-22 20:27:51 +0100alecs(~alecs@61.pool85-58-154.dynamic.orange.es) alecs
2025-01-22 20:30:38 +0100jocke-l(jocke-l@a.x0.is) jocke-l
2025-01-22 20:31:17 +0100acidjnk(~acidjnk@p200300d6e7283f90cc5a38f326993e22.dip0.t-ipconnect.de) acidjnk
2025-01-22 20:31:20 +0100wootehfoot(~wootehfoo@user/wootehfoot) wootehfoot
2025-01-22 20:34:13 +0100alecs(~alecs@61.pool85-58-154.dynamic.orange.es) (Ping timeout: 248 seconds)
2025-01-22 20:37:08 +0100mulk(~mulk@pd9514894.dip0.t-ipconnect.de) mulk
2025-01-22 20:41:18 +0100pavonia(~user@user/siracusa) siracusa
2025-01-22 20:41:28 +0100machinedgod(~machinedg@d108-173-18-100.abhsia.telus.net) (Remote host closed the connection)
2025-01-22 20:42:53 +0100machinedgod(~machinedg@d108-173-18-100.abhsia.telus.net) machinedgod
2025-01-22 20:46:18 +0100agent314(~quassel@208.131.130.89) agent314
2025-01-22 20:47:50 +0100alecs(~alecs@61.pool85-58-154.dynamic.orange.es) alecs
2025-01-22 20:48:04 +0100srazkvt(~sarah@user/srazkvt) (Quit: Konversation terminated!)
2025-01-22 20:50:06 +0100 <dminuoso> tomsmeding: Not a big fan of depending on packages for a small isolated problem.
2025-01-22 20:50:44 +0100 <tomsmeding> dminuoso: I agree. But this does feel like it would benefit from a data structure that maintains the invariant
2025-01-22 20:50:55 +0100 <tomsmeding> unless the lists are small enough that you want to do linear search
2025-01-22 20:51:07 +0100 <tomsmeding> in which case, lookup and (lookup . map swap)?
2025-01-22 20:51:25 +0100 <tomsmeding> ((lookup .) . map swap), rather
2025-01-22 20:51:30 +0100 <dminuoso> Id have to do some statistical analysis, but I would say 95% of them have less than 15 elements.
2025-01-22 20:51:43 +0100 <tomsmeding> what about the remaining 5%?
2025-01-22 20:51:54 +0100weary-traveler(~user@user/user363627) (Remote host closed the connection)
2025-01-22 20:52:03 +0100 <tomsmeding> complexity analysis is about the worst case. :)
2025-01-22 20:52:04 +0100 <dminuoso> No bigger than 50
2025-01-22 20:52:21 +0100 <dminuoso> Linear search is probably faster in all cases.
2025-01-22 20:52:30 +0100 <tomsmeding> a map might already be faster at that point, because it's not linear search in an array but in a linked list
2025-01-22 20:52:40 +0100 <tomsmeding> but linear search is definitely quite fine, yes
2025-01-22 20:52:45 +0100 <Rembane> Or maybe a vector?
2025-01-22 20:53:28 +0100ash3en(~Thunderbi@ip1f10cbd6.dynamic.kabel-deutschland.de) ash3en
2025-01-22 20:53:34 +0100 <dminuoso> The biggest cost will be equality on the Text probably. ;)
2025-01-22 20:54:00 +0100 <dminuoso> The strings are all short (10-15ish) however
2025-01-22 20:54:02 +0100 <tomsmeding> isn't equality on Text byte-equality, hence memcmp(), hence quite fast?
2025-01-22 20:54:25 +0100 <dminuoso> tomsmeding: Uh, what about collation?
2025-01-22 20:54:27 +0100 <tomsmeding> but this is tangential to the point; is the answer to your original question answered by "lookup and ((lookup .) . map swap)"?
2025-01-22 20:54:30 +0100 <dminuoso> Text contains unicode
2025-01-22 20:54:41 +0100 <dminuoso> But the question is very good actually
2025-01-22 20:54:51 +0100 <dminuoso> I dont.. know?
2025-01-22 20:54:56 +0100ash3en(~Thunderbi@ip1f10cbd6.dynamic.kabel-deutschland.de) (Client Quit)
2025-01-22 20:55:20 +0100 <dminuoso> | lenA == lenB = A.equal arrA offA arrB offB lenA
2025-01-22 20:55:28 +0100 <dminuoso> Guessimport qualified Data.Text.Array as A
2025-01-22 20:55:59 +0100 <dminuoso> https://hackage.haskell.org/package/text-2.1.2/docs/src/Data.Text.Array.html#compareInternal - so this ends up using memcmp or compareByteArrays# after all
2025-01-22 20:57:04 +0100 <dminuoso> Then memcmp is *definitely* faster. Depending on alignment it could a tight loop on a single cache line.
2025-01-22 20:57:26 +0100 <tomsmeding> > "\x61\x308" == "\xe4"
2025-01-22 20:57:28 +0100 <lambdabot> False
2025-01-22 20:57:29 +0100 <dminuoso> And even if not, strided prefetchers will trigger (I dont know the assembly generated by compareByteArrays# however)
2025-01-22 20:57:42 +0100 <tomsmeding> that's a + combining diaeresis, versus the pre-combined form
2025-01-22 20:58:28 +0100 <tomsmeding> took some time checking that I was doing the right thing because my terminal isn't rendering the uncombined form -.-
2025-01-22 20:59:00 +0100 <dminuoso> tomsmeding: Honestly the topic of strings and equality is an annoying business, because "collation" does not refer to a particular authoritative strategy either.
2025-01-22 20:59:10 +0100 <dminuoso> There can be so many notions of equality with string-like data.
2025-01-22 20:59:16 +0100 <tomsmeding> right
2025-01-22 20:59:33 +0100visilii_(~visilii@213.24.126.57)
2025-01-22 20:59:36 +0100 <tomsmeding> I've had the luxury so far of not working on applications where that's actually important
2025-01-22 20:59:46 +0100 <dminuoso> RDBMs tend to get this more right than most programming languages.
2025-01-22 21:00:04 +0100caconym(~caconym@user/caconym) (Quit: bye)
2025-01-22 21:00:41 +0100caconym(~caconym@user/caconym) caconym
2025-01-22 21:01:48 +0100lxsameer(lxsameer@Serene/lxsameer) (Ping timeout: 276 seconds)
2025-01-22 21:01:48 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-01-22 21:02:57 +0100visilii(~visilii@188.254.110.9) (Ping timeout: 248 seconds)
2025-01-22 21:04:33 +0100nhar(~noah@host-68-169-128-200.BROOLT1.epbfi.com) (Ping timeout: 248 seconds)
2025-01-22 21:06:07 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 244 seconds)
2025-01-22 21:08:18 +0100simplystuart(~simplystu@c-75-75-152-164.hsd1.pa.comcast.net) (Ping timeout: 276 seconds)
2025-01-22 21:09:21 +0100ColinRobinsonJuanDaugherty
2025-01-22 21:14:13 +0100ljdarj1(~Thunderbi@user/ljdarj) ljdarj
2025-01-22 21:14:21 +0100JuanDaughertyColinRobinson
2025-01-22 21:14:42 +0100simplystuart(~simplystu@c-75-75-152-164.hsd1.pa.comcast.net)
2025-01-22 21:16:19 +0100acidjnk(~acidjnk@p200300d6e7283f90cc5a38f326993e22.dip0.t-ipconnect.de) (Ping timeout: 264 seconds)
2025-01-22 21:17:32 +0100ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 265 seconds)
2025-01-22 21:17:33 +0100ljdarj1ljdarj
2025-01-22 21:19:08 +0100simplystuart(~simplystu@c-75-75-152-164.hsd1.pa.comcast.net) (Ping timeout: 252 seconds)
2025-01-22 21:21:25 +0100notzmv(~umar@user/notzmv) notzmv
2025-01-22 21:21:48 +0100dtman34(~dtman34@2601:447:d000:1f5e:373d:5f10:fd7d:c913) dtman34
2025-01-22 21:25:38 +0100taleseeker(~taleseeke@185.107.44.16)
2025-01-22 21:26:30 +0100dtman34(~dtman34@2601:447:d000:1f5e:373d:5f10:fd7d:c913) (Ping timeout: 276 seconds)
2025-01-22 21:27:06 +0100weary-traveler(~user@user/user363627) user363627
2025-01-22 21:27:57 +0100dtman34(~dtman34@2601:447:d000:1f5e:db30:cdc7:b397:11f8) dtman34
2025-01-22 21:31:12 +0100gorignak(~gorignak@user/gorignak) (Quit: quit)
2025-01-22 21:31:43 +0100gorignak(~gorignak@user/gorignak) gorignak
2025-01-22 21:35:15 +0100Midjak(~MarciZ@82.66.147.146) Midjak
2025-01-22 21:35:27 +0100acidjnk(~acidjnk@p200300d6e7283f90cc5a38f326993e22.dip0.t-ipconnect.de) acidjnk
2025-01-22 21:37:55 +0100CiaoSen(~Jura@2a05:5800:213:ca00:ca4b:d6ff:fec1:99da) (Ping timeout: 264 seconds)
2025-01-22 21:41:28 +0100homo(~homo@user/homo) (Read error: Connection reset by peer)
2025-01-22 21:44:20 +0100homo(~homo@user/homo) homo
2025-01-22 21:47:12 +0100Smiles(uid551636@id-551636.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2025-01-22 21:49:11 +0100alecs(~alecs@61.pool85-58-154.dynamic.orange.es) (Ping timeout: 252 seconds)
2025-01-22 21:51:00 +0100ljdarj1(~Thunderbi@user/ljdarj) ljdarj
2025-01-22 21:51:53 +0100alfiee(~alfiee@user/alfiee) alfiee