2026/02/24

2026-02-24 00:04:22 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-24 00:06:46 +0100tromp(~textual@2001:1c00:3487:1b00:1a7:fa86:12e2:7e3d) (Quit: My iMac has gone to sleep. ZZZzzz…)
2026-02-24 00:08:39 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-02-24 00:11:25 +0100Anarchos(~Anarchos@91-161-254-16.subs.proxad.net) (Quit: Vision[]: i've been blurred!)
2026-02-24 00:13:32 +0100peterbecich(~Thunderbi@71.84.33.135) (Quit: peterbecich)
2026-02-24 00:18:08 +0100 <Leary> geekosaur: I got two of them revised eariler, but now the refined invocation looks like this: <https://gist.github.com/LSLeary/52377ecaa9e9090c7e26b91945f6d587>. I'm not sure I have it in me. <.<
2026-02-24 00:19:44 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-24 00:21:26 +0100dutchie(~dutchie@user/dutchie) (Server closed connection)
2026-02-24 00:21:39 +0100dutchie(~dutchie@user/dutchie) dutchie
2026-02-24 00:22:49 +0100Googulator(~Googulato@2a01-036d-0106-499d-1c5a-0e4b-5795-d7e3.pool6.digikabel.hu) (Quit: Client closed)
2026-02-24 00:23:06 +0100Googulator(~Googulato@2a01-036d-0106-499d-1c5a-0e4b-5795-d7e3.pool6.digikabel.hu)
2026-02-24 00:24:00 +0100v0id_7(~v0id_7@user/v0id-7:62772) (Quit: whatever u sick fcks)
2026-02-24 00:24:19 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-02-24 00:29:13 +0100_________(~nobody@user/noodly) (Ping timeout: 248 seconds)
2026-02-24 00:30:35 +0100 <geekosaur> mm, maybe the right thing to do in that case is put the correct base bound in the cabal file and maintainer-revision it down on Hackage until the coast is clear
2026-02-24 00:31:28 +0100machinedgod(~machinedg@d172-219-48-230.abhsia.telus.net) machinedgod
2026-02-24 00:33:54 +0100jtnuttall(~jeremy@user/jeremyn) (Ping timeout: 268 seconds)
2026-02-24 00:35:07 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-24 00:36:21 +0100_________(~nobody@user/noodly) _________
2026-02-24 00:37:37 +0100BNC-37(~BNC-37@2a02:8109:9f07:de00:1016:a08e:bc74:c664)
2026-02-24 00:39:11 +0100BNC-37(~BNC-37@2a02:8109:9f07:de00:1016:a08e:bc74:c664) (Client Quit)
2026-02-24 00:39:40 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds)
2026-02-24 00:40:39 +0100gmg(~user@user/gehmehgeh) (Remote host closed the connection)
2026-02-24 00:40:40 +0100ChaiTRex(~ChaiTRex@user/chaitrex) (Remote host closed the connection)
2026-02-24 00:41:02 +0100ChaiTRex(~ChaiTRex@user/chaitrex) ChaiTRex
2026-02-24 00:41:31 +0100gmg(~user@user/gehmehgeh) gehmehgeh
2026-02-24 00:44:14 +0100ChaiTRex(~ChaiTRex@user/chaitrex) (Remote host closed the connection)
2026-02-24 00:44:34 +0100ChaiTRex(~ChaiTRex@user/chaitrex) ChaiTRex
2026-02-24 00:45:16 +0100Alex_delenda_est(~al_test@178.34.151.130) (Ping timeout: 256 seconds)
2026-02-24 00:45:45 +0100AlexZenon(~alzenon@178.34.151.130) (Ping timeout: 248 seconds)
2026-02-24 00:46:18 +0100Googulator(~Googulato@2a01-036d-0106-499d-1c5a-0e4b-5795-d7e3.pool6.digikabel.hu) (Quit: Client closed)
2026-02-24 00:46:28 +0100AlexNoo(~AlexNoo@178.34.151.130) (Ping timeout: 268 seconds)
2026-02-24 00:46:33 +0100Googulator(~Googulato@2a01-036d-0106-499d-1c5a-0e4b-5795-d7e3.pool6.digikabel.hu)
2026-02-24 00:50:29 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-24 00:51:22 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine)
2026-02-24 00:51:44 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915) Lord_of_Life
2026-02-24 00:57:20 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds)
2026-02-24 01:05:57 +0100bryanv(~quassel@2603:c028:4503:7500:45b7:933:ab17:bc10) (Server closed connection)
2026-02-24 01:06:10 +0100bryanv(~quassel@2603:c028:4503:7500:45b7:933:ab17:bc10)
2026-02-24 01:06:51 +0100humasect(~humasect@dyn-192-249-132-90.nexicom.net) (Quit: Leaving...)
2026-02-24 01:08:31 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-24 01:13:36 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds)
2026-02-24 01:19:37 +0100ChaiTRex(~ChaiTRex@user/chaitrex) (Remote host closed the connection)
2026-02-24 01:19:57 +0100ChaiTRex(~ChaiTRex@user/chaitrex) ChaiTRex
2026-02-24 01:23:53 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-24 01:28:21 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds)
2026-02-24 01:31:17 +0100Raito_Bezarius(~Raito@libera/contributor/wireguard.tunneler.raito-bezarius) (Server closed connection)
2026-02-24 01:31:59 +0100Raito_Bezarius(~Raito@libera/contributor/wireguard.tunneler.raito-bezarius) Raito_Bezarius
2026-02-24 01:33:17 +0100fgaz(1ff9197ed6@2a03:6000:1812:100::11ea) (Server closed connection)
2026-02-24 01:33:24 +0100fgaz(1ff9197ed6@2a03:6000:1812:100::11ea) fgaz
2026-02-24 01:38:27 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-24 01:41:14 +0100ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 252 seconds)
2026-02-24 01:43:12 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds)
2026-02-24 01:48:08 +0100Square3(~Square@user/square) Square
2026-02-24 01:48:57 +0100arandombit(~arandombi@user/arandombit) arandombit
2026-02-24 01:51:17 +0100orcus(~orcus@user/brprice) (Server closed connection)
2026-02-24 01:51:26 +0100jtnuttall(~jeremy@user/jeremyn) jeremyn
2026-02-24 01:51:36 +0100orcus(~orcus@user/brprice) brprice
2026-02-24 01:53:49 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-24 01:53:57 +0100haasn(sid579015@id-579015.hampstead.irccloud.com) (Server closed connection)
2026-02-24 01:54:21 +0100haasn(sid579015@id-579015.hampstead.irccloud.com) haasn
2026-02-24 01:55:17 +0100edm(sid147314@id-147314.hampstead.irccloud.com) (Server closed connection)
2026-02-24 01:55:40 +0100edm(sid147314@id-147314.hampstead.irccloud.com)
2026-02-24 01:56:09 +0100xff0x(~xff0x@2405:6580:b080:900:c463:24ea:8f04:8fed) (Ping timeout: 248 seconds)
2026-02-24 01:58:23 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds)
2026-02-24 02:09:12 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-24 02:13:39 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-02-24 02:16:37 +0100Tuplanolla(~Tuplanoll@88-114-89-88.elisa-laajakaista.fi) (Quit: Leaving.)
2026-02-24 02:17:11 +0100Googulator(~Googulato@2a01-036d-0106-499d-1c5a-0e4b-5795-d7e3.pool6.digikabel.hu) (Quit: Client closed)
2026-02-24 02:17:18 +0100Googulator51(~Googulato@2a01-036d-0106-499d-1c5a-0e4b-5795-d7e3.pool6.digikabel.hu)
2026-02-24 02:18:10 +0100emmanuelux(~em@user/emmanuelux) (Read error: Connection reset by peer)
2026-02-24 02:20:27 +0100Googulator17(~Googulato@2a01-036d-0106-499d-1c5a-0e4b-5795-d7e3.pool6.digikabel.hu)
2026-02-24 02:20:27 +0100Googulator51(~Googulato@2a01-036d-0106-499d-1c5a-0e4b-5795-d7e3.pool6.digikabel.hu) (Client Quit)
2026-02-24 02:24:35 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-24 02:28:10 +0100Googulator17(~Googulato@2a01-036d-0106-499d-1c5a-0e4b-5795-d7e3.pool6.digikabel.hu) (Quit: Client closed)
2026-02-24 02:28:18 +0100Googulator17(~Googulato@2a01-036d-0106-499d-1c5a-0e4b-5795-d7e3.pool6.digikabel.hu)
2026-02-24 02:31:21 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds)
2026-02-24 02:32:20 +0100califax(~califax@user/califx) (Remote host closed the connection)
2026-02-24 02:36:34 +0100califax(~califax@user/califx) califx
2026-02-24 02:42:37 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-24 02:44:06 +0100nonzen(~nonzen@user/nonzen) (Server closed connection)
2026-02-24 02:44:22 +0100nonzen(~nonzen@user/nonzen) nonzen
2026-02-24 02:47:07 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-02-24 02:49:33 +0100xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp)
2026-02-24 02:51:25 +0100paddymahoney(~paddymaho@pool-99-250-10-137.cpe.net.cable.rogers.com) (Ping timeout: 268 seconds)
2026-02-24 02:52:03 +0100jtnuttall(~jeremy@user/jeremyn) (Ping timeout: 255 seconds)
2026-02-24 02:55:17 +0100paddymahoney(~paddymaho@pool-99-250-10-137.cpe.net.cable.rogers.com)
2026-02-24 02:57:59 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-24 02:59:37 +0100peterbecich(~Thunderbi@71.84.33.135) peterbecich
2026-02-24 03:01:54 +0100arandombit(~arandombi@user/arandombit) (Ping timeout: 268 seconds)
2026-02-24 03:02:24 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2026-02-24 03:08:06 +0100JSharp(sid4580@user/JSharp) (Server closed connection)
2026-02-24 03:08:25 +0100JSharp(sid4580@user/JSharp) JSharp
2026-02-24 03:10:06 +0100unlucy(sid572875@user/unlucy) (Server closed connection)
2026-02-24 03:10:35 +0100unlucy(sid572875@user/unlucy) unlucy
2026-02-24 03:13:22 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-24 03:17:56 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds)
2026-02-24 03:21:54 +0100weary-traveler(~user@user/user363627) user363627
2026-02-24 03:28:45 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-24 03:31:07 +0100stef204(~stef204@user/stef204) (Quit: WeeChat 4.2.1)
2026-02-24 03:33:13 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2026-02-24 03:33:43 +0100jtnuttall(~jeremy@user/jeremyn) jeremyn
2026-02-24 03:34:06 +0100piele(~piele@eiseth.creativeserver.net) (Server closed connection)
2026-02-24 03:34:18 +0100piele(~piele@eiseth.creativeserver.net)
2026-02-24 03:36:00 +0100bjorkintosh(~bjork@user/bjorkintosh) bjorkintosh
2026-02-24 03:36:01 +0100bjorkintosh(~bjork@user/bjorkintosh) (Leaving)
2026-02-24 03:44:06 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-24 03:46:37 +0100hook54321(sid149355@user/hook54321) (Server closed connection)
2026-02-24 03:47:53 +0100hook54321(sid149355@user/hook54321) hook54321
2026-02-24 03:48:46 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds)
2026-02-24 03:48:53 +0100Googulator17(~Googulato@2a01-036d-0106-499d-1c5a-0e4b-5795-d7e3.pool6.digikabel.hu) (Quit: Client closed)
2026-02-24 03:49:08 +0100Googulator17(~Googulato@2a01-036d-0106-499d-1c5a-0e4b-5795-d7e3.pool6.digikabel.hu)
2026-02-24 03:51:53 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-24 03:55:40 +0100peterbecich(~Thunderbi@71.84.33.135) (Ping timeout: 256 seconds)
2026-02-24 03:56:43 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-02-24 04:07:10 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-24 04:14:03 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds)
2026-02-24 04:16:31 +0100Googulator17(~Googulato@2a01-036d-0106-499d-1c5a-0e4b-5795-d7e3.pool6.digikabel.hu) (Quit: Client closed)
2026-02-24 04:16:46 +0100Googulator17(~Googulato@2a01-036d-0106-499d-1c5a-0e4b-5795-d7e3.pool6.digikabel.hu)
2026-02-24 04:21:26 +0100Logio(em@kapsi.fi) (Server closed connection)
2026-02-24 04:21:36 +0100Logio(em@kapsi.fi) Logio
2026-02-24 04:21:46 +0100arandombit(~arandombi@user/arandombit) arandombit
2026-02-24 04:25:06 +0100 <Leary> Upper bounds aside, `cabal check` doesn't seem to care about lower bounds. Does that mean I can give up on the archaeology necessary to find them?
2026-02-24 04:25:12 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-24 04:27:37 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine)
2026-02-24 04:27:49 +0100humasect(~humasect@dyn-192-249-132-90.nexicom.net) humasect
2026-02-24 04:28:08 +0100haskell-noob(~haskell-n@50.35.80.129) (Quit: Client closed)
2026-02-24 04:28:36 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915) Lord_of_Life
2026-02-24 04:29:40 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2026-02-24 04:34:26 +0100 <monochrom> I usually do. I set my lower bounds to be what I happen to have when I start the project. Then I don't change them until someone wants it changed.
2026-02-24 04:39:28 +0100 <Leary> Well, in that case you're setting them conservatively. I was more wondering about the opposite strategy of omitting them entirely.
2026-02-24 04:40:33 +0100werneta(~werneta@71.83.160.242) werneta
2026-02-24 04:40:34 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-24 04:40:40 +0100xff0x_(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp)
2026-02-24 04:41:00 +0100arandombit(~arandombi@user/arandombit) (Ping timeout: 256 seconds)
2026-02-24 04:41:24 +0100machinedgod(~machinedg@d172-219-48-230.abhsia.telus.net) (Ping timeout: 255 seconds)
2026-02-24 04:42:45 +0100xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 255 seconds)
2026-02-24 04:44:13 +0100peterbecich(~Thunderbi@71.84.33.135) peterbecich
2026-02-24 04:44:59 +0100xff0x_xff0x
2026-02-24 04:45:00 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds)
2026-02-24 04:45:11 +0100 <monochrom> Then one day you will run into something like this recent example: https://discourse.haskell.org/t/breaking-changes-in-time-1-15-ghc-9-14/13711
2026-02-24 04:45:53 +0100 <monochrom> (time-1.15 adds new pattern synonyms that name-clashes with someone's existing code that assumes <=1.14)
2026-02-24 04:47:26 +0100APic(apic@apic.name) (Server closed connection)
2026-02-24 04:47:26 +0100 <monochrom> So if you set a lower bound like <=1.14 or 1.13, the worst that can happen is cabal downloads and builds an appropriate version of time. If you don't set a lower bound, now you have to set a lower bound.
2026-02-24 04:47:38 +0100APic(apic@apic.name) APic
2026-02-24 04:55:56 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-24 04:59:57 +0100yahb2(~yahb2@user/tomsmeding/bot/yahb2) (Server closed connection)
2026-02-24 05:00:19 +0100yahb2(~yahb2@user/tomsmeding/bot/yahb2) yahb2
2026-02-24 05:00:19 +0100ChanServ+v yahb2
2026-02-24 05:00:20 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2026-02-24 05:08:53 +0100 <Leary> In that particular case, I think the actual issue is importing without concern for namespace pollution. Also, that's an upper bound?
2026-02-24 05:09:15 +0100 <Leary> Reflecting things a bit, your point seems to be that an older version of a dependency (than is implicitly assumed) may be used to build the package, causing it to fail.
2026-02-24 05:09:40 +0100 <Leary> But the alternative of refusing to build what would have succeeded doesn't really seem better; either way the bound is wrong and you're relying on intrepid explorers to eventually correct it.
2026-02-24 05:09:55 +0100arahael(~wetfoot@user/arahael) (Ping timeout: 265 seconds)
2026-02-24 05:11:17 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-24 05:16:03 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds)
2026-02-24 05:17:42 +0100ec(~ec@gateway/tor-sasl/ec) (Remote host closed the connection)
2026-02-24 05:18:07 +0100ec(~ec@gateway/tor-sasl/ec) ec
2026-02-24 05:18:18 +0100 <monochrom> Oh oops yeah that's an upper bound.
2026-02-24 05:20:06 +0100eL_Bart0-(eL_Bart02@dietunichtguten.org) (Server closed connection)
2026-02-24 05:20:19 +0100eL_Bart0(eL_Bart02@dietunichtguten.org)
2026-02-24 05:20:33 +0100lbseale(~quassel@user/ep1ctetus) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
2026-02-24 05:21:17 +0100lbseale(~quassel@user/ep1ctetus) ep1ctetus
2026-02-24 05:23:56 +0100lisbeths(uid135845@id-135845.lymington.irccloud.com) lisbeths
2026-02-24 05:26:39 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-24 05:31:21 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds)
2026-02-24 05:32:27 +0100 <geekosaur> ithis is a long-running argument, and there are no real solutions because you can't reliably infer upper or lower bounds; you or someone else must experiment or actively test
2026-02-24 05:32:46 +0100eso(a0662dfd5e@2a03:6000:1812:100::1266) (Server closed connection)
2026-02-24 05:32:49 +0100 <geekosaur> and leaving either off forces others to do it for you by their tripping over it
2026-02-24 05:32:54 +0100eso(a0662dfd5e@2a03:6000:1812:100::1266) jeso
2026-02-24 05:42:01 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-24 05:42:51 +0100Athas(athas@2a01:7c8:aaac:1cf:acb7:4f2b:6164:21c9) (Quit: ZNC 1.9.1 - https://znc.in)
2026-02-24 05:43:03 +0100Athas(athas@2a01:7c8:aaac:1cf:10a0:cce8:21cf:53aa)
2026-02-24 05:43:37 +0100michalz(~michalz@185.246.207.221)
2026-02-24 05:46:46 +0100doyougnu(~doyougnu@38.175.72.111) (Server closed connection)
2026-02-24 05:47:32 +0100doyougnu(~doyougnu@38.175.72.111) doyougnu
2026-02-24 05:49:04 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2026-02-24 05:52:48 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-24 05:57:27 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds)
2026-02-24 05:58:16 +0100ChaiTRex(~ChaiTRex@user/chaitrex) (Ping timeout: 252 seconds)
2026-02-24 05:58:48 +0100ChaiTRex(~ChaiTRex@user/chaitrex) ChaiTRex
2026-02-24 06:07:42 +0100defragger(~random@i5C742DFE.versanet.de) (Ping timeout: 256 seconds)
2026-02-24 06:08:11 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-24 06:13:04 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds)
2026-02-24 06:19:12 +0100Googulator17(~Googulato@2a01-036d-0106-499d-1c5a-0e4b-5795-d7e3.pool6.digikabel.hu) (Quit: Client closed)
2026-02-24 06:19:28 +0100Googulator17(~Googulato@2a01-036d-0106-499d-1c5a-0e4b-5795-d7e3.pool6.digikabel.hu)
2026-02-24 06:23:33 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-24 06:28:27 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds)
2026-02-24 06:28:57 +0100jtnuttall(~jeremy@user/jeremyn) (Ping timeout: 255 seconds)
2026-02-24 06:29:34 +0100lol__(~lol@2603:3016:1e01:b940:4d29:e35:f98e:367a)
2026-02-24 06:34:00 +0100lol_(~lol@2603:3016:1e01:b940:9441:c46b:69b3:7076) (Ping timeout: 264 seconds)
2026-02-24 06:38:55 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-24 06:40:31 +0100emaczen(~user@user/emaczen) (Ping timeout: 264 seconds)
2026-02-24 06:43:31 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-02-24 06:50:57 +0100Square2(~Square4@user/square) Square
2026-02-24 06:53:45 +0100Square3(~Square@user/square) (Ping timeout: 248 seconds)
2026-02-24 06:53:48 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-24 06:58:31 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-02-24 07:03:04 +0100p3n_(~p3n@217.198.124.246) (Quit: ZNC 1.10.1 - https://znc.in)
2026-02-24 07:03:34 +0100p3n(~p3n@2a00:19a0:3:7c:0:d9c6:7cf6:1) p3n
2026-02-24 07:05:55 +0100peterbecich(~Thunderbi@71.84.33.135) (Ping timeout: 265 seconds)
2026-02-24 07:09:11 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-24 07:13:39 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-02-24 07:17:29 +0100takuan(~takuan@d8D86B9E9.access.telenet.be)
2026-02-24 07:24:33 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-24 07:26:09 +0100Googulator17(~Googulato@2a01-036d-0106-499d-1c5a-0e4b-5795-d7e3.pool6.digikabel.hu) (Quit: Client closed)
2026-02-24 07:26:15 +0100Googulator33(~Googulato@2a01-036d-0106-499d-1c5a-0e4b-5795-d7e3.pool6.digikabel.hu)
2026-02-24 07:29:56 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2026-02-24 07:38:10 +0100haritz(~hrtz@user/haritz) (Quit: ZNC 1.8.2+deb3.1+deb12u1 - https://znc.in)
2026-02-24 07:40:35 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-24 07:44:34 +0100Googulator33(~Googulato@2a01-036d-0106-499d-1c5a-0e4b-5795-d7e3.pool6.digikabel.hu) (Quit: Client closed)
2026-02-24 07:44:35 +0100Googulator78(~Googulato@2a01-036d-0106-499d-1c5a-0e4b-5795-d7e3.pool6.digikabel.hu)
2026-02-24 07:45:19 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-02-24 07:51:41 +0100marinelli(~weechat@gateway/tor-sasl/marinelli) (Quit: marinelli)
2026-02-24 07:54:48 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-24 07:59:21 +0100jmcantrell(~weechat@user/jmcantrell) (Ping timeout: 248 seconds)
2026-02-24 07:59:24 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds)
2026-02-24 08:00:47 +0100peterbecich(~Thunderbi@71.84.33.135) peterbecich
2026-02-24 08:08:15 +0100 <gentauro> adding this to a file works -> `{-# OPTIONS_GHC -Wall -Werror -fpackage-trust #-}`. However, this does not: `{-# OPTIONS_GHC -Wall -Werror -fpackage-trust -trust=base #-}`.
2026-02-24 08:08:39 +0100gentauroerror msg: "Unknown flag in {-# OPTIONS_GHC #-} pragma: -trust=base".
2026-02-24 08:09:08 +0100 <gentauro> anybody know how to pass trusted packages in the `OPTIONS_GHC` pragma?
2026-02-24 08:10:10 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-24 08:11:36 +0100 <gentauro> there seem to be `GHC` cli flags for that -> https://ghc.gitlab.haskell.org/ghc/doc/users_guide/exts/safe_haskell.html#package-trust
2026-02-24 08:11:51 +0100Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2026-02-24 08:11:53 +0100 <gentauro> however, they don't work with `runghc` :-\
2026-02-24 08:15:10 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds)
2026-02-24 08:20:09 +0100 <gentauro> Is there built-in logic in Haskell such as in F# `Enum.GetValues(typeof<tags>)` where you can get a sequence of the values for an (enum) datatype? For example for `data FooBarEnum = Foo | Bar deriving (Eq, Show)`.
2026-02-24 08:20:29 +0100gentaurowhich would result in [ Foo, Bar ]
2026-02-24 08:21:44 +0100 <Leary> @let data FooBarEnum = Foo | Bar deriving (Eq, Show, Enum)
2026-02-24 08:21:46 +0100 <lambdabot> Defined.
2026-02-24 08:21:56 +0100 <Leary> > [minBound .. maxBound] :: [FooBarEnum]
2026-02-24 08:21:57 +0100 <lambdabot> No instance for ‘Bounded FooBarEnum’
2026-02-24 08:21:57 +0100 <lambdabot> arising from a use of ‘minBound’
2026-02-24 08:21:58 +0100 <lambdabot> In the expression: minBound
2026-02-24 08:22:24 +0100 <Leary> Ah, Forgot to derive `Bounded`. Well, you get the idea.
2026-02-24 08:23:04 +0100 <Leary> > [minBound .. maxBound] :: [FooBarEnum]
2026-02-24 08:23:05 +0100 <lambdabot> [Foo,Bar]
2026-02-24 08:24:47 +0100marinelli(~weechat@gateway/tor-sasl/marinelli) marinelli
2026-02-24 08:25:32 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-24 08:27:01 +0100 <gentauro> Leary: now that was nifty <3
2026-02-24 08:27:32 +0100 <gentauro> many thx
2026-02-24 08:29:04 +0100img(~img@user/img) (Quit: ZNC 1.10.1 - https://znc.in)
2026-02-24 08:29:48 +0100wickedjargon(~user@2605:8d80:5430:dc79:6396:7e42:d4e3:36f9) wickedjargon
2026-02-24 08:30:20 +0100img(~img@user/img) img
2026-02-24 08:30:52 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds)
2026-02-24 08:36:31 +0100Enrico63(~Enrico63@host-79-19-156-232.retail.telecomitalia.it) Enrico63
2026-02-24 08:37:13 +0100tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz)
2026-02-24 08:40:54 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-24 08:44:04 +0100Enrico63(~Enrico63@host-79-19-156-232.retail.telecomitalia.it) (Quit: Client closed)
2026-02-24 08:47:54 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2026-02-24 08:52:41 +0100jj(~apropos@node-1w7jr9pqogh9vahu1mvneock5.ipv6.telus.net) (Ping timeout: 248 seconds)
2026-02-24 08:55:47 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-24 08:56:33 +0100jj(~apropos@node-1w7jr9pqogh9vahu1mvneock5.ipv6.telus.net) omentic
2026-02-24 09:00:09 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2026-02-24 09:02:09 +0100chele(~chele@user/chele) chele
2026-02-24 09:06:23 +0100wickedjargon(~user@2605:8d80:5430:dc79:6396:7e42:d4e3:36f9) (Read error: Connection reset by peer)
2026-02-24 09:11:10 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-24 09:11:18 +0100lbseale(~quassel@user/ep1ctetus) (Ping timeout: 256 seconds)
2026-02-24 09:15:00 +0100peterbecich(~Thunderbi@71.84.33.135) (Ping timeout: 255 seconds)
2026-02-24 09:15:32 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2026-02-24 09:18:04 +0100Pozyomka(~pyon@user/pyon) (Ping timeout: 268 seconds)
2026-02-24 09:27:27 +0100tromp(~textual@2001:1c00:3487:1b00:7955:9591:6018:7ef9)
2026-02-24 09:28:15 +0100AlexNoo(~AlexNoo@178.34.163.162)
2026-02-24 09:28:59 +0100AlexNoo_(~AlexNoo@178.34.163.162)
2026-02-24 09:29:43 +0100AlexNoo__(~AlexNoo@178.34.163.162)
2026-02-24 09:33:06 +0100AlexNoo(~AlexNoo@178.34.163.162) (Ping timeout: 268 seconds)
2026-02-24 09:33:41 +0100AlexNoo(~AlexNoo@178.34.163.162)
2026-02-24 09:33:43 +0100AlexNoo_(~AlexNoo@178.34.163.162) (Ping timeout: 268 seconds)
2026-02-24 09:34:20 +0100AlexNoo__(~AlexNoo@178.34.163.162) (Ping timeout: 268 seconds)
2026-02-24 09:37:54 +0100__monty__(~toonn@user/toonn) toonn
2026-02-24 09:50:43 +0100srk(~sorki@user/srk) (Ping timeout: 264 seconds)
2026-02-24 09:51:37 +0100emmanuelux(~em@user/emmanuelux) emmanuelux
2026-02-24 09:52:16 +0100srk(~sorki@user/srk) srk
2026-02-24 09:52:36 +0100merijn(~merijn@77.242.116.146) merijn
2026-02-24 10:06:08 +0100lxsameer(~lxsameer@Serene/lxsameer) lxsameer
2026-02-24 10:07:46 +0100emmanuelux(~em@user/emmanuelux) (Quit: bye)
2026-02-24 10:13:07 +0100Alex_delenda_est(~al_test@178.34.163.162)
2026-02-24 10:14:02 +0100AlexZenon(~alzenon@178.34.163.162)
2026-02-24 10:15:47 +0100Alex_test_(~al_test@178.34.163.162)
2026-02-24 10:15:54 +0100jreicher(~joelr@user/jreicher) (Quit: brb)
2026-02-24 10:17:33 +0100Alex_delenda_est(~al_test@178.34.163.162) (Ping timeout: 255 seconds)
2026-02-24 10:18:24 +0100jreicher(~joelr@user/jreicher) jreicher
2026-02-24 10:20:15 +0100Alex_test_(~al_test@178.34.163.162) (Ping timeout: 255 seconds)
2026-02-24 10:25:44 +0100Alex_delenda_est(~al_test@178.34.163.162)
2026-02-24 10:27:08 +0100sp1ff(~user@2601:1c2:4701:7850::8cd) (Ping timeout: 268 seconds)
2026-02-24 10:31:27 +0100 <dminuoso> % :t minBound
2026-02-24 10:31:27 +0100 <yahb2> minBound :: Bounded a => a
2026-02-24 10:31:58 +0100 <dminuoso> Curious, why is Ord not a superclass of Bounded?
2026-02-24 10:32:19 +0100 <dminuoso> What does `minimum/maximum` even mean in the absence of an ordering?
2026-02-24 10:32:50 +0100Enrico63(~Enrico63@host-79-19-156-232.retail.telecomitalia.it) Enrico63
2026-02-24 10:33:40 +0100 <tomsmeding> perhaps it makes sense that an Enum has a first and a last value for enumeration, but while it has an ordering compatible with that Enum instance, that ordering makes no semantical sense and is hence not defined?
2026-02-24 10:33:53 +0100 <tomsmeding> but then you could argue that you should give that Ord instance anyway
2026-02-24 10:34:47 +0100 <humasect> it says right in the first sentence https://hackage-content.haskell.org/package/base-4.22.0.0/docs/Data-Bounded.html
2026-02-24 10:35:05 +0100 <tomsmeding> lol, dminuoso ^
2026-02-24 10:35:24 +0100tomsmedingshould have thought of that
2026-02-24 10:35:32 +0100 <dminuoso> humasect: Yes, and its not much of an explanation.
2026-02-24 10:35:43 +0100 <dminuoso> It reads nonsensical to me.
2026-02-24 10:35:48 +0100 <humasect> perhaps look into its meaning, disassemble it to understanding
2026-02-24 10:35:50 +0100 <tomsmeding> dminuoso: not every ordering is total
2026-02-24 10:35:54 +0100 <dminuoso> Oh.
2026-02-24 10:35:54 +0100 <tomsmeding> partial orders are a thing
2026-02-24 10:35:55 +0100 <humasect> how to learn ?
2026-02-24 10:36:09 +0100sp1ff(~user@c-24-20-218-28.hsd1.wa.comcast.net) sp1ff
2026-02-24 10:36:22 +0100 <dminuoso> tomsmeding: Is there a notion of `minimum` in a partially ordered set, then?
2026-02-24 10:36:30 +0100 <dminuoso> Im not even sure what that would mean.
2026-02-24 10:36:32 +0100 <__monty__> tomsmeding: But Bounded doesn't deal with just any partial order.
2026-02-24 10:36:43 +0100 <tomsmeding> dminuoso: yes, a lower bound :) https://en.wikipedia.org/wiki/Lattice_(order)
2026-02-24 10:36:44 +0100 <__monty__> It's restricted to partial orders that have a single lower and upper bound.
2026-02-24 10:37:15 +0100 <tomsmeding> sure, but even those need not have a total ordering
2026-02-24 10:37:27 +0100 <tomsmeding> perhaps "lower bound" is not the technically correct term here
2026-02-24 10:37:38 +0100 <tomsmeding> (but then, it's probably "minimum", which would not have helped dminuoso)
2026-02-24 10:38:17 +0100 <tomsmeding> dminuoso: all subset of a given set S are partially ordered by inclusion, and they have a unique minimum ({}) and maximum (S), but they are not totally ordered
2026-02-24 10:38:47 +0100 <dminuoso> tomsmeding: Okay so what you're saying is that Bounded is just synonmous for Lattice?
2026-02-24 10:38:55 +0100 <tomsmeding> perhaps?
2026-02-24 10:39:16 +0100 <tomsmeding> well, a bounded lattice
2026-02-24 10:39:46 +0100 <dminuoso> tomsmeding: Aren't all lattices bounded by their suprema?
2026-02-24 10:40:04 +0100 <dminuoso> Ohh wait.
2026-02-24 10:40:06 +0100 <dminuoso> I see.
2026-02-24 10:40:07 +0100 <tomsmeding> according to the wikipedia definition that I'm currently reading, a plain "lattice" requires joins and meets of _two_ elements
2026-02-24 10:40:10 +0100 <tomsmeding> and thus finite sets
2026-02-24 10:40:27 +0100 <tomsmeding> a _complete lattice_ additionally requires suprema and infima of larger sets
2026-02-24 10:40:38 +0100 <tomsmeding> thus all complete lattices are bounded, but not all bounded lattices are complete? Perhaps?
2026-02-24 10:40:55 +0100dminuosowonders why lattices are called lattices
2026-02-24 10:41:19 +0100 <tomsmeding> because of this picture I always assumed https://commons.wikimedia.org/wiki/File:Pow3nonlattice.svg
2026-02-24 10:41:39 +0100 <jreicher> dminuoso: hasse diagrams
2026-02-24 10:41:51 +0100xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 255 seconds)
2026-02-24 10:42:06 +0100 <jreicher> https://en.wikipedia.org/wiki/Hasse_diagram
2026-02-24 10:42:21 +0100 <tomsmeding> which that picture is an example of
2026-02-24 10:42:40 +0100 <Leary> It's a bounded partial order with minimal and maximal elements---that doesn't imply unique suprema or infima.
2026-02-24 10:42:51 +0100Enrico63(~Enrico63@host-79-19-156-232.retail.telecomitalia.it) (Quit: Client closed)
2026-02-24 10:43:09 +0100 <tomsmeding> fair! Even pairs need not have unique joins or meets
2026-02-24 10:43:48 +0100 <dminuoso> Leary: Are you saying that Bounded does not have uniqueness requirements?
2026-02-24 10:44:16 +0100 <tomsmeding> dminuoso: even if there is a maximal element of the entire set, that does not necessarily mean there is a _unique_ smallest upper bound of any subset of the set
2026-02-24 10:44:31 +0100 <__monty__> dminuoso: I think they're talking about lattices.
2026-02-24 10:44:33 +0100 <tomsmeding> "lattice" implies that such upper bounds (and lower bounds) are unique
2026-02-24 10:44:57 +0100 <tomsmeding> so Bounded is not a "bounded lattice", it's a "partial order with minimal and maximal elements"
2026-02-24 10:45:07 +0100 <tomsmeding> which... we knew 10 minutes ago already
2026-02-24 10:45:08 +0100 <dminuoso> tomsmeding: Trying to understand what "maximal element of the entire set" would mean, if it was not a unique smallest supremum of any subset of the set.
2026-02-24 10:45:20 +0100 <tomsmeding> welcome to math where there are unintuitive counterexamples
2026-02-24 10:45:27 +0100 <dminuoso> Oh hold on.
2026-02-24 10:45:35 +0100 <dminuoso> The favourite person in a group could work I suppose.
2026-02-24 10:46:10 +0100 <jreicher> tomsmeding: clopen is my favourite
2026-02-24 10:46:44 +0100 <dminuoso> Hold on what I just said makes no sense.
2026-02-24 10:46:52 +0100 <jreicher> dminuoso: are you wondering what the difference between lattice and having max and min is?
2026-02-24 10:47:06 +0100 <dminuoso> The uniqueness is not of any subset, but a *pair* of elements.
2026-02-24 10:47:11 +0100 <jreicher> Yes
2026-02-24 10:47:18 +0100 <jreicher> (But I'm still not sure what the initial question was)
2026-02-24 10:47:24 +0100 <tomsmeding> (which are, in particular, subsets)
2026-02-24 10:47:29 +0100 <tomsmeding> jreicher: I think yes
2026-02-24 10:47:46 +0100 <tomsmeding> do you have an example of a bounded partial order that is not a lattice?
2026-02-24 10:47:51 +0100fp(~Thunderbi@wireless-86-50-141-0.open.aalto.fi) fp
2026-02-24 10:47:53 +0100 <tomsmeding> (I don't)
2026-02-24 10:48:02 +0100 <Leary> dminuoso: Maximal means nothing else is bigger than it, though perhaps the /greatest/ element is a better notion for a bound, in which case its bigger than everything.
2026-02-24 10:48:22 +0100 <int-e> I'm confused; Bounded just defined two points called minBound and maxBound? So it would work for partial orders too (and thus, lattices)
2026-02-24 10:48:44 +0100 <tomsmeding> int-e: the original original question was why Bounded does not have Ord as a superclass, which had answer "partial orders are a thing"
2026-02-24 10:48:45 +0100 <Leary> tomsmeding: You can just contrive a small finite partial order on paper.
2026-02-24 10:48:58 +0100 <Leary> It's not hard to make a counterexample.
2026-02-24 10:49:03 +0100 <int-e> tomsmeding: Ah. I see, lack of context strikes again.
2026-02-24 10:49:08 +0100 <tomsmeding> int-e: then we thought "but is Bounded then a bounded lattice?", to which the answer is no, as no unique joins/meets are required
2026-02-24 10:49:16 +0100 <tomsmeding> now we want an example of that :p
2026-02-24 10:49:54 +0100 <jreicher> tomsmeding: by "bounded" do we just mean the entire set (rather than any pair) as an infimum and supremum?
2026-02-24 10:49:59 +0100 <tomsmeding> yes
2026-02-24 10:50:02 +0100 <tomsmeding> or at least, I do
2026-02-24 10:50:11 +0100 <__monty__> dminuoso: If you're looking for any example of it whatsoever I think the one tomsmeding mentioned is the easiest. Take any set with more than one element and all subsets of that set, the partial order relation is subset-of, the minBound would be the empty set, the maxBound the set you started with, some pairs of subsets won't satisfy the subset-of relation in either order. So this can implement Bounded
2026-02-24 10:50:17 +0100 <__monty__> but not Ord.
2026-02-24 10:50:30 +0100 <jreicher> Then just "duplicate" a meet or join. It will no longer be a lattice.
2026-02-24 10:50:48 +0100 <tomsmeding> __monty__: yes, we figured that out, but we're already at the next question: that thing is clearly a lattice, but we want a not-lattice that is nevertheless a bounded partial order
2026-02-24 10:51:04 +0100 <int-e> Is it okay if it's? 0 < 1,2 < 3,4 < 5 has minimal and maximal elements but 3,4 have no infimum and 1,2 have no supremum
2026-02-24 10:51:29 +0100 <tomsmeding> but there's no unique maximum
2026-02-24 10:51:30 +0100 <__monty__> tomsmeding: The conversation has moved on but I'm not sure it's not leaving dminuoso behind ; )
2026-02-24 10:51:42 +0100 <tomsmeding> ah :p
2026-02-24 10:51:43 +0100 <int-e> tomsmeding: 5 is the unique maximal element here
2026-02-24 10:51:47 +0100 <Leary> tomsmeding: https://gist.github.com/LSLeary/c52be6739f5815d13a6774d46dcbde75
2026-02-24 10:51:53 +0100 <tomsmeding> int-e: no, because 2 !< 5
2026-02-24 10:52:00 +0100 <int-e> tomsmeding: it's transitive
2026-02-24 10:52:07 +0100 <tomsmeding> oh notation
2026-02-24 10:52:14 +0100 <tomsmeding> yes
2026-02-24 10:52:27 +0100 <tomsmeding> yes perfect
2026-02-24 10:52:36 +0100 <jreicher> I think int-e and I are thinking the same. 0 is one end and 5 is the other. The join of 1 and 2 is not unique
2026-02-24 10:52:37 +0100tomsmedingcloses the image editor
2026-02-24 10:52:41 +0100 <int-e> tomsmeding: sorry, I'm trying to cast a Hesse diagram in ASCII here
2026-02-24 10:52:51 +0100 <int-e> the translation is a bit lossy ;)
2026-02-24 10:52:55 +0100 <jreicher> int-e: have I understood you correctly?
2026-02-24 10:53:18 +0100 <tomsmeding> Leary: that notation in your gist is a bit ambiguous, what do the /\ on line 4 mean :p
2026-02-24 10:53:19 +0100 <int-e> Hasse diagram, meh.
2026-02-24 10:54:13 +0100 <dminuoso> Leary: Did you mean it like https://paste.tomsmeding.com/ayvscggm ?
2026-02-24 10:54:34 +0100 <__monty__> I'm also interested in kind of the reverse question, are there structures that can implement Ord but not Bounded? Something like a cyclical ordering? I suppose only if we put the "laws" of the class aside.
2026-02-24 10:54:43 +0100 <dminuoso> Or well, maybe without that x even
2026-02-24 10:54:51 +0100 <merijn> __monty__: Clearly we need a PartialOrd superclass of Ord that implement "a -> a -> Maybe Ordering"
2026-02-24 10:54:53 +0100 <dminuoso> Not sure if it makes it less or more ambiguous
2026-02-24 10:54:55 +0100 <tomsmeding> dminuoso: the x must be a crossing of lines without a node, yes
2026-02-24 10:55:11 +0100 <tomsmeding> __monty__: Integer?
2026-02-24 10:56:14 +0100 <jreicher> __monty__: if the order is transitive and antisymmetric it can't be cyclical
2026-02-24 10:56:24 +0100 <Leary> tomsmeding: Cross connections. Bit hard in slapdash asci. I revised it with an X if that's clearer.
2026-02-24 10:56:52 +0100 <tomsmeding> yes, which is also what dminuoso made of it
2026-02-24 10:57:21 +0100 <__monty__> tomsmeding: Oh, obviously, darn, less interesting than I thought.
2026-02-24 10:59:28 +0100 <int-e> tomsmeding: here is what it looks like properly: https://int-e.eu/~bf3/tmp/hapo.png
2026-02-24 11:01:03 +0100 <__monty__> TIL, min and max can return a value that is distinct from their arguments, as long as it is == to one of their arguments.
2026-02-24 11:01:25 +0100 <__monty__> I assume that's for some sort of canonicalization?
2026-02-24 11:01:58 +0100 <tomsmeding> int-e: yes
2026-02-24 11:02:13 +0100 <Leary> __monty__: `==` values aren't supposed to be distinguishable in the first place.
2026-02-24 11:02:35 +0100tomsmedinghas a meeting -> afk
2026-02-24 11:08:00 +0100xdminsy(~xdminsy@112.10.231.192) xdminsy
2026-02-24 11:08:16 +0100 <__monty__> Leary: But things like Arg exist and they exist because they are useful, I assume.
2026-02-24 11:08:35 +0100morj(~morj@user/morj) morj
2026-02-24 11:11:25 +0100 <Leary> It's occasionally pragmatic to break the law, yes. `Arg` actually wouldn't be useful if people always remembered to write `fooBy` instead of just `foo :: Ord a => ...`.
2026-02-24 11:11:52 +0100 <Leary> At least, not useful enough to justify its existence.
2026-02-24 11:13:02 +0100petrichor(~jez@user/petrichor) petrichor
2026-02-24 11:13:29 +0100xdminsy(~xdminsy@112.10.231.192) (Quit: Konversation terminated!)
2026-02-24 11:16:01 +0100morj_away(~morj@user/morj) morj
2026-02-24 11:16:37 +0100morj(~morj@user/morj) (Ping timeout: 272 seconds)
2026-02-24 11:17:10 +0100 <int-e> `fooBy` is awful when you have data structures with invariants (consider an implementation of containers that implements Data.Map using Data.Set with `Arg k v` elements)
2026-02-24 11:18:20 +0100 <int-e> (So it's not just programmer laziness.)
2026-02-24 11:20:38 +0100morj_away(~morj@user/morj) (Client Quit)
2026-02-24 11:20:56 +0100int-eponders extending this argument to saying that type classes are useles; people could just pass around the right operations explicitly. :-P
2026-02-24 11:21:57 +0100 <Leary> Even in such a case, `Arg` should be handrolled in the guts of containers, not exposed from base.
2026-02-24 11:23:43 +0100 <Leary> Re the extended argument, it's really about typeclasses with laws being used to implement operations that /don't require/ those laws and are useful in their absence; the typeclass method merely being a default choice.
2026-02-24 11:26:50 +0100divlamir(~divlamir@user/divlamir) (Read error: Connection reset by peer)
2026-02-24 11:27:05 +0100divlamir(~divlamir@user/divlamir) divlamir
2026-02-24 11:29:22 +0100ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 252 seconds)
2026-02-24 11:31:16 +0100hsw(~hsw@106.104.102.45) (Remote host closed the connection)
2026-02-24 11:31:37 +0100ec(~ec@gateway/tor-sasl/ec) ec
2026-02-24 11:32:21 +0100hsw(~hsw@106.104.102.45) hsw
2026-02-24 11:49:08 +0100mange(~mange@user/mange) mange
2026-02-24 11:53:35 +0100Enrico63(~Enrico63@host-79-19-156-232.retail.telecomitalia.it) Enrico63
2026-02-24 11:57:55 +0100humasect(~humasect@dyn-192-249-132-90.nexicom.net) (Quit: Leaving...)
2026-02-24 11:59:31 +0100infinity0(~infinity0@pwned.gg) (Ping timeout: 276 seconds)
2026-02-24 12:07:22 +0100lxsameer(~lxsameer@Serene/lxsameer) (Quit: WeeChat 4.8.1)
2026-02-24 12:10:10 +0100tromp(~textual@2001:1c00:3487:1b00:7955:9591:6018:7ef9) (Quit: My iMac has gone to sleep. ZZZzzz…)
2026-02-24 12:12:42 +0100Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
2026-02-24 12:14:03 +0100fp(~Thunderbi@wireless-86-50-141-0.open.aalto.fi) (Ping timeout: 268 seconds)
2026-02-24 12:14:06 +0100xdminsy(~xdminsy@112.10.231.192) xdminsy
2026-02-24 12:16:47 +0100xdminsy(~xdminsy@112.10.231.192) (Client Quit)
2026-02-24 12:17:08 +0100xdminsy(~xdminsy@112.10.231.192) xdminsy
2026-02-24 12:17:21 +0100xdminsy(~xdminsy@112.10.231.192) (Client Quit)
2026-02-24 12:17:43 +0100Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 264 seconds)
2026-02-24 12:17:52 +0100xdminsy(~xdminsy@112.10.231.192) xdminsy
2026-02-24 12:19:33 +0100infinity0(~infinity0@pwned.gg) infinity0
2026-02-24 12:19:40 +0100terrorjack(~terrorjac@2a01:4f8:271:2d98::2) (Quit: The Lounge - https://thelounge.chat)
2026-02-24 12:26:37 +0100wickedjargon(~user@2605:8d80:5430:ec04:8f71:3db2:1c1a:13ef) wickedjargon
2026-02-24 12:34:05 +0100fp(~Thunderbi@130.233.70.214) fp
2026-02-24 12:36:53 +0100wickedjargon(~user@2605:8d80:5430:ec04:8f71:3db2:1c1a:13ef) (Remote host closed the connection)
2026-02-24 12:38:45 +0100wickedjargon(~user@2605:8d80:5430:ec04:8f71:3db2:1c1a:13ef) wickedjargon
2026-02-24 12:40:22 +0100Pozyomka(~pyon@user/pyon) pyon