2026/01/26

Newest at the top

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 14:59:32 +0100 <haskellbridge> <Man of Letters (Mikolaj)> - '(a, b)
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:58:12 +0100ags(~ags@p200300dcb736f100c4bc8629e572e5b9.dip0.t-ipconnect.de)
2026-01-26 14:56:02 +0100yin(~zero@user/zero) zero
2026-01-26 14:50:06 +0100trickard_(~trickard@cpe-80-98-47-163.wireline.com.au)
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: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: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:47:39 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) bitdex
2026-01-26 14:47:33 +0100sord937(~sord937@gateway/tor-sasl/sord937) sord937
2026-01-26 14:47:29 +0100marinelli(~weechat@gateway/tor-sasl/marinelli) marinelli
2026-01-26 14:47:11 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (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 +0100sord937(~sord937@gateway/tor-sasl/sord937) (Remote host closed the connection)
2026-01-26 14:46:37 +0100yin(~zero@user/zero) (Ping timeout: 246 seconds)
2026-01-26 14:45:20 +0100chromoblob(~chromoblo@user/chromob1ot1c) chromoblob\0
2026-01-26 14:45:04 +0100chromoblob(~chromoblo@user/chromob1ot1c) (Remote host closed the connection)
2026-01-26 14:43:55 +0100Guest43(~Guest43@p200300dcb736f100c4bc8629e572e5b9.dip0.t-ipconnect.de) (Client Quit)
2026-01-26 14:41:38 +0100ec(~ec@gateway/tor-sasl/ec) ec
2026-01-26 14:40:44 +0100Guest43(~Guest43@p200300dcb736f100c4bc8629e572e5b9.dip0.t-ipconnect.de)
2026-01-26 14:39:16 +0100ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 252 seconds)
2026-01-26 14:37:33 +0100ttybitnik(~ttybitnik@user/wolper) ttybitnik
2026-01-26 14:33:51 +0100trickard_trickard
2026-01-26 14:33:13 +0100housemate(~housemate@202.7.248.67) housemate
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:26:36 +0100trickard_(~trickard@cpe-80-98-47-163.wireline.com.au)
2026-01-26 14:26:19 +0100trickard_(~trickard@cpe-86-98-47-163.wireline.com.au) (Ping timeout: 246 seconds)
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:25:38 +0100 <haskellbridge> <Man of Letters (Mikolaj)> is there a way around this?
2026-01-26 14:22:47 +0100housemate(~housemate@202.7.248.67) (Quit: https://ineedsomeacidtocalmmedown.space/)
2026-01-26 14:22:23 +0100Lycurgus(~juan@user/Lycurgus) (Quit: alsoknownas.renjuan.org ( juan@acm.org ))
2026-01-26 14:13:38 +0100karenw(~karenw@user/karenw) karenw
2026-01-26 14:09:09 +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 13:56:54 +0100trickard_(~trickard@cpe-86-98-47-163.wireline.com.au)
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:47:42 +0100lucabtz(~lucabtz@user/lucabtz) lucabtz
2026-01-26 13:46:27 +0100trickard_(~trickard@cpe-86-98-47-163.wireline.com.au)
2026-01-26 13:45:59 +0100trickard(~trickard@cpe-86-98-47-163.wireline.com.au) (Ping timeout: 260 seconds)
2026-01-26 13:34:43 +0100Square(~Square4@user/square) Square
2026-01-26 13:34:13 +0100Lycurgus(~juan@user/Lycurgus) Lycurgus
2026-01-26 13:29:22 +0100Square(~Square4@user/square) (Remote host closed the connection)
2026-01-26 13:03:01 +0100merijn(~merijn@77.242.116.146) (Ping timeout: 246 seconds)
2026-01-26 13:01:02 +0100comerijn(~merijn@77.242.116.146) merijn
2026-01-26 12:58:32 +0100 <opqdonut> oh sorry, not foldable, can't unIO
2026-01-26 12:58:20 +0100itaipu(~itaipu@168.121.97.28) itaipu
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:54:45 +0100wootehfoot(~wootehfoo@user/wootehfoot) wootehfoot
2026-01-26 12:36:17 +0100lucabtz(~lucabtz@user/lucabtz) (Read error: Connection reset by peer)