2026/04/07

2026-04-07 00:00:34 +0000peterbecich(~Thunderbi@71.84.33.135) peterbecich
2026-04-07 00:01:30 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
2026-04-07 00:04:34 +0000ft(~ft@p508db341.dip0.t-ipconnect.de) (Quit: Lost terminal)
2026-04-07 00:07:13 +0000ft(~ft@p508db341.dip0.t-ipconnect.de) ft
2026-04-07 00:07:45 +0000machinedgod(~machinedg@d172-219-48-230.abhsia.telus.net) (Ping timeout: 265 seconds)
2026-04-07 00:12:29 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-07 00:17:06 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds)
2026-04-07 00:23:15 +0000somemathguy(~somemathg@user/somemathguy) somemathguy
2026-04-07 00:27:54 +0000merijn(~merijn@62.45.136.136) merijn
2026-04-07 00:29:28 +0000Pozyomka(~pyon@user/pyon) (Quit: brb)
2026-04-07 00:29:41 +0000Pozyomka(~pyon@user/pyon) pyon
2026-04-07 00:30:27 +0000peterbecich(~Thunderbi@71.84.33.135) (Ping timeout: 268 seconds)
2026-04-07 00:30:52 +0000Pozyomka(~pyon@user/pyon) (Client Quit)
2026-04-07 00:31:05 +0000Pozyomka(~pyon@user/pyon) pyon
2026-04-07 00:32:24 +0000merijn(~merijn@62.45.136.136) (Ping timeout: 265 seconds)
2026-04-07 00:33:24 +0000arandombit(~arandombi@2a02:2455:8656:7100:b03c:998e:9d9c:ed2a)
2026-04-07 00:33:24 +0000arandombit(~arandombi@2a02:2455:8656:7100:b03c:998e:9d9c:ed2a) (Changing host)
2026-04-07 00:33:24 +0000arandombit(~arandombi@user/arandombit) arandombit
2026-04-07 00:43:13 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-07 00:47:29 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2026-04-07 00:52:19 +0000GdeVolpiano(~GdeVolpia@user/GdeVolpiano) (Ping timeout: 244 seconds)
2026-04-07 00:53:15 +0000GdeVolpiano(~GdeVolpia@user/GdeVolpiano) GdeVolpiano
2026-04-07 00:58:33 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-07 01:00:19 +0000Ranhir(~Ranhir@157.97.53.139) (Ping timeout: 264 seconds)
2026-04-07 01:00:57 +0000_JusSx_(~username@78.211.138.170) (Ping timeout: 248 seconds)
2026-04-07 01:03:14 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2026-04-07 01:04:51 +0000pfc(~pfc@user/pfc) (Ping timeout: 246 seconds)
2026-04-07 01:06:38 +0000Noinia(~Frank@77-162-168-71.fixed.kpn.net) (Ping timeout: 256 seconds)
2026-04-07 01:08:00 +0000xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp)
2026-04-07 01:12:07 +0000Googulator(~Googulato@2a01-036d-0106-496b-154a-c7fc-9f43-bd2d.pool6.digikabel.hu) (Quit: Client closed)
2026-04-07 01:12:22 +0000Googulator(~Googulato@2a01-036d-0106-496b-154a-c7fc-9f43-bd2d.pool6.digikabel.hu)
2026-04-07 01:12:55 +0000Ranhir(~Ranhir@157.97.53.139) Ranhir
2026-04-07 01:13:55 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-07 01:14:51 +0000Noinia(~Frank@77-162-168-71.fixed.kpn.net)
2026-04-07 01:18:51 +0000karenw(~karenw@user/karenw) karenw
2026-04-07 01:19:14 +0000acidjnk_new(~acidjnk@p200300d6e700e50883c9e32b40afcfd6.dip0.t-ipconnect.de) (Ping timeout: 248 seconds)
2026-04-07 01:20:29 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2026-04-07 01:26:44 +0000arandombit(~arandombi@user/arandombit) (Remote host closed the connection)
2026-04-07 01:27:37 +0000Square2(~Square@user/square) (Ping timeout: 248 seconds)
2026-04-07 01:31:59 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-07 01:36:21 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
2026-04-07 01:40:31 +0000ec(~ec@gateway/tor-sasl/ec) ec
2026-04-07 01:47:20 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-07 01:48:59 +0000jmcantrell_(~weechat@user/jmcantrell) jmcantrell
2026-04-07 01:50:22 +0000craunts795335385(~craunts@152.32.99.2) (Quit: The Lounge - https://thelounge.chat)
2026-04-07 01:51:58 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2026-04-07 02:02:46 +0000merijn(~merijn@62.45.136.136) merijn
2026-04-07 02:02:55 +0000arandombit(~arandombi@user/arandombit) arandombit
2026-04-07 02:02:57 +0000Googulator(~Googulato@2a01-036d-0106-496b-154a-c7fc-9f43-bd2d.pool6.digikabel.hu) (Quit: Client closed)
2026-04-07 02:03:12 +0000Googulator(~Googulato@2a01-036d-0106-496b-154a-c7fc-9f43-bd2d.pool6.digikabel.hu)
2026-04-07 02:07:05 +0000synchromesh(~john@2406:5a00:2412:2c00:75ab:7cb0:db12:1e18) (Read error: Connection reset by peer)
2026-04-07 02:07:39 +0000merijn(~merijn@62.45.136.136) (Ping timeout: 268 seconds)
2026-04-07 02:08:20 +0000synchromesh(~john@2406:5a00:2412:2c00:75ab:7cb0:db12:1e18) synchromesh
2026-04-07 02:12:14 +0000peterbecich(~Thunderbi@71.84.33.135) peterbecich
2026-04-07 02:13:50 +0000vidak(~vidak@2407:e400:7800:2c01:c4db:d9c4:aac4:94f6) (Ping timeout: 252 seconds)
2026-04-07 02:18:45 +0000arandombit(~arandombi@user/arandombit) (Ping timeout: 268 seconds)
2026-04-07 02:33:26 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-07 02:36:37 +0000machinedgod(~machinedg@d172-219-48-230.abhsia.telus.net) machinedgod
2026-04-07 02:38:07 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-04-07 02:41:37 +0000Googulator72(~Googulato@2a01-036d-0106-496b-154a-c7fc-9f43-bd2d.pool6.digikabel.hu)
2026-04-07 02:42:07 +0000Googulator(~Googulato@2a01-036d-0106-496b-154a-c7fc-9f43-bd2d.pool6.digikabel.hu) (Quit: Client closed)
2026-04-07 02:48:48 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-07 02:49:03 +0000qqq(~qqq@194.124.210.29)
2026-04-07 02:55:46 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2026-04-07 03:05:07 +0000arandombit(~arandombi@2a02:2455:8656:7100:2967:7abf:4b48:f685)
2026-04-07 03:05:07 +0000arandombit(~arandombi@2a02:2455:8656:7100:2967:7abf:4b48:f685) (Changing host)
2026-04-07 03:05:07 +0000arandombit(~arandombi@user/arandombit) arandombit
2026-04-07 03:06:39 +0000ftzm(~ftzm@085080245206.dynamic.telenor.dk) (Quit: The Lounge - https://thelounge.chat)
2026-04-07 03:06:50 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-07 03:07:17 +0000ftzm(~ftzm@085080245206.dynamic.telenor.dk) ftzm
2026-04-07 03:10:16 +0000arandombit(~arandombi@user/arandombit) (Ping timeout: 244 seconds)
2026-04-07 03:11:05 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2026-04-07 03:15:50 +0000GdeVolpiano(~GdeVolpia@user/GdeVolpiano) (Ping timeout: 256 seconds)
2026-04-07 03:15:50 +0000GdeVolpi1(~GdeVolpia@user/GdeVolpiano) GdeVolpiano
2026-04-07 03:25:28 +0000vidak(~vidak@2407:e400:7800:2c01:c4db:d9c4:aac4:94f6) vidak
2026-04-07 03:41:47 +0000arandombit(~arandombi@user/arandombit) arandombit
2026-04-07 03:46:00 +0000arandombit(~arandombi@user/arandombit) (Ping timeout: 245 seconds)
2026-04-07 03:48:08 +0000jmcantrell_(~weechat@user/jmcantrell) (Ping timeout: 256 seconds)
2026-04-07 04:03:21 +0000peterbecich(~Thunderbi@71.84.33.135) (Ping timeout: 246 seconds)
2026-04-07 04:03:25 +0000chromoblob(~chromoblo@user/chromob1ot1c) (Ping timeout: 276 seconds)
2026-04-07 04:04:55 +0000sonny(~sonny@bas911-toronto63-142-113-177-150.dsl.bell.ca) sonny
2026-04-07 04:05:13 +0000sonny(~sonny@bas911-toronto63-142-113-177-150.dsl.bell.ca) ()
2026-04-07 04:06:54 +0000sm__(~sm@66.8.200.171)
2026-04-07 04:07:12 +0000szkl(sid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
2026-04-07 04:24:45 +0000 <haskellbridge> <Liamzee> is there a way to
2026-04-07 04:24:53 +0000 <haskellbridge> <Liamzee> wrap Middleware etc in ReaderT?
2026-04-07 04:25:34 +0000 <haskellbridge> <Liamzee> I'm working with Twain right now, and I'm furious, because I decided to drag out ReaderT instead of going {-# NOINLINE #-} unsafePerformIO or manual threading
2026-04-07 04:25:50 +0000 <haskellbridge> <Liamzee> and I ended up, ummm, just wrapping everything in Reader, not even ReaderT
2026-04-07 04:25:52 +0000 <haskellbridge> <Liamzee> ::facepalm::
2026-04-07 04:26:52 +0000 <haskellbridge> <Liamzee> I am now learning the most cursed code in existence
2026-04-07 04:29:32 +0000Comstar(~Comstar@user/Comstar) Comstar
2026-04-07 04:31:18 +0000arandombit(~arandombi@2a02:2455:8656:7100:2967:7abf:4b48:f685) arandombit
2026-04-07 04:31:18 +0000arandombit(~arandombi@2a02:2455:8656:7100:2967:7abf:4b48:f685) (Changing host)
2026-04-07 04:31:18 +0000arandombit(~arandombi@user/arandombit) arandombit
2026-04-07 04:35:45 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-07 04:38:37 +0000arandombit(~arandombi@user/arandombit) (Ping timeout: 244 seconds)
2026-04-07 04:40:06 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
2026-04-07 04:51:01 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-07 04:52:49 +0000arandombit(~arandombi@user/arandombit) arandombit
2026-04-07 04:55:41 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds)
2026-04-07 05:00:33 +0000arandombit(~arandombi@user/arandombit) (Ping timeout: 268 seconds)
2026-04-07 05:06:24 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-07 05:10:42 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2026-04-07 05:15:48 +0000peterbecich(~Thunderbi@71.84.33.135) peterbecich
2026-04-07 05:18:05 +0000machinedgod(~machinedg@d172-219-48-230.abhsia.telus.net) (Ping timeout: 245 seconds)
2026-04-07 05:21:06 +0000lol_(~lol@2603:3016:1e01:b980:9683:22bf:aaa:c58a)
2026-04-07 05:21:18 +0000dtman34_(~dtman34@c-73-242-68-179.hsd1.mn.comcast.net) (Ping timeout: 255 seconds)
2026-04-07 05:21:38 +0000 <gentauro> _JusSx_: I had the same issue consuming ASCII. This might help -> https://gitlab.com/spisemisu/pcx-utils/-/blob/master/exe/ParseTeamsEaf.hs?ref_type=heads#L75-100
2026-04-07 05:22:49 +0000jcarpenter2(~lol@96.78.87.197) (Ping timeout: 248 seconds)
2026-04-07 05:23:36 +0000dtman34(~dtman34@2601:447:d183:2302:b0c5:8965:1c3f:d560) dtman34
2026-04-07 05:30:40 +0000arandombit(~arandombi@2a02:2455:8656:7100:2967:7abf:4b48:f685)
2026-04-07 05:30:40 +0000arandombit(~arandombi@2a02:2455:8656:7100:2967:7abf:4b48:f685) (Changing host)
2026-04-07 05:30:40 +0000arandombit(~arandombi@user/arandombit) arandombit
2026-04-07 05:30:44 +0000sim590(~simon@2001:18c0:a82:2400::9fb) (Quit: WeeChat 4.8.2)
2026-04-07 05:37:07 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-07 05:41:06 +0000jle`(~jle`@2603:8001:3b00:11:9cb6:4e6f:b3cf:15cf) (Ping timeout: 248 seconds)
2026-04-07 05:42:03 +0000jle`(~jle`@2603:8001:3b00:11:178c:4665:41b7:a15e) jle`
2026-04-07 05:44:09 +0000peterbecich(~Thunderbi@71.84.33.135) (Ping timeout: 248 seconds)
2026-04-07 05:48:39 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds)
2026-04-07 05:56:59 +0000qqq(~qqq@194.124.210.29) (Quit: Lost terminal)
2026-04-07 05:59:26 +0000michalz(~michalz@185.246.207.200)
2026-04-07 06:01:21 +0000divlamir_(~divlamir@user/divlamir) divlamir
2026-04-07 06:02:04 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-07 06:04:08 +0000divlamir(~divlamir@user/divlamir) (Ping timeout: 256 seconds)
2026-04-07 06:04:09 +0000divlamir_divlamir
2026-04-07 06:04:28 +0000 <gentauro> % :t null
2026-04-07 06:04:29 +0000 <yahb2> null :: Foldable t => t a -> Bool
2026-04-07 06:04:43 +0000 <gentauro> % null == ['a']
2026-04-07 06:04:43 +0000 <yahb2> <interactive>:39:9: error: [GHC-83865] ; • Couldn't match expected type: t0 a0 -> Bool ; with actual type: [Char] ; • In the second argument of ‘(==)’, namely ‘['a']’ ; ...
2026-04-07 06:04:55 +0000 <gentauro> % null ['a']
2026-04-07 06:04:55 +0000 <yahb2> False
2026-04-07 06:06:45 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds)
2026-04-07 06:08:42 +0000gentauroHaskells `null` is the good kind of `null` :)
2026-04-07 06:12:23 +0000 <haskellbridge> <Liamzee> if all nulls were replaced by null :: Foldable t => t a -> Bool
2026-04-07 06:12:26 +0000 <haskellbridge> <Liamzee> would be interesting, at least
2026-04-07 06:12:32 +0000 <haskellbridge> <Liamzee> lots of function pointers when you weren't expecting any
2026-04-07 06:15:39 +0000wickedjargon(~user@S0106f89e28d5699a.vc.shawcable.net) wickedjargon
2026-04-07 06:17:26 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-07 06:20:31 +0000CiaoSen(~Jura@p549cb690.dip0.t-ipconnect.de) CiaoSen
2026-04-07 06:22:10 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2026-04-07 06:23:35 +0000takuan(~takuan@d8D86B9E9.access.telenet.be)
2026-04-07 06:26:26 +0000Pozyomka_(~pyon@user/pyon) pyon
2026-04-07 06:27:59 +0000 <gentauro> Liamzee: In order to be Foldable, isn't there are req for the types to a `Monoid` (`mempty`)?
2026-04-07 06:28:15 +0000Pozyomka(~pyon@user/pyon) (Read error: Connection reset by peer)
2026-04-07 06:31:08 +0000lol__(~lol@2603:3016:1e01:b980:9683:22bf:aaa:c58a)
2026-04-07 06:32:26 +0000arandombit(~arandombi@user/arandombit) (Ping timeout: 268 seconds)
2026-04-07 06:32:50 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-07 06:33:26 +0000traxex(traxex@user/traxex) traxex
2026-04-07 06:34:17 +0000lol_(~lol@2603:3016:1e01:b980:9683:22bf:aaa:c58a) (Ping timeout: 248 seconds)
2026-04-07 06:37:21 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds)
2026-04-07 06:39:41 +0000jcarpenter2(~lol@2603:3016:1e01:b980:9683:22bf:aaa:c58a)
2026-04-07 06:41:12 +0000lol__(~lol@2603:3016:1e01:b980:9683:22bf:aaa:c58a) (Ping timeout: 246 seconds)
2026-04-07 06:48:11 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-07 06:50:49 +0000Comstar(~Comstar@user/Comstar) (Quit: Leaving)
2026-04-07 06:52:39 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds)
2026-04-07 07:03:33 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-07 07:05:16 +0000arandombit(~arandombi@2a02:2455:8656:7100:2967:7abf:4b48:f685)
2026-04-07 07:05:16 +0000arandombit(~arandombi@2a02:2455:8656:7100:2967:7abf:4b48:f685) (Changing host)
2026-04-07 07:05:16 +0000arandombit(~arandombi@user/arandombit) arandombit
2026-04-07 07:06:40 +0000wickedja`(~user@2605:8d80:5430:835f:a541:6494:f3cf:c7d9)
2026-04-07 07:07:20 +0000 <haskellbridge> <Liamzee> null is in the Foldable typeclass
2026-04-07 07:07:56 +0000 <haskellbridge> <Liamzee> i assume it just defaults foldr with a default value of False
2026-04-07 07:08:07 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-04-07 07:08:43 +0000wickedjargon(~user@S0106f89e28d5699a.vc.shawcable.net) (Ping timeout: 264 seconds)
2026-04-07 07:15:00 +0000Square2(~Square4@user/square) Square
2026-04-07 07:18:55 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-07 07:19:04 +0000Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2026-04-07 07:24:14 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds)
2026-04-07 07:29:53 +0000craunts795335385(~craunts@152.32.99.2)
2026-04-07 07:39:23 +0000danza(~danza@user/danza) danza
2026-04-07 08:02:02 +0000ft(~ft@p508db341.dip0.t-ipconnect.de) (Quit: leaving)
2026-04-07 08:04:21 +0000sord937(~sord937@gateway/tor-sasl/sord937) sord937
2026-04-07 08:09:09 +0000emmanuelux(~em@user/emmanuelux) (Quit: bye)
2026-04-07 08:09:46 +0000arandombit(~arandombi@user/arandombit) (Ping timeout: 276 seconds)
2026-04-07 08:16:31 +0000arandombit(~arandombi@2a02:2455:8656:7100:2967:7abf:4b48:f685)
2026-04-07 08:16:31 +0000arandombit(~arandombi@2a02:2455:8656:7100:2967:7abf:4b48:f685) (Changing host)
2026-04-07 08:16:31 +0000arandombit(~arandombi@user/arandombit) arandombit
2026-04-07 08:22:07 +0000chromoblob(~chromoblo@user/chromob1ot1c) chromoblob\0
2026-04-07 08:30:44 +0000wickedja`(~user@2605:8d80:5430:835f:a541:6494:f3cf:c7d9) (Remote host closed the connection)
2026-04-07 08:46:00 +0000xff0x_(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp)
2026-04-07 08:46:37 +0000xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 244 seconds)
2026-04-07 08:48:33 +0000acidjnk_new(~acidjnk@p200300d6e700e5083e6a4b02e30f35b3.dip0.t-ipconnect.de)
2026-04-07 08:58:27 +0000 <ski> "if the argument is zero-size, does it exist?" -- yes
2026-04-07 09:00:51 +0000sm__(~sm@66.8.200.171) (Ping timeout: 246 seconds)
2026-04-07 09:06:21 +0000 <gentauro> ski: empty set?
2026-04-07 09:09:22 +0000puke(~puke@user/puke) (Ping timeout: 250 seconds)
2026-04-07 09:09:55 +0000puke(~puke@user/puke) puke
2026-04-07 09:17:40 +0000arandombit(~arandombi@user/arandombit) (Ping timeout: 245 seconds)
2026-04-07 09:32:10 +0000arandombit(~arandombi@user/arandombit) arandombit
2026-04-07 09:36:47 +0000sixfourtwelve(~ethanmorg@static.82.129.225.46.clients.your-server.de) sixfourtwelve
2026-04-07 09:37:14 +0000sixfourtwelve(~ethanmorg@static.82.129.225.46.clients.your-server.de) ()
2026-04-07 10:07:19 +0000danz29182(~danza@user/danza) danza
2026-04-07 10:09:18 +0000danza(~danza@user/danza) (Ping timeout: 255 seconds)
2026-04-07 10:10:05 +0000acidjnk_new3(~acidjnk@p200300d6e700e57155f396ad0c3fa022.dip0.t-ipconnect.de)
2026-04-07 10:11:38 +0000tcard(~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) (Remote host closed the connection)
2026-04-07 10:11:53 +0000tcard(~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303)
2026-04-07 10:12:24 +0000xff0x_(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 265 seconds)
2026-04-07 10:13:06 +0000acidjnk_new(~acidjnk@p200300d6e700e5083e6a4b02e30f35b3.dip0.t-ipconnect.de) (Ping timeout: 248 seconds)
2026-04-07 10:20:34 +0000 <probie> Without a zero-size argument, GHC can't produce code to `launchMissiles` (or whatever your preferred obviously side-effecting action is)
2026-04-07 10:28:42 +0000__monty__(~toonn@user/toonn) toonn
2026-04-07 10:28:55 +0000Igloo(~ian@81.2.99.210) (Ping timeout: 244 seconds)
2026-04-07 10:33:55 +0000CiaoSen(~Jura@p549cb690.dip0.t-ipconnect.de) (Ping timeout: 264 seconds)
2026-04-07 10:37:35 +0000Googulator72(~Googulato@2a01-036d-0106-496b-154a-c7fc-9f43-bd2d.pool6.digikabel.hu) (Quit: Client closed)
2026-04-07 10:37:50 +0000Googulator72(~Googulato@2a01-036d-0106-496b-154a-c7fc-9f43-bd2d.pool6.digikabel.hu)
2026-04-07 10:39:15 +0000CiaoSen(~Jura@p549cb690.dip0.t-ipconnect.de) CiaoSen
2026-04-07 10:39:29 +0000Googulator83(~Googulato@2a01-036d-0106-496b-154a-c7fc-9f43-bd2d.pool6.digikabel.hu)
2026-04-07 10:39:29 +0000Googulator72(~Googulato@2a01-036d-0106-496b-154a-c7fc-9f43-bd2d.pool6.digikabel.hu) (Client Quit)
2026-04-07 10:45:54 +0000Igloo(~ian@81.2.99.210)
2026-04-07 10:48:58 +0000mniip(mniip@libera/staff-emeritus/mniip) (Ping timeout: 268 seconds)
2026-04-07 10:54:15 +0000 <ski> gentauro : no, singleton set/type
2026-04-07 10:54:28 +0000craunts795335385(~craunts@152.32.99.2) (Quit: The Lounge - https://thelounge.chat)
2026-04-07 10:54:44 +0000 <ski> empty set/type would represent a computation which does not return
2026-04-07 10:55:35 +0000craunts795335385(~craunts@152.32.99.2)
2026-04-07 10:56:19 +0000 <ski> two-logarithm of number of possible values, gives (rounding up) number of bits to represent all the values (assuming a representation using the same number of bits, corresponding to considering each possible value equally likely/important)
2026-04-07 10:56:36 +0000 <ski> > logBase 2 256
2026-04-07 10:56:38 +0000 <lambdabot> 8.0
2026-04-07 10:56:43 +0000CiaoSen(~Jura@p549cb690.dip0.t-ipconnect.de) (Ping timeout: 264 seconds)
2026-04-07 10:56:53 +0000 <ski> for `256' values in a `Word8', you need eight bits
2026-04-07 10:56:55 +0000 <ski> > logBase 2 2
2026-04-07 10:56:57 +0000 <lambdabot> 1.0
2026-04-07 10:57:07 +0000 <ski> for `2' values, in a `Bool', you need one bit
2026-04-07 10:57:12 +0000 <ski> > logBase 2 1
2026-04-07 10:57:13 +0000 <lambdabot> 0.0
2026-04-07 10:57:40 +0000 <ski> for one single possible value, in a singleton type (like `()'), you need zero bits
2026-04-07 10:57:57 +0000 <ski> then boxing, and non-strictness, adds overhead over this
2026-04-07 10:58:08 +0000 <ski> > logBase 2 0
2026-04-07 10:58:09 +0000 <lambdabot> -Infinity
2026-04-07 10:58:23 +0000 <int-e> (give me an element of the empty set and I'll compress all your data)
2026-04-07 10:59:00 +0000 <ski> for an empty type, the same formula gives negative infinity number of bits .. but here the reasoning breaks down. since there is no value in the type, you can't represent it, so the question of how many bits it takes doesn't come up
2026-04-07 10:59:35 +0000 <ski> for a singleton type, there's no need to represent distinctions, so you need zero bits, so you don't need to reserve memory in RAM, or a register
2026-04-07 10:59:41 +0000 <ski> hehe, int-e
2026-04-07 11:00:26 +0000Igloo(~ian@81.2.99.210) (Ping timeout: 244 seconds)
2026-04-07 11:00:34 +0000 <ski> in Haskell (ignoring non-strictness), `Void' (not to be confused with the `void' of C,C++,Java,C#, which is more like `()' in Haskell) would be an empty type
2026-04-07 11:00:53 +0000 <ski> data Void -- zero alternative consstructors given
2026-04-07 11:01:02 +0000 <ski> and then you can define
2026-04-07 11:01:05 +0000mniip(mniip@libera/staff-emeritus/mniip) mniip
2026-04-07 11:01:06 +0000 <ski> void :: Void -> a
2026-04-07 11:01:13 +0000 <ski> void v = case v of {}
2026-04-07 11:01:37 +0000 <ski> since there's no possible values, you need to give zero branches in the `case'-`of'
2026-04-07 11:03:01 +0000 <ski> `Void' can be occasionally useful, in Haskell, if you have a parameterized type `F', and you're using it as `F Int', `F [String]' or whatever, but sometimes you don't want to allow any value of type `a' in a value of type `F a' (presumably there are values which have zero `a's), and then you can use `F Void'
2026-04-07 11:03:18 +0000Googulator83(~Googulato@2a01-036d-0106-496b-154a-c7fc-9f43-bd2d.pool6.digikabel.hu) (Quit: Client closed)
2026-04-07 11:03:24 +0000Googulator42(~Googulato@2a01-036d-0106-496b-154a-c7fc-9f43-bd2d.pool6.digikabel.hu)
2026-04-07 11:03:32 +0000 <ski> @hoogle exitWith
2026-04-07 11:03:33 +0000 <lambdabot> System.Exit exitWith :: ExitCode -> IO a
2026-04-07 11:03:33 +0000 <lambdabot> Protolude exitWith :: ExitCode -> IO a
2026-04-07 11:03:33 +0000 <lambdabot> Relude.Lifted.Exit exitWith :: MonadIO m => ExitCode -> m a
2026-04-07 11:04:30 +0000 <ski> `exitWith' could have had type `ExitCode -> IO Void', would have served the same purpose, showing that it does not return (monadically) normally. the same would be the case for throwing an I/O exception
2026-04-07 11:04:52 +0000 <ski> @hoogle throwIO
2026-04-07 11:04:53 +0000 <lambdabot> Control.Exception throwIO :: (HasCallStack, Exception e) => e -> IO a
2026-04-07 11:04:53 +0000 <lambdabot> Control.Exception.Base throwIO :: (HasCallStack, Exception e) => e -> IO a
2026-04-07 11:04:53 +0000 <lambdabot> GHC.IO throwIO :: (HasCallStack, Exception e) => e -> IO a
2026-04-07 11:06:07 +0000 <ski> but, then you'd need to use `void' above (called `absurd' in `Data.Void'), to be able to invoke it in any context, e.g. in a branch that should abort, while another branch returns some value of some particular type (distinct from `Void')
2026-04-07 11:09:12 +0000 <ski> .. i did a cooperative concurrency monad thing, where i could fork off a (user-level) thread. i wanted the spawned thread to always end by invoking an operation `endThread'. at first (iirc) i used `endThread :: M a' and `forkThread :: M a -> M ()', but i had some `undefined's sprinkled through the implementation of the operations, which i wanted to remove
2026-04-07 11:09:44 +0000somemathguy(~somemathg@user/somemathguy) (Ping timeout: 244 seconds)
2026-04-07 11:09:53 +0000 <ski> so, i changed to `endThread :: M Void' and `forkThread :: M Void -> M ()', which allowed me to confidently then remove the `undefined's
2026-04-07 11:10:54 +0000 <gentauro> ski: is there a way to "enforce" non-usage of `undefined` in a code base?
2026-04-07 11:11:20 +0000 <ski> another example. you can e.g. make a type `Expr var', for representing some kind of expressions, where `var' is a type of free variable identifiers. in that case, `Expr Void' means an expression with no (free) variables
2026-04-07 11:12:02 +0000 <ski> i think there's some tool to look for potential problems with partial operations (of which `undefined' is a blatant case), but i forgot the name, gentauro
2026-04-07 11:15:10 +0000 <gentauro> hmmmm
2026-04-07 11:15:31 +0000merijn(~merijn@77.242.116.146) merijn
2026-04-07 11:16:12 +0000danz29182(~danza@user/danza) (Remote host closed the connection)
2026-04-07 11:16:45 +0000xff0x(~xff0x@ai112096.d.east.v6connect.net)
2026-04-07 11:22:10 +0000arandombit(~arandombi@user/arandombit) (Remote host closed the connection)
2026-04-07 11:37:13 +0000tromp(~textual@2001:1c00:340e:2700:8cf8:7bb7:a0e:7cfa) (Quit: My iMac has gone to sleep. ZZZzzz…)
2026-04-07 11:48:23 +0000nschoe(~nschoe@2a01:e0a:8e:a190:9236:54cb:b8fc:d068) (Quit: ZNC 1.8.2 - https://znc.in)
2026-04-07 11:48:40 +0000nschoe(~nschoe@2a01:e0a:8e:a190:8b07:b321:e715:9a8a) nschoe
2026-04-07 11:50:29 +0000somemathguy(~somemathg@user/somemathguy) somemathguy
2026-04-07 11:50:57 +0000humasect(~humasect@dyn-192-249-132-90.nexicom.net) (Quit: Leaving...)
2026-04-07 11:53:13 +0000kilolympus(~kilolympu@vmi1102682.contaboserver.net) (Ping timeout: 248 seconds)
2026-04-07 11:55:53 +0000haritz(~hrtz@2a01:4b00:bc2e:7000:d5af:a266:ca31:5ef8)
2026-04-07 11:55:53 +0000haritz(~hrtz@2a01:4b00:bc2e:7000:d5af:a266:ca31:5ef8) (Changing host)
2026-04-07 11:55:53 +0000haritz(~hrtz@user/haritz) haritz
2026-04-07 12:03:59 +0000kilolympus(~kilolympu@vmi1102682.contaboserver.net) kilolympus
2026-04-07 12:05:47 +0000CiaoSen(~Jura@p549cb690.dip0.t-ipconnect.de) CiaoSen
2026-04-07 12:15:08 +0000qqq(~qqq@185.54.23.237)
2026-04-07 12:22:04 +0000 <gentauro> @pl f n xs = (n, lines xs)
2026-04-07 12:22:04 +0000 <lambdabot> f = (. lines) . (,)
2026-04-07 12:22:17 +0000Igloo(~ian@81.2.99.210)
2026-04-07 12:24:14 +0000ncf-(~n@monade.li) (Quit: Fairfarren.)
2026-04-07 12:27:53 +0000Guest64(~Guest64@p200300d91f49802b2096670a08c81fa7.dip0.t-ipconnect.de)
2026-04-07 12:37:35 +0000 <ski> @pl \xs -> (n,lines xs)
2026-04-07 12:37:35 +0000 <lambdabot> (,) n . lines
2026-04-07 12:40:11 +0000AlexNoo(~AlexNoo@85.174.183.185)
2026-04-07 12:40:56 +0000AlexNoo_(~AlexNoo@85.174.183.185)
2026-04-07 12:41:40 +0000AlexNoo__(~AlexNoo@85.174.183.185)
2026-04-07 12:44:34 +0000AlexNoo(~AlexNoo@85.174.183.185) (Ping timeout: 248 seconds)
2026-04-07 12:45:06 +0000AlexNoo_(~AlexNoo@85.174.183.185) (Ping timeout: 248 seconds)
2026-04-07 12:45:30 +0000AlexNoo(~AlexNoo@85.174.183.185)
2026-04-07 12:46:10 +0000AlexNoo__(~AlexNoo@85.174.183.185) (Ping timeout: 248 seconds)
2026-04-07 12:46:30 +0000AlexNoo_(~AlexNoo@85.174.183.185)
2026-04-07 12:47:14 +0000AlexNoo__(~AlexNoo@85.174.183.185)
2026-04-07 12:49:54 +0000AlexNoo(~AlexNoo@85.174.183.185) (Ping timeout: 248 seconds)
2026-04-07 12:50:50 +0000AlexNoo(~AlexNoo@85.174.183.185)
2026-04-07 12:50:58 +0000AlexNoo_(~AlexNoo@85.174.183.185) (Ping timeout: 248 seconds)
2026-04-07 12:51:30 +0000AlexNoo__(~AlexNoo@85.174.183.185) (Ping timeout: 248 seconds)
2026-04-07 12:51:33 +0000AlexNoo_(~AlexNoo@85.174.183.185)
2026-04-07 12:52:31 +0000AlexNoo__(~AlexNoo@85.174.183.185)
2026-04-07 12:53:33 +0000L29Ah(~L29Ah@wikipedia/L29Ah) (Ping timeout: 255 seconds)
2026-04-07 12:55:14 +0000AlexNoo(~AlexNoo@85.174.183.185) (Ping timeout: 248 seconds)
2026-04-07 12:55:46 +0000AlexNoo_(~AlexNoo@85.174.183.185) (Ping timeout: 248 seconds)
2026-04-07 12:56:10 +0000AlexNoo(~AlexNoo@85.174.183.185)
2026-04-07 12:56:18 +0000haskellbridge(~hackager@96.28.224.214) (Read error: Connection reset by peer)
2026-04-07 12:56:50 +0000AlexNoo__(~AlexNoo@85.174.183.185) (Ping timeout: 248 seconds)
2026-04-07 12:56:53 +0000AlexNoo_(~AlexNoo@85.174.183.185)
2026-04-07 12:57:01 +0000craunts795335385(~craunts@152.32.99.2) (Quit: The Lounge - https://thelounge.chat)
2026-04-07 12:57:36 +0000AlexNoo__(~AlexNoo@85.174.183.185)
2026-04-07 12:58:06 +0000craunts795335385(~craunts@152.32.99.2)