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