2026/06/10

2026-06-10 00:05:41 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-10 00:06:04 +0000Square3(~Square@user/square) Square
2026-06-10 00:07:16 +0000peterbecich(~Thunderbi@71.84.33.135) peterbecich
2026-06-10 00:09:01 +0000chromoblob(~chromoblo@user/chromob1ot1c) chromoblob\0
2026-06-10 00:09:26 +0000gentauro(~gentauro@user/gentauro) (Read error: Connection reset by peer)
2026-06-10 00:09:44 +0000sudden(~cat@user/sudden) sudden
2026-06-10 00:09:47 +0000kilolympus0(~kilolympu@vmi1102682.contaboserver.net) (Quit: The Lounge - https://thelounge.chat)
2026-06-10 00:11:21 +0000gentauro(~gentauro@user/gentauro) gentauro
2026-06-10 00:11:24 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds)
2026-06-10 00:14:07 +0000Square3(~Square@user/square) (Ping timeout: 252 seconds)
2026-06-10 00:16:19 +0000peterbecich(~Thunderbi@71.84.33.135) (Ping timeout: 252 seconds)
2026-06-10 00:16:22 +0000Square3(~Square@user/square) Square
2026-06-10 00:19:25 +0000comonad(~comonad@p200300d0270b48007e9ebd3a85faa87e.dip0.t-ipconnect.de) (Quit: WeeChat 4.7.0-dev)
2026-06-10 00:19:33 +0000ricmaps(~ricardoma@2804:14d:a040:81ea:c3b9:7f99:8cff:a364) (Quit: ricmaps)
2026-06-10 00:21:15 +0000kilolympus0(~kilolympu@vmi1102682.contaboserver.net) kilolympus
2026-06-10 00:22:18 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-10 00:23:47 +0000comonad(~comonad@p200300d0270b48007e9ebd3a85faa87e.dip0.t-ipconnect.de)
2026-06-10 00:27:45 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2026-06-10 00:29:03 +0000Square3(~Square@user/square) (Ping timeout: 241 seconds)
2026-06-10 00:29:22 +0000weary-traveler(~user@user/user363627) user363627
2026-06-10 00:38:52 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-10 00:41:48 +0000czan(~czan@user/mange) czan
2026-06-10 00:43:14 +0000user363627(~user@user/user363627) user363627
2026-06-10 00:44:04 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2026-06-10 00:46:00 +0000weary-traveler(~user@user/user363627) (Ping timeout: 245 seconds)
2026-06-10 00:48:28 +0000DetourNe-(~DetourNet@user/DetourNetworkUK) DetourNetworkUK
2026-06-10 00:49:09 +0000DetourNetworkUK(~DetourNet@user/DetourNetworkUK) (Read error: Connection reset by peer)
2026-06-10 00:50:41 +0000DetourNe-DetourNetworkUK
2026-06-10 00:52:44 +0000xff0x(~xff0x@2405:6580:b080:900:fe12:152c:dc21:40b0) (Ping timeout: 244 seconds)
2026-06-10 00:54:36 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-10 00:55:02 +0000bitdex(~bitdex@gateway/tor-sasl/bitdex) bitdex
2026-06-10 00:59:39 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2026-06-10 01:04:15 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-10 01:09:29 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2026-06-10 01:20:12 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-10 01:25:12 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 247 seconds)
2026-06-10 01:32:42 +0000CloneOfNone(~CloneOfNo@user/CloneOfNone) (Quit: ZNC 1.10.1 - https://znc.in)
2026-06-10 01:33:43 +0000CloneOfNone(~CloneOfNo@user/CloneOfNone) CloneOfNone
2026-06-10 01:35:59 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-10 01:40:44 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-06-10 01:44:06 +0000xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp)
2026-06-10 01:47:33 +0000Axman6(~Axman6@user/axman6) Axman6
2026-06-10 01:49:50 +0000Axma13896(~Axman6@user/axman6) (Ping timeout: 244 seconds)
2026-06-10 01:51:47 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-10 01:52:54 +0000poscat(~poscat@user/poscat) poscat
2026-06-10 01:54:39 +0000poscat0x04(~poscat@user/poscat) (Ping timeout: 252 seconds)
2026-06-10 01:56:10 +0000emilym(~Thunderbi@user/emilym) emilym
2026-06-10 01:56:48 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2026-06-10 02:00:49 +0000emilym(~Thunderbi@user/emilym) (Ping timeout: 276 seconds)
2026-06-10 02:06:25 +0000machinedgod(~machinedg@d172-219-48-230.abhsia.telus.net) (Ping timeout: 245 seconds)
2026-06-10 02:07:32 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-10 02:08:37 +0000td_(~td@i5387090C.versanet.de) (Ping timeout: 276 seconds)
2026-06-10 02:10:08 +0000td_(~td@i53870934.versanet.de)
2026-06-10 02:11:19 +0000fun-safe-math(~fun-safe-@97-120-35-225.ptld.qwest.net) fun-safe-math
2026-06-10 02:12:34 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2026-06-10 02:12:37 +0000fun-safe-math(~fun-safe-@97-120-35-225.ptld.qwest.net) (Client Quit)
2026-06-10 02:14:19 +0000fun-safe-math(~fun-safe-@97-120-35-225.ptld.qwest.net) fun-safe-math
2026-06-10 02:18:23 +0000humasect(~humasect@dyn-192-249-132-90.nexicom.net) humasect
2026-06-10 02:23:35 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-10 02:24:48 +0000lisbeths(uid135845@id-135845.lymington.irccloud.com) lisbeths
2026-06-10 02:28:29 +0000 <monochrom> Relativity uses sqrt(dx^2 + dy^2 + dz^2 - c*dt^2) (under the constraint that you don't go faster than c so the sqrt is real). Sometimes you can think of the time axis as like imaginary numbers.
2026-06-10 02:28:30 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-06-10 02:29:39 +0000 <monochrom> or maybe it's sqrt(c*dt^2 - (dx^2 + dy^2 + dz^2)), I forgot which.
2026-06-10 02:30:24 +0000Googulator6(~Googulato@94-21-172-222.pool.digikabel.hu) (Quit: Client closed)
2026-06-10 02:31:31 +0000humasect(~humasect@dyn-192-249-132-90.nexicom.net) (Quit: Leaving...)
2026-06-10 02:32:46 +0000bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 245 seconds)
2026-06-10 02:33:58 +0000bitdex(~bitdex@gateway/tor-sasl/bitdex) bitdex
2026-06-10 02:34:00 +0000ystael(~ystael@user/ystael) (Ping timeout: 244 seconds)
2026-06-10 02:40:41 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-10 02:42:07 +0000 <EvanR> it's ds^2 = -dt^2 + dx^2 + dy^2 + dz^2, where the right hand side may easily end up negative for e.g. a particle just sitting there
2026-06-10 02:42:30 +0000 <EvanR> so you need to be careful when attempting to take the square root (ds^2 is effectively just notation)
2026-06-10 02:47:10 +0000 <EvanR> given the above proper time is dtau = sqrt(-ds^2)
2026-06-10 02:47:22 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 259 seconds)
2026-06-10 02:48:31 +0000 <EvanR> and if it's a spacelike curve, d properlength = sqrt(ds^2)
2026-06-10 02:58:48 +0000merijn(~merijn@62.45.136.136) merijn
2026-06-10 03:00:13 +0000Axman636(~Axman6@user/axman6) Axman6
2026-06-10 03:02:35 +0000Axman6(~Axman6@user/axman6) (Ping timeout: 252 seconds)
2026-06-10 03:03:39 +0000merijn(~merijn@62.45.136.136) (Ping timeout: 245 seconds)
2026-06-10 03:12:06 +0000eron(~eron@179.118.254.196) lidenbrock
2026-06-10 03:14:57 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-10 03:20:27 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2026-06-10 03:23:52 +0000spew(~spew@user/spew) spew
2026-06-10 03:24:07 +0000GdeVolpiano(~GdeVolpia@user/GdeVolpiano) (Ping timeout: 244 seconds)
2026-06-10 03:31:01 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-10 03:36:09 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2026-06-10 03:45:00 +0000dutchie(~dutchie@user/dutchie) (Remote host closed the connection)
2026-06-10 03:46:33 +0000dutchie(~dutchie@user/dutchie) dutchie
2026-06-10 03:46:48 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-10 03:48:40 +0000rainbyte(~rainbyte@181.47.219.31) (Quit: rainbyte)
2026-06-10 03:48:53 +0000rainbyte(~rainbyte@181.47.219.31) rainbyte
2026-06-10 03:52:05 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2026-06-10 04:02:45 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-10 04:09:55 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-06-10 04:14:20 +0000eron(~eron@179.118.254.196) (Quit: Client closed)
2026-06-10 04:16:36 +0000Axman636Axman6
2026-06-10 04:20:24 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-10 04:24:52 +0000oats(~oats@user/oats) (Read error: Connection reset by peer)
2026-06-10 04:25:07 +0000oats(~oats@user/oats) oats
2026-06-10 04:27:09 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2026-06-10 04:30:21 +0000bliminse(~bliminse@user/bliminse) (Quit: leaving)
2026-06-10 04:32:14 +0000djspacewhale(~djspacewh@user/djspacewhale) djspacewhale
2026-06-10 04:32:44 +0000djspacewhale(~djspacewh@user/djspacewhale) (Remote host closed the connection)
2026-06-10 04:34:27 +0000Jacqueline__(uid751191@id-751191.helmsley.irccloud.com)
2026-06-10 04:38:26 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-10 04:39:26 +0000michalz(~michalz@185.246.207.217)
2026-06-10 04:43:30 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2026-06-10 04:45:12 +0000haritz(~hrtz@user/haritz) (Quit: ZNC 1.8.2+deb3.1+deb12u1 - https://znc.in)
2026-06-10 04:47:26 +0000karenw(~karenw@user/karenw) (Quit: Deep into that darkness peering...)
2026-06-10 04:48:02 +0000bliminse(~bliminse@user/bliminse) bliminse
2026-06-10 04:54:14 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-10 04:59:10 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 247 seconds)
2026-06-10 05:02:56 +0000takuan(~takuan@d8D86B9E9.access.telenet.be)
2026-06-10 05:06:24 +0000tnt1(~Thunderbi@user/tnt1) tnt1
2026-06-10 05:06:47 +0000DetourNetworkUK(~DetourNet@user/DetourNetworkUK) (Ping timeout: 258 seconds)
2026-06-10 05:10:00 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-10 05:22:00 +0000_0xa(~user@user/0xa/x-3134607) (Quit: ZNC 1.9.0+deb2build3 - https://znc.in)
2026-06-10 05:22:47 +0000_0xa(~user@2001:19f0:5001:2ba8:5400:1ff:feda:88fc)
2026-06-10 05:22:48 +0000_0xa(~user@2001:19f0:5001:2ba8:5400:1ff:feda:88fc) (Changing host)
2026-06-10 05:22:48 +0000_0xa(~user@user/0xa/x-3134607) _0xa
2026-06-10 05:44:21 +0000Axma64751(~Axman6@user/axman6) Axman6
2026-06-10 05:45:55 +0000Axman6(~Axman6@user/axman6) (Ping timeout: 245 seconds)
2026-06-10 05:49:46 +0000divlamir(~divlamir@user/divlamir) (Read error: Connection reset by peer)
2026-06-10 05:50:02 +0000divlamir(~divlamir@user/divlamir) divlamir
2026-06-10 06:07:00 +0000tusko(~uwu@user/tusko) (Remote host closed the connection)
2026-06-10 06:07:18 +0000tusko(~uwu@user/tusko) tusko
2026-06-10 06:07:21 +0000hc(~hc@mail.hce.li) (Remote host closed the connection)
2026-06-10 06:12:39 +0000fed-kaczynski_(~fed-kaczy@user/fed-kaczynski) fed-kaczynski
2026-06-10 06:12:55 +0000fed-kaczynski(~fed-kaczy@user/fed-kaczynski) (Ping timeout: 264 seconds)
2026-06-10 06:13:45 +0000tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz)
2026-06-10 06:15:30 +0000fed-kaczynski_fed-kaczynski
2026-06-10 06:19:22 +0000califax(~califax@user/califx) (Remote host closed the connection)
2026-06-10 06:19:25 +0000chexum(~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
2026-06-10 06:19:43 +0000califax(~califax@user/califx) califx
2026-06-10 06:20:33 +0000tt12316070197804(~tt1231@75.185.104.199) tt1231
2026-06-10 06:22:12 +0000tt1231607019780(~tt1231@2603:6010:8700:4a81:a4f6:acff:fe95:3803) (Ping timeout: 246 seconds)
2026-06-10 06:22:12 +0000tt12316070197804tt1231607019780
2026-06-10 06:22:39 +0000chexum(~quassel@gateway/tor-sasl/chexum) chexum
2026-06-10 06:27:19 +0000hc(~hc@mail.hce.li) hc
2026-06-10 06:27:21 +0000Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2026-06-10 06:28:31 +0000mehbark(~mehbark@joey.luug.ece.vt.edu) (Quit: Ping timeout (120 seconds))
2026-06-10 06:29:11 +0000ChaiTRex(~ChaiTRex@user/chaitrex) (Remote host closed the connection)
2026-06-10 06:29:11 +0000gmg(~user@user/gehmehgeh) (Remote host closed the connection)
2026-06-10 06:29:11 +0000chexum(~quassel@gateway/tor-sasl/chexum) (Write error: Broken pipe)
2026-06-10 06:29:25 +0000chexum(~quassel@gateway/tor-sasl/chexum) chexum
2026-06-10 06:30:09 +0000gmg(~user@user/gehmehgeh) gehmehgeh
2026-06-10 06:30:12 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2026-06-10 06:30:20 +0000ChaiTRex(~ChaiTRex@user/chaitrex) ChaiTRex
2026-06-10 06:31:27 +0000tt12316070197800(~tt1231@75.185.104.199) tt1231
2026-06-10 06:31:58 +0000tt1231607019780(~tt1231@75.185.104.199) (Read error: Connection reset by peer)
2026-06-10 06:31:58 +0000tt12316070197800tt1231607019780
2026-06-10 06:32:17 +0000RMSBach(~RMSBach@24.210.2.24) (Read error: Connection reset by peer)
2026-06-10 06:32:30 +0000RSBach(~RMSBach@24.210.2.24) RMSBach
2026-06-10 06:32:54 +0000RSBachRMSBach
2026-06-10 06:38:29 +0000ChaiTRex(~ChaiTRex@user/chaitrex) (Remote host closed the connection)
2026-06-10 06:38:52 +0000ChaiTRex(~ChaiTRex@user/chaitrex) ChaiTRex
2026-06-10 06:41:01 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-10 06:41:22 +0000czan(~czan@user/mange) (Quit: Quittin' time!)
2026-06-10 06:42:41 +0000Jacqueline__(uid751191@id-751191.helmsley.irccloud.com) (Quit: Connection closed for inactivity)
2026-06-10 06:42:51 +0000petrichor(~jez@user/petrichor) (Ping timeout: 252 seconds)
2026-06-10 06:43:20 +0000puke(~puke@user/puke) (Ping timeout: 268 seconds)
2026-06-10 06:43:56 +0000constxd(~constxd@user/constxd) (Quit: kiwi irc - hadmade client)
2026-06-10 06:45:22 +0000constxd(~constxd@user/constxd) constxd
2026-06-10 06:45:38 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2026-06-10 06:47:58 +0000sord937(~sord937@gateway/tor-sasl/sord937) sord937
2026-06-10 06:49:46 +0000bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2026-06-10 06:49:46 +0000gmg(~user@user/gehmehgeh) (Remote host closed the connection)
2026-06-10 06:49:57 +0000 <hc> Hello, I've got a type theory kind of question... Suppose I want to implement a HashMap k v in haskell, then add Show to it. However, some vs may not implement Show. Just in those cases, I want to number then values, just use v0...vn instead of showing the real value
2026-06-10 06:50:03 +0000 <hc> Is there a way to express that in pure haskell?
2026-06-10 06:50:10 +0000bitdex(~bitdex@gateway/tor-sasl/bitdex) bitdex
2026-06-10 06:50:28 +0000gmg(~user@user/gehmehgeh) gehmehgeh
2026-06-10 06:52:01 +0000puke(~puke@user/puke) puke
2026-06-10 06:55:33 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-10 07:06:55 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-06-10 07:09:12 +0000 <lortabac> hc: the simplest way to do it would be to define an instance Show (HashMap k v) for each concrete value of 'v'.
2026-06-10 07:09:32 +0000leppard(~noOne@ipservice-092-208-182-236.092.208.pools.vodafone-ip.de) Inline
2026-06-10 07:10:48 +0000 <lortabac> but I guess your idea is to define a generic instance Show v => Show (HashMap k v) and a generic one for all v's that don't have a Show instance
2026-06-10 07:11:55 +0000 <lortabac> this is not possible in ordinary Haskell because the two instances would be perfectly overlapping. The context is ignored in instance selection
2026-06-10 07:13:09 +0000 <lortabac> A middle ground would be to define an OVERLAPPABLE instance Show v => Show (HashMap k v), and instances for concrete types that don't have a Show instance. Would that be acceptable?
2026-06-10 07:14:41 +0000petrichor(~jez@user/petrichor) petrichor
2026-06-10 07:15:41 +0000peterbecich(~Thunderbi@71.84.33.135) peterbecich
2026-06-10 07:16:59 +0000GdeVolpiano(~GdeVolpia@user/GdeVolpiano) GdeVolpiano
2026-06-10 07:17:30 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-10 07:17:35 +0000GdeVolpiano(~GdeVolpia@user/GdeVolpiano) (Client Quit)
2026-06-10 07:21:21 +0000GdeVolpiano(~GdeVolpia@user/GdeVolpiano) GdeVolpiano
2026-06-10 07:21:34 +0000 <hc> lortabac: Ok, I see, thanks
2026-06-10 07:21:51 +0000 <hc> It's not a problem I need to urgently solve; I was more interested in how to solve the type system problem
2026-06-10 07:23:17 +0000 <lortabac> hc: the short answer is that the type system doesn't allow it
2026-06-10 07:23:47 +0000 <lortabac> but in reality there are some packages that allow you to do exactly what you want
2026-06-10 07:24:45 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2026-06-10 07:25:32 +0000 <lortabac> @hackage if-instance
2026-06-10 07:25:33 +0000 <lambdabot> https://hackage.haskell.org/package/if-instance
2026-06-10 07:25:46 +0000CiaoSen(~Jura@2a02:3033:682:5dac:4e50:ddff:fe9b:8922) CiaoSen
2026-06-10 07:26:36 +0000 <lortabac> @hackage ifctx
2026-06-10 07:26:37 +0000 <lambdabot> https://hackage.haskell.org/package/ifctx
2026-06-10 07:27:01 +0000 <lortabac> @hackage constraints-emerge
2026-06-10 07:27:01 +0000 <lambdabot> https://hackage.haskell.org/package/constraints-emerge
2026-06-10 07:27:22 +0000 <lortabac> https://github.com/rampion/constraint-unions
2026-06-10 07:28:59 +0000 <hc> lambdabot: interesting, thanks!
2026-06-10 07:29:06 +0000 <lortabac> there is also Data.Constraint.Deferrable in the 'constraints' package
2026-06-10 07:29:24 +0000 <hc> Arrgh, tab completion error, I meant lortabac of course :}
2026-06-10 07:29:35 +0000 <hc> actually, thanks to the both of you ;p
2026-06-10 07:29:40 +0000 <lortabac> :)
2026-06-10 07:29:59 +0000 <mauke> @botsnack
2026-06-10 07:29:59 +0000 <lambdabot> :)
2026-06-10 07:30:06 +0000 <lortabac> I wouldn't recommend these packages in real-world code though
2026-06-10 07:30:50 +0000 <lortabac> they may break at the next GHC upgrade (if they haven't already)
2026-06-10 07:30:50 +0000 <Leary> hc: Due to the open world assumption, you can never know that an instance does not exist, only that there isn't one in scope. Hence branching on existence doesn't actually make sense. Abusing TH or plugins to branch on in-scopedness can be done, but introduces incoherence, as your code becomes weirdly scope-dependent.
2026-06-10 07:33:15 +0000__monty__(~toonn@user/toonn) toonn
2026-06-10 07:34:08 +0000lisbeths(uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2026-06-10 07:34:52 +0000 <Leary> In practice, you should write something like `ppHashMap :: (k -> String) -> (v -> String) -> HashMap k v -> String` at the top level, use it to write `instance (Show k, Show v) => Show (HashMap k v)`, then wield `ppHashMap` when you lack a `Show` instance.
2026-06-10 07:37:58 +0000 <Leary> Alternatively, you can coerce `v` to some `newtype NoShow v` with `instance Show (NoShow v) where show _ = "_"`.
2026-06-10 07:38:48 +0000peterbecich(~Thunderbi@71.84.33.135) (Ping timeout: 255 seconds)
2026-06-10 07:39:05 +0000 <hc> Interesting ideas, thanks
2026-06-10 07:46:54 +0000CiaoSen(~Jura@2a02:3033:682:5dac:4e50:ddff:fe9b:8922) (Ping timeout: 246 seconds)
2026-06-10 07:47:48 +0000 <hc> And no, I won't use it in production code. It was just a question that came up while I wrote a pure HashMap function for a toy haskell compiler I'm working on
2026-06-10 07:47:57 +0000Axma64751Axman6
2026-06-10 07:50:27 +0000CiaoSen(~Jura@dynamic-046-114-106-020.46.114.pool.telefonica.de) CiaoSen
2026-06-10 07:56:24 +0000Xe(~Xe@perl/impostor/xe) (Ping timeout: 244 seconds)
2026-06-10 07:56:48 +0000emilym1(~Thunderbi@user/emilym) emilym
2026-06-10 07:57:25 +0000CiaoSen(~Jura@dynamic-046-114-106-020.46.114.pool.telefonica.de) (Ping timeout: 244 seconds)
2026-06-10 07:57:54 +0000luhann(~luhann@user/luhann) (Quit: WeeChat 4.8.1)
2026-06-10 07:58:09 +0000luhann(~luhann@user/luhann) luhann
2026-06-10 07:58:34 +0000Xe(~Xe@perl/impostor/xe) Xe
2026-06-10 08:01:06 +0000CiaoSen(~Jura@dynamic-046-114-169-123.46.114.pool.telefonica.de) CiaoSen
2026-06-10 08:01:37 +0000emilym1(~Thunderbi@user/emilym) (Ping timeout: 266 seconds)
2026-06-10 08:02:00 +0000merijn(~merijn@77.242.116.146) merijn
2026-06-10 08:10:05 +0000chele(~chele@user/chele) chele
2026-06-10 08:15:11 +0000ft(~ft@p508db0ab.dip0.t-ipconnect.de) (Quit: leaving)
2026-06-10 08:19:08 +0000tnt1(~Thunderbi@user/tnt1) (Ping timeout: 244 seconds)
2026-06-10 08:22:10 +0000emmanuelux(~em@user/emmanuelux) (Quit: bye)
2026-06-10 08:26:26 +0000emmanuelux(~em@user/emmanuelux) emmanuelux
2026-06-10 08:32:58 +0000ridcully(~ridcully@p57b52230.dip0.t-ipconnect.de) (Quit: WeeChat 4.9.0)
2026-06-10 08:34:46 +0000ridcully(~ridcully@p57b52230.dip0.t-ipconnect.de) ridcully
2026-06-10 08:39:08 +0000emmanuelux(~em@user/emmanuelux) (Quit: bye)
2026-06-10 08:39:29 +0000Axma45173(~Axman6@user/axman6) Axman6
2026-06-10 08:41:04 +0000lisbeths(uid135845@id-135845.lymington.irccloud.com) lisbeths
2026-06-10 08:42:10 +0000Axman6(~Axman6@user/axman6) (Ping timeout: 245 seconds)
2026-06-10 08:45:10 +0000acidjnk_new(~acidjnk@p200300d6e700e5380596a5c9e5db3faf.dip0.t-ipconnect.de)
2026-06-10 08:53:14 +0000Googulator(~Googulato@94-21-172-222.pool.digikabel.hu)
2026-06-10 08:55:13 +0000Coffish(~Coffish@user/Coffish) Coffish
2026-06-10 08:57:31 +0000chexum(~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
2026-06-10 08:58:11 +0000chexum(~quassel@gateway/tor-sasl/chexum) chexum
2026-06-10 09:05:40 +0000Xe_(~Xe@perl/impostor/xe) Xe
2026-06-10 09:05:44 +0000Xe(~Xe@perl/impostor/xe) (Ping timeout: 245 seconds)
2026-06-10 09:08:44 +0000chromoblob(~chromoblo@user/chromob1ot1c) (Ping timeout: 244 seconds)
2026-06-10 09:11:46 +0000chromoblob(~chromoblo@user/chromob1ot1c) chromoblob\0
2026-06-10 09:13:47 +0000tnt1(~Thunderbi@user/tnt1) tnt1
2026-06-10 09:20:47 +0000chexum(~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
2026-06-10 09:21:24 +0000chexum(~quassel@gateway/tor-sasl/chexum) chexum
2026-06-10 09:26:55 +0000luhan(~luhann@user/luhann) luhann
2026-06-10 09:27:53 +0000luhan(~luhann@user/luhann) (Client Quit)
2026-06-10 09:29:28 +0000petrichor(~jez@user/petrichor) (Quit: ZNC 1.10.1 - https://znc.in)
2026-06-10 09:32:55 +0000luhann(~luhann@user/luhann) (Quit: WeeChat 4.8.1)
2026-06-10 09:33:09 +0000luhann(~luhann@user/luhann) luhann
2026-06-10 09:35:00 +0000chromoblob(~chromoblo@user/chromob1ot1c) (Read error: Connection reset by peer)
2026-06-10 09:35:31 +0000chromoblob(~chromoblo@user/chromob1ot1c) chromoblob\0
2026-06-10 09:35:38 +0000luhann(~luhann@user/luhann) (Client Quit)
2026-06-10 09:38:06 +0000luhann(~luhann@user/luhann) luhann
2026-06-10 09:40:22 +0000chromoblob(~chromoblo@user/chromob1ot1c) (Ping timeout: 276 seconds)
2026-06-10 09:41:28 +0000chromoblob(~chromoblo@user/chromob1ot1c) chromoblob\0
2026-06-10 09:42:57 +0000chromoblob(~chromoblo@user/chromob1ot1c) (Read error: Connection reset by peer)
2026-06-10 09:43:24 +0000chromoblob(~chromoblo@user/chromob1ot1c) chromoblob\0
2026-06-10 09:47:04 +0000Square3(~Square@user/square) Square
2026-06-10 09:53:34 +0000Freakie(~Freakie@185.45.21.145)
2026-06-10 09:54:29 +0000CiaoSen(~Jura@dynamic-046-114-169-123.46.114.pool.telefonica.de) (Ping timeout: 245 seconds)
2026-06-10 09:56:38 +0000petrichor(~jez@user/petrichor) petrichor