2026/01/26

2026-01-26 00:02:34 +0100mulk(~mulk@pd95143a6.dip0.t-ipconnect.de) (Ping timeout: 256 seconds)
2026-01-26 00:04:34 +0100mulk(~mulk@p5b1128da.dip0.t-ipconnect.de) mulk
2026-01-26 00:08:29 +0100sp1ff`(~user@2601:1c2:4701:900::32d4) (Remote host closed the connection)
2026-01-26 00:11:22 +0100trickard(~trickard@cpe-86-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2026-01-26 00:11:35 +0100trickard_(~trickard@cpe-86-98-47-163.wireline.com.au)
2026-01-26 00:13:16 +0100Fijxu(~Fijxu@user/fijxu) (Quit: XD!!)
2026-01-26 00:14:35 +0100Fijxu(~Fijxu@user/fijxu) fijxu
2026-01-26 00:20:07 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2026-01-26 00:20:27 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) bitdex
2026-01-26 00:28:35 +0100Pozyomka(~pyon@user/pyon) pyon
2026-01-26 00:36:42 +0100weary-traveler(~user@user/user363627) user363627
2026-01-26 00:42:48 +0100ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 256 seconds)
2026-01-26 00:44:10 +0100trickard_(~trickard@cpe-86-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2026-01-26 00:44:23 +0100trickard_(~trickard@cpe-86-98-47-163.wireline.com.au)
2026-01-26 01:04:49 +0100mixfix41(~sdeny9ee@user/mixfix41) mixfix41
2026-01-26 01:08:15 +0100xff0x(~xff0x@2405:6580:b080:900:3b58:3b23:6c7:a174) (Ping timeout: 245 seconds)
2026-01-26 01:12:11 +0100xff0x(~xff0x@2405:6580:b080:900:1b91:f7b5:c35c:b57e)
2026-01-26 01:18:15 +0100xff0x(~xff0x@2405:6580:b080:900:1b91:f7b5:c35c:b57e) (Ping timeout: 245 seconds)
2026-01-26 01:19:25 +0100xff0x(~xff0x@2405:6580:b080:900:572:fd16:77ee:a888)
2026-01-26 01:32:48 +0100xff0x(~xff0x@2405:6580:b080:900:572:fd16:77ee:a888) (Ping timeout: 252 seconds)
2026-01-26 01:33:47 +0100xff0x(~xff0x@2405:6580:b080:900:41e3:7849:bdcf:b5e1)
2026-01-26 01:36:49 +0100vanishingideal(~vanishing@user/vanishingideal) (Ping timeout: 260 seconds)
2026-01-26 01:50:02 +0100machinedgod(~machinedg@d75-159-126-101.abhsia.telus.net) machinedgod
2026-01-26 01:54:38 +0100trickard_(~trickard@cpe-86-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2026-01-26 01:54:50 +0100trickard_(~trickard@cpe-86-98-47-163.wireline.com.au)
2026-01-26 01:56:16 +0100Tuplanolla(~Tuplanoll@85-156-32-207.elisa-laajakaista.fi) (Quit: Leaving.)
2026-01-26 02:02:28 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 252 seconds)
2026-01-26 02:05:27 +0100xff0x(~xff0x@2405:6580:b080:900:41e3:7849:bdcf:b5e1) (Ping timeout: 250 seconds)
2026-01-26 02:08:23 +0100emmanuelux(~em@user/emmanuelux) (Quit: bye)
2026-01-26 02:10:24 +0100emmanuelux(~em@user/emmanuelux) emmanuelux
2026-01-26 02:14:00 +0100Fijxu(~Fijxu@user/fijxu) (Quit: XD!!)
2026-01-26 02:16:13 +0100Fijxu(~Fijxu@user/fijxu) fijxu
2026-01-26 02:22:25 +0100qqq(~qqq@185.54.21.105)
2026-01-26 02:37:13 +0100cyphase(~cyphase@user/cyphase) (Ping timeout: 246 seconds)
2026-01-26 02:39:49 +0100acidjnk(~acidjnk@p200300d6e71719732cd814db2eedd90f.dip0.t-ipconnect.de) (Ping timeout: 265 seconds)
2026-01-26 02:40:14 +0100omidmash8(~omidmash@user/omidmash) omidmash
2026-01-26 02:42:04 +0100omidmash(~omidmash@user/omidmash) (Ping timeout: 244 seconds)
2026-01-26 02:42:04 +0100omidmash8omidmash
2026-01-26 02:42:10 +0100cyphase(~cyphase@user/cyphase) cyphase
2026-01-26 02:51:16 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) bitdex
2026-01-26 02:55:54 +0100jmcantrell_(~weechat@user/jmcantrell) jmcantrell
2026-01-26 03:08:05 +0100xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp)
2026-01-26 03:12:08 +0100trickard_trickard
2026-01-26 03:15:25 +0100weary-traveler(~user@user/user363627) (Quit: Konversation terminated!)
2026-01-26 03:15:41 +0100weary-traveler(~user@user/user363627) user363627
2026-01-26 03:19:34 +0100Pozyomka(~pyon@user/pyon) (Ping timeout: 246 seconds)
2026-01-26 03:21:43 +0100Pozyomka(~pyon@user/pyon) pyon
2026-01-26 03:45:28 +0100confusedalex(~confuseda@user/confusedalex) (Ping timeout: 246 seconds)
2026-01-26 03:56:20 +0100confusedalex(~confuseda@user/confusedalex) confusedalex
2026-01-26 03:57:06 +0100ski(~ski@remote11.chalmers.se) (Remote host closed the connection)
2026-01-26 04:02:10 +0100jmcantrell_jmcantrell
2026-01-26 04:18:27 +0100FANTOM(~fantom@87.75.185.177)
2026-01-26 04:21:49 +0100ski(~ski@remote11.chalmers.se) ski
2026-01-26 04:25:52 +0100omidmash(~omidmash@user/omidmash) (Quit: The Lounge - https://thelounge.chat)
2026-01-26 04:29:26 +0100omidmash(~omidmash@user/omidmash) omidmash
2026-01-26 04:52:38 +0100Guest25(~Guest96@184-83-220-139-dynamic.midco.net)
2026-01-26 04:55:13 +0100Guest48(~Guest96@184-83-220-139-dynamic.midco.net)
2026-01-26 05:00:13 +0100Guest25(~Guest96@184-83-220-139-dynamic.midco.net) (Quit: Client closed)
2026-01-26 05:00:14 +0100Guest48(~Guest96@184-83-220-139-dynamic.midco.net) (Write error: Connection reset by peer)
2026-01-26 05:01:24 +0100marinelli(~weechat@gateway/tor-sasl/marinelli) (Ping timeout: 252 seconds)
2026-01-26 05:01:45 +0100marinelli(~weechat@gateway/tor-sasl/marinelli) marinelli
2026-01-26 05:29:56 +0100_gio(~weechat@gateway/tor-sasl/marinelli) marinelli
2026-01-26 05:32:56 +0100marinelli(~weechat@gateway/tor-sasl/marinelli) (Ping timeout: 252 seconds)
2026-01-26 05:34:40 +0100weary-traveler(~user@user/user363627) (Ping timeout: 246 seconds)
2026-01-26 05:40:37 +0100machinedgod(~machinedg@d75-159-126-101.abhsia.telus.net) (Ping timeout: 246 seconds)
2026-01-26 05:44:10 +0100weary-traveler(~user@user/user363627) user363627
2026-01-26 05:46:51 +0100trickard(~trickard@cpe-86-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2026-01-26 05:57:31 +0100trickard_(~trickard@cpe-86-98-47-163.wireline.com.au)
2026-01-26 06:00:54 +0100rekahsoft(~rekahsoft@70.51.99.245) (Remote host closed the connection)
2026-01-26 06:23:56 +0100trickard_trickard
2026-01-26 06:25:16 +0100michalz(~michalz@185.246.207.203)
2026-01-26 06:45:49 +0100jmcantrell(~weechat@user/jmcantrell) (Ping timeout: 250 seconds)
2026-01-26 06:57:10 +0100peterbecich(~Thunderbi@71.84.33.135) peterbecich
2026-01-26 07:10:25 +0100takuan(~takuan@d8D86B9E9.access.telenet.be)
2026-01-26 07:17:00 +0100vanishingideal(~vanishing@user/vanishingideal) vanishingideal
2026-01-26 07:48:31 +0100Adran(~adran@botters/adran) (Read error: Connection reset by peer)
2026-01-26 07:56:51 +0100tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz)
2026-01-26 07:57:28 +0100Guest17(~Guest96@184.83.220.139)
2026-01-26 08:06:01 +0100vanishingideal(~vanishing@user/vanishingideal) (Ping timeout: 264 seconds)
2026-01-26 08:10:44 +0100sord937(~sord937@gateway/tor-sasl/sord937) sord937
2026-01-26 08:26:32 +0100Adran(~adran@botters/adran) Adran
2026-01-26 08:45:20 +0100vidak(~vidak@2407:e400:7800:2c01:d0be:76f8:cc84:bd4a) (Excess Flood)
2026-01-26 08:46:33 +0100vidak(~vidak@2407:e400:7800:2c01:d0be:76f8:cc84:bd4a) vidak
2026-01-26 08:58:16 +0100 <gentauro> EvanR: in FP, everything is data ;)
2026-01-26 08:58:57 +0100lstor(~lstor@user/lstor) lstor
2026-01-26 08:59:31 +0100Guest17(~Guest96@184.83.220.139) (Quit: Client closed)
2026-01-26 09:03:23 +0100 <gentauro> `type expr = Var of string | Lam of (string * expr) | App of (expr * expr)` (in OcaML)
2026-01-26 09:05:08 +0100oskarw(~user@user/oskarw) oskarw
2026-01-26 09:07:52 +0100CiaoSen(~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) CiaoSen
2026-01-26 09:14:41 +0100lucabtz(~lucabtz@user/lucabtz) lucabtz
2026-01-26 09:18:44 +0100gmg(~user@user/gehmehgeh) (Remote host closed the connection)
2026-01-26 09:19:32 +0100gmg(~user@user/gehmehgeh) gehmehgeh
2026-01-26 09:30:34 +0100peterbecich(~Thunderbi@71.84.33.135) (Ping timeout: 246 seconds)
2026-01-26 09:31:18 +0100Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2026-01-26 09:43:29 +0100ss4(~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
2026-01-26 09:47:01 +0100CiaoSen(~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 246 seconds)
2026-01-26 09:47:03 +0100trickard(~trickard@cpe-86-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2026-01-26 09:47:15 +0100trickard_(~trickard@cpe-86-98-47-163.wireline.com.au)
2026-01-26 10:07:46 +0100merijn(~merijn@77.242.116.146) merijn
2026-01-26 10:11:49 +0100 <jreicher> gentauro: in Lisp everything is data. In FP everything is a function. That's why you can mutate in Lisp but you can't in FP.
2026-01-26 10:12:04 +0100picnoir(~picnoir@about/aquilenet/vodoo/NinjaTrappeur) (Quit: WeeChat 4.8.1)
2026-01-26 10:13:34 +0100picnoir(~picnoir@about/aquilenet/vodoo/NinjaTrappeur) NinjaTrappeur
2026-01-26 10:18:06 +0100haritz(~hrtz@user/haritz) (Quit: ZNC 1.8.2+deb3.1+deb12u1 - https://znc.in)
2026-01-26 10:23:27 +0100picnoir(~picnoir@about/aquilenet/vodoo/NinjaTrappeur) (Quit: WeeChat 4.8.1)
2026-01-26 10:24:25 +0100AlexNoo(~AlexNoo@85.174.180.154)
2026-01-26 10:24:50 +0100AlexZenon(~alzenon@85.174.180.154)
2026-01-26 10:24:59 +0100picnoir(~picnoir@about/aquilenet/vodoo/NinjaTrappeur) NinjaTrappeur
2026-01-26 10:27:24 +0100trickard_(~trickard@cpe-86-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2026-01-26 10:27:37 +0100trickard_(~trickard@cpe-86-98-47-163.wireline.com.au)
2026-01-26 10:28:56 +0100 <merijn> jreicher: uh, hard disagree
2026-01-26 10:29:07 +0100 <merijn> In FP everything is not a function
2026-01-26 10:29:26 +0100 <merijn> In fact, lots of things are not functions
2026-01-26 10:31:58 +0100 <int-e> Also the thing that strongly discourages mutation is lazy evaluation, because that makes it extremely difficult to reason about when mutations take place unless you impose some radical discipline (like CPS or threading a virtual state token through operations with side effects)
2026-01-26 10:32:46 +0100 <int-e> ML just puts you place mutable references any place you like.
2026-01-26 10:32:55 +0100 <int-e> puts -> lets
2026-01-26 10:44:34 +0100 <gentauro> jreicher: LISP is FP ;)
2026-01-26 10:45:13 +0100 <gentauro> and it's "type-safe". Just not enforce statically
2026-01-26 10:46:55 +0100tt12316070(~tt1231@75.185.104.199) tt1231
2026-01-26 10:48:37 +0100tt1231607(~tt1231@2603:6010:8700:4a81:a4f6:acff:fe95:3803) (Ping timeout: 246 seconds)
2026-01-26 10:48:38 +0100tt12316070tt1231607
2026-01-26 10:51:54 +0100skum(~skum@user/skum) (Quit: WeeChat 4.8.1)
2026-01-26 10:53:42 +0100__monty__(~toonn@user/toonn) toonn
2026-01-26 10:58:37 +0100chromoblob(~chromoblo@user/chromob1ot1c) (Ping timeout: 265 seconds)
2026-01-26 10:59:23 +0100terrorjack(~terrorjac@2a01:4f8:c17:9d11::) (Quit: The Lounge - https://thelounge.chat)
2026-01-26 10:59:35 +0100chromoblob(~chromoblo@user/chromob1ot1c) chromoblob\0
2026-01-26 11:06:28 +0100terrorjack(~terrorjac@2a01:4f8:c17:9d11::) terrorjack
2026-01-26 11:16:02 +0100kuribas(~user@2a02-1810-2825-6000-8a6a-4aff-4d86-f963.ip6.access.telenet.be) kuribas
2026-01-26 11:24:01 +0100xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 264 seconds)
2026-01-26 11:28:42 +0100trickard_trickard
2026-01-26 11:38:23 +0100CiaoSen(~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) CiaoSen
2026-01-26 11:44:44 +0100trickard(~trickard@cpe-86-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2026-01-26 11:44:57 +0100trickard_(~trickard@cpe-86-98-47-163.wireline.com.au)
2026-01-26 11:45:07 +0100chromoblob(~chromoblo@user/chromob1ot1c) (Read error: Connection reset by peer)
2026-01-26 11:45:27 +0100chromoblob(~chromoblo@user/chromob1ot1c) chromoblob\0
2026-01-26 11:45:30 +0100CiaoSen(~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 252 seconds)
2026-01-26 11:46:56 +0100rainbyte_(~rainbyte@186.22.19.214) (Ping timeout: 240 seconds)
2026-01-26 11:47:11 +0100oskarw(~user@user/oskarw) (Remote host closed the connection)
2026-01-26 11:48:42 +0100CiaoSen(~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) CiaoSen
2026-01-26 11:49:49 +0100chromoblob(~chromoblo@user/chromob1ot1c) (Ping timeout: 264 seconds)
2026-01-26 11:52:00 +0100chromoblob(~chromoblo@user/chromob1ot1c) chromoblob\0
2026-01-26 11:54:44 +0100pabs3(~pabs3@user/pabs3) (Read error: Connection reset by peer)
2026-01-26 11:55:51 +0100Square(~Square4@user/square) Square
2026-01-26 12:03:44 +0100fp(~Thunderbi@2001-14ba-6e24-3000--198.rev.dnainternet.fi) fp
2026-01-26 12:05:18 +0100CiaoSen(~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 252 seconds)
2026-01-26 12:11:25 +0100pabs3(~pabs3@user/pabs3) pabs3
2026-01-26 12:12:53 +0100chele(~chele@user/chele) chele
2026-01-26 12:21:08 +0100jonnie(~jonnie@user/jonnie) (Remote host closed the connection)
2026-01-26 12:22:49 +0100chromoblob(~chromoblo@user/chromob1ot1c) (Read error: Connection reset by peer)
2026-01-26 12:23:16 +0100jonnie(~jonnie@user/jonnie) jonnie
2026-01-26 12:23:17 +0100chromoblob(~chromoblo@user/chromob1ot1c) chromoblob\0
2026-01-26 12:23:48 +0100xff0x(~xff0x@2405:6580:b080:900:5e15:fad5:8284:4db7)
2026-01-26 12:24:19 +0100trickard_trickard
2026-01-26 12:29:45 +0100 <haskellbridge> <Liamzee> everything is a type? also, Common Lisp people would have a bone to pick with you
2026-01-26 12:32:05 +0100 <haskellbridge> <Liamzee> for a brief moment i regretted that IO wasn't traversable, but then again, how could you get IO to be foldable?
2026-01-26 12:32:29 +0100 <haskellbridge> <Liamzee> for _IOCheck $ \something -> ...
2026-01-26 12:36:17 +0100lucabtz(~lucabtz@user/lucabtz) (Read error: Connection reset by peer)
2026-01-26 12:54:45 +0100wootehfoot(~wootehfoo@user/wootehfoot) wootehfoot
2026-01-26 12:58:00 +0100 <opqdonut> isn't the foldable/traversable instance for IO trivial? It contains a single value.
2026-01-26 12:58:20 +0100itaipu(~itaipu@168.121.97.28) itaipu
2026-01-26 12:58:32 +0100 <opqdonut> oh sorry, not foldable, can't unIO
2026-01-26 13:01:02 +0100comerijn(~merijn@77.242.116.146) merijn
2026-01-26 13:03:01 +0100merijn(~merijn@77.242.116.146) (Ping timeout: 246 seconds)
2026-01-26 13:29:22 +0100Square(~Square4@user/square) (Remote host closed the connection)
2026-01-26 13:34:13 +0100Lycurgus(~juan@user/Lycurgus) Lycurgus
2026-01-26 13:34:43 +0100Square(~Square4@user/square) Square
2026-01-26 13:45:59 +0100trickard(~trickard@cpe-86-98-47-163.wireline.com.au) (Ping timeout: 260 seconds)
2026-01-26 13:46:27 +0100trickard_(~trickard@cpe-86-98-47-163.wireline.com.au)
2026-01-26 13:47:42 +0100lucabtz(~lucabtz@user/lucabtz) lucabtz
2026-01-26 13:56:36 +0100trickard_(~trickard@cpe-86-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2026-01-26 13:56:54 +0100trickard_(~trickard@cpe-86-98-47-163.wireline.com.au)
2026-01-26 14:08:55 +0100trickard_(~trickard@cpe-86-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2026-01-26 14:09:09 +0100trickard_(~trickard@cpe-86-98-47-163.wireline.com.au)
2026-01-26 14:13:38 +0100karenw(~karenw@user/karenw) karenw
2026-01-26 14:22:23 +0100Lycurgus(~juan@user/Lycurgus) (Quit: alsoknownas.renjuan.org ( juan@acm.org ))
2026-01-26 14:22:47 +0100housemate(~housemate@202.7.248.67) (Quit: https://ineedsomeacidtocalmmedown.space/)
2026-01-26 14:25:38 +0100 <haskellbridge> <Man of Letters (Mikolaj)> is there a way around this?
2026-01-26 14:25:39 +0100 <haskellbridge> ... long message truncated: https://kf8nh.com/_heisenbridge/media/kf8nh.com/ptBfheGxAndftWFfLmlImUig/HEYosfzlhmE (23 lines)
2026-01-26 14:26:19 +0100trickard_(~trickard@cpe-86-98-47-163.wireline.com.au) (Ping timeout: 246 seconds)
2026-01-26 14:26:36 +0100trickard_(~trickard@cpe-80-98-47-163.wireline.com.au)
2026-01-26 14:28:07 +0100 <haskellbridge> <Man of Letters (Mikolaj)> (the workaround would possibly be to add an equation "a_b ~ (Fst a_b, Snd a_b)" to the type signature of "lengthT2")
2026-01-26 14:33:13 +0100housemate(~housemate@202.7.248.67) housemate
2026-01-26 14:33:51 +0100trickard_trickard
2026-01-26 14:37:33 +0100ttybitnik(~ttybitnik@user/wolper) ttybitnik
2026-01-26 14:39:16 +0100ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 252 seconds)
2026-01-26 14:40:44 +0100Guest43(~Guest43@p200300dcb736f100c4bc8629e572e5b9.dip0.t-ipconnect.de)
2026-01-26 14:41:38 +0100ec(~ec@gateway/tor-sasl/ec) ec
2026-01-26 14:43:55 +0100Guest43(~Guest43@p200300dcb736f100c4bc8629e572e5b9.dip0.t-ipconnect.de) (Client Quit)
2026-01-26 14:45:04 +0100chromoblob(~chromoblo@user/chromob1ot1c) (Remote host closed the connection)
2026-01-26 14:45:20 +0100chromoblob(~chromoblo@user/chromob1ot1c) chromoblob\0
2026-01-26 14:46:37 +0100yin(~zero@user/zero) (Ping timeout: 246 seconds)
2026-01-26 14:47:11 +0100sord937(~sord937@gateway/tor-sasl/sord937) (Remote host closed the connection)
2026-01-26 14:47:11 +0100_gio(~weechat@gateway/tor-sasl/marinelli) (Remote host closed the connection)
2026-01-26 14:47:11 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2026-01-26 14:47:29 +0100marinelli(~weechat@gateway/tor-sasl/marinelli) marinelli
2026-01-26 14:47:33 +0100sord937(~sord937@gateway/tor-sasl/sord937) sord937
2026-01-26 14:47:39 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) bitdex
2026-01-26 14:47:47 +0100 <Leary> Man of Letters (Mikolaj): Relevant issue: <https://gitlab.haskell.org/ghc/ghc/-/issues/7259>; these "eta-rules" aren't sound in current GHC due to some type family foibles, but there's no issue with taking them as explicit constraints or matching on `T`, if either help.
2026-01-26 14:49:16 +0100 <Leary> For that specific example I would say "just don't give `lengthT` that type", but I doubt that advice generalises to your actual code.
2026-01-26 14:49:53 +0100trickard(~trickard@cpe-80-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2026-01-26 14:50:06 +0100trickard_(~trickard@cpe-80-98-47-163.wireline.com.au)
2026-01-26 14:56:02 +0100yin(~zero@user/zero) zero
2026-01-26 14:58:12 +0100ags(~ags@p200300dcb736f100c4bc8629e572e5b9.dip0.t-ipconnect.de)
2026-01-26 14:59:11 +0100 <haskellbridge> <Man of Letters (Mikolaj)> Leary: thank you; spot on, too bad, yeah, I guess I may try to use the internals of the libraries I use to write versions of some of their functions specifically for "(a, b), but it's a shame; if I had "Fst"and"Snd` maybe constraints in my own code would suffice, but probably these would trigger the same unsoundness that GHC assuming them does
2026-01-26 14:59:32 +0100 <haskellbridge> <Man of Letters (Mikolaj)> - '(a, b)
2026-01-26 15:16:14 +0100 <ags> What advantage does `Servant` have over `Yesod`? I understand that `Servant` is able to automatically generate a lot of stuff but it seems to me that `Yesod` is able to achieve the same type-safety via TemplateHaskell and QuasiQuotes. Am I missing something?
2026-01-26 15:20:31 +0100 <Leary> Man of Letters (Mikolaj): What's unsound is `eta :: forall t. t :~: (Fst t, Snd t); eta = unsafeCoerce (Refl @t)`---so long as you aren't cooking with `unsafeCoerce` there won't be a problem. Re `Fst` and `Snd`, they're just ordinary closed type families.
2026-01-26 15:20:55 +0100 <Leary> '(*
2026-01-26 15:21:01 +0100marinelli(~weechat@gateway/tor-sasl/marinelli) (Remote host closed the connection)
2026-01-26 15:21:50 +0100machinedgod(~machinedg@d75-159-126-101.abhsia.telus.net) machinedgod
2026-01-26 15:22:44 +0100 <haskellbridge> <Man of Letters (Mikolaj)> oh, so I _can_ define "Fst"; let me try in that case...
2026-01-26 15:26:43 +0100marinelli(~weechat@gateway/tor-sasl/marinelli) marinelli
2026-01-26 15:28:31 +0100 <haskellbridge> <Man of Letters (Mikolaj)> yay, it works and in both directions:
2026-01-26 15:28:32 +0100 <haskellbridge> ... long message truncated: https://kf8nh.com/_heisenbridge/media/kf8nh.com/NXWYnHcDHOAropDWOwElprDd/SxwevPmJWUA (7 lines)
2026-01-26 15:29:22 +0100 <haskellbridge> <Man of Letters (Mikolaj)> let me try my big project that uses https://hackage.haskell.org/package/dependent-enummap ...
2026-01-26 15:32:11 +0100ttybitnik(~ttybitnik@user/wolper) (Quit: Fading out...)
2026-01-26 15:33:40 +0100 <mjacob> EvanR, monochrom: With “cycle” in FRP, I meant that, if the program is converted to a dataflow graph where the nodes represent computations and edges represent uses, a cycle in that graph.
2026-01-26 15:51:27 +0100img(~img@user/img) (Quit: ZNC 1.10.1 - https://znc.in)
2026-01-26 15:52:42 +0100img(~img@user/img) img
2026-01-26 15:54:00 +0100comerijn(~merijn@77.242.116.146) (Ping timeout: 256 seconds)
2026-01-26 16:04:05 +0100Pozyomka(~pyon@user/pyon) (Quit: WeeChat 4.8.1)
2026-01-26 16:07:05 +0100fp(~Thunderbi@2001-14ba-6e24-3000--198.rev.dnainternet.fi) (Quit: fp)
2026-01-26 16:07:10 +0100merijn(~merijn@77.242.116.146) merijn
2026-01-26 16:07:22 +0100trickard_(~trickard@cpe-80-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2026-01-26 16:07:36 +0100trickard_(~trickard@cpe-80-98-47-163.wireline.com.au)
2026-01-26 16:09:59 +0100humasect(~humasect@dyn-192-249-132-90.nexicom.net) humasect
2026-01-26 16:11:41 +0100Pozyomka(~pyon@user/pyon) pyon
2026-01-26 16:19:55 +0100ec(~ec@gateway/tor-sasl/ec) (Remote host closed the connection)
2026-01-26 16:20:19 +0100ec(~ec@gateway/tor-sasl/ec) ec
2026-01-26 16:22:03 +0100merijn(~merijn@77.242.116.146) (Quit: leaving)
2026-01-26 16:23:39 +0100trickard_trickard
2026-01-26 16:25:45 +0100merijn(~merijn@77.242.116.146) merijn
2026-01-26 16:30:25 +0100trickard(~trickard@cpe-80-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2026-01-26 16:30:37 +0100trickard(~trickard@cpe-80-98-47-163.wireline.com.au)
2026-01-26 16:32:42 +0100pavonia(~user@user/siracusa) (Quit: Bye!)
2026-01-26 16:36:18 +0100karenw(~karenw@user/karenw) (Ping timeout: 260 seconds)
2026-01-26 16:36:34 +0100 <haskellbridge> <Man of Letters (Mikolaj)> unfortunately, this failed in the wild at use of higher-order functions with quantified arguments, similarly as in
2026-01-26 16:36:36 +0100 <haskellbridge> ... long message truncated: https://kf8nh.com/_heisenbridge/media/kf8nh.com/xIMBotwOvnctkswZfetBzvsv/igMLrx_ztsQ (14 lines)
2026-01-26 16:37:30 +0100YoungFrog(~youngfrog@2a02:a03f:ca07:f900:e244:f9d3:3752:93e5) (Quit: ZNC 1.7.x-git-3-96481995 - https://znc.in)
2026-01-26 16:37:50 +0100YoungFrog(~youngfrog@2a02:a03f:ca07:f900:b685:3825:8bb0:ad7d) youngfrog
2026-01-26 16:38:33 +0100 <haskellbridge> <Man of Letters (Mikolaj)> that could probably be worked around by inserting something like "a_b ~ '(Fst a_b, Snd a_b)" into "h", but the point is, in general "h" comes from an external library and is not limited to type pairs and should not be changed for each type of arguments the users of the library may want to use it for
2026-01-26 16:40:25 +0100qqq(~qqq@185.54.21.105) (Quit: Lost terminal)
2026-01-26 16:41:27 +0100 <haskellbridge> <Man of Letters (Mikolaj)> (and is not limited to type "T", but works for any type operator "k"; here it uses T and type pairs and it still fails even then)
2026-01-26 16:53:21 +0100chele(~chele@user/chele) (Remote host closed the connection)
2026-01-26 16:53:34 +0100chele(~chele@user/chele) chele
2026-01-26 17:02:38 +0100GdeVolpiano(~GdeVolpia@user/GdeVolpiano) (Quit: WeeChat 4.7.2)
2026-01-26 17:05:09 +0100GdeVolpiano(~GdeVolpia@user/GdeVolpiano) GdeVolpiano
2026-01-26 17:29:39 +0100lucabtz(~lucabtz@user/lucabtz) (Quit: Lost terminal)
2026-01-26 17:34:18 +0100shr\ke(~shrike@user/shrke:31298) (Ping timeout: 256 seconds)
2026-01-26 17:36:49 +0100comerijn(~merijn@77.242.116.146) merijn
2026-01-26 17:39:54 +0100merijn(~merijn@77.242.116.146) (Ping timeout: 260 seconds)
2026-01-26 17:44:23 +0100hakutaku(~textual@chen.yukari.eu.org)
2026-01-26 17:55:59 +0100Tuplanolla(~Tuplanoll@85-156-32-207.elisa-laajakaista.fi) Tuplanolla
2026-01-26 17:56:41 +0100st_aldini(~Thunderbi@136.48.46.187) st_aldini
2026-01-26 17:57:10 +0100shr\ke(~shrike@user/paxhumana) paxhumana
2026-01-26 17:57:11 +0100shr\ke(~shrike@user/paxhumana) (Changing host)
2026-01-26 17:57:11 +0100shr\ke(~shrike@user/shrke:31298) shr\ke
2026-01-26 18:01:49 +0100machinedgod(~machinedg@d75-159-126-101.abhsia.telus.net) (Ping timeout: 264 seconds)
2026-01-26 18:03:17 +0100humasect(~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection)
2026-01-26 18:03:51 +0100jmcantrell_(~weechat@user/jmcantrell) jmcantrell
2026-01-26 18:06:13 +0100Square3(~Square@user/square) Square
2026-01-26 18:06:49 +0100Square3(~Square@user/square) (Remote host closed the connection)
2026-01-26 18:07:19 +0100Square(~Square4@user/square) (Ping timeout: 260 seconds)
2026-01-26 18:07:39 +0100Square3(~Square@user/square) Square
2026-01-26 18:08:15 +0100comerijn(~merijn@77.242.116.146) (Ping timeout: 245 seconds)
2026-01-26 18:08:19 +0100Square3(~Square@user/square) (Remote host closed the connection)
2026-01-26 18:08:59 +0100Square3(~Square@user/square) Square
2026-01-26 18:15:29 +0100trickard(~trickard@cpe-80-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2026-01-26 18:15:41 +0100trickard(~trickard@cpe-80-98-47-163.wireline.com.au)
2026-01-26 18:17:56 +0100jmcantrell_(~weechat@user/jmcantrell) (Quit: WeeChat 4.8.1)
2026-01-26 18:19:28 +0100CiaoSen(~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) CiaoSen
2026-01-26 18:24:37 +0100tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net)
2026-01-26 18:29:42 +0100Googulator(~Googulato@2a01-036d-0106-030a-3891-da7f-f3f3-f997.pool6.digikabel.hu) (Quit: Client closed)
2026-01-26 18:29:58 +0100Googulator(~Googulato@77-234-89-65.pool.digikabel.hu)
2026-01-26 18:32:20 +0100Jackneill_(~Jackneill@188-143-82-102.pool.digikabel.hu) (Read error: Connection reset by peer)
2026-01-26 18:32:36 +0100chele_(~chele@user/chele) chele
2026-01-26 18:32:36 +0100Jackneill_(~Jackneill@188-143-82-102.pool.digikabel.hu)
2026-01-26 18:33:22 +0100chele(~chele@user/chele) (Read error: Connection reset by peer)
2026-01-26 18:37:55 +0100RMSBach(~RMSBach@24.210.9.182) RMSBach
2026-01-26 18:40:57 +0100humasect(~humasect@dyn-192-249-132-90.nexicom.net) humasect
2026-01-26 18:44:00 +0100CiaoSen(~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 256 seconds)
2026-01-26 18:44:37 +0100juliegood(~juliegood@2001:861:4402:2540:2058:63a1:ea96:5f42)
2026-01-26 18:45:10 +0100juliegood(~juliegood@2001:861:4402:2540:2058:63a1:ea96:5f42) (Write error: Broken pipe)
2026-01-26 18:46:50 +0100vanishingideal(~vanishing@user/vanishingideal) vanishingideal
2026-01-26 18:47:49 +0100poscat(~poscat@user/poscat) poscat
2026-01-26 18:49:10 +0100poscat0x04(~poscat@user/poscat) (Ping timeout: 246 seconds)
2026-01-26 18:49:30 +0100xelxebar_(~xelxebar@42.203.199.104.bc.googleusercontent.com) (Ping timeout: 245 seconds)
2026-01-26 18:49:33 +0100koala_man(~vidar@157.146.251.23.bc.googleusercontent.com) (Ping timeout: 252 seconds)
2026-01-26 18:49:52 +0100earthy(~arthurvl@2a02-a469-f5e2-1-83d2-ca43-57a2-dc81.fixed6.kpn.net) (Ping timeout: 265 seconds)
2026-01-26 18:49:52 +0100beaky(~beaky@2a03:b0c0:0:1010::1e:a001) (Ping timeout: 265 seconds)
2026-01-26 18:49:53 +0100xelxebar(~xelxebar@42.203.199.104.bc.googleusercontent.com) xelxebar
2026-01-26 18:49:56 +0100alethkit(23bd17ddc6@sourcehut/user/alethkit) (Ping timeout: 245 seconds)
2026-01-26 18:49:56 +0100evanrelf(3addc196af@2a03:6000:1812:100::f0) (Ping timeout: 245 seconds)
2026-01-26 18:49:56 +0100aniketd(32aa4844cd@2a03:6000:1812:100::dcb) (Ping timeout: 245 seconds)
2026-01-26 18:50:07 +0100GdeVolpiano(~GdeVolpia@user/GdeVolpiano) (Ping timeout: 264 seconds)
2026-01-26 18:50:07 +0100ggb(a62ffbaf4f@2a03:6000:1812:100::3ac) (Ping timeout: 264 seconds)
2026-01-26 18:50:07 +0100Ankhers(e99e97ef8e@2a03:6000:1812:100::2a2) (Ping timeout: 264 seconds)
2026-01-26 18:50:07 +0100uint64_t(ec7b9bb9f3@2a03:6000:1812:100::139b) (Ping timeout: 264 seconds)
2026-01-26 18:50:07 +0100raghavgururajan(ea769b8000@user/raghavgururajan) (Ping timeout: 264 seconds)
2026-01-26 18:50:07 +0100ursa-major(114efe6c39@2a03:6000:1812:100::11f3) (Ping timeout: 264 seconds)
2026-01-26 18:50:07 +0100duncan(c6181279e3@user/meow/duncan) (Ping timeout: 264 seconds)
2026-01-26 18:50:07 +0100bgtdsword(b968c1779f@user/titibandit) (Ping timeout: 264 seconds)
2026-01-26 18:50:07 +0100b0o(0e4a0bf4c9@2a03:6000:1812:100::1bf) (Ping timeout: 264 seconds)
2026-01-26 18:50:07 +0100thatonelutenist(8216c46202@2a03:6000:1812:100::fb3) (Ping timeout: 264 seconds)
2026-01-26 18:50:07 +0100septimi(9f60f4cb70@user/septimi) (Ping timeout: 264 seconds)
2026-01-26 18:50:07 +0100exfalsoquodlibet(a7085e0f71@user/exfalsoquodlibet) (Ping timeout: 264 seconds)
2026-01-26 18:50:08 +0100fn_lumi(3d621153a5@2a03:6000:1812:100::df7) (Ping timeout: 264 seconds)
2026-01-26 18:50:08 +0100cephei8(b8652603d7@user/cephei8) (Ping timeout: 264 seconds)
2026-01-26 18:50:08 +0100fvr(ef3e56ca8b@2a03:6000:1812:100::3c4) (Ping timeout: 264 seconds)
2026-01-26 18:50:08 +0100cpli(77fc530071@2a03:6000:1812:100::252) (Ping timeout: 264 seconds)
2026-01-26 18:50:08 +0100sherbert(d006a0b946@2a03:6000:1812:100::155) (Ping timeout: 264 seconds)
2026-01-26 18:50:08 +0100sus(1b7af6299f@user/zeromomentum) (Ping timeout: 264 seconds)
2026-01-26 18:50:08 +0100shreyasminocha(51fdc93eda@user/shreyasminocha) (Ping timeout: 264 seconds)
2026-01-26 18:50:14 +0100picnoir(~picnoir@about/aquilenet/vodoo/NinjaTrappeur) (Ping timeout: 256 seconds)
2026-01-26 18:50:51 +0100evanrelf(3addc196af@2a03:6000:1812:100::f0) evanrelf
2026-01-26 18:50:51 +0100exfalsoquodlibet(a7085e0f71@user/exfalsoquodlibet) exfalsoquodlibet
2026-01-26 18:50:52 +0100bgtdsword(b968c1779f@user/titibandit) titibandit
2026-01-26 18:51:26 +0100koala_man(~vidar@157.146.251.23.bc.googleusercontent.com) koala_man
2026-01-26 18:51:35 +0100stilgart(~Christoph@2001:41d0:2:8673::42) (Ping timeout: 245 seconds)
2026-01-26 18:51:40 +0100earthy(~arthurvl@2a02-a469-f5e2-1-83d2-ca43-57a2-dc81.fixed6.kpn.net) earthy
2026-01-26 18:51:52 +0100beaky(~beaky@198.211.118.219) beaky
2026-01-26 18:51:56 +0100hadronized(~hadronize@2001:41d0:a:fe76::1) (Ping timeout: 256 seconds)
2026-01-26 18:52:49 +0100b0o(0e4a0bf4c9@2a03:6000:1812:100::1bf) b0o
2026-01-26 18:52:59 +0100ursa-major(114efe6c39@2a03:6000:1812:100::11f3) ursa-major
2026-01-26 18:53:00 +0100sherbert(d006a0b946@2a03:6000:1812:100::155) sherbert
2026-01-26 18:53:03 +0100fn_lumi(3d621153a5@2a03:6000:1812:100::df7) fn_lumi
2026-01-26 18:53:07 +0100hadronized(~hadronize@2001:41d0:a:fe76::1)
2026-01-26 18:53:12 +0100raghavgururajan(ea769b8000@user/raghavgururajan) raghavgururajan
2026-01-26 18:53:17 +0100thatonelutenist(8216c46202@2a03:6000:1812:100::fb3) thatonelutenist
2026-01-26 18:53:18 +0100GdeVolpiano(~GdeVolpia@user/GdeVolpiano) GdeVolpiano
2026-01-26 18:53:21 +0100fvr(ef3e56ca8b@2a03:6000:1812:100::3c4) fvr
2026-01-26 18:53:22 +0100duncan(c6181279e3@user/meow/duncan) duncan
2026-01-26 18:53:28 +0100shreyasminocha(51fdc93eda@user/shreyasminocha) shreyasminocha
2026-01-26 18:53:30 +0100sus(1b7af6299f@user/zeromomentum) zeromomentum
2026-01-26 18:53:40 +0100cpli(77fc530071@2a03:6000:1812:100::252) cpli
2026-01-26 18:53:48 +0100septimi(9f60f4cb70@user/septimi) septimi
2026-01-26 18:53:58 +0100cephei8(b8652603d7@user/cephei8) cephei8
2026-01-26 18:55:10 +0100ggb(a62ffbaf4f@2a03:6000:1812:100::3ac) ggb
2026-01-26 18:55:19 +0100aniketd(32aa4844cd@2a03:6000:1812:100::dcb) aniketd
2026-01-26 18:55:21 +0100uint64_t(ec7b9bb9f3@2a03:6000:1812:100::139b) k_hachig
2026-01-26 18:55:27 +0100Ankhers(e99e97ef8e@2a03:6000:1812:100::2a2) Ankhers
2026-01-26 18:55:34 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 252 seconds)
2026-01-26 18:57:20 +0100rainbyte(~rainbyte@186.22.19.214) rainbyte
2026-01-26 18:59:26 +0100alethkit(23bd17ddc6@sourcehut/user/alethkit) alethkit
2026-01-26 19:03:27 +0100picnoir(~picnoir@about/aquilenet/vodoo/NinjaTrappeur) NinjaTrappeur
2026-01-26 19:05:25 +0100humasect(~humasect@dyn-192-249-132-90.nexicom.net) (Quit: Leaving...)
2026-01-26 19:10:57 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) bitdex
2026-01-26 19:13:10 +0100danso(~danso@user/danso) (Quit: quittin time)
2026-01-26 19:13:34 +0100divlamir(~divlamir@user/divlamir) (Read error: Connection reset by peer)
2026-01-26 19:13:58 +0100divlamir(~divlamir@user/divlamir) divlamir
2026-01-26 19:15:29 +0100danso(~danso@user/danso) danso
2026-01-26 19:15:45 +0100tureba(tureba@tureba.org) (Ping timeout: 256 seconds)
2026-01-26 19:15:55 +0100inedia(~irc@2600:3c00:e000:287::1) (Ping timeout: 264 seconds)
2026-01-26 19:18:05 +0100inedia(~irc@li1158-85.members.linode.com)
2026-01-26 19:21:31 +0100tureba(~tureba@tureba.org) tureba
2026-01-26 19:26:42 +0100ljdarj(~Thunderbi@user/ljdarj) ljdarj