2023/01/03

2023-01-03 00:03:28 +0100freeside(~mengwong@103.252.202.159) (Ping timeout: 272 seconds)
2023-01-03 00:06:09 +0100motherfsck(~motherfsc@user/motherfsck)
2023-01-03 00:06:12 +0100bgs(~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection)
2023-01-03 00:10:30 +0100notzmv(~zmv@user/notzmv)
2023-01-03 00:11:23 +0100biberu(~biberu@user/biberu) (Read error: Connection reset by peer)
2023-01-03 00:11:24 +0100 <intelligent_boat> if I ask "what are THE BEST MONADS" that would be an unanswerable question, I know, so let me try to make the question better... what are some useful monads to know about? things like state, writer, reader. I used State to do some advent of code problems. I don't usually write much Haskell otherwise. so, stuff useful to beginner
2023-01-03 00:12:29 +0100takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2023-01-03 00:14:57 +0100 <monochrom> My favourites are [], Maybe, Either e, (->) e, Cont r. There may be more.
2023-01-03 00:15:42 +0100 <monochrom> You already listed State and Writer. They are my favourites too.
2023-01-03 00:15:54 +0100biberu(~biberu@user/biberu)
2023-01-03 00:16:09 +0100gurkenglas(~gurkengla@p548ac72e.dip0.t-ipconnect.de)
2023-01-03 00:16:20 +0100freeside(~mengwong@103.252.202.159)
2023-01-03 00:17:18 +0100 <monochrom> My favourite though anti-climatic theorem (so it generates infinitely many favourite monads) is this: Every representable functor is a monad.
2023-01-03 00:17:56 +0100 <monochrom> And that's just because "my functor is represented by Foo" just means "my functor is equivalent to (->)Foo".
2023-01-03 00:18:03 +0100 <Rembane> monochrom: Are all monads your favorites?
2023-01-03 00:18:44 +0100 <monochrom> So this gives for example "data P a = P a a" (represented by Bool) and "data S a = S a (S a)" (represented by Natural).
2023-01-03 00:19:13 +0100 <monochrom> You know, so far, every monad I have met is a favourite. :)
2023-01-03 00:19:53 +0100 <Rembane> :)
2023-01-03 00:22:27 +0100 <monochrom> But if you suspect that some of them get me more excited than others, yes, I'm very much more excited by Cont, probability monads, and sometimes (->)Foo.
2023-01-03 00:23:35 +0100 <monochrom> There was a time I was excited by parser monads. Now it's merely useful.
2023-01-03 00:23:54 +0100jmorris(uid537181@id-537181.uxbridge.irccloud.com)
2023-01-03 00:27:07 +0100titibandit(~titibandi@xdsl-89-0-163-79.nc.de) (Remote host closed the connection)
2023-01-03 00:29:09 +0100 <Rembane> I'm still in the fascination phase with parser monads. They make me happy every time I use them.
2023-01-03 00:29:12 +0100 <intelligent_boat> haven't gotten a chance to look into parsing much, usually just making do with lines/words for advent of code
2023-01-03 00:29:27 +0100 <intelligent_boat> maybe should look at them some day
2023-01-03 00:31:47 +0100merijn(~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl) (Ping timeout: 260 seconds)
2023-01-03 00:36:52 +0100 <mauke> I've used https://hackage.haskell.org/package/base-4.17.0.0/docs/Text-ParserCombinators-ReadP.html all throughout AoC
2023-01-03 00:36:53 +0100 <mauke> would recommend
2023-01-03 00:54:43 +0100Tuplanolla(~Tuplanoll@91-159-68-152.elisa-laajakaista.fi) (Quit: Leaving.)
2023-01-03 00:55:06 +0100merijn(~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl)
2023-01-03 00:57:48 +0100Lycurgus(~juan@user/Lycurgus)
2023-01-03 00:59:47 +0100merijn(~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl) (Ping timeout: 260 seconds)
2023-01-03 01:13:20 +0100merijn(~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl)
2023-01-03 01:16:02 +0100Blightmain(~Blightmai@203.29.154.219)
2023-01-03 01:18:23 +0100sterni(~lukas@user/sterni) (Ping timeout: 255 seconds)
2023-01-03 01:18:48 +0100sterni(~lukas@user/sterni)
2023-01-03 01:18:50 +0100merijn(~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl) (Ping timeout: 272 seconds)
2023-01-03 01:21:12 +0100 <jackdk> intelligent_boat: a lot of application code is fundamentally in a `ExceptT e (ReaderT r IO)` monad for particular choices of `r` and `e`.
2023-01-03 01:21:49 +0100nasrudin__(~nasrudin_@81.171.62.8) (Ping timeout: 252 seconds)
2023-01-03 01:27:15 +0100tremon(~tremon@83-85-213-108.cable.dynamic.v4.ziggo.nl) (Quit: getting boxed in)
2023-01-03 01:29:57 +0100merijn(~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl)
2023-01-03 01:36:34 +0100merijn(~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl) (Ping timeout: 272 seconds)
2023-01-03 01:37:33 +0100nasrudin__(~nasrudin_@174.78.13.58)
2023-01-03 01:44:03 +0100 <unit73e> intelligent_boat, to transformer monads count or no? I've used Get a lot but that's because I've been working on binary parsers.
2023-01-03 01:47:33 +0100 <unit73e> my use case is a bit of a niche. other thanthat yeah the usual, read/write/state
2023-01-03 01:49:54 +0100 <unit73e> for a beginner I think it's more important to understand the point of monads / monad transformers, and start with simple useful ones. because otherwise it will be hard to compose much. unless the beginner wants to go around passing a giant train of arguments.
2023-01-03 01:50:37 +0100 <unit73e> is that a form of train wreck, but in purely functional?
2023-01-03 01:54:25 +0100 <talismanick> `join bimap (\x -> on compare x to best) (damageTo from, power . group, initiative . group)` errors out with "can't match type Ordering with Side -> Maybe Int"
2023-01-03 01:54:43 +0100 <talismanick> (want to map the lambda over a tuple)
2023-01-03 01:55:27 +0100 <talismanick> It's in the head of a case expression, to clarify
2023-01-03 01:55:59 +0100 <talismanick> should behave as if I wrote (compare ... to best, compare ... to best, compare ... to best)
2023-01-03 01:56:22 +0100 <talismanick> err, prefix that compare with on
2023-01-03 01:57:26 +0100 <talismanick> I guess I could use a list and <$>, given that the functions are all of the same type...
2023-01-03 01:58:08 +0100Lycurgus(~juan@user/Lycurgus) (Ping timeout: 260 seconds)
2023-01-03 01:59:53 +0100unit73e(~emanuel@2001:818:e8dd:7c00:656:e5ff:fe72:9d36) (Ping timeout: 260 seconds)
2023-01-03 02:01:33 +0100 <talismanick> Still, do wish the starting point of the language was hlists and everything else was shorthand for special cases
2023-01-03 02:02:27 +0100 <talismanick> I take that back - that's a wish fit for a monkey's paw
2023-01-03 02:03:09 +0100 <nasrudin__> follow-up on my earlier recursion schemes question:
2023-01-03 02:03:27 +0100 <nasrudin__> can anyone explain generalized apomorphisms either in terms of zygomorphisms or apomorphisms?
2023-01-03 02:04:02 +0100 <nasrudin__> Ican see why `gapo` is dual to `zygo`
2023-01-03 02:04:21 +0100 <nasrudin__> I can see why `gapo` generalizes `apo`
2023-01-03 02:04:26 +0100gurkenglas(~gurkengla@p548ac72e.dip0.t-ipconnect.de) (Ping timeout: 272 seconds)
2023-01-03 02:04:37 +0100 <nasrudin__> I don't follow how `gapo` computes or what it computes
2023-01-03 02:10:14 +0100albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2023-01-03 02:11:28 +0100 <jackdk> talismanick: `join bimap` is only going to map over the final two slots in the tuple
2023-01-03 02:12:29 +0100wroathe(~wroathe@207-153-38-140.fttp.usinternet.com)
2023-01-03 02:12:29 +0100wroathe(~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
2023-01-03 02:12:29 +0100wroathe(~wroathe@user/wroathe)
2023-01-03 02:13:10 +0100 <jackdk> talismanick: Also, I think GHC is trying to infer a single type for your lambda, when it probably needs something with foralls in it.
2023-01-03 02:13:22 +0100 <nasrudin__> Given `gapo :: forall {t} {b} {a}. Corecursive t => (b -> Base t b) -> (a -> Base t (Either b a)) -> a -> t`
2023-01-03 02:13:22 +0100 <nasrudin__> in `gapo f g a0`
2023-01-03 02:13:23 +0100 <nasrudin__> 1) what's the significance of `g` sometimes producing an `a` vs. sometimes producing a `b` value?
2023-01-03 02:13:23 +0100 <nasrudin__> 2) how do we combine the outputs from `f` and `g`?
2023-01-03 02:15:23 +0100acidjnk(~acidjnk@p200300d6e7137a57e4469cf2ea7b5c7c.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
2023-01-03 02:16:22 +0100albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2023-01-03 02:23:40 +0100Batzy(~quassel@user/batzy)
2023-01-03 02:24:49 +0100xff0x(~xff0x@p3326132-ipngn2103sapodori.hokkaido.ocn.ne.jp)
2023-01-03 02:26:47 +0100freeside(~mengwong@103.252.202.159) (Ping timeout: 255 seconds)
2023-01-03 02:28:08 +0100fizbin(~fizbin@user/fizbin) (Ping timeout: 252 seconds)
2023-01-03 02:30:35 +0100ddellacosta(~ddellacos@143.244.47.81)
2023-01-03 02:30:50 +0100freeside(~mengwong@103.252.202.159)
2023-01-03 02:32:36 +0100notzmv(~zmv@user/notzmv) (Read error: Connection reset by peer)
2023-01-03 02:34:06 +0100thongpv87(~thongpv87@2402:9d80:3f6:6d60:8cc6:b5a1:ed72:1f2a)
2023-01-03 02:35:28 +0100freeside(~mengwong@103.252.202.159) (Ping timeout: 260 seconds)
2023-01-03 02:37:20 +0100fizbin(~fizbin@user/fizbin)
2023-01-03 02:39:54 +0100nasrudin__(~nasrudin_@174.78.13.58) (Ping timeout: 272 seconds)
2023-01-03 02:40:19 +0100nasrudin__(~nasrudin_@174.78.13.58)
2023-01-03 02:42:52 +0100dsrt^(~dsrt@76.145.185.103)
2023-01-03 02:44:55 +0100Batzy(~quassel@user/batzy) (Quit: No Ping reply in 180 seconds.)
2023-01-03 02:46:17 +0100cameron_(~quassel@050-089-109-059.res.spectrum.com) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
2023-01-03 02:46:22 +0100Batzy(~quassel@user/batzy)
2023-01-03 02:47:04 +0100thongpv87(~thongpv87@2402:9d80:3f6:6d60:8cc6:b5a1:ed72:1f2a) (Ping timeout: 252 seconds)
2023-01-03 02:49:10 +0100freeside(~mengwong@103.252.202.159)
2023-01-03 02:50:40 +0100nasrudin__(~nasrudin_@174.78.13.58) (Ping timeout: 272 seconds)
2023-01-03 02:55:18 +0100xff0x(~xff0x@p3326132-ipngn2103sapodori.hokkaido.ocn.ne.jp) (Ping timeout: 260 seconds)
2023-01-03 02:56:07 +0100hyperbolic-dg(~quassel@i577AA562.versanet.de) (Quit: https://quassel-irc.org - Komfortabler Chat. Überall.)
2023-01-03 02:58:47 +0100razetime(~Thunderbi@49.207.222.244)
2023-01-03 03:04:49 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:a4db:1d71:f389:6df6)
2023-01-03 03:05:06 +0100Batzy(~quassel@user/batzy) (Quit: No Ping reply in 180 seconds.)
2023-01-03 03:06:32 +0100Batzy(~quassel@user/batzy)
2023-01-03 03:09:04 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:a4db:1d71:f389:6df6) (Ping timeout: 252 seconds)
2023-01-03 03:10:08 +0100thongpv87(~thongpv87@14.246.240.163)
2023-01-03 03:10:31 +0100wroathe(~wroathe@user/wroathe) (Quit: leaving)
2023-01-03 03:10:46 +0100wroathe(~wroathe@207-153-38-140.fttp.usinternet.com)
2023-01-03 03:10:46 +0100wroathe(~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
2023-01-03 03:10:46 +0100wroathe(~wroathe@user/wroathe)
2023-01-03 03:11:00 +0100notzmv(~zmv@user/notzmv)
2023-01-03 03:15:15 +0100Lycurgus(~juan@98.4.112.204)
2023-01-03 03:15:15 +0100Lycurgus(~juan@98.4.112.204) (Changing host)
2023-01-03 03:15:15 +0100Lycurgus(~juan@user/Lycurgus)
2023-01-03 03:17:25 +0100AlaiNaaa_turkey(~GmIRC@95.70.234.213)
2023-01-03 03:22:36 +0100AlaiNaaa_turkey(~GmIRC@95.70.234.213) (Quit: Geveze mIRC � www.Geveze.Org �)
2023-01-03 03:28:02 +0100ddellacosta(~ddellacos@143.244.47.81) (Ping timeout: 272 seconds)
2023-01-03 03:32:28 +0100cameron_(~quassel@050-089-109-059.res.spectrum.com)
2023-01-03 03:32:30 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net)
2023-01-03 03:37:22 +0100xff0x(~xff0x@p3326132-ipngn2103sapodori.hokkaido.ocn.ne.jp)
2023-01-03 03:47:36 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:4dbe:e8ec:bab1:6e35)
2023-01-03 03:50:34 +0100instantaphex(~jb@c-73-171-252-84.hsd1.fl.comcast.net)
2023-01-03 03:56:55 +0100ddellacosta(~ddellacos@static-198-44-136-50.cust.tzulo.com)
2023-01-03 03:58:31 +0100xff0x(~xff0x@p3326132-ipngn2103sapodori.hokkaido.ocn.ne.jp) (Ping timeout: 260 seconds)
2023-01-03 03:58:56 +0100notzmv-(~zmv@user/notzmv)
2023-01-03 03:59:35 +0100notzmv(~zmv@user/notzmv) (Ping timeout: 264 seconds)
2023-01-03 04:05:09 +0100finn_elija(~finn_elij@user/finn-elija/x-0085643)
2023-01-03 04:05:09 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
2023-01-03 04:05:09 +0100finn_elijaFinnElija
2023-01-03 04:05:25 +0100nasrudin__(~nasrudin_@174.78.10.145)
2023-01-03 04:07:06 +0100jero98772(~jero98772@190.158.28.44) (Remote host closed the connection)
2023-01-03 04:07:18 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 272 seconds)
2023-01-03 04:07:38 +0100v0id_ptr(~adrift@user/ptr-frac7al/x-0038398)
2023-01-03 04:10:34 +0100panovia(~user@user/siracusa) (Read error: Connection reset by peer)
2023-01-03 04:14:16 +0100td_(~td@83.135.9.63) (Ping timeout: 272 seconds)
2023-01-03 04:15:52 +0100td_(~td@83.135.9.22)
2023-01-03 04:18:49 +0100sh1n(~sh1n@181.229.121.151)
2023-01-03 04:18:52 +0100panovia(~user@user/siracusa)
2023-01-03 04:19:16 +0100sh1n(~sh1n@181.229.121.151) (Client Quit)
2023-01-03 04:21:54 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
2023-01-03 04:26:39 +0100Kaiepi(~Kaiepi@nwcsnbsc03w-47-55-159-86.dhcp-dynamic.fibreop.nb.bellaliant.net) (Ping timeout: 260 seconds)
2023-01-03 04:31:12 +0100Blightmain(~Blightmai@203.29.154.219) (Remote host closed the connection)
2023-01-03 04:33:10 +0100d34df00d(~d34df00d@2600:1702:4f1b:7c10::48)
2023-01-03 04:33:17 +0100 <d34df00d> Hi!
2023-01-03 04:33:52 +0100 <d34df00d> What's the advised way to "just" download a remote file into a ByteString, without caring about cookies / HTTP pipelining / etc?
2023-01-03 04:34:00 +0100 <d34df00d> s/remote/HTTP(s)/
2023-01-03 04:34:23 +0100 <d34df00d> Googling "haskell download file library" is not exactly enlightening as about the most widely used/common/etc way.
2023-01-03 04:37:45 +0100 <jackdk> d34df00d: ignore the misleading package name, but I'd go with `http-conduit`'s `Network.HTTP.Simple.httpBS`
2023-01-03 04:39:38 +0100 <d34df00d> jackdk: that looks nice, thanks!
2023-01-03 04:40:59 +0100waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 264 seconds)
2023-01-03 04:41:42 +0100beefbambi(~beefbambi@183.82.26.189) (Read error: Connection reset by peer)
2023-01-03 04:42:20 +0100terrorjack(~terrorjac@2a01:4f8:1c1e:4e8c::) (Quit: The Lounge - https://thelounge.chat)
2023-01-03 04:42:59 +0100Lycurgus(~juan@user/Lycurgus) (Ping timeout: 260 seconds)
2023-01-03 04:43:45 +0100terrorjack(~terrorjac@2a01:4f8:1c1e:4e8c::)
2023-01-03 04:44:59 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2023-01-03 04:46:54 +0100segfaultfizzbuzz(~segfaultf@23-93-74-212.fiber.dynamic.sonic.net)
2023-01-03 04:47:29 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex)
2023-01-03 04:47:50 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2023-01-03 04:48:41 +0100thongpv(~thongpv87@2001:ee0:54ae:c1f0:e4db:e7f4:3cf0:5fe4)
2023-01-03 04:48:57 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex)
2023-01-03 04:50:22 +0100thongpv87(~thongpv87@14.246.240.163) (Ping timeout: 272 seconds)
2023-01-03 04:50:45 +0100beefbambi(~beefbambi@183.82.28.205)
2023-01-03 04:51:00 +0100morb(~morb@pool-72-80-94-112.nycmny.fios.verizon.net)
2023-01-03 04:53:54 +0100 <dsal> I use conduit when I need simple http bs
2023-01-03 04:54:20 +0100nasrudin__(~nasrudin_@174.78.10.145) (Ping timeout: 246 seconds)
2023-01-03 04:55:15 +0100notzmv-(~zmv@user/notzmv) (Ping timeout: 252 seconds)
2023-01-03 04:56:59 +0100freeside(~mengwong@103.252.202.159) (Ping timeout: 260 seconds)
2023-01-03 04:59:11 +0100jinsun(~jinsun@user/jinsun)
2023-01-03 05:01:10 +0100 <d34df00d> jackdk: just curious, how do you catch its errors, just for a better user error message? Will `catchError` do?
2023-01-03 05:02:36 +0100 <d34df00d> Or `catch`, really.
2023-01-03 05:04:32 +0100 <jackdk> I assume it throws exceptions, so probably the stuff in Control.Exception
2023-01-03 05:06:05 +0100 <d34df00d> Ok cool, that makes sense.
2023-01-03 05:09:20 +0100freeside(~mengwong@103.252.202.159)
2023-01-03 05:09:22 +0100ddellacosta(~ddellacos@static-198-44-136-50.cust.tzulo.com) (Ping timeout: 272 seconds)
2023-01-03 05:13:17 +0100sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
2023-01-03 05:14:32 +0100sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2023-01-03 05:24:49 +0100morb(~morb@pool-72-80-94-112.nycmny.fios.verizon.net) (Quit: Leaving...)
2023-01-03 05:28:21 +0100segfaultfizzbuzz(~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Ping timeout: 268 seconds)
2023-01-03 05:37:58 +0100asivitz(uid178348@id-178348.tinside.irccloud.com)
2023-01-03 05:47:16 +0100beefbambi(~beefbambi@183.82.28.205) (Read error: Connection reset by peer)
2023-01-03 05:48:08 +0100beefbambi(~beefbambi@2401:4900:230d:f57c:538c:d7cc:50c0:e377)
2023-01-03 05:50:15 +0100beefbambi(~beefbambi@2401:4900:230d:f57c:538c:d7cc:50c0:e377) (Read error: Connection reset by peer)
2023-01-03 05:50:34 +0100beefbambi(~beefbambi@183.82.28.205)
2023-01-03 05:53:36 +0100beefbambi(~beefbambi@183.82.28.205) (Read error: Connection reset by peer)
2023-01-03 05:54:01 +0100beefbambi(~beefbambi@183.82.28.205)
2023-01-03 05:56:51 +0100beefbambi(~beefbambi@183.82.28.205) (Read error: Connection reset by peer)
2023-01-03 05:58:06 +0100beefbambi(~beefbambi@183.82.28.205)
2023-01-03 06:00:20 +0100beefbambi(~beefbambi@183.82.28.205) (Read error: Connection reset by peer)
2023-01-03 06:00:53 +0100beefbambi(~beefbambi@183.82.28.205)
2023-01-03 06:03:32 +0100merijn(~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl)
2023-01-03 06:07:09 +0100wroathe(~wroathe@user/wroathe) (Quit: leaving)
2023-01-03 06:07:37 +0100thongpv(~thongpv87@2001:ee0:54ae:c1f0:e4db:e7f4:3cf0:5fe4) (Ping timeout: 256 seconds)
2023-01-03 06:09:32 +0100instantaphex(~jb@c-73-171-252-84.hsd1.fl.comcast.net) (Ping timeout: 272 seconds)
2023-01-03 06:20:41 +0100instantaphex(~jb@c-73-171-252-84.hsd1.fl.comcast.net)
2023-01-03 06:25:22 +0100instantaphex(~jb@c-73-171-252-84.hsd1.fl.comcast.net) (Ping timeout: 272 seconds)
2023-01-03 06:30:54 +0100beefbambi(~beefbambi@183.82.28.205) (Ping timeout: 260 seconds)
2023-01-03 06:33:25 +0100beefbambi(~beefbambi@2401:4900:230d:f57c:538c:d7cc:50c0:e377)
2023-01-03 06:37:11 +0100merijn(~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl) (Ping timeout: 260 seconds)
2023-01-03 06:37:39 +0100 <maerwald[m]> dminuoso: https://github.com/brendanhay/amazonka/issues/866#issuecomment-1369408280
2023-01-03 06:38:20 +0100trev(~trev@user/trev)
2023-01-03 06:56:39 +0100thongpv(~thongpv87@14.246.240.163)
2023-01-03 06:58:43 +0100 <maerwald[m]> Apparently UTC offset for PST is defined in RFC2822
2023-01-03 07:04:22 +0100notzmv(~zmv@user/notzmv)
2023-01-03 07:06:08 +0100Feuermagier(~Feuermagi@user/feuermagier)
2023-01-03 07:07:13 +0100jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 252 seconds)
2023-01-03 07:16:58 +0100 <jackdk> and RFC5322 too, also under the `obs-zone` grammar rule.
2023-01-03 07:23:53 +0100xff0x(~xff0x@p3326132-ipngn2103sapodori.hokkaido.ocn.ne.jp)
2023-01-03 07:32:55 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net) (Ping timeout: 268 seconds)
2023-01-03 07:33:09 +0100Lumia(~Lumia@user/Lumia)
2023-01-03 07:39:56 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net)
2023-01-03 08:05:12 +0100xff0x(~xff0x@p3326132-ipngn2103sapodori.hokkaido.ocn.ne.jp) (Ping timeout: 255 seconds)
2023-01-03 08:05:13 +0100Lycurgus(~juan@98.4.112.204)
2023-01-03 08:05:13 +0100Lycurgus(~juan@98.4.112.204) (Changing host)
2023-01-03 08:05:13 +0100Lycurgus(~juan@user/Lycurgus)
2023-01-03 08:08:24 +0100kritzefitz(~kritzefit@debian/kritzefitz) (Ping timeout: 252 seconds)
2023-01-03 08:10:03 +0100jinsun(~jinsun@user/jinsun) (Ping timeout: 260 seconds)
2023-01-03 08:15:13 +0100Lumia(~Lumia@user/Lumia) (Quit: ,-)
2023-01-03 08:16:28 +0100iqubic(~avi@2601:602:9502:c70:3dee:aba8:ea3d:300b)
2023-01-03 08:16:34 +0100razetime(~Thunderbi@49.207.222.244) (Quit: razetime)
2023-01-03 08:28:10 +0100cheater_(~Username@user/cheater)
2023-01-03 08:29:47 +0100cheater(~Username@user/cheater) (Ping timeout: 248 seconds)
2023-01-03 08:29:56 +0100cheater_cheater
2023-01-03 08:33:20 +0100igghibu(~igghibu@178.249.211.70)
2023-01-03 08:33:32 +0100merijn(~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl)
2023-01-03 08:35:03 +0100cameron_(~quassel@050-089-109-059.res.spectrum.com) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
2023-01-03 08:41:54 +0100 <[exa]> intelligent_boat: parser monads are IMO a haskell killer feature. And LogicT is lovely.
2023-01-03 08:45:06 +0100azimut(~azimut@gateway/tor-sasl/azimut)
2023-01-03 08:45:46 +0100kritzefitz(~kritzefit@debian/kritzefitz)
2023-01-03 08:45:47 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net) (Ping timeout: 264 seconds)
2023-01-03 08:51:15 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net)
2023-01-03 08:55:34 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net) (Ping timeout: 252 seconds)
2023-01-03 08:56:10 +0100v0id_ptr(~adrift@user/ptr-frac7al/x-0038398) (Ping timeout: 268 seconds)
2023-01-03 09:02:14 +0100Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection)
2023-01-03 09:06:41 +0100thongpv(~thongpv87@14.246.240.163) (Remote host closed the connection)
2023-01-03 09:07:24 +0100xff0x(~xff0x@p3326132-ipngn2103sapodori.hokkaido.ocn.ne.jp)
2023-01-03 09:07:44 +0100merijn(~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl) (Ping timeout: 246 seconds)
2023-01-03 09:07:59 +0100thongpv(~thongpv87@14.246.240.163)
2023-01-03 09:11:16 +0100fserucas(~fserucas@2001:818:e376:a400:fb92:70c1:dd88:c7d7)
2023-01-03 09:11:26 +0100califax(~califax@user/califx) (Ping timeout: 255 seconds)
2023-01-03 09:14:52 +0100mbuf(~Shakthi@49.205.80.42)
2023-01-03 09:16:20 +0100hpc(~juzz@ip98-169-35-163.dc.dc.cox.net) (Ping timeout: 260 seconds)
2023-01-03 09:16:42 +0100califax(~califax@user/califx)
2023-01-03 09:17:20 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:3054:ac62:76b7:6154)
2023-01-03 09:17:49 +0100hpc(~juzz@ip98-169-35-163.dc.dc.cox.net)
2023-01-03 09:24:14 +0100panovia(~user@user/siracusa) (Quit: Bye!)
2023-01-03 09:29:35 +0100freeside(~mengwong@103.252.202.159) (Ping timeout: 264 seconds)
2023-01-03 09:31:13 +0100coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba)
2023-01-03 09:31:44 +0100merijn(~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl)
2023-01-03 09:33:25 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net)
2023-01-03 09:33:27 +0100freeside(~mengwong@103.252.202.159)
2023-01-03 09:37:31 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net) (Ping timeout: 248 seconds)
2023-01-03 09:40:03 +0100takuan(~takuan@178-116-218-225.access.telenet.be)
2023-01-03 09:40:58 +0100cheater_(~Username@user/cheater)
2023-01-03 09:41:25 +0100gurkenglas(~gurkengla@p548ac72e.dip0.t-ipconnect.de)
2023-01-03 09:41:52 +0100nschoe(~q@2a01:e0a:8e:a190:79dc:4967:2fb4:bf93)
2023-01-03 09:44:14 +0100cheater(~Username@user/cheater) (Ping timeout: 272 seconds)
2023-01-03 09:44:23 +0100cheater_cheater
2023-01-03 09:46:46 +0100avicenzi(~avicenzi@2a00:ca8:a1f:b004::c32)
2023-01-03 09:49:18 +0100mncheckm(~mncheck@193.224.205.254) (Remote host closed the connection)
2023-01-03 09:49:34 +0100mncheckm(~mncheck@193.224.205.254)
2023-01-03 09:51:33 +0100acidjnk(~acidjnk@p200300d6e7137a39e4469cf2ea7b5c7c.dip0.t-ipconnect.de)
2023-01-03 09:54:11 +0100L29Ah(~L29Ah@wikipedia/L29Ah) (Ping timeout: 264 seconds)
2023-01-03 10:02:48 +0100boxscape_(~boxscape_@213.52.37.155)
2023-01-03 10:03:18 +0100Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2023-01-03 10:23:59 +0100v0id_ptr(~adrift@user/ptr-frac7al/x-0038398)
2023-01-03 10:24:08 +0100xff0x(~xff0x@p3326132-ipngn2103sapodori.hokkaido.ocn.ne.jp) (Ping timeout: 272 seconds)
2023-01-03 10:26:37 +0100igghibu(~igghibu@178.249.211.70) (Quit: igghibu)
2023-01-03 10:28:06 +0100cheater_(~Username@user/cheater)
2023-01-03 10:30:53 +0100cheater(~Username@user/cheater) (Ping timeout: 265 seconds)
2023-01-03 10:31:01 +0100cheater_cheater
2023-01-03 10:34:50 +0100v0id_ptr(~adrift@user/ptr-frac7al/x-0038398) (Ping timeout: 268 seconds)
2023-01-03 10:37:44 +0100econo(uid147250@user/econo) (Quit: Connection closed for inactivity)
2023-01-03 10:50:13 +0100mechsp(~mechsp@82-64-66-157.subs.proxad.net)
2023-01-03 10:51:11 +0100mechsp(~mechsp@82-64-66-157.subs.proxad.net) (Client Quit)
2023-01-03 10:54:45 +0100tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz)
2023-01-03 11:01:48 +0100cheater(~Username@user/cheater) (Ping timeout: 260 seconds)
2023-01-03 11:09:27 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:4dbe:e8ec:bab1:6e35) (Remote host closed the connection)
2023-01-03 11:11:29 +0100Lycurgus(~juan@user/Lycurgus) (Ping timeout: 255 seconds)
2023-01-03 11:25:17 +0100notzmv(~zmv@user/notzmv) (Ping timeout: 246 seconds)
2023-01-03 11:31:26 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net)
2023-01-03 11:32:21 +0100Kaiepi(~Kaiepi@nwcsnbsc03w-47-55-159-86.dhcp-dynamic.fibreop.nb.bellaliant.net)
2023-01-03 11:35:32 +0100Lord_of_Life_(~Lord@user/lord-of-life/x-2819915)
2023-01-03 11:35:53 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 268 seconds)
2023-01-03 11:36:40 +0100boxscape_(~boxscape_@213.52.37.155) (Quit: Connection closed)
2023-01-03 11:38:01 +0100 <zzz> > let f = const 'a' . join seq in f undefined
2023-01-03 11:38:03 +0100 <lambdabot> 'a'
2023-01-03 11:38:19 +0100Lord_of_Life_Lord_of_Life
2023-01-03 11:38:28 +0100 <zzz> > let f = flip seq 'a' in f undefined
2023-01-03 11:38:30 +0100 <lambdabot> *Exception: Prelude.undefined
2023-01-03 11:40:44 +0100 <zzz> > let f x = 'a' in f undefined
2023-01-03 11:40:46 +0100 <lambdabot> 'a'
2023-01-03 11:40:50 +0100 <zzz> > let f !x = 'a' in f undefined
2023-01-03 11:40:52 +0100 <lambdabot> *Exception: Prelude.undefined
2023-01-03 11:42:28 +0100 <mauke> exercise: write a strict function that does not evaluate its argument
2023-01-03 11:43:08 +0100pyrex(~pyrex@user/pyrex) (Ping timeout: 246 seconds)
2023-01-03 11:43:27 +0100 <ncf> const undefined ?
2023-01-03 11:44:08 +0100 <mauke> :-)
2023-01-03 11:44:18 +0100pyrex(~pyrex@user/pyrex)
2023-01-03 11:44:19 +0100__monty__(~toonn@user/toonn)
2023-01-03 11:45:22 +0100 <zzz> > const 'a' $ const undefined undefined
2023-01-03 11:45:24 +0100 <lambdabot> 'a'
2023-01-03 11:48:22 +0100thongpv(~thongpv87@14.246.240.163) (Ping timeout: 272 seconds)
2023-01-03 11:52:16 +0100marinelli(~marinelli@gateway/tor-sasl/marinelli)
2023-01-03 11:52:53 +0100marinelli(~marinelli@gateway/tor-sasl/marinelli) (Quit: marinelli)
2023-01-03 11:53:17 +0100marinelli(~marinelli@gateway/tor-sasl/marinelli)
2023-01-03 11:55:24 +0100 <mauke> > let unconst = fix in unconst (const a)
2023-01-03 11:55:25 +0100 <lambdabot> a
2023-01-03 11:57:30 +0100mmhat(~mmh@p200300f1c7235b63ee086bfffe095315.dip0.t-ipconnect.de)
2023-01-03 11:57:31 +0100mmhat(~mmh@p200300f1c7235b63ee086bfffe095315.dip0.t-ipconnect.de) (Client Quit)
2023-01-03 11:57:37 +0100Guest74(~Guest74@dyndsl-037-138-067-145.ewe-ip-backbone.de)
2023-01-03 11:57:49 +0100cheater(~Username@user/cheater)
2023-01-03 11:59:41 +0100Typedfern(~Typedfern@60.red-83-37-32.dynamicip.rima-tde.net)
2023-01-03 12:02:40 +0100unit73e(~emanuel@2001:818:e8dd:7c00:656:e5ff:fe72:9d36)
2023-01-03 12:05:21 +0100MajorBiscuit(~MajorBisc@c-001-021-035.client.tudelft.eduvpn.nl)
2023-01-03 12:06:32 +0100thongpv(~thongpv87@2402:9d80:3f6:6d60:f56c:22a9:c5fd:d3ca)
2023-01-03 12:06:38 +0100 <Jadesheit[m]> that's so cursed
2023-01-03 12:09:55 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:4dbe:e8ec:bab1:6e35)
2023-01-03 12:12:15 +0100acidjnk(~acidjnk@p200300d6e7137a39e4469cf2ea7b5c7c.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2023-01-03 12:14:02 +0100xsperry(~xs@86.32.66.142)
2023-01-03 12:14:09 +0100xsperry(~xs@86.32.66.142) ()
2023-01-03 12:14:22 +0100xsperry(~xs@user/xsperry)
2023-01-03 12:14:30 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:4dbe:e8ec:bab1:6e35) (Ping timeout: 255 seconds)
2023-01-03 12:14:36 +0100king_gs(~Thunderbi@2806:103e:29:45ac:af0:afaf:29e7:dd60)
2023-01-03 12:15:34 +0100marinelli(~marinelli@gateway/tor-sasl/marinelli) (Remote host closed the connection)
2023-01-03 12:15:50 +0100marinelli(~marinelli@gateway/tor-sasl/marinelli)
2023-01-03 12:16:28 +0100Guest74(~Guest74@dyndsl-037-138-067-145.ewe-ip-backbone.de) (Ping timeout: 260 seconds)
2023-01-03 12:17:38 +0100jmdaemon(~jmdaemon@user/jmdaemon) (Ping timeout: 260 seconds)
2023-01-03 12:19:06 +0100 <zzz> i'll give you cursed
2023-01-03 12:19:14 +0100 <zzz> @type fix flip
2023-01-03 12:19:15 +0100 <lambdabot> a -> a -> c
2023-01-03 12:21:03 +0100unit73e(~emanuel@2001:818:e8dd:7c00:656:e5ff:fe72:9d36) (Ping timeout: 256 seconds)
2023-01-03 12:27:28 +0100xff0x(~xff0x@p3326132-ipngn2103sapodori.hokkaido.ocn.ne.jp)
2023-01-03 12:28:06 +0100 <zzz> enjoy the rest of your day
2023-01-03 12:30:19 +0100 <[exa]> thank you for the curse
2023-01-03 12:30:30 +0100v0id_ptr(~adrift@user/ptr-frac7al/x-0038398)
2023-01-03 12:33:08 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net) (Ping timeout: 246 seconds)
2023-01-03 12:35:10 +0100Typedfern(~Typedfern@60.red-83-37-32.dynamicip.rima-tde.net) (Remote host closed the connection)
2023-01-03 12:35:21 +0100enoq(~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7)
2023-01-03 12:35:22 +0100 <dminuoso> maerwald[m]: Ah okay
2023-01-03 12:35:28 +0100cheater_(~Username@user/cheater)
2023-01-03 12:36:16 +0100 <dminuoso> [exa]: Honestly, I view them with a double edged sword. The common parser libraries have pretty poor diagnostics or control thereof.
2023-01-03 12:36:31 +0100 <dminuoso> It's frequently very hard to emit good and legible errors
2023-01-03 12:36:44 +0100Typedfern(~Typedfern@60.red-83-37-32.dynamicip.rima-tde.net)
2023-01-03 12:37:18 +0100 <dminuoso> And it's even more annoying to have a very inconsistent and poorly documented behavior as to which combinators freely backtrack and which ones dont.
2023-01-03 12:39:13 +0100cheater(~Username@user/cheater) (Ping timeout: 260 seconds)
2023-01-03 12:39:23 +0100cheater_cheater
2023-01-03 12:40:04 +0100enoq(~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) (Quit: enoq)
2023-01-03 12:41:05 +0100xff0x(~xff0x@p3326132-ipngn2103sapodori.hokkaido.ocn.ne.jp) (Ping timeout: 260 seconds)
2023-01-03 12:42:52 +0100Typedfern(~Typedfern@60.red-83-37-32.dynamicip.rima-tde.net) (Remote host closed the connection)
2023-01-03 12:49:48 +0100cheater_(~Username@user/cheater)
2023-01-03 12:53:00 +0100xff0x(~xff0x@p3326132-ipngn2103sapodori.hokkaido.ocn.ne.jp)
2023-01-03 12:53:11 +0100cheater(~Username@user/cheater) (Ping timeout: 255 seconds)
2023-01-03 12:53:13 +0100cheater_cheater
2023-01-03 12:55:38 +0100gnalzo(~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
2023-01-03 13:00:48 +0100v0id_ptr(~adrift@user/ptr-frac7al/x-0038398) (Ping timeout: 260 seconds)
2023-01-03 13:03:18 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net)
2023-01-03 13:08:31 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net) (Remote host closed the connection)
2023-01-03 13:08:51 +0100acidjnk(~acidjnk@p54ad5adb.dip0.t-ipconnect.de)
2023-01-03 13:09:15 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net)
2023-01-03 13:11:25 +0100boxscape_(~boxscape_@213.52.37.155)
2023-01-03 13:15:45 +0100Blightmain(~Blightmai@203.29.154.219)
2023-01-03 13:16:00 +0100Blightmain_(~Blightmai@203.29.154.219)
2023-01-03 13:21:31 +0100freeside(~mengwong@103.252.202.159) (Ping timeout: 248 seconds)
2023-01-03 13:24:17 +0100Blightmain_(~Blightmai@203.29.154.219) (Quit: Leaving)
2023-01-03 13:24:17 +0100Blightmain(~Blightmai@203.29.154.219) (Quit: Leaving)
2023-01-03 13:31:37 +0100v0id_ptr(~adrift@user/ptr-frac7al/x-0038398)
2023-01-03 13:32:49 +0100Lycurgus(~juan@98.4.112.204)
2023-01-03 13:32:49 +0100Lycurgus(~juan@98.4.112.204) (Changing host)
2023-01-03 13:32:49 +0100Lycurgus(~juan@user/Lycurgus)
2023-01-03 13:34:50 +0100Guest74(~Guest74@dyndsl-037-138-067-145.ewe-ip-backbone.de)
2023-01-03 13:37:48 +0100Typedfern(~Typedfern@60.red-83-37-32.dynamicip.rima-tde.net)
2023-01-03 13:38:15 +0100use-value(~Thunderbi@2a00:23c6:8a03:2f01:3d84:4b82:86a6:1821)
2023-01-03 13:40:30 +0100califax_(~califax@user/califx)
2023-01-03 13:41:41 +0100gurkenglas(~gurkengla@p548ac72e.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
2023-01-03 13:42:22 +0100califax(~califax@user/califx) (Remote host closed the connection)
2023-01-03 13:42:23 +0100califax_califax
2023-01-03 13:43:23 +0100v0id_ptr(~adrift@user/ptr-frac7al/x-0038398) (Ping timeout: 264 seconds)
2023-01-03 13:44:44 +0100use-value(~Thunderbi@2a00:23c6:8a03:2f01:3d84:4b82:86a6:1821) (Quit: use-value)
2023-01-03 13:47:05 +0100freeside(~mengwong@103.252.202.159)
2023-01-03 13:54:51 +0100ChaiTRex(~ChaiTRex@user/chaitrex) (Quit: ChaiTRex)
2023-01-03 13:55:15 +0100CiaoSen(~Jura@p200300c9571bac002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
2023-01-03 14:07:53 +0100Guest74(~Guest74@dyndsl-037-138-067-145.ewe-ip-backbone.de) (Ping timeout: 260 seconds)
2023-01-03 14:22:22 +0100razetime(~Thunderbi@49.207.222.244)
2023-01-03 14:23:32 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net) (Ping timeout: 272 seconds)
2023-01-03 14:28:20 +0100xff0x(~xff0x@p3326132-ipngn2103sapodori.hokkaido.ocn.ne.jp) (Ping timeout: 246 seconds)
2023-01-03 14:35:10 +0100smallArray(~smallArra@85.83.249.158)
2023-01-03 14:36:34 +0100king_gs(~Thunderbi@2806:103e:29:45ac:af0:afaf:29e7:dd60) (Ping timeout: 252 seconds)
2023-01-03 14:37:16 +0100 <mauke> > flip undefined `seq` ()
2023-01-03 14:37:17 +0100 <lambdabot> ()
2023-01-03 14:37:35 +0100 <smallArray> Hello! I saw that (ArrayArray# a) was removed in favor of having (Array# (Array# a)) do the same thing. Is the same true with SmallArray#? In my case, I am hoping to have a (SmallArray# (SmallArray# ByteArray#)) and I wanted to ask about it before trying to upgrade my GHC version.
2023-01-03 14:37:59 +0100boxscape_(~boxscape_@213.52.37.155) (Quit: Connection closed)
2023-01-03 14:38:32 +0100 <merijn> smallArray: I think that's a #ghc or a mailing list question :p
2023-01-03 14:38:53 +0100 <smallArray> Okay, I'll try there. Thank you!
2023-01-03 14:39:39 +0100shapr(~user@68.54.166.125) (Ping timeout: 268 seconds)
2023-01-03 14:40:57 +0100marinelli(~marinelli@gateway/tor-sasl/marinelli) (Quit: marinelli)
2023-01-03 14:42:51 +0100 <smallArray> Do you know how to see the levity annotations on Array# by chance? I'm not sure how to find that in the source code.
2023-01-03 14:42:59 +0100ystael(~ystael@user/ystael)
2023-01-03 14:43:07 +0100 <smallArray> If I can find it on Array# I can just look at SmallArray# myself!
2023-01-03 14:43:56 +0100 <smallArray> Ah, I found it!
2023-01-03 14:43:58 +0100 <smallArray> https://downloads.haskell.org/~ghc/9.4.4/docs/users_guide/9.4.1-notes.html#ghc-prim-library
2023-01-03 14:45:25 +0100 <zzz> @type flip undefined
2023-01-03 14:45:26 +0100 <lambdabot> b -> a -> c
2023-01-03 14:45:29 +0100 <zzz> what?
2023-01-03 14:46:01 +0100 <zzz> oh i get it
2023-01-03 14:46:15 +0100 <zzz> @type undefined :: a -> b
2023-01-03 14:46:16 +0100 <lambdabot> a -> b
2023-01-03 14:46:20 +0100 <zzz> ...
2023-01-03 14:46:41 +0100 <mauke> :t flip id
2023-01-03 14:46:42 +0100 <lambdabot> b -> (b -> c) -> c
2023-01-03 14:47:29 +0100 <zzz> stop
2023-01-03 14:47:57 +0100 <ncf> > fix error
2023-01-03 14:47:59 +0100 <lambdabot> "*Exception: *Exception: *Exception: *Exception: *Exception: *Exception: *Ex...
2023-01-03 14:48:41 +0100zzzsighs
2023-01-03 14:49:54 +0100 <mauke> :t (.) (.) (.)
2023-01-03 14:49:55 +0100 <lambdabot> (b -> c) -> (a1 -> a2 -> b) -> a1 -> a2 -> c
2023-01-03 14:50:59 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net)
2023-01-03 14:51:04 +0100smallArray(~smallArra@85.83.249.158) ()
2023-01-03 14:55:11 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net) (Ping timeout: 256 seconds)
2023-01-03 14:55:15 +0100 <Jadesheit[m]> that's so cursed
2023-01-03 14:55:26 +0100 <zzz> mauke: that's the total recall combinator
2023-01-03 14:55:31 +0100 <Jadesheit[m]> > fix (.)
2023-01-03 14:55:32 +0100 <lambdabot> error:
2023-01-03 14:55:32 +0100 <lambdabot> • Occurs check: cannot construct the infinite type: c ~ a -> c
2023-01-03 14:55:32 +0100 <lambdabot> Expected type: ((a -> b) -> a -> c) -> (a -> b) -> a -> c
2023-01-03 14:55:52 +0100 <ncf> aka fmap fmap fmap
2023-01-03 14:56:19 +0100 <Jadesheit[m]> > fix ((.) (.))
2023-01-03 14:56:20 +0100 <lambdabot> error:
2023-01-03 14:56:20 +0100 <lambdabot> • Occurs check: cannot construct the infinite type: b ~ a1 -> b
2023-01-03 14:56:20 +0100 <lambdabot> Expected type: (a -> (a1 -> b) -> a1 -> c)
2023-01-03 14:57:39 +0100 <ncf> :t fmap fmap fmap fmap fmap fmap fmap fmap
2023-01-03 14:57:41 +0100 <lambdabot> (Functor f1, Functor f2, Functor f3) => (a -> b) -> f1 (f2 (f3 a)) -> f1 (f2 (f3 b))
2023-01-03 14:58:27 +0100 <Jadesheit[m]> > fix fmap
2023-01-03 14:58:29 +0100 <lambdabot> error:
2023-01-03 14:58:29 +0100 <lambdabot> • Occurs check: cannot construct the infinite type: b ~ f b
2023-01-03 14:58:29 +0100 <lambdabot> Expected type: (f a -> f b) -> f a -> f b
2023-01-03 15:04:13 +0100jero98772(~jero98772@190.158.28.44)
2023-01-03 15:05:06 +0100 <ncf> if it ain't broke...
2023-01-03 15:09:25 +0100L29Ah(~L29Ah@wikipedia/L29Ah)
2023-01-03 15:09:31 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net)
2023-01-03 15:10:25 +0100Ranhir(~Ranhir@157.97.53.139) (Read error: Connection reset by peer)
2023-01-03 15:11:40 +0100shriekingnoise(~shrieking@186.137.175.87)
2023-01-03 15:12:42 +0100Ranhir(~Ranhir@157.97.53.139)
2023-01-03 15:21:18 +0100Guest9918(~finn@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
2023-01-03 15:24:26 +0100 <Guest9918> How to teach beginners how to update list element? e.g.: update the 2nd element?
2023-01-03 15:25:01 +0100 <Guest9918> either build a new list or using the lens library
2023-01-03 15:25:18 +0100 <Guest9918> but it seems complicated
2023-01-03 15:25:34 +0100 <Guest9918> the lens lib is very heavy
2023-01-03 15:26:31 +0100 <geekosaur> there is microlems… but lens-like libraries are kinda wasted on lists
2023-01-03 15:26:44 +0100 <geekosaur> and really the correct answer is lists are not meant to be updated
2023-01-03 15:26:59 +0100 <geekosaur> you want Vector or Array for that
2023-01-03 15:27:25 +0100 <Guest9918> so mutable vector or array, right?
2023-01-03 15:27:33 +0100 <geekosaur> yeh
2023-01-03 15:28:02 +0100 <Guest9918> i see thanks
2023-01-03 15:32:09 +0100Lycurgus(~juan@user/Lycurgus) (Quit: Exeunt: personae.ai-integration.biz)
2023-01-03 15:32:55 +0100sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
2023-01-03 15:32:56 +0100 <geekosaur> in fact, generally this is a good point to introduce data structures
2023-01-03 15:33:36 +0100 <geekosaur> we have not only immutable and mutable Array and Vector but also Map, HashMap, priority queues, etc.
2023-01-03 15:34:12 +0100sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2023-01-03 15:37:38 +0100 <geekosaur> alsi, lists are loops encoded as data. and "…encoded as data" is a thing you do a lot in functional programming
2023-01-03 15:39:49 +0100Sgeo(~Sgeo@user/sgeo)
2023-01-03 15:39:51 +0100acidjnk(~acidjnk@p54ad5adb.dip0.t-ipconnect.de) (Remote host closed the connection)
2023-01-03 15:40:14 +0100acidjnk(~acidjnk@p200300d6e7137a131414127c3bff1106.dip0.t-ipconnect.de)
2023-01-03 15:46:58 +0100 <Guest9918> loops encoded as data, this will take some time to absorb its meaning
2023-01-03 15:54:52 +0100 <[exa]> Guest9918: perhaps "generators" could be a closer concept from python&co. Lists usually do not really materialize unless you need them to, because of laziness. So `map (+1) [1..10]` can be naively viewed as a generator that asks for inputs from the generator [1..10] and adds 1 to that.
2023-01-03 15:55:15 +0100 <geekosaur> yeh, it's a pretty big leap from procedural or OO if you're used to those
2023-01-03 15:56:28 +0100 <[exa]> IIRC, in python you can do something that is technically very similar as `for i in range(10): yield i+1`
2023-01-03 15:57:09 +0100 <mauke> does python have something like generator comprehensions?
2023-01-03 15:57:24 +0100 <jean-paul[m]> yes, eg (i + 1 for i in range(10))
2023-01-03 15:57:55 +0100 <jean-paul[m]> a significant difference between lazy lists and generators is that realizing the value of a generator mutates it and consumes the values, though
2023-01-03 15:58:12 +0100 <mauke> > take 5 [ i + 1 | i <- [1 ..] ]
2023-01-03 15:58:14 +0100 <lambdabot> [2,3,4,5,6]
2023-01-03 16:03:39 +0100 <eldritchcookie[4> i am getting a error message saying an instance overlaps with itself
2023-01-03 16:04:09 +0100 <eldritchcookie[4> Overlapping instances for P.PMonad Cont... (full message at <https://libera.ems.host/_matrix/media/v3/download/libera.chat/98088d774a7abd2da5c93949e7075ec157fa…>)
2023-01-03 16:05:25 +0100 <eldritchcookie[4> any idea what could be causing this
2023-01-03 16:05:27 +0100 <eldritchcookie[4> ?
2023-01-03 16:15:45 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net) (Ping timeout: 260 seconds)
2023-01-03 16:18:36 +0100ryantrinkle(~ryantrink@209.91.238.110) ()
2023-01-03 16:21:55 +0100MajorBiscuit(~MajorBisc@c-001-021-035.client.tudelft.eduvpn.nl) (Quit: WeeChat 3.6)
2023-01-03 16:23:05 +0100MajorBiscuit(~MajorBisc@83.22.42.172.ipv4.supernova.orange.pl)
2023-01-03 16:23:14 +0100 <c_wraith> eldritchcookie[4: any chance you've got that module as a source dependency two different ways?
2023-01-03 16:24:48 +0100MajorBiscuit(~MajorBisc@83.22.42.172.ipv4.supernova.orange.pl) (Client Quit)
2023-01-03 16:26:27 +0100gnalzo(~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.7.1)
2023-01-03 16:26:31 +0100Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542)
2023-01-03 16:29:55 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net)
2023-01-03 16:30:32 +0100 <eldritchcookie[4> no idea what caused that rerunning hpack fixed it
2023-01-03 16:30:54 +0100 <geekosaur> yet another reason not to trust hpack…
2023-01-03 16:30:54 +0100 <eldritchcookie[4> when should i use normal unit tests?
2023-01-03 16:32:10 +0100 <eldritchcookie[4> basically i want to test my library testing properties makes sense to me but when should i use a unit test?
2023-01-03 16:32:43 +0100segfaultfizzbuzz(~segfaultf@23-93-74-212.fiber.dynamic.sonic.net)
2023-01-03 16:33:04 +0100waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340)
2023-01-03 16:33:40 +0100tremon(~tremon@83-85-213-108.cable.dynamic.v4.ziggo.nl)
2023-01-03 16:39:35 +0100kee(~~kee@user/wizzwizz4)
2023-01-03 16:40:43 +0100 <kee> Is there a simple web server that doesn't require {-# LANGUAGE OverloadedStrings #-} ?
2023-01-03 16:41:07 +0100 <lyxia> eldritchcookie[4: you can use docspec to make examples that double as unit tests
2023-01-03 16:41:44 +0100 <mauke> doesn't OverloadedStrings just add a method call that you could write manually?
2023-01-03 16:42:09 +0100 <lyxia> yes that's all it does
2023-01-03 16:42:46 +0100 <kee> Huh. Thanks.
2023-01-03 16:43:03 +0100 <kee> fromString?
2023-01-03 16:44:04 +0100 <lyxia> eldritchcookie[4: also, the properties may not constrain the implementation enough. If you test a Semigroup instance only for associativity, you can trivially do x <> _ = x and satisfy associativity.
2023-01-03 16:45:25 +0100 <merijn> kee: You probably just want to use Data.Text.pack over fromString, but yes
2023-01-03 16:50:40 +0100 <[exa]> I guess fromString saves a dependency
2023-01-03 16:50:51 +0100 <[exa]> (direct one)
2023-01-03 16:51:27 +0100 <kritzefitz> eldritchcookie[4: Unit test can be useful to implement regression tests that would be hard to implement as properties.
2023-01-03 16:52:16 +0100jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
2023-01-03 16:54:54 +0100Guest9918(~finn@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 272 seconds)
2023-01-03 16:56:09 +0100potash(~foghorn@user/foghorn)
2023-01-03 16:56:27 +0100mechap1(~mechap@user/mechap)
2023-01-03 16:57:41 +0100ddellacosta(~ddellacos@143.244.47.100)
2023-01-03 16:59:09 +0100mechap(~mechap@user/mechap) (Ping timeout: 260 seconds)
2023-01-03 17:00:11 +0100mechap1(~mechap@user/mechap) (Client Quit)
2023-01-03 17:00:32 +0100mechap(~mechap@user/mechap)
2023-01-03 17:00:37 +0100mei_(~mei@user/mei) (Quit: mei_)
2023-01-03 17:00:53 +0100mei(~mei@user/mei)
2023-01-03 17:05:09 +0100bgs(~bgs@212-85-160-171.dynamic.telemach.net)
2023-01-03 17:06:23 +0100CiaoSen(~Jura@p200300c9571bac002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
2023-01-03 17:10:26 +0100CiaoSen(~Jura@p549cb938.dip0.t-ipconnect.de)
2023-01-03 17:11:51 +0100coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot)
2023-01-03 17:11:52 +0100mei(~mei@user/mei) (Quit: mei)
2023-01-03 17:20:18 +0100jmdaemon(~jmdaemon@user/jmdaemon)
2023-01-03 17:22:36 +0100razetime(~Thunderbi@49.207.222.244) (Quit: razetime)
2023-01-03 17:25:39 +0100jakalx(~jakalx@base.jakalx.net) ()
2023-01-03 17:27:11 +0100freeside(~mengwong@103.252.202.159) (Ping timeout: 264 seconds)
2023-01-03 17:33:40 +0100jmorris(uid537181@id-537181.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
2023-01-03 17:35:59 +0100underlap(~user@79-73-232-86.dynamic.dsl.as9105.com)
2023-01-03 17:36:04 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net) (Ping timeout: 272 seconds)
2023-01-03 17:37:11 +0100chele(~chele@user/chele)
2023-01-03 17:40:57 +0100 <underlap> Hi there. I've been using Rust and now now trying to learn Haskell more seriously. Can I embed hspec test modules in the same files as the runtime code I want to test? You see having parallel source and test directory trees feels old hat and reminds me of Java. I'd like hspec to be able to find and run all the test modules automatically.
2023-01-03 17:41:03 +0100waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 265 seconds)
2023-01-03 17:41:20 +0100 <merijn> underlap: Not really, tbh
2023-01-03 17:41:36 +0100 <underlap> Ok, I'll have to live with it then. Thanks.
2023-01-03 17:49:59 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net)
2023-01-03 17:53:11 +0100jonathanx(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se)
2023-01-03 17:56:27 +0100 <eldritchcookie[4> use template haskell you can put arbitrary io actions inside template haskell
2023-01-03 17:57:15 +0100 <monochrom> Sure. I joked about playing a movie when waiting for compiling.
2023-01-03 17:57:50 +0100jonathanx(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Client Quit)
2023-01-03 17:58:03 +0100 <geekosaur> some test engines have the ability to be embedded though
2023-01-03 17:58:23 +0100 <EvanR> TH which spawns a video player?
2023-01-03 17:58:38 +0100 <monochrom> I should have joked about mining bitcoins when waiting for compiling. >:)
2023-01-03 17:58:42 +0100 <eldritchcookie[4> if you want sure
2023-01-03 17:59:32 +0100coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba)
2023-01-03 18:01:03 +0100malc(~malc@109-252-130-144.dynamic.spd-mgts.ru)
2023-01-03 18:01:28 +0100freeside(~mengwong@103.252.202.159)
2023-01-03 18:01:34 +0100malc(~malc@109-252-130-144.dynamic.spd-mgts.ru) (ERC 5.4.1 (IRC client for GNU Emacs 29.0.50))
2023-01-03 18:02:29 +0100Kaiepi(~Kaiepi@nwcsnbsc03w-47-55-159-86.dhcp-dynamic.fibreop.nb.bellaliant.net) (Ping timeout: 246 seconds)
2023-01-03 18:02:49 +0100thongpv87(~thongpv87@2402:9d80:3b5:d7b1:6629:a35e:8066:b5e3)
2023-01-03 18:03:40 +0100 <eldritchcookie[4> i want to formally prove properties of my programs, specifically for proofs and considering my experience with haskell is agda or coq better? agda seems less focused on proofs but it is similar to haskell, however the wikipedia proof assistant page says it doesn't have proof automation so i am hesitant to waste time learning it, just to find out i have to write proofs by hand.
2023-01-03 18:03:42 +0100td_(~td@83.135.9.22) (Ping timeout: 255 seconds)
2023-01-03 18:04:44 +0100nschoe(~q@2a01:e0a:8e:a190:79dc:4967:2fb4:bf93) (Ping timeout: 265 seconds)
2023-01-03 18:05:29 +0100thongpv(~thongpv87@2402:9d80:3f6:6d60:f56c:22a9:c5fd:d3ca) (Ping timeout: 255 seconds)
2023-01-03 18:06:11 +0100underlap(~user@79-73-232-86.dynamic.dsl.as9105.com) (Remote host closed the connection)
2023-01-03 18:06:24 +0100underlap(~user@79-73-232-86.dynamic.dsl.as9105.com)
2023-01-03 18:09:31 +0100nschoe(~q@2a01:e0a:8e:a190:667f:85b9:e241:9bc7)
2023-01-03 18:10:42 +0100td_(~td@83.135.9.22)
2023-01-03 18:11:19 +0100nschoe(~q@2a01:e0a:8e:a190:667f:85b9:e241:9bc7) (Client Quit)
2023-01-03 18:12:37 +0100gnalzo(~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
2023-01-03 18:15:39 +0100Kaiepi(~Kaiepi@nwcsnbsc03w-47-55-159-86.dhcp-dynamic.fibreop.nb.bellaliant.net)
2023-01-03 18:17:28 +0100titibandit(~titibandi@xdsl-89-0-163-79.nc.de)
2023-01-03 18:20:40 +0100 <underlap> TH looks very interesting, but since I might like to share my code with students doing their first functional programming module, I'd better not stray too far off piste.
2023-01-03 18:23:52 +0100 <dolio> eldritchcookie[4: There's some new Agda stuff specifically designed for clean mapping back to Haskell, so that you can take advantage of moderately fancier features of Agda, but still get readable Haskell out.
2023-01-03 18:24:00 +0100 <dolio> It depends a lot on what you want to do, though.
2023-01-03 18:24:51 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:3054:ac62:76b7:6154) (Quit: WeeChat 2.8)
2023-01-03 18:25:35 +0100 <geekosaur> huh. wasn't agda the one that compiled to haskell more or less by wrapping everything in `unsafeCoerce`?
2023-01-03 18:25:55 +0100 <dolio> Yes, I think that's how the older compiler works.
2023-01-03 18:26:24 +0100 <dolio> But there's a new one that restricts the Agda features you're allowed to use so that there's a more obvious mapping back to Haskell, just by erasing certain things.
2023-01-03 18:26:40 +0100 <dolio> https://jesper.sikanda.be/files/reasonable-agda-is-correct-haskell.pdf
2023-01-03 18:29:33 +0100nut(~nut@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
2023-01-03 18:31:31 +0100xsperry(~xs@user/xsperry) (Ping timeout: 268 seconds)
2023-01-03 18:34:39 +0100jakalx(~jakalx@base.jakalx.net)
2023-01-03 18:35:27 +0100king_gs(~Thunderbi@187.201.110.169)
2023-01-03 18:37:46 +0100ian2(~ian@2607:fea8:2d1f:8400::55bd)
2023-01-03 18:38:02 +0100Tuplanolla(~Tuplanoll@91-159-68-152.elisa-laajakaista.fi)
2023-01-03 18:38:05 +0100ian2qutebrowsershill
2023-01-03 18:42:38 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:4dbe:e8ec:bab1:6e35)
2023-01-03 18:42:53 +0100raym(~ray@user/raym) (Quit: leaving)
2023-01-03 18:43:56 +0100mbuf(~Shakthi@49.205.80.42) (Quit: Leaving)
2023-01-03 18:49:44 +0100iteratee_(~kyle@162.218.222.107) (Ping timeout: 246 seconds)
2023-01-03 18:52:57 +0100iteratee(~kyle@162.218.222.107)
2023-01-03 18:53:17 +0100chele(~chele@user/chele) (Remote host closed the connection)
2023-01-03 18:57:20 +0100merijn(~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl) (Ping timeout: 260 seconds)
2023-01-03 18:57:39 +0100qutebrowsershill(~ian@2607:fea8:2d1f:8400::55bd) (Quit: WeeChat 3.7.1)
2023-01-03 19:00:19 +0100avicenzi(~avicenzi@2a00:ca8:a1f:b004::c32) (Ping timeout: 265 seconds)
2023-01-03 19:00:30 +0100coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot)
2023-01-03 19:01:37 +0100dsrt^(~dsrt@76.145.185.103) (Remote host closed the connection)
2023-01-03 19:03:32 +0100mechap(~mechap@user/mechap) (Ping timeout: 255 seconds)
2023-01-03 19:03:55 +0100king_gs(~Thunderbi@187.201.110.169) (Read error: Connection reset by peer)
2023-01-03 19:05:23 +0100mechap(~mechap@user/mechap)
2023-01-03 19:05:32 +0100CiaoSen(~Jura@p549cb938.dip0.t-ipconnect.de) (Ping timeout: 246 seconds)
2023-01-03 19:05:53 +0100king_gs(~Thunderbi@2806:103e:29:45ac:af0:afaf:29e7:dd60)
2023-01-03 19:06:44 +0100tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
2023-01-03 19:06:51 +0100bsima(~bsima@143.198.118.179) (Quit: ZNC 1.8.2 - https://znc.in)
2023-01-03 19:07:30 +0100bsima(~bsima@143.198.118.179)
2023-01-03 19:10:25 +0100 <underlap> Looking at an example repo from hspec, I see it uses hpack rather than vanilla Cabal. Which is the commonly accepted best practice for a package format?
2023-01-03 19:11:59 +0100 <geekosaur> you can install hpack by itself and run it to produce a cabal file
2023-01-03 19:12:33 +0100 <geekosaur> although these days stack users are actively encouraged to distribute a cabal file rather than require that of users
2023-01-03 19:12:45 +0100 <sclv> yep, even when people use hspec its recommended they also check in the generated cabal file
2023-01-03 19:13:24 +0100 <sclv> and as far as "commonly accepted" people do it both ways, but i'd say its only a minority of packages that use hspec -- cabal files themselves provide nearly all feature extensions hspec has these days
2023-01-03 19:13:47 +0100 <geekosaur> do you mean hpack there (twice)?
2023-01-03 19:13:52 +0100 <geekosaur> 3 times
2023-01-03 19:13:55 +0100 <sclv> oh yep, lmao
2023-01-03 19:14:19 +0100troydm(~troydm@host-176-37-124-197.b025.la.net.ua) (Ping timeout: 252 seconds)
2023-01-03 19:14:25 +0100 <underlap> phew, that was getting confusing
2023-01-03 19:15:33 +0100 <underlap> So perhaps a decent approach is to use hpack to get started, generate a cabal file, and then delete the hpack stuff and maintain the cabal file?
2023-01-03 19:16:01 +0100 <geekosaur> or hold onto hpack in case this comes up again later
2023-01-03 19:16:46 +0100 <sclv> i mean i'd advocate just using a cabal file directly, no reason to use hspec imho
2023-01-03 19:16:56 +0100 <sclv> `cabal init` gives you a nice cabal file with lots of comments
2023-01-03 19:16:59 +0100 <underlap> I was assuming hpack doesn't do a good job of merging changes into the cabal file and I was trying to avoid dual maintenance.
2023-01-03 19:17:13 +0100 <sclv> it doesn't merge changes in! it just generates a new one.
2023-01-03 19:17:24 +0100 <sclv> any edits you make to the cabal file get stomped when you run hpack again
2023-01-03 19:18:12 +0100troydm(~troydm@host-176-37-124-197.b025.la.net.ua)
2023-01-03 19:18:49 +0100 <underlap> Right - as expected. My only reason for considering using hpack is newbieness and not knowing all the ins and outs of cabal files just yet. I need to set up src and test directories and line up the modules for hspec-discover and I feel I could waste some time discovering conventions which hpack might automate.
2023-01-03 19:19:15 +0100nasrudin__(~nasrudin_@107-132-214-117.lightspeed.sndgca.sbcglobal.net)
2023-01-03 19:20:31 +0100econo(uid147250@user/econo)
2023-01-03 19:21:40 +0100 <sclv> fair dos. i don't recall the details of hspec-discover but i don't think its that tricky. my advice as a newb is to not mess with it at all though and just use the bog standard stuff until you feel more comfortable. no reason to learn too many things at once, even if it saves a little boilerplate.
2023-01-03 19:23:03 +0100 <sclv> for testing, i recommend not to use something like hspec directly, but instead an integrated test framework like tasty, whose syntax may also be a bit less clunky https://hackage.haskell.org/package/tasty
2023-01-03 19:23:22 +0100waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340)
2023-01-03 19:24:24 +0100merijn(~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl)
2023-01-03 19:24:25 +0100 <underlap> That's good advice. I'm new to haskell, but an old lag at development, so I don't like writing/maintaining excess boilerplate. I looked at tasty earlier, but am put off because it supports multiple test frameworks. I'd prefer to pick one, like hspec, and stick with it. I've used similar frameworks to hspec in the past, so I like the style.
2023-01-03 19:25:26 +0100 <sclv> even for one framework alone, i think tasty has nice ergonomics and a good runner. but i'd also really recommend trying quickcheck-style tests if you haven't used them yet, they're really a game changer
2023-01-03 19:26:01 +0100 <underlap> Ok, I'll certainly bear that in mind, thanks! Gotta run off and cook...
2023-01-03 19:27:11 +0100CiaoSen(~Jura@p200300c9572e35002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
2023-01-03 19:30:49 +0100underlap(~user@79-73-232-86.dynamic.dsl.as9105.com) (Ping timeout: 260 seconds)
2023-01-03 19:32:48 +0100CiaoSen(~Jura@p200300c9572e35002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2023-01-03 19:33:47 +0100freeside(~mengwong@103.252.202.159) (Ping timeout: 264 seconds)
2023-01-03 19:34:33 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net) (Ping timeout: 260 seconds)
2023-01-03 19:39:51 +0100 <Inst__> can someone help me with layout rules in Haskell?
2023-01-03 19:39:56 +0100 <Inst__> I'm trying to translate everything to explicit braces
2023-01-03 19:40:20 +0100 <Inst__> the problem is, I can't get names to assume a brace form
2023-01-03 19:41:11 +0100 <geekosaur> I don't understand what you mean by the problem
2023-01-03 19:42:35 +0100 <geekosaur> > do { let { a = 5 }; print a } -- which won't print but shows how this works
2023-01-03 19:42:36 +0100 <lambdabot> <IO ()>
2023-01-03 19:44:10 +0100nckxguix
2023-01-03 19:44:18 +0100guixnck
2023-01-03 19:44:19 +0100ncknckx
2023-01-03 19:45:25 +0100 <Inst__> main = print "Hello World!" works, but main = {print "Hello World!"} isn't
2023-01-03 19:45:35 +0100 <Inst__> {main = print "Hello World!"} doesn't work either
2023-01-03 19:45:38 +0100 <Inst__> except in GHCI
2023-01-03 19:46:01 +0100 <geekosaur> because layout requires a layout-introducing keyword such as `let` or `do` or `case`
2023-01-03 19:46:15 +0100 <Inst__> or where, in particular
2023-01-03 19:46:20 +0100 <geekosaur> braces elsewhere are understood as record syntax
2023-01-03 19:46:28 +0100 <geekosaur> yes, `where` also introduces layout
2023-01-03 19:46:39 +0100 <Inst__> i guess the better way to think of it is that all names are one-liners fundamentally
2023-01-03 19:46:46 +0100 <geekosaur> so `main = do { print "Hello World!" } is valid
2023-01-03 19:48:08 +0100 <Inst__> the idea is that i want to be able to teach whitespace layout rules via braces
2023-01-03 19:48:28 +0100 <geekosaur> then you need to know what introduces layout
2023-01-03 19:48:29 +0100johnw(~johnw@2600:1700:cf00:db0:bccc:cdbd:ef47:1293) (Quit: ZNC - http://znc.in)
2023-01-03 19:48:39 +0100 <Inst__> "module Main where"
2023-01-03 19:49:13 +0100freeside(~mengwong@103.252.202.159)
2023-01-03 19:49:38 +0100 <[exa]> I always read that as a question
2023-01-03 19:49:47 +0100 <geekosaur> ``The layout (or “off-side”) rule takes effect whenever the open brace is omitted after the keyword where, let, do, or of.``
2023-01-03 19:50:06 +0100 <geekosaur> the open brace must immediately follow the `where` in that case
2023-01-03 19:50:24 +0100 <geekosaur> you can't have type signatures, eimports, etc. before it
2023-01-03 19:50:54 +0100 <geekosaur> in particular, you also can't have a newline because that switches it to layout mode
2023-01-03 19:54:36 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net)
2023-01-03 19:56:19 +0100 <mauke> the newline bit would surprise me
2023-01-03 19:56:24 +0100coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba)
2023-01-03 19:56:47 +0100 <geekosaur> why? at that point it has to look for indentation to see how the layout block is defined
2023-01-03 19:57:16 +0100 <geekosaur> it's committed and can't go back
2023-01-03 19:57:53 +0100merijn(~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl) (Ping timeout: 260 seconds)
2023-01-03 19:59:01 +0100 <mauke> ^ works here
2023-01-03 19:59:02 +0100maukesent a haskell code block: https://libera.ems.host/_matrix/media/v3/download/libera.chat/a1c6f39a2bb6b8cf94af2da4831ecab7ccf7…
2023-01-03 20:01:22 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:4dbe:e8ec:bab1:6e35) (Remote host closed the connection)
2023-01-03 20:01:55 +0100 <geekosaur> Inst__, can you show the full module which triggers your error with the braces?
2023-01-03 20:04:15 +0100 <mauke> "I guess the better way to think of it is that all names are one-liners fundamentally" <- or in other words, names are bound to (single) expressions
2023-01-03 20:04:26 +0100 <Inst__> i think i tossed mine
2023-01-03 20:04:48 +0100 <mauke> do notation ultimately turns into a simple expression, too
2023-01-03 20:05:04 +0100 <Inst__> yeah, i know
2023-01-03 20:05:14 +0100 <Inst__> was expecting to be able to show every term as its own brace-set
2023-01-03 20:05:56 +0100 <mauke> ah
2023-01-03 20:06:05 +0100 <mauke> yeah, that's not how the syntax works
2023-01-03 20:06:06 +0100sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
2023-01-03 20:06:48 +0100fizbin(~fizbin@user/fizbin) (Ping timeout: 272 seconds)
2023-01-03 20:07:22 +0100sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2023-01-03 20:09:27 +0100merijn(~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl)
2023-01-03 20:11:25 +0100 <mauke> I guess do notation is "weird" in that (like the other layout keywords) it desugars formatting into braces and semicolons, but then (unlike the others) it gets rid of the braces/semicolons again
2023-01-03 20:12:28 +0100 <mauke> for the other layout keywords, braces/semicolons are the real syntax; it is just do that is entirely sugar
2023-01-03 20:13:28 +0100beefbambi(~beefbambi@2401:4900:230d:f57c:538c:d7cc:50c0:e377) (Read error: Connection reset by peer)
2023-01-03 20:13:32 +0100 <monochrom> https://www.haskell.org/onlinereport/haskell2010/haskellch10.html#x17-17800010.3 teaches layout rules by braces.
2023-01-03 20:14:07 +0100merijn(~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl) (Ping timeout: 252 seconds)
2023-01-03 20:15:06 +0100beefbambi(~beefbambi@183.82.178.237)
2023-01-03 20:15:41 +0100beteigeuze(~Thunderbi@bl14-81-220.dsl.telepac.pt)
2023-01-03 20:23:13 +0100coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot)
2023-01-03 20:23:19 +0100beefbambi(~beefbambi@183.82.178.237) (Ping timeout: 260 seconds)
2023-01-03 20:23:42 +0100beefbambi(~beefbambi@2401:4900:230d:f57c:538c:d7cc:50c0:e377)
2023-01-03 20:25:04 +0100beefbambi(~beefbambi@2401:4900:230d:f57c:538c:d7cc:50c0:e377) (Read error: Connection reset by peer)
2023-01-03 20:25:21 +0100beefbambi(~beefbambi@183.82.178.237)
2023-01-03 20:27:58 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:4dbe:e8ec:bab1:6e35)
2023-01-03 20:28:32 +0100notzmv(~zmv@user/notzmv)
2023-01-03 20:28:52 +0100titibandit(~titibandi@xdsl-89-0-163-79.nc.de) (Remote host closed the connection)
2023-01-03 20:29:48 +0100titibandit(~titibandi@xdsl-89-0-163-79.nc.de)
2023-01-03 20:31:36 +0100cheater_(~Username@user/cheater)
2023-01-03 20:34:47 +0100cheater(~Username@user/cheater) (Ping timeout: 246 seconds)
2023-01-03 20:34:52 +0100cheater_cheater
2023-01-03 20:36:33 +0100son0p(~ff@2604:3d08:5b7f:5540:98a9:2169:15a1:4c7f)
2023-01-03 20:42:03 +0100beefbambi(~beefbambi@183.82.178.237) (Read error: Connection reset by peer)
2023-01-03 20:42:22 +0100beefbambi(~beefbambi@37.19.205.149)
2023-01-03 20:44:56 +0100gmg(~user@user/gehmehgeh) (Quit: Leaving)
2023-01-03 20:46:41 +0100panovia(~user@user/siracusa)
2023-01-03 20:52:26 +0100unit73e(~emanuel@2001:818:e8dd:7c00:656:e5ff:fe72:9d36)
2023-01-03 21:06:22 +0100vulpine(xfnw@tilde.team) (Quit: Connection reset by purr)
2023-01-03 21:10:36 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:4dbe:e8ec:bab1:6e35) (Remote host closed the connection)
2023-01-03 21:12:44 +0100tvandinther(~tvandinth@2404:4408:872e:6000:e419:79c8:af6:d84c)
2023-01-03 21:14:02 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:4dbe:e8ec:bab1:6e35)
2023-01-03 21:16:42 +0100 <VOID[m]> Fellas I have a problem with stack build, is it ok to ask here, or is there some more specific channel?
2023-01-03 21:17:06 +0100 <geekosaur> here is fine
2023-01-03 21:17:12 +0100 <VOID[m]> Stack cannot build, gives me linking error /usr/bin/ld.gold: error: HSasn1-types-0.3.4-KIoPqxccKSq8AWVhQf2suX: malformed archive header at 8
2023-01-03 21:17:28 +0100 <geekosaur> there is #haskell-stack but I don't think it's very active
2023-01-03 21:18:25 +0100 <geekosaur> that sounds very wrong
2023-01-03 21:19:36 +0100 <geekosaur> it sounds like somehow the linker has been passed the package directory instead of the archive file within it
2023-01-03 21:19:52 +0100 <geekosaur> (the file name should end in `.a` or `.so`)
2023-01-03 21:20:30 +0100 <geekosaur> hm, except that wouldn't have `HS` prefix
2023-01-03 21:20:59 +0100 <VOID[m]> I have no idea what to do with that or how to debug it... cabal build seems to work, when run in the same directory, which is even more surprising (unless I don't understand something)
2023-01-03 21:21:00 +0100 <VOID[m]> I don't think it is foreign, I thought asn1-types is pure Haskell?
2023-01-03 21:21:18 +0100king_gs(~Thunderbi@2806:103e:29:45ac:af0:afaf:29e7:dd60) (Quit: king_gs)
2023-01-03 21:21:28 +0100 <geekosaur> it's trying to link a Haskell library, certainly
2023-01-03 21:21:35 +0100 <geekosaur> but the library is corrupt
2023-01-03 21:22:18 +0100 <VOID[m]> I think it's all part of http-client, the tls part uses asn1-types
2023-01-03 21:22:33 +0100 <VOID[m]> that's basically all I was able to debug by myself :P
2023-01-03 21:22:37 +0100 <geekosaur> it should start with `#<arch>\n`
2023-01-03 21:23:21 +0100werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 256 seconds)
2023-01-03 21:24:03 +0100 <geekosaur> sadly I don't seem to have asn1-types built locally so I don't have much else to go on
2023-01-03 21:24:16 +0100 <VOID[m]> I can give you more logs, lemme just strip some names from them
2023-01-03 21:24:43 +0100beefbambi(~beefbambi@37.19.205.149) (Ping timeout: 248 seconds)
2023-01-03 21:25:03 +0100unit73e(~emanuel@2001:818:e8dd:7c00:656:e5ff:fe72:9d36) (Ping timeout: 256 seconds)
2023-01-03 21:25:06 +0100werneta(~werneta@137.79.225.119)
2023-01-03 21:25:33 +0100beefbambi(~beefbambi@2401:4900:230d:f57c:538c:d7cc:50c0:e377)
2023-01-03 21:25:56 +0100VOID[m]sent a code block: https://libera.ems.host/_matrix/media/v3/download/libera.chat/86b7151e316a961e960a57909bcc90746570…
2023-01-03 21:25:57 +0100 <VOID[m]> How is it possible, that cabal build works but stack build doesn't?
2023-01-03 21:25:58 +0100beefbambi(~beefbambi@2401:4900:230d:f57c:538c:d7cc:50c0:e377) (Read error: Connection reset by peer)
2023-01-03 21:26:00 +0100 <VOID[m]> I thought cabal stuff in the project is generated from stack stuff?
2023-01-03 21:26:16 +0100beefbambi(~beefbambi@183.82.178.237)
2023-01-03 21:26:55 +0100 <geekosaur> that's not the point here. the point is your `asn1-types` package in stack's store is corrupt
2023-01-03 21:26:55 +0100nckxjeffbezos
2023-01-03 21:27:02 +0100jeffbezosnckx
2023-01-03 21:27:19 +0100 <geekosaur> the one in cabal's store (which is different) isn't
2023-01-03 21:27:33 +0100 <VOID[m]> can I clean it? redownload? recompile? anything like that? I tried stack clean --full
2023-01-03 21:27:53 +0100 <VOID[m]> Can I replace it with the cabal one by hand maybe? Or find a difference?
2023-01-03 21:27:56 +0100 <VOID[m]> What are the steps to debug that...
2023-01-03 21:28:14 +0100 <geekosaur> I don't know stack well enough to say anything beyond removing all of `~/.stack` which is probably overkill
2023-01-03 21:28:36 +0100 <geekosaur> and no, you can't replace it with the one in `~/.cabal/store`
2023-01-03 21:28:55 +0100jrm(~jrm@user/jrm) (Quit: ciao)
2023-01-03 21:28:57 +0100 <geekosaur> anything linked against stack's version will break
2023-01-03 21:29:14 +0100jrm(~jrm@user/jrm)
2023-01-03 21:30:01 +0100 <geekosaur> granting anything linked against stack's version is broken now, but you can force rebuilds by removing `~/.stack` or something underneath it; dropping in an incompatible build will not be detected or fixed
2023-01-03 21:30:53 +0100 <VOID[m]> am trying rm -rf ~/.stack
2023-01-03 21:31:19 +0100jrm(~jrm@user/jrm) (Client Quit)
2023-01-03 21:31:41 +0100jrm(~jrm@user/jrm)
2023-01-03 21:31:43 +0100jrm(~jrm@user/jrm) (Remote host closed the connection)
2023-01-03 21:32:58 +0100 <geekosaur> you should have saved the config file first
2023-01-03 21:33:26 +0100 <VOID[m]> I haven't modified anything in that dir ever by hand, so that should not be a problem, should it?
2023-01-03 21:33:40 +0100 <geekosaur> hm, maybe it's okay
2023-01-03 21:33:54 +0100jrm(~jrm@user/jrm)
2023-01-03 21:34:10 +0100 <VOID[m]> Well too late to backup anything in there now anyway :P
2023-01-03 21:35:05 +0100jrm(~jrm@user/jrm) (Client Quit)
2023-01-03 21:35:53 +0100tvandinther(~tvandinth@2404:4408:872e:6000:e419:79c8:af6:d84c) (Ping timeout: 260 seconds)
2023-01-03 21:36:17 +0100jrm(~jrm@user/jrm)
2023-01-03 21:37:01 +0100jrm(~jrm@user/jrm) (Remote host closed the connection)
2023-01-03 21:40:01 +0100jrm(~jrm@user/jrm)
2023-01-03 21:41:08 +0100 <VOID[m]> geekosaur: it worked
2023-01-03 21:41:27 +0100 <VOID[m]> I am surprised stack clean --full doesn't clean all cleanable things...
2023-01-03 21:41:44 +0100 <geekosaur> you generally don't want it to nuke everything you've built
2023-01-03 21:41:55 +0100 <geekosaur> you will be doing a lot of rebuilding in that case
2023-01-03 21:41:59 +0100 <VOID[m]> That's why I used --full :P
2023-01-03 21:42:09 +0100jrm(~jrm@user/jrm) (Client Quit)
2023-01-03 21:42:27 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:4dbe:e8ec:bab1:6e35) (Remote host closed the connection)
2023-01-03 21:42:59 +0100 <VOID[m]> I am pretty sure by default it's shallow, not full
2023-01-03 21:44:06 +0100coot(~coot@213.134.171.3)
2023-01-03 21:44:40 +0100phma(phma@2001:5b0:211b:f318:7482:d8c2:3f03:7c4c) (Read error: Connection reset by peer)
2023-01-03 21:44:50 +0100 <dmj`> is anyone aware of any research related to a dependently type lambda calculus that also has row types? sounds interesting
2023-01-03 21:45:17 +0100jrm(~jrm@user/jrm)
2023-01-03 21:45:24 +0100jrm(~jrm@user/jrm) (Remote host closed the connection)
2023-01-03 21:45:33 +0100phma(phma@2001:5b0:2144:7708:13f:34e:4754:4d0e)
2023-01-03 21:48:33 +0100jrm(~jrm@user/jrm)
2023-01-03 21:49:03 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net) (Ping timeout: 260 seconds)
2023-01-03 21:49:36 +0100perrierjouet(~perrier-j@modemcable048.127-56-74.mc.videotron.ca) (Quit: WeeChat 3.7.1)
2023-01-03 21:50:38 +0100perrierjouet(~perrier-j@modemcable048.127-56-74.mc.videotron.ca)
2023-01-03 21:50:44 +0100vulpine(xfnw@tilde.team)
2023-01-03 21:55:46 +0100freeside(~mengwong@103.252.202.159) (Ping timeout: 265 seconds)
2023-01-03 22:03:02 +0100 <eldritchcookie[4> with callCC is there any way to escape with the exception continuation?
2023-01-03 22:06:01 +0100jrm(~jrm@user/jrm) (Quit: ciao)
2023-01-03 22:06:24 +0100jrm(~jrm@user/jrm)
2023-01-03 22:06:33 +0100cheater_(~Username@user/cheater)
2023-01-03 22:07:48 +0100freeside(~mengwong@103.252.202.159)
2023-01-03 22:09:31 +0100cheater(~Username@user/cheater) (Ping timeout: 248 seconds)
2023-01-03 22:09:40 +0100cheater_cheater
2023-01-03 22:09:45 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net)
2023-01-03 22:09:50 +0100cheater(~Username@user/cheater) (Client Quit)
2023-01-03 22:10:29 +0100eggplantade(~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net)
2023-01-03 22:11:34 +0100nut(~nut@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 272 seconds)
2023-01-03 22:13:08 +0100werneta(~werneta@137.79.225.119) (Ping timeout: 246 seconds)
2023-01-03 22:14:59 +0100infty(~infty@80-62-117-240-mobile.dk.customer.tdc.net)
2023-01-03 22:15:03 +0100Guest9918(~finn@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
2023-01-03 22:15:09 +0100werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
2023-01-03 22:16:21 +0100 <infty> Hello channel! I'm trying to learn some Haskell so I'll probably ask questions here in the near future, so I thought I'd start with greetings
2023-01-03 22:16:45 +0100 <geekosaur> hello!
2023-01-03 22:16:57 +0100jrm(~jrm@user/jrm) (Quit: ciao)
2023-01-03 22:17:16 +0100jrm(~jrm@user/jrm)
2023-01-03 22:17:43 +0100 <yushyin> hi and welcome infty :)
2023-01-03 22:17:53 +0100 <eldritchcookie[4> hello
2023-01-03 22:18:28 +0100fserucas(~fserucas@2001:818:e376:a400:fb92:70c1:dd88:c7d7) (Ping timeout: 260 seconds)
2023-01-03 22:18:31 +0100 <jle``> iqubic: ah yeah you can't really directly convert an infinite haskell list into a mutable list using the mutable library, but the library basically gives you poitner manipulation so you can create a linked list with a cycle which is infinite if you iterate over it. i'm not sure if it will freeze properly though
2023-01-03 22:18:33 +0100 <jle``> infty: welcome :)
2023-01-03 22:18:41 +0100jle``(~jusle@user/jle/x-3894663) (Quit: WeeChat 3.6)
2023-01-03 22:19:17 +0100 <iqubic> jle``: The library is actually broken, due to Vinyl being updated eventually.
2023-01-03 22:20:01 +0100cheater(~Username@user/cheater)
2023-01-03 22:22:20 +0100 <sm> VOID: I hear that, but clean is for cleaning a stack project, not the machine's stack installation. (And --full is a silly wart IMHO)
2023-01-03 22:23:11 +0100eggplantade(~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2023-01-03 22:23:14 +0100 <sm> stack manages projects, ghcup/brew/apt/... manages stack
2023-01-03 22:23:44 +0100 <geekosaur> aren't there tools to manage stack's package store? I know there are a few for cabal
2023-01-03 22:24:01 +0100 <VOID[m]> sm: It feels like there should be some command for cleaning stack cache, clean would be intuitive
2023-01-03 22:24:10 +0100 <sm> right, and yet another tool manages stack's data... stack-clean-old is one
2023-01-03 22:24:31 +0100 <sm> should that be built in to stack ? Yes I think you're right
2023-01-03 22:24:35 +0100 <sm> it should
2023-01-03 22:25:03 +0100 <geekosaur> cabal-extras even has a tool to detect and optionally remove broken packages, iirc
2023-01-03 22:25:13 +0100 <geekosaur> which is what would have been useful here
2023-01-03 22:25:56 +0100 <sm> aha, I remember making a shell/ghc-pkg script for that years ago, my first haskell-related script :)
2023-01-03 22:27:31 +0100 <sm> https://gist.github.com/simonmichael/1185421 :) should still work inside cabal exec -- or stack exec --
2023-01-03 22:30:12 +0100jakalx(~jakalx@base.jakalx.net) (Error from remote client)
2023-01-03 22:31:14 +0100jakalx(~jakalx@base.jakalx.net)
2023-01-03 22:31:21 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net)
2023-01-03 22:33:41 +0100elkcl(~elkcl@broadband-188-255-19-11.ip.moscow.rt.ru) (Ping timeout: 255 seconds)
2023-01-03 22:34:02 +0100elkcl(~elkcl@broadband-188-255-19-11.ip.moscow.rt.ru)
2023-01-03 22:34:45 +0100trev(~trev@user/trev) (Remote host closed the connection)
2023-01-03 22:35:53 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net) (Ping timeout: 265 seconds)
2023-01-03 22:36:47 +0100bgs(~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection)
2023-01-03 22:37:12 +0100gmg(~user@user/gehmehgeh)
2023-01-03 22:44:03 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 255 seconds)
2023-01-03 22:45:16 +0100ulvarref`(~user@185.24.53.152)
2023-01-03 22:45:52 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net)
2023-01-03 22:47:26 +0100ulvarrefr(~user@188.124.56.153) (Ping timeout: 268 seconds)
2023-01-03 22:50:48 +0100infty(~infty@80-62-117-240-mobile.dk.customer.tdc.net) (Quit: Lost terminal)
2023-01-03 22:50:50 +0100Kaiepi(~Kaiepi@nwcsnbsc03w-47-55-159-86.dhcp-dynamic.fibreop.nb.bellaliant.net) (Ping timeout: 272 seconds)
2023-01-03 22:52:46 +0100perrierjouet(~perrier-j@modemcable048.127-56-74.mc.videotron.ca) (Quit: WeeChat 3.7.1)
2023-01-03 22:52:57 +0100liskin(~liskin@xmonad/liskin) (Quit: liskin)
2023-01-03 22:54:56 +0100perrierjouet(~perrier-j@modemcable048.127-56-74.mc.videotron.ca)
2023-01-03 22:56:04 +0100nasrudin__(~nasrudin_@107-132-214-117.lightspeed.sndgca.sbcglobal.net) (Ping timeout: 268 seconds)
2023-01-03 22:58:21 +0100coot(~coot@213.134.171.3) (Quit: coot)
2023-01-03 22:58:35 +0100liskin(~liskin@xmonad/liskin)
2023-01-03 22:58:35 +0100ulvarref`(~user@185.24.53.152) (Ping timeout: 248 seconds)
2023-01-03 23:00:23 +0100nabaiste^(~nabaiste@76.145.185.103)
2023-01-03 23:03:39 +0100unit73e(~emanuel@2001:818:e8dd:7c00:656:e5ff:fe72:9d36)
2023-01-03 23:07:34 +0100nasrudin__(~nasrudin_@174.78.12.234)
2023-01-03 23:10:35 +0100ChaiTRex(~ChaiTRex@user/chaitrex)
2023-01-03 23:16:59 +0100 <talismanick> Using HLS with Emacs lsp-mode. Why might applying hlint suggested edits be failing?
2023-01-03 23:17:35 +0100 <talismanick> lsp-workspace-command-execute: ‘workspace/executeCommand’ with ‘23955:hlint:applyOne’ failed.
2023-01-03 23:18:38 +0100 <talismanick> I can still apply code actions like "add signature to function" or disable the warning with a pragma, but hlint suggestions, specifically, fail as such
2023-01-03 23:24:01 +0100eggplantade(~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net)
2023-01-03 23:28:35 +0100eggplantade(~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 255 seconds)
2023-01-03 23:36:49 +0100Kaiepi(~Kaiepi@nwcsnbsc03w-47-55-159-86.dhcp-dynamic.fibreop.nb.bellaliant.net)
2023-01-03 23:43:43 +0100gnalzo(~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.7.1)
2023-01-03 23:49:06 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net) (Ping timeout: 268 seconds)
2023-01-03 23:51:05 +0100ddellacosta(~ddellacos@143.244.47.100) (Ping timeout: 255 seconds)
2023-01-03 23:55:10 +0100emmanuelux(~emmanuelu@user/emmanuelux)