2022/12/11

2022-12-11 00:00:11 +0100ChaiTRex(~ChaiTRex@user/chaitrex)
2022-12-11 00:02:04 +0100 <monochrom> That is because you should say "archiveks.org" :)
2022-12-11 00:02:15 +0100eggplantade(~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2022-12-11 00:04:04 +0100 <EvanR> huh
2022-12-11 00:04:14 +0100 <monochrom> because of the x
2022-12-11 00:04:26 +0100zant2(~zant@62.214.20.26)
2022-12-11 00:04:26 +0100money(~money@user/polo) (Quit: money)
2022-12-11 00:05:14 +0100perrierjouet1(~perrier-j@modemcable048.127-56-74.mc.videotron.ca)
2022-12-11 00:05:25 +0100perrierjouet1(~perrier-j@modemcable048.127-56-74.mc.videotron.ca) (Client Quit)
2022-12-11 00:06:18 +0100troydm(~troydm@host-176-37-124-197.b025.la.net.ua)
2022-12-11 00:08:37 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:44ff:72e2:5072:e2ac)
2022-12-11 00:08:55 +0100szkl(uid110435@id-110435.uxbridge.irccloud.com)
2022-12-11 00:12:01 +0100 <mauke> I just say arχiv
2022-12-11 00:13:58 +0100 <mauke> @remember LeoNerd I wanna open a bike shop called Hamiltonian Cycles. No customer is ever allowed to visit more than once
2022-12-11 00:13:58 +0100 <lambdabot> Okay.
2022-12-11 00:15:02 +0100ChaiTRex(~ChaiTRex@user/chaitrex) (Ping timeout: 255 seconds)
2022-12-11 00:15:44 +0100ChaiTRex(~ChaiTRex@user/chaitrex)
2022-12-11 00:17:10 +0100waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340)
2022-12-11 00:18:24 +0100Guest47(~Guest47@host86-135-0-95.range86-135.btcentralplus.com)
2022-12-11 00:20:04 +0100 <Guest47> Is GHC able to inline bind and return in the identity monad, ultimately generating the same code as a non-monadic version of the function?
2022-12-11 00:21:10 +0100 <Guest47> or rather are there any situations where it is able to do so, not so much if it is able to in general
2022-12-11 00:21:18 +0100 <geekosaur> if you know it's always in Identity, why didn't you write it non-monadic in the first place? and if you don't, how can it do so?
2022-12-11 00:21:41 +0100 <hpc> mauke: and right next to it is Epi Cycles, their bikes have infinitely many infinitely small tires :D
2022-12-11 00:21:59 +0100 <geekosaur> (hm. I suppose there is SPECIALIZE)
2022-12-11 00:22:53 +0100 <Guest47> yeah the compiler would be able to know statically (for the sake of argument)
2022-12-11 00:23:56 +0100 <geekosaur> there is no reason they couldn't be inlinable, but I don't know offhand if they are so marked and I'm not sure it would do so on its own
2022-12-11 00:24:54 +0100 <mauke> @quote
2022-12-11 00:24:54 +0100 <lambdabot> LarryWall says: We will encourage you to develop the three great virtues of a programmer: laziness, impatience, and hubris.
2022-12-11 00:25:27 +0100 <geekosaur> looks like it's all marked INLINE so it pretty much should
2022-12-11 00:26:14 +0100 <mauke> it'll still be sequenced, though, right?
2022-12-11 00:27:44 +0100 <geekosaur> I don't think Identity introduces anything to do sequencing on
2022-12-11 00:28:14 +0100 <geekosaur> sequencing requires there be a data dependency, but there's no data to have a dependency on for Identity
2022-12-11 00:30:26 +0100 <mauke> @src Identity
2022-12-11 00:30:26 +0100 <lambdabot> newtype Identity a = Identity { runIdentity :: a }
2022-12-11 00:30:34 +0100rburkholder(~blurb@96.45.2.121) (Ping timeout: 268 seconds)
2022-12-11 00:31:29 +0100 <geekosaur> right, so that means you'd get the same sequencing from runIdentity as from writing it non-monadic
2022-12-11 00:32:06 +0100freeside(~mengwong@103.252.202.159) (Ping timeout: 265 seconds)
2022-12-11 00:32:15 +0100 <mauke> yes
2022-12-11 00:32:21 +0100 <geekosaur> sequencing comes in when you have something like State that injects an extra parameter and pulls it back out of a tuple at the end, or the unboxed (and "fake state") equivalent for IO
2022-12-11 00:32:48 +0100 <mauke> (runIdentity is id operationally)
2022-12-11 00:33:44 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net)
2022-12-11 00:35:04 +0100 <intelligent_boat> I see here a stackoverflow answer that tells "always use the Applicative interface, unless it is too weak." https://stackoverflow.com/questions/60498712/when-should-one-use-applicatives-over-monads . a specific application of this question I have: sometimes I have stuff like: forM_ [2, 4] $ \n -> print (doStuff n). should I take that advice to mean I should be using for_ instead of forM_ there?
2022-12-11 00:35:10 +0100 <intelligent_boat> no negative repercurssions of doing that?
2022-12-11 00:36:47 +0100 <mauke> :t for_
2022-12-11 00:36:47 +0100 <lambdabot> (Foldable t, Applicative f) => t a -> (a -> f b) -> f ()
2022-12-11 00:37:59 +0100 <mauke> :t foldr (*>) (pure ())
2022-12-11 00:38:00 +0100 <lambdabot> (Foldable t, Applicative f) => t (f a) -> f ()
2022-12-11 00:38:55 +0100 <mauke> :t \f xs -> foldr (\x z -> f x *> z) (pure ()) xs
2022-12-11 00:38:56 +0100 <lambdabot> (Foldable t1, Applicative f) => (t2 -> f a) -> t1 t2 -> f ()
2022-12-11 00:39:23 +0100 <geekosaur> my impression is that forM / forM_ is historical
2022-12-11 00:39:38 +0100 <mauke> I don't see any problems with that
2022-12-11 00:39:53 +0100 <mauke> for monads, (*>) = (>>) and pure = return
2022-12-11 00:41:20 +0100perrierjouet(~perrier-j@modemcable048.127-56-74.mc.videotron.ca)
2022-12-11 00:41:28 +0100 <intelligent_boat> ah and https://stackoverflow.com/questions/39100320/is-form-idiomatic-haskell was a question about forM_ and one answer says "though you'd probably better using just for_"
2022-12-11 00:42:43 +0100 <intelligent_boat> although I wish they'd say why it'd be better but okay
2022-12-11 00:44:30 +0100freeside(~mengwong@103.252.202.159)
2022-12-11 00:48:48 +0100freeside(~mengwong@103.252.202.159) (Ping timeout: 256 seconds)
2022-12-11 00:48:51 +0100Guest47(~Guest47@host86-135-0-95.range86-135.btcentralplus.com) (Quit: Client closed)
2022-12-11 00:52:50 +0100Tuplanolla(~Tuplanoll@91-159-68-152.elisa-laajakaista.fi) (Quit: Leaving.)
2022-12-11 00:53:02 +0100freeside(~mengwong@103.252.202.159)
2022-12-11 00:54:31 +0100TonyStone(~TonyStone@cpe-74-76-57-186.nycap.res.rr.com) (Quit: Leaving)
2022-12-11 00:55:11 +0100Lycurgus(~juan@user/Lycurgus)
2022-12-11 00:56:44 +0100acidjnk(~acidjnk@p200300d6e7137a06608dcb978e6b7ed4.dip0.t-ipconnect.de) (Ping timeout: 256 seconds)
2022-12-11 00:57:54 +0100freeside(~mengwong@103.252.202.159) (Ping timeout: 260 seconds)
2022-12-11 01:01:45 +0100jakalx(~jakalx@base.jakalx.net) ()
2022-12-11 01:01:46 +0100 <dsal> `for_` is just `flip . traverse`. It fits code better sometimes.
2022-12-11 01:02:25 +0100 <dsal> :t flip traverse -- er, `flip traverse`
2022-12-11 01:02:26 +0100 <lambdabot> (Traversable t, Applicative f) => t a -> (a -> f b) -> f (t b)
2022-12-11 01:02:30 +0100jakalx(~jakalx@base.jakalx.net)
2022-12-11 01:02:48 +0100 <dsal> Do you want the stuff first, or the thing to do first?
2022-12-11 01:06:14 +0100causal(~user@50.35.85.7) (Quit: WeeChat 3.7.1)
2022-12-11 01:08:11 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 268 seconds)
2022-12-11 01:10:19 +0100freeside(~mengwong@103.252.202.159)
2022-12-11 01:10:59 +0100Erutuon_(~Erutuon@user/erutuon) (Ping timeout: 264 seconds)
2022-12-11 01:14:27 +0100Erutuon_(~Erutuon@user/erutuon)
2022-12-11 01:21:40 +0100zant2(~zant@62.214.20.26) (Ping timeout: 256 seconds)
2022-12-11 01:22:03 +0100hgolden(~hgolden@cpe-172-251-233-141.socal.res.rr.com) (Remote host closed the connection)
2022-12-11 01:23:37 +0100hgolden(~hgolden@cpe-172-251-233-141.socal.res.rr.com)
2022-12-11 01:29:35 +0100ballast(~ballast@cpe-104-32-238-223.socal.res.rr.com)
2022-12-11 01:31:44 +0100 <ballast> i just installed doom emacs, what is the preferred way to set up haskell tooling? I found https://docs.doomemacs.org/latest/modules/lang/haskell/, but it's asking me to install ghc-mod which requires a version of GHC much older than my installed version.
2022-12-11 01:32:36 +0100codaraxis__(~codaraxis@user/codaraxis)
2022-12-11 01:33:41 +0100 <geekosaur> the ghc-mod stuff there is out of date. the modern replacement is haskell-language-server, which ghcup will install for you
2022-12-11 01:34:38 +0100 <ballast> OK cool, so I just configure it with LSP and install HLS then?
2022-12-11 01:34:45 +0100 <geekosaur> yes
2022-12-11 01:34:53 +0100 <ballast> Thanks geekosaur
2022-12-11 01:34:59 +0100Raito_Bezarius(~Raito@wireguard/tunneler/raito-bezarius) (Ping timeout: 260 seconds)
2022-12-11 01:36:10 +0100codaraxis___(~codaraxis@user/codaraxis) (Ping timeout: 260 seconds)
2022-12-11 01:36:48 +0100 <ballast> do i even need hoogle on my path either? wondering if i can uninstall it
2022-12-11 01:37:25 +0100codaraxis(~codaraxis@user/codaraxis)
2022-12-11 01:40:22 +0100codaraxis__(~codaraxis@user/codaraxis) (Ping timeout: 256 seconds)
2022-12-11 01:42:43 +0100Vajb(~Vajb@2001:999:504:3ad6:52a4:a3b5:32d8:e74d)
2022-12-11 01:45:51 +0100chomwitt(~chomwitt@2a02:587:7a05:dc00:1ac0:4dff:fedb:a3f1) (Ping timeout: 256 seconds)
2022-12-11 01:46:08 +0100wroathe(~wroathe@207-153-38-140.fttp.usinternet.com)
2022-12-11 01:46:08 +0100wroathe(~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
2022-12-11 01:46:08 +0100wroathe(~wroathe@user/wroathe)
2022-12-11 01:46:10 +0100sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
2022-12-11 01:47:36 +0100 <geekosaur> I don't know whether it's required for doom emacs or not. for standard haskell mode it's an optional component that lets you look up types of functions not in the current module
2022-12-11 01:48:57 +0100sammelweis(~quassel@c-68-48-18-140.hsd1.mi.comcast.net)
2022-12-11 01:49:06 +0100Raito_Bezarius(~Raito@wireguard/tunneler/raito-bezarius)
2022-12-11 01:49:26 +0100Vajb(~Vajb@2001:999:504:3ad6:52a4:a3b5:32d8:e74d) (Ping timeout: 256 seconds)
2022-12-11 01:49:31 +0100 <geekosaur> but requires you to maintain a local hoogle database
2022-12-11 01:50:41 +0100Lycurgus(~juan@user/Lycurgus) (Quit: Exeunt https://tinyurl.com/4m8d4kd5)
2022-12-11 01:51:32 +0100Katarushisu(~Katarushi@cpc147790-finc20-2-0-cust502.4-2.cable.virginm.net) (Ping timeout: 248 seconds)
2022-12-11 01:51:47 +0100Katarushisu(~Katarushi@cpc147790-finc20-2-0-cust502.4-2.cable.virginm.net)
2022-12-11 02:02:35 +0100califax(~califax@user/califx) (Remote host closed the connection)
2022-12-11 02:03:00 +0100Katarushisu(~Katarushi@cpc147790-finc20-2-0-cust502.4-2.cable.virginm.net) (Ping timeout: 260 seconds)
2022-12-11 02:04:35 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net)
2022-12-11 02:07:12 +0100tremon(~tremon@83-84-18-241.cable.dynamic.v4.ziggo.nl) (Quit: getting boxed in)
2022-12-11 02:10:26 +0100albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2022-12-11 02:12:30 +0100Katarushisu(~Katarushi@cpc147790-finc20-2-0-cust502.4-2.cable.virginm.net)
2022-12-11 02:13:29 +0100freeside(~mengwong@103.252.202.159) (Ping timeout: 246 seconds)
2022-12-11 02:13:56 +0100califax(~califax@user/califx)
2022-12-11 02:14:04 +0100szkl(uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
2022-12-11 02:16:33 +0100albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2022-12-11 02:19:02 +0100freeside(~mengwong@103.252.202.159)
2022-12-11 02:23:26 +0100freeside(~mengwong@103.252.202.159) (Ping timeout: 256 seconds)
2022-12-11 02:24:34 +0100troydm(~troydm@host-176-37-124-197.b025.la.net.ua) (Ping timeout: 256 seconds)
2022-12-11 02:25:16 +0100wootehfoot(~wootehfoo@user/wootehfoot) (Quit: Leaving)
2022-12-11 02:29:58 +0100mestre(~mestre@191.177.185.178)
2022-12-11 02:31:28 +0100freeside(~mengwong@103.252.202.159)
2022-12-11 02:32:40 +0100gurkenglas(~gurkengla@p548ac72e.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
2022-12-11 02:38:15 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 265 seconds)
2022-12-11 02:42:08 +0100Kaiepi(~Kaiepi@108.175.84.104) (Ping timeout: 256 seconds)
2022-12-11 02:51:44 +0100mvk(~mvk@2607:fea8:5ce3:8500::efb)
2022-12-11 02:53:30 +0100mvk(~mvk@2607:fea8:5ce3:8500::efb) (Client Quit)
2022-12-11 02:56:39 +0100waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 260 seconds)
2022-12-11 02:56:49 +0100johnw(~johnw@2600:1700:cf00:db0:25e7:ff95:4ec3:a64f)
2022-12-11 02:59:29 +0100waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340)
2022-12-11 03:11:55 +0100money(~money@user/polo)
2022-12-11 03:17:24 +0100 <dsal> para doesn't seem to like infinite lists.
2022-12-11 03:23:14 +0100 <EvanR> :t para
2022-12-11 03:25:57 +0100 <dsal> para :: Recursive t => (Base t (t, a) -> a) -> t -> a
2022-12-11 03:26:47 +0100 <dsal> It's a fold that remembers the intermediate child results. But it starts at the wrong end, and also there has to be an end.
2022-12-11 03:26:55 +0100 <[Leary]> Urg. I wanted to say this last time when you were fighting hylo, but honestly, the recursion-schemes library makes me feel vaguely ill. `cata` and `para` should be operations on the least fixed point (which should only have finite members), and `ana` on the greatest, making `hylo` something of an abomination...
2022-12-11 03:27:17 +0100 <dsal> I just want to use like, one of these once. heh
2022-12-11 03:30:18 +0100Topsi(~Topsi@dyndsl-091-096-147-161.ewe-ip-backbone.de) (Read error: Connection reset by peer)
2022-12-11 03:30:31 +0100razetime(~quassel@49.207.203.213)
2022-12-11 03:34:24 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net)
2022-12-11 03:39:22 +0100machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 256 seconds)
2022-12-11 03:39:41 +0100 <EvanR> recursion is cool, scheme is cool
2022-12-11 03:39:51 +0100 <EvanR> just not necessarily recursion schemes
2022-12-11 03:40:00 +0100 <dolio> Least and greatest fixed points coincide for domains.
2022-12-11 03:40:32 +0100razetime(~quassel@49.207.203.213) (Remote host closed the connection)
2022-12-11 03:41:38 +0100freeside(~mengwong@103.252.202.159) (Ping timeout: 256 seconds)
2022-12-11 03:42:54 +0100jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Remote host closed the connection)
2022-12-11 03:49:03 +0100jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
2022-12-11 03:49:23 +0100money(~money@user/polo) (Ping timeout: 256 seconds)
2022-12-11 03:50:53 +0100 <c_wraith> dsal: wrong end? para starts at the value you tell it to start at. and it works just fine with infinite lists...
2022-12-11 03:52:31 +0100 <dsal> c_wraith: I'm afk, but was tracing a simple case and trying it with an infinite list and it seemed to always run from the end of my list.
2022-12-11 03:52:50 +0100 <c_wraith> I mean, that can happen if you're working too strictly
2022-12-11 03:53:00 +0100 <c_wraith> para benefits immensely from laziness
2022-12-11 03:53:20 +0100freeside(~mengwong@103.252.202.159)
2022-12-11 03:54:45 +0100 <dsal> Hmm... I was just trying to add some numbers and it seemed to go from tail in. It'd be really nice to be wrong.
2022-12-11 03:55:14 +0100xff0x_(~xff0x@ai071162.d.east.v6connect.net) (Ping timeout: 256 seconds)
2022-12-11 03:55:43 +0100 <c_wraith> adding numbers tends to be strict
2022-12-11 03:56:04 +0100 <c_wraith> but like... \t -> para (\case Nil -> [] ; Cons x (y, z) | x == t -> y | othe
2022-12-11 03:56:04 +0100 <c_wraith> rwise -> x : z)
2022-12-11 03:56:12 +0100 <c_wraith> ... wow, thanks copying from terminal
2022-12-11 03:56:17 +0100 <dsal> Yeah, I was trying to add a stopping condition
2022-12-11 03:56:33 +0100 <c_wraith> anyway. that's a perfectly cromulent definition of delete
2022-12-11 03:56:42 +0100 <c_wraith> a function that works very nicely with para
2022-12-11 03:57:07 +0100 <dsal> Hmm. Alright. Thanks
2022-12-11 03:57:45 +0100 <dsal> I'm currently in the back of a truck because I told a neighbor they could use my truck if they ever needed to move something and later found out that I was somehow included in that.
2022-12-11 03:57:50 +0100 <c_wraith> importantly, para lets it skip traversing the remainder of the list after it finds the element to remove. It just shares the tail.
2022-12-11 03:58:06 +0100 <c_wraith> are you at least getting pizza out of the deal?
2022-12-11 03:58:49 +0100 <EvanR> cromulent is a more and more cromulent word \o/
2022-12-11 03:59:10 +0100 <dsal> Heh. Probably the only thing I'll get is hurt.
2022-12-11 03:59:36 +0100 <EvanR> always buckle up when doing haskell
2022-12-11 03:59:47 +0100 <dsal> My actual problem is a list transform. Maybe I should've started there.
2022-12-11 04:00:03 +0100 <dsal> I have some rope. Could tie the knot.
2022-12-11 04:02:05 +0100 <EvanR> is this the AoC problem
2022-12-11 04:02:34 +0100 <EvanR> are you going to tell me scanl is not high performance enough
2022-12-11 04:02:42 +0100euandreh(~Thunderbi@179.214.113.107) (Ping timeout: 268 seconds)
2022-12-11 04:04:34 +0100money(~money@user/polo)
2022-12-11 04:04:51 +0100euandreh(~Thunderbi@179.214.113.107)
2022-12-11 04:05:10 +0100jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 268 seconds)
2022-12-11 04:06:05 +0100lisbeths_(uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2022-12-11 04:08:39 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 256 seconds)
2022-12-11 04:10:26 +0100 <dsal> I'm not using scanl, but mostly I just want to use a recursion scheme
2022-12-11 04:11:55 +0100instantaphex(~jb@c-73-171-252-84.hsd1.fl.comcast.net)
2022-12-11 04:14:08 +0100Guest75(Guest75@2a01:7e01::f03c:92ff:fe5d:7b18) (Ping timeout: 260 seconds)
2022-12-11 04:17:17 +0100 <dsal> I just remembered that problem is about ropes and knots. I was trying to make a different joke. But yeah, the closest thing I have to a seatbelt is this finite length of rope.
2022-12-11 04:17:44 +0100 <c_wraith> well, an infinite-length seatbelt probably wouldn't help much anyway
2022-12-11 04:19:25 +0100 <dsal> Hopefully there are no spherical cows in the road.
2022-12-11 04:24:24 +0100azimut(~azimut@gateway/tor-sasl/azimut)
2022-12-11 04:26:05 +0100use-value1(~Thunderbi@2a00:23c6:8a03:2f01:3894:8a8f:75a1:1941)
2022-12-11 04:26:52 +0100ballast(~ballast@cpe-104-32-238-223.socal.res.rr.com) (Quit: Client closed)
2022-12-11 04:29:17 +0100azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 255 seconds)
2022-12-11 04:29:23 +0100finn_elija(~finn_elij@user/finn-elija/x-0085643)
2022-12-11 04:29:23 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
2022-12-11 04:29:23 +0100finn_elijaFinnElija
2022-12-11 04:29:25 +0100use-value(~Thunderbi@2a00:23c6:8a03:2f01:75c2:a71f:beaa:29bf) (Ping timeout: 260 seconds)
2022-12-11 04:29:46 +0100use-value(~Thunderbi@2a00:23c6:8a03:2f01:a541:ddec:fa11:d52f)
2022-12-11 04:30:52 +0100use-value1(~Thunderbi@2a00:23c6:8a03:2f01:3894:8a8f:75a1:1941) (Ping timeout: 265 seconds)
2022-12-11 04:34:45 +0100fizbin(~fizbin@user/fizbin) (Remote host closed the connection)
2022-12-11 04:38:29 +0100xff0x_(~xff0x@ai071162.d.east.v6connect.net)
2022-12-11 04:38:41 +0100money(~money@user/polo) (Ping timeout: 256 seconds)
2022-12-11 04:39:19 +0100harveypwca(~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67)
2022-12-11 04:39:33 +0100hgolden(~hgolden@cpe-172-251-233-141.socal.res.rr.com) (Remote host closed the connection)
2022-12-11 04:40:51 +0100hgolden(~hgolden@cpe-172-251-233-141.socal.res.rr.com)
2022-12-11 04:41:08 +0100td_(~td@83.135.9.5) (Ping timeout: 256 seconds)
2022-12-11 04:42:20 +0100money(~money@user/polo)
2022-12-11 04:42:34 +0100td_(~td@83.135.9.54)
2022-12-11 04:44:25 +0100terrorjack(~terrorjac@2a01:4f8:1c1e:509a::1) (Quit: The Lounge - https://thelounge.chat)
2022-12-11 04:45:47 +0100terrorjack(~terrorjac@2a01:4f8:1c1e:509a::1)
2022-12-11 04:47:25 +0100merijn(~merijn@86.86.29.250)
2022-12-11 04:52:03 +0100merijn(~merijn@86.86.29.250) (Ping timeout: 260 seconds)
2022-12-11 04:55:36 +0100money(~money@user/polo) (Quit: money)
2022-12-11 04:57:00 +0100freeside(~mengwong@103.252.202.159) (Ping timeout: 256 seconds)
2022-12-11 05:04:01 +0100ChaiTRex(~ChaiTRex@user/chaitrex) (Remote host closed the connection)
2022-12-11 05:06:03 +0100hgolden(~hgolden@cpe-172-251-233-141.socal.res.rr.com) (Remote host closed the connection)
2022-12-11 05:06:30 +0100ChaiTRex(~ChaiTRex@user/chaitrex)
2022-12-11 05:08:33 +0100hgolden(~hgolden@cpe-172-251-233-141.socal.res.rr.com)
2022-12-11 05:15:29 +0100Erutuon_(~Erutuon@user/erutuon) (Ping timeout: 246 seconds)
2022-12-11 05:20:47 +0100dsrt^(~dsrt@76.145.185.103)
2022-12-11 05:20:53 +0100Guest5800money
2022-12-11 05:25:23 +0100bontaq(~user@ool-45779fe5.dyn.optonline.net) (Ping timeout: 264 seconds)
2022-12-11 05:28:18 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer)
2022-12-11 05:30:32 +0100freeside(~mengwong@103.252.202.159)
2022-12-11 05:34:23 +0100razetime(~quassel@49.207.203.213)
2022-12-11 05:42:54 +0100lisbeths(uid135845@id-135845.lymington.irccloud.com)
2022-12-11 05:45:22 +0100 <dsal> c_wraith: I changed the outcome by measuring it. heh (tracing does weird things)
2022-12-11 05:45:28 +0100money_(~money@user/polo)
2022-12-11 05:46:41 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 255 seconds)
2022-12-11 05:48:03 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net)
2022-12-11 05:49:42 +0100 <c_wraith> indeed.
2022-12-11 05:49:54 +0100 <c_wraith> I've done that before, too
2022-12-11 05:50:24 +0100 <c_wraith> I remember one time I was trying to debug a slow space leak and my debugging code eliminated it.
2022-12-11 05:50:53 +0100 <c_wraith> I'm a lot more careful about that since then
2022-12-11 05:52:54 +0100johnw(~johnw@2600:1700:cf00:db0:25e7:ff95:4ec3:a64f) (Quit: ZNC - http://znc.in)
2022-12-11 05:53:06 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 256 seconds)
2022-12-11 05:53:40 +0100 <EvanR> so haskell is good practice for when we have to upgrade to programming quantum computers
2022-12-11 05:54:35 +0100 <EvanR> so your classical binary no longer runs on OSX olympus mons
2022-12-11 05:54:47 +0100 <EvanR> sorry*
2022-12-11 05:54:56 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-12-11 05:55:41 +0100stiell(~stiell@gateway/tor-sasl/stiell) (Ping timeout: 255 seconds)
2022-12-11 05:56:31 +0100stiell(~stiell@gateway/tor-sasl/stiell)
2022-12-11 05:57:04 +0100instantaphex(~jb@c-73-171-252-84.hsd1.fl.comcast.net) (Ping timeout: 256 seconds)
2022-12-11 05:59:09 +0100foul_owl(~kerry@193.29.61.77) (Ping timeout: 256 seconds)
2022-12-11 05:59:52 +0100money_(~money@user/polo) (Quit: money_)
2022-12-11 06:03:20 +0100money_(~money@user/polo)
2022-12-11 06:08:55 +0100instantaphex(~jb@c-73-171-252-84.hsd1.fl.comcast.net)
2022-12-11 06:09:13 +0100 <aeroplane> https://www.indeed.com/career-advice/finding-a-job/highest-paid-programmers-by-language
2022-12-11 06:09:46 +0100 <aeroplane> They've put Haskell at the very top
2022-12-11 06:11:05 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-12-11 06:11:35 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Client Quit)
2022-12-11 06:13:20 +0100instantaphex(~jb@c-73-171-252-84.hsd1.fl.comcast.net) (Ping timeout: 265 seconds)
2022-12-11 06:13:44 +0100 <aeroplane> But the list doesn't has java or javascript
2022-12-11 06:13:55 +0100moneyGuest8643
2022-12-11 06:13:55 +0100money_money
2022-12-11 06:15:45 +0100foul_owl(~kerry@71.212.143.88)
2022-12-11 06:20:18 +0100chexum(~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
2022-12-11 06:20:18 +0100stiell(~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
2022-12-11 06:20:19 +0100ec_(~ec@gateway/tor-sasl/ec) (Read error: Connection reset by peer)
2022-12-11 06:20:38 +0100stiell(~stiell@gateway/tor-sasl/stiell)
2022-12-11 06:20:45 +0100chexum(~quassel@gateway/tor-sasl/chexum)
2022-12-11 06:20:57 +0100ec_(~ec@gateway/tor-sasl/ec)
2022-12-11 06:21:53 +0100ddellacosta(~ddellacos@143.244.47.100) (Ping timeout: 260 seconds)
2022-12-11 06:23:08 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 255 seconds)
2022-12-11 06:24:00 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643)
2022-12-11 06:26:19 +0100chexum(~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
2022-12-11 06:26:35 +0100chexum(~quassel@gateway/tor-sasl/chexum)
2022-12-11 06:27:07 +0100waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 260 seconds)
2022-12-11 06:27:54 +0100waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340)
2022-12-11 06:38:41 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2022-12-11 06:38:41 +0100ec_(~ec@gateway/tor-sasl/ec) (Remote host closed the connection)
2022-12-11 06:38:41 +0100chexum(~quassel@gateway/tor-sasl/chexum) (Write error: Connection reset by peer)
2022-12-11 06:38:41 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643) (Write error: Connection reset by peer)
2022-12-11 06:38:41 +0100ChaiTRex(~ChaiTRex@user/chaitrex) (Write error: Connection reset by peer)
2022-12-11 06:38:41 +0100califax(~califax@user/califx) (Write error: Connection reset by peer)
2022-12-11 06:38:47 +0100fizbin(~fizbin@user/fizbin)
2022-12-11 06:38:56 +0100chexum(~quassel@gateway/tor-sasl/chexum)
2022-12-11 06:39:09 +0100ChaiTRex(~ChaiTRex@user/chaitrex)
2022-12-11 06:39:09 +0100ec_(~ec@gateway/tor-sasl/ec)
2022-12-11 06:39:20 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643)
2022-12-11 06:39:42 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-12-11 06:49:02 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net)
2022-12-11 06:54:07 +0100pyrex(~pyrex@user/pyrex) (Ping timeout: 252 seconds)
2022-12-11 07:03:47 +0100waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 264 seconds)
2022-12-11 07:06:12 +0100mestre(~mestre@191.177.185.178) (Ping timeout: 256 seconds)
2022-12-11 07:08:56 +0100 <lisbeths> Is it true that to define something in haskell it performs an operation similar to a let statement and all of the following code is executed from within the let statement?
2022-12-11 07:11:29 +0100 <int-e> kind of? You can think of a Haskell program as a single let expression, let Prelude.fst (x,y) = x; ...; main = putStrLn "Hello, world!" in main. Not sure how useful that view is.
2022-12-11 07:16:05 +0100 <int-e> At a low level, the implementation in ghc is a bit different... each global binding gets a corresponding global symbol (keyword inside ghc is "constant applicative form" or CAF) to enable separate compilation and linking.
2022-12-11 07:17:08 +0100 <int-e> A whole program compiler (is jhc still alive?) could do this differently.
2022-12-11 07:17:37 +0100wroathe(~wroathe@user/wroathe) (Quit: leaving)
2022-12-11 07:17:44 +0100 <lisbeths> I am building a lambda calculus interpreter and I am having trouble figuring out how to define define in terms of lambdas and my friend suggested using let
2022-12-11 07:20:00 +0100 <int-e> Oh for programming in lambda calculus this is certainly viable. And non-recursive lets can be seen as syntactic sugar for application, `let x = y in foo` can be turned into `(\y -> foo) x`. Recursion is trickier, you need some analysis and explcit fixed point constructions..
2022-12-11 07:21:41 +0100EvanR(~EvanR@user/evanr) (Ping timeout: 252 seconds)
2022-12-11 07:22:16 +0100EvanR(~EvanR@user/evanr)
2022-12-11 07:23:44 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 268 seconds)
2022-12-11 07:23:52 +0100 <lisbeths> I am using an unnamed lambda calculus so my job is kind of tricky. thanks for your help
2022-12-11 07:27:39 +0100Kaiepi(~Kaiepi@108.175.84.104)
2022-12-11 07:30:25 +0100 <int-e> lisbeths: yeah I would recommend against programming that (using de Bruijn indices, I guess?) directly.
2022-12-11 07:36:09 +0100ec_(~ec@gateway/tor-sasl/ec) (Remote host closed the connection)
2022-12-11 07:36:40 +0100ec_(~ec@gateway/tor-sasl/ec)
2022-12-11 07:37:55 +0100 <mauke> do you need analysis? I mean, you could just blindly turn 'let x = y in foo' into '(\x -> foo) (fix (\x -> y))'
2022-12-11 07:39:27 +0100 <int-e> I suppose. (Now do let x = f y; y = g x)
2022-12-11 07:40:10 +0100 <int-e> (not really hard, but a bit of a puzzle)
2022-12-11 07:43:22 +0100 <mauke> nah, if the programmer wants mutual recursion, they can (un)tuple it themselves
2022-12-11 07:47:39 +0100arahael(~arahael@193-119-109-208.tpgi.com.au)
2022-12-11 07:50:35 +0100 <int-e> let pxy = (\x y p -> p (x x y) (y x y)) (\x y -> f (y x y)) (\x y -> g (x x y)); x = pxy true; y = pxy false -- you can use some funny tricks instead of fixed point combinators
2022-12-11 07:51:02 +0100 <int-e> (related to how fixed point combinators are constructed, of course)
2022-12-11 07:53:38 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-12-11 07:53:46 +0100harveypwca(~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Quit: Leaving)
2022-12-11 08:04:55 +0100money(~money@user/polo) (Remote host closed the connection)
2022-12-11 08:05:31 +0100money(~money@user/polo)
2022-12-11 08:06:19 +0100 <mauke> let rec f = f f; pair a b c = c a b; fst p = p (\x y -> x); snd p = p (\x y -> y); pxy = rec (\pxy -> pair (f (snd (rec pxy))) (g (fst (rec pxy)))); x = fst pxy; y = snd pxy
2022-12-11 08:16:54 +0100goober(~goober@90-231-13-185-no3430.tbcn.telia.com) (Remote host closed the connection)
2022-12-11 08:17:58 +0100paulpaul1076(~textual@95-29-5-111.broadband.corbina.ru) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2022-12-11 08:18:26 +0100gmg(~user@user/gehmehgeh)
2022-12-11 08:19:36 +0100paulpaul1076(~textual@95-29-5-111.broadband.corbina.ru)
2022-12-11 08:19:38 +0100paulpaul1076(~textual@95-29-5-111.broadband.corbina.ru) (Client Quit)
2022-12-11 08:20:06 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net)
2022-12-11 08:20:18 +0100paulpaul1076(~textual@95-29-5-111.broadband.corbina.ru)
2022-12-11 08:22:32 +0100jakalx(~jakalx@base.jakalx.net) (Error from remote client)
2022-12-11 08:23:06 +0100 <lisbeths> Yes I am esentially using de bruijns notation
2022-12-11 08:25:08 +0100jakalx(~jakalx@base.jakalx.net)
2022-12-11 08:28:13 +0100 <lisbeths> Every symbol in my language maps to a combinator
2022-12-11 08:31:00 +0100troydm(~troydm@host-176-37-124-197.b025.la.net.ua)
2022-12-11 08:32:15 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-12-11 08:32:22 +0100freeside_(~mengwong@103.252.202.159)
2022-12-11 08:34:59 +0100freeside(~mengwong@103.252.202.159) (Ping timeout: 264 seconds)
2022-12-11 08:36:32 +0100Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection)
2022-12-11 08:42:49 +0100king_gs(~Thunderbi@187.201.150.200)
2022-12-11 08:43:25 +0100azimut(~azimut@gateway/tor-sasl/azimut)
2022-12-11 08:45:28 +0100gmg(~user@user/gehmehgeh) (Remote host closed the connection)
2022-12-11 08:46:22 +0100gmg(~user@user/gehmehgeh)
2022-12-11 08:50:17 +0100ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 255 seconds)
2022-12-11 08:50:44 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-12-11 08:51:17 +0100ec_(~ec@gateway/tor-sasl/ec)
2022-12-11 08:53:46 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 268 seconds)
2022-12-11 09:01:43 +0100king_gs(~Thunderbi@187.201.150.200) (Read error: Connection reset by peer)
2022-12-11 09:02:02 +0100king_gs(~Thunderbi@2806:103e:29:cdd2:b2dd:cddc:5884:d05c)
2022-12-11 09:06:13 +0100machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net)
2022-12-11 09:11:14 +0100 <lisbeths> I dont use the curch encoding for numerals. In my encoding the number 1101 is encoded as pair true pair true pair false pair true false
2022-12-11 09:11:52 +0100 <lisbeths> I believe that it is much more computationally efficient than the curch encoding
2022-12-11 09:14:09 +0100Tuplanolla(~Tuplanoll@91-159-68-152.elisa-laajakaista.fi)
2022-12-11 09:18:22 +0100 <fizbin> When ghci shows me this, is there any way to ask it "what type(s) were you assuming"? ghci> read "0 " :: Int
2022-12-11 09:18:22 +0100 <fizbin> 0
2022-12-11 09:18:22 +0100 <fizbin> ghci> read "0 " :: Integer
2022-12-11 09:18:22 +0100 <fizbin> ghci> read "0 "
2022-12-11 09:18:24 +0100 <fizbin> *** Exception: Prelude.read: no parse
2022-12-11 09:18:45 +0100Jade[m](~jade1024m@2001:470:69fc:105::2:d68a) ()
2022-12-11 09:22:41 +0100codaraxis(~codaraxis@user/codaraxis) (Quit: Leaving)
2022-12-11 09:22:56 +0100 <[Leary]> % :set -Wtype-defaults
2022-12-11 09:22:56 +0100 <yahb2> <no output>
2022-12-11 09:23:03 +0100 <[Leary]> % read "()"
2022-12-11 09:23:03 +0100 <yahb2> <interactive>:82:1: warning: [-Wtype-defaults] ; • Defaulting the following constraints to type ‘()’ ; (Show a0) ; arising from a use of ‘Yahb2Defs.limitedPrint’ ; a...
2022-12-11 09:23:21 +0100 <[Leary]> % 3 + 5
2022-12-11 09:23:21 +0100 <yahb2> Oops, something went wrong
2022-12-11 09:23:44 +0100 <[Leary]> Hmm. Well, you get the idea. fizbin ^
2022-12-11 09:24:12 +0100 <[Leary]> It just comes down to some simple defaulting rules though. Mostly it's () or Integer.
2022-12-11 09:26:34 +0100 <fizbin> "-Wtype-defaults" is what I was missing, thanks.
2022-12-11 09:28:27 +0100ChaiTRex(~ChaiTRex@user/chaitrex) (Remote host closed the connection)
2022-12-11 09:29:08 +0100ChaiTRex(~ChaiTRex@user/chaitrex)
2022-12-11 09:29:09 +0100jmdaemon(~jmdaemon@user/jmdaemon)
2022-12-11 09:30:42 +0100euandreh(~Thunderbi@179.214.113.107) (Ping timeout: 256 seconds)
2022-12-11 09:38:26 +0100 <whatsupdoc> is http://learnyouahaskell.com/chapters a good guide for learning haskell?
2022-12-11 09:38:40 +0100 <whatsupdoc> willing to give it another try after being outcast by the community
2022-12-11 09:39:48 +0100machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 248 seconds)
2022-12-11 09:44:52 +0100bilegeek(~bilegeek@2600:1008:b066:78c1:d582:5f7c:7659:313c)
2022-12-11 09:45:35 +0100biberu(~biberu@user/biberu) (Read error: Connection reset by peer)
2022-12-11 09:46:11 +0100fizbin(~fizbin@user/fizbin) (Ping timeout: 268 seconds)
2022-12-11 09:47:00 +0100jakalx(~jakalx@base.jakalx.net) (Error from remote client)
2022-12-11 09:48:12 +0100acidjnk(~acidjnk@p200300d6e7137a06896a248372aab002.dip0.t-ipconnect.de)
2022-12-11 09:49:46 +0100moneybigdaddykane
2022-12-11 09:49:55 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net)
2022-12-11 09:50:00 +0100bigdaddykanemoney
2022-12-11 09:50:35 +0100jakalx(~jakalx@base.jakalx.net)
2022-12-11 09:52:21 +0100biberu(~biberu@user/biberu)
2022-12-11 09:56:15 +0100 <[exa]> whatsupdoc: if you already know another programming language and are able to invent reasonable exercises yourself, LYAH is a nice introduction
2022-12-11 09:56:34 +0100 <money> what is it
2022-12-11 09:56:49 +0100 <[exa]> what is what
2022-12-11 09:57:19 +0100 <money> LYAH
2022-12-11 09:57:24 +0100 <[exa]> ah, learnyouahaskell
2022-12-11 09:58:12 +0100johnw(~johnw@2600:1700:cf00:db0:f544:7bad:14ec:5034)
2022-12-11 10:01:10 +0100 <whatsupdoc> is haskell like lisp?
2022-12-11 10:03:02 +0100 <[exa]> yeah much of the intuition from lisp carries to haskell, with some notable systematic exceptions
2022-12-11 10:03:41 +0100 <whatsupdoc> ok cool, i liked lisp
2022-12-11 10:03:46 +0100 <[exa]> if you're happy with lists, recursive functions, map/filter/fold combos and similar stuff, you won't have much initial problems
2022-12-11 10:05:30 +0100 <[exa]> the most painful difference for newcomers is that all IO has to be properly typed (and well, everything needs to be properly typed), which takes a bit of time to absorb because that's usually where you see monads for the first time
2022-12-11 10:10:05 +0100 <mauke> I don't think haskell is very lisp-like
2022-12-11 10:10:23 +0100 <mauke> lisp is like perl; haskell is more like ocaml
2022-12-11 10:11:49 +0100Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2022-12-11 10:11:53 +0100Sgeo_(~Sgeo@user/sgeo)
2022-12-11 10:14:04 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-12-11 10:14:47 +0100cheater(~Username@user/cheater) (Ping timeout: 246 seconds)
2022-12-11 10:18:00 +0100instantaphex(~jb@c-73-171-252-84.hsd1.fl.comcast.net)
2022-12-11 10:22:26 +0100instantaphex(~jb@c-73-171-252-84.hsd1.fl.comcast.net) (Ping timeout: 246 seconds)
2022-12-11 10:24:32 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 256 seconds)
2022-12-11 10:33:12 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net)
2022-12-11 10:44:49 +0100money(~money@user/polo) (Remote host closed the connection)
2022-12-11 10:48:51 +0100money(~money@user/polo)
2022-12-11 10:52:57 +0100rembo10(~rembo10@main.remulis.com) (Quit: ZNC 1.8.2 - https://znc.in)
2022-12-11 10:53:37 +0100freeside(~mengwong@103.252.202.159)
2022-12-11 10:55:07 +0100rembo10(~rembo10@main.remulis.com)
2022-12-11 10:56:29 +0100freeside_(~mengwong@103.252.202.159) (Ping timeout: 268 seconds)
2022-12-11 10:56:52 +0100tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz)
2022-12-11 10:57:51 +0100wootehfoot(~wootehfoo@user/wootehfoot)
2022-12-11 11:06:14 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:44ff:72e2:5072:e2ac) (Remote host closed the connection)
2022-12-11 11:07:04 +0100safinaskar(~quassel@178.160.244.66)
2022-12-11 11:07:20 +0100 <safinaskar> is there some haskell playground, where all hackage libraries are available?
2022-12-11 11:07:20 +0100king_gs(~Thunderbi@2806:103e:29:cdd2:b2dd:cddc:5884:d05c) (Quit: king_gs)
2022-12-11 11:08:00 +0100 <Rembane> safinaskar: https://tryhaskell.org/ <- like this but all of hackage?
2022-12-11 11:08:10 +0100 <safinaskar> Rembane: yes :)
2022-12-11 11:09:01 +0100bilegeek(~bilegeek@2600:1008:b066:78c1:d582:5f7c:7659:313c) (Quit: Leaving)
2022-12-11 11:12:34 +0100 <Rembane> safinaskar: That would be useful. I don't know of one. Hopefully someone else here does. :)
2022-12-11 11:16:26 +0100takuan(~takuan@178-116-218-225.access.telenet.be)
2022-12-11 11:17:34 +0100Lord_of_Life_(~Lord@user/lord-of-life/x-2819915)
2022-12-11 11:17:43 +0100chomwitt(~chomwitt@2a02:587:7a05:dc00:1ac0:4dff:fedb:a3f1)
2022-12-11 11:18:04 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 268 seconds)
2022-12-11 11:18:49 +0100Lord_of_Life_Lord_of_Life
2022-12-11 11:28:44 +0100safinaskar(~quassel@178.160.244.66) ()
2022-12-11 11:32:21 +0100Sgeo_(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2022-12-11 11:32:30 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-12-11 11:36:28 +0100kenaryn(~aurele@cre71-h03-89-88-44-27.dsl.sta.abo.bbox.fr)
2022-12-11 11:37:03 +0100elevenkb(~elevenkb@105.224.37.83)
2022-12-11 11:37:14 +0100kenran(~user@user/kenran)
2022-12-11 11:37:21 +0100kenran(~user@user/kenran) (Remote host closed the connection)
2022-12-11 11:40:44 +0100jargon(~jargon@174-22-192-24.phnx.qwest.net) (Ping timeout: 260 seconds)
2022-12-11 11:42:57 +0100money(~money@user/polo) (Quit: late)
2022-12-11 11:44:47 +0100money(~money@user/polo)
2022-12-11 11:45:56 +0100money(~money@user/polo) (Client Quit)
2022-12-11 11:49:33 +0100Guest8643money
2022-12-11 11:51:11 +0100 <DigitalKiwi> i tried to do it with stackage one time and it never completed lol
2022-12-11 11:55:23 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 264 seconds)
2022-12-11 11:58:28 +0100 <DigitalKiwi> 2709 stackage-pkgs-list.txt
2022-12-11 11:59:36 +0100money_(~money@user/polo)
2022-12-11 12:01:02 +0100V(~v@ircpuzzles/2022/april/winner/V) (Read error: Connection reset by peer)
2022-12-11 12:01:09 +0100Kaiepi(~Kaiepi@108.175.84.104) (Ping timeout: 260 seconds)
2022-12-11 12:01:31 +0100burakcan-(burakcank@has.arrived.and.is.ready-to.party) (Ping timeout: 248 seconds)
2022-12-11 12:01:32 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 255 seconds)
2022-12-11 12:01:36 +0100elevenkb(~elevenkb@105.224.37.83) (Quit: Ping timeout (120 seconds))
2022-12-11 12:01:59 +0100stiell(~stiell@gateway/tor-sasl/stiell) (Ping timeout: 255 seconds)
2022-12-11 12:02:14 +0100dequbed(~dequbed@banana-new.kilobyte22.de) (Read error: Connection reset by peer)
2022-12-11 12:02:19 +0100V(~v@ircpuzzles/2022/april/winner/V)
2022-12-11 12:02:25 +0100stiell(~stiell@gateway/tor-sasl/stiell)
2022-12-11 12:02:37 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643)
2022-12-11 12:03:22 +0100dequbed(~dequbed@banana-new.kilobyte22.de)
2022-12-11 12:04:49 +0100dextaa(~DV@user/dextaa) (Quit: Ping timeout (120 seconds))
2022-12-11 12:05:00 +0100burakcan-(burakcank@has.arrived.and.is.ready-to.party)
2022-12-11 12:05:10 +0100dextaa(~DV@user/dextaa)
2022-12-11 12:06:44 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:44ff:72e2:5072:e2ac)
2022-12-11 12:07:59 +0100zant2(~zant@62.214.20.26)
2022-12-11 12:08:27 +0100mc47(~mc47@xmonad/TheMC47)
2022-12-11 12:08:44 +0100chexum(~quassel@gateway/tor-sasl/chexum) (Ping timeout: 255 seconds)
2022-12-11 12:08:57 +0100shameles1shill(~shamlesss@user/shamelessshill)
2022-12-11 12:09:04 +0100chexum(~quassel@gateway/tor-sasl/chexum)
2022-12-11 12:09:20 +0100 <shameles1shill> Hello, folks .. anybody in here know if there is a channel/discord server/active mailing list et al for the Clean language?
2022-12-11 12:10:14 +0100lisbeths(uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2022-12-11 12:11:04 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:44ff:72e2:5072:e2ac) (Ping timeout: 256 seconds)
2022-12-11 12:13:08 +0100 <dminuoso> Hah, it occured to me that `many` is a kind of `ana`
2022-12-11 12:13:43 +0100 <dminuoso> After somebody pointed out that I dont need many and can just use explicit recursion instead, that seemed surprisingly similar to switching from `ana` to explicit recursion.
2022-12-11 12:17:23 +0100moneyGuest2535
2022-12-11 12:17:23 +0100money_money
2022-12-11 12:19:11 +0100 <[exa]> shameles1shill: might be useful to browse the mailing lists (or ask there) https://wiki.clean.cs.ru.nl/Mailing_lists
2022-12-11 12:19:34 +0100 <[exa]> ah wait, there's not much activity right
2022-12-11 12:20:08 +0100acidjnk(~acidjnk@p200300d6e7137a06896a248372aab002.dip0.t-ipconnect.de) (Ping timeout: 256 seconds)
2022-12-11 12:26:22 +0100foul_owl(~kerry@71.212.143.88) (Ping timeout: 256 seconds)
2022-12-11 12:27:11 +0100stiell(~stiell@gateway/tor-sasl/stiell) (Ping timeout: 255 seconds)
2022-12-11 12:27:11 +0100ChaiTRex(~ChaiTRex@user/chaitrex) (Ping timeout: 255 seconds)
2022-12-11 12:27:38 +0100chexum(~quassel@gateway/tor-sasl/chexum) (Ping timeout: 255 seconds)
2022-12-11 12:27:38 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 255 seconds)
2022-12-11 12:27:38 +0100gmg(~user@user/gehmehgeh) (Ping timeout: 255 seconds)
2022-12-11 12:28:59 +0100chexum(~quassel@gateway/tor-sasl/chexum)
2022-12-11 12:29:46 +0100gmg(~user@user/gehmehgeh)
2022-12-11 12:30:21 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643)
2022-12-11 12:30:56 +0100ChaiTRex(~ChaiTRex@user/chaitrex)
2022-12-11 12:35:52 +0100ss4(~wootehfoo@user/wootehfoot)
2022-12-11 12:36:40 +0100euandreh(~Thunderbi@179.214.113.107)
2022-12-11 12:37:30 +0100coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba)
2022-12-11 12:38:31 +0100 <maerwald> hspec-golden is annoying... the generators are not stable across platforms
2022-12-11 12:39:02 +0100wootehfoot(~wootehfoo@user/wootehfoot) (Ping timeout: 265 seconds)
2022-12-11 12:40:20 +0100euandreh(~Thunderbi@179.214.113.107) (Remote host closed the connection)
2022-12-11 12:40:40 +0100foul_owl(~kerry@193.29.61.77)
2022-12-11 12:40:42 +0100zant2(~zant@62.214.20.26) (Ping timeout: 268 seconds)
2022-12-11 12:41:09 +0100stiell(~stiell@gateway/tor-sasl/stiell)
2022-12-11 12:41:36 +0100 <carbolymer> can I compose lenses in this, to not use fmap: `(^?! element n) <$> use myFieldLens` ?
2022-12-11 12:42:02 +0100shameles1shillshamelessshill
2022-12-11 12:42:38 +0100euandreh1(~Thunderbi@179.214.113.107)
2022-12-11 12:42:39 +0100 <DigitalKiwi> are we not talking about https://en.wikipedia.org/wiki/Clean_language
2022-12-11 12:50:20 +0100euandreh1(~Thunderbi@179.214.113.107) (Remote host closed the connection)
2022-12-11 12:51:11 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net)
2022-12-11 12:53:34 +0100bgs(~bgs@212-85-160-171.dynamic.telemach.net)
2022-12-11 12:56:20 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 260 seconds)
2022-12-11 12:56:22 +0100money(~money@user/polo) (Remote host closed the connection)
2022-12-11 13:01:29 +0100money(~money@user/polo)
2022-12-11 13:07:49 +0100shamelessshill(~shamlesss@user/shamelessshill) (Quit: leaving)
2022-12-11 13:09:03 +0100elevenkb(~elevenkb@105.224.37.83)
2022-12-11 13:19:26 +0100szkl(uid110435@id-110435.uxbridge.irccloud.com)
2022-12-11 13:24:19 +0100jmdaemon(~jmdaemon@user/jmdaemon) (Ping timeout: 260 seconds)
2022-12-11 13:29:18 +0100EllenorReinhilde
2022-12-11 13:32:08 +0100cheater(~Username@user/cheater)
2022-12-11 13:37:23 +0100takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2022-12-11 13:40:38 +0100takuan(~takuan@178-116-218-225.access.telenet.be)
2022-12-11 13:44:51 +0100freeside(~mengwong@103.252.202.159) (Ping timeout: 260 seconds)
2022-12-11 13:46:04 +0100Kaiepi(~Kaiepi@108.175.84.104)
2022-12-11 13:46:16 +0100xff0x_(~xff0x@ai071162.d.east.v6connect.net) (Ping timeout: 256 seconds)
2022-12-11 13:46:29 +0100money(~money@user/polo) (Quit: late)
2022-12-11 13:48:39 +0100mikail(~mikail@2a02:c7c:6117:e00:a46b:e624:7683:e24e)
2022-12-11 13:50:38 +0100acidjnk(~acidjnk@p54ad5adb.dip0.t-ipconnect.de)
2022-12-11 13:52:45 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net)
2022-12-11 13:55:50 +0100jpds2(~jpds@gateway/tor-sasl/jpds) (Ping timeout: 255 seconds)
2022-12-11 13:56:17 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 255 seconds)
2022-12-11 13:57:09 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2022-12-11 13:57:11 +0100ChaiTRex(~ChaiTRex@user/chaitrex) (Ping timeout: 255 seconds)
2022-12-11 13:57:16 +0100jpds2(~jpds@gateway/tor-sasl/jpds)
2022-12-11 13:57:34 +0100ec_(~ec@gateway/tor-sasl/ec) (Remote host closed the connection)
2022-12-11 13:58:05 +0100ec_(~ec@gateway/tor-sasl/ec)
2022-12-11 13:58:20 +0100ChaiTRex(~ChaiTRex@user/chaitrex)
2022-12-11 13:58:31 +0100coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot)
2022-12-11 13:58:43 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643)
2022-12-11 13:59:00 +0100Guest2535money
2022-12-11 13:59:01 +0100jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
2022-12-11 13:59:09 +0100xff0x_(~xff0x@ai071162.d.east.v6connect.net)
2022-12-11 13:59:22 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-12-11 13:59:51 +0100freeside(~mengwong@103.252.202.159)
2022-12-11 14:04:15 +0100fizbin(~fizbin@user/fizbin)
2022-12-11 14:04:34 +0100freeside(~mengwong@103.252.202.159) (Ping timeout: 268 seconds)
2022-12-11 14:04:57 +0100gurkenglas(~gurkengla@p548ac72e.dip0.t-ipconnect.de)
2022-12-11 14:07:14 +0100money_(~money@user/polo)
2022-12-11 14:08:53 +0100aeroplane(~user@user/aeroplane) (Ping timeout: 268 seconds)
2022-12-11 14:22:01 +0100AlexNoo(~AlexNoo@178.34.161.14) (Quit: Leaving)
2022-12-11 14:22:33 +0100Alex_test(~al_test@178.34.161.14) (Quit: ;-)
2022-12-11 14:23:03 +0100AlexZenon(~alzenon@178.34.161.14) (Quit: ;-)
2022-12-11 14:25:56 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 256 seconds)
2022-12-11 14:31:39 +0100notzmv(~zmv@user/notzmv) (Ping timeout: 265 seconds)
2022-12-11 14:33:21 +0100shriekingnoise(~shrieking@186.137.167.202) (Quit: Quit)
2022-12-11 14:38:35 +0100gmg(~user@user/gehmehgeh) (Ping timeout: 255 seconds)
2022-12-11 14:39:54 +0100gmg(~user@user/gehmehgeh)
2022-12-11 14:41:53 +0100Erutuon_(~Erutuon@user/erutuon)
2022-12-11 14:45:20 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 255 seconds)
2022-12-11 14:45:20 +0100ChaiTRex(~ChaiTRex@user/chaitrex) (Ping timeout: 255 seconds)
2022-12-11 14:45:20 +0100jpds2(~jpds@gateway/tor-sasl/jpds) (Ping timeout: 255 seconds)
2022-12-11 14:47:23 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643)
2022-12-11 14:47:40 +0100ChaiTRex(~ChaiTRex@user/chaitrex)
2022-12-11 14:47:55 +0100jpds2(~jpds@gateway/tor-sasl/jpds)
2022-12-11 14:48:36 +0100califax(~califax@user/califx)
2022-12-11 14:49:00 +0100AlexNoo(~AlexNoo@178.34.161.14)
2022-12-11 14:50:14 +0100AlexZenon(~alzenon@178.34.161.14)
2022-12-11 14:51:57 +0100Alex_test(~al_test@178.34.161.14)
2022-12-11 14:52:36 +0100euandreh(~Thunderbi@179.214.113.107)
2022-12-11 14:57:33 +0100lisbeths(uid135845@id-135845.lymington.irccloud.com)
2022-12-11 14:59:48 +0100jonathanx(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se)
2022-12-11 15:02:22 +0100elevenkb(~elevenkb@105.224.37.83) (Quit: Client closed)
2022-12-11 15:10:32 +0100coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba)
2022-12-11 15:15:09 +0100ss4(~wootehfoo@user/wootehfoot) (Ping timeout: 265 seconds)
2022-12-11 15:17:08 +0100CiaoSen(~Jura@p200300c95747e0002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
2022-12-11 15:20:27 +0100 <Hecate> hiya, I'm facing linking errors in CI (unfortunately not reproducible locally) and I was wondering what would be the best way to diagnose such a thing: haskell-servant/servant/actions/runs/3669289436/jobs/6203013983#step:7:660
2022-12-11 15:22:19 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2022-12-11 15:22:41 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net)
2022-12-11 15:22:44 +0100szkl(uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
2022-12-11 15:24:29 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-12-11 15:24:30 +0100jonathanx_(~jonathan@c-5eea6685-74736162.cust.telenor.se)
2022-12-11 15:27:03 +0100jonathanx(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Ping timeout: 260 seconds)
2022-12-11 15:27:06 +0100 <geekosaur> github?
2022-12-11 15:29:11 +0100 <Hecate> ugh, yes
2022-12-11 15:29:21 +0100 <Hecate> https://github.com/haskell-servant/servant/actions/runs/3669289436/jobs/6203013983#step:7:660
2022-12-11 15:33:17 +0100CiaoSen(~Jura@p200300c95747e0002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 246 seconds)
2022-12-11 15:35:56 +0100ChaiTRex(~ChaiTRex@user/chaitrex) (Remote host closed the connection)
2022-12-11 15:37:51 +0100ChaiTRex(~ChaiTRex@user/chaitrex)
2022-12-11 15:44:55 +0100blomberg(~default_u@117.247.121.213)
2022-12-11 15:45:24 +0100 <blomberg> f x |condition = ..., after that can i add non-guard code
2022-12-11 15:46:15 +0100 <blomberg> some expression and again guards and again some expressions
2022-12-11 15:54:17 +0100 <geekosaur> yes, you start it with `f …` again
2022-12-11 15:55:08 +0100 <blomberg> geekosaur:what
2022-12-11 15:55:19 +0100 <geekosaur> https://github.com/xmonad/xmonad/blob/master/src/XMonad/Main.hs#L287-L422
2022-12-11 15:55:24 +0100 <blomberg> new function?
2022-12-11 15:55:27 +0100 <blomberg> i odn't know monads
2022-12-11 15:55:36 +0100 <Rembane> blomberg: You need to pattern match on something else than x.
2022-12-11 15:55:49 +0100 <geekosaur> new implementation of function. see the code I just linked for a fairly long example
2022-12-11 15:55:55 +0100 <geekosaur> with many branches
2022-12-11 15:56:16 +0100 <geekosaur> it's no different from: f [] = 0; f (x:xsa) = ...
2022-12-11 15:56:19 +0100 <blomberg> so without monads i can't?
2022-12-11 15:56:24 +0100 <geekosaur> huh?
2022-12-11 15:56:28 +0100 <darkling> It's nothing to do with monads.
2022-12-11 15:56:43 +0100 <darkling> The XMonad in the link there is just the name of the project with the example code in it.
2022-12-11 15:57:25 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 268 seconds)
2022-12-11 15:57:51 +0100 <darkling> You can match one pattern in a function head (the "f x" part), and then have multiple guards and expressions following it (the "| cond = expr" part),
2022-12-11 15:58:31 +0100 <darkling> and if you want to match different patterns in differnt branches of the function, you write the function head again ("f []", for example). That can also have guards if you need them.
2022-12-11 16:00:22 +0100 <blomberg> both of you say write the function again, so inside or begin afresh, ofc i can begin with new definitions
2022-12-11 16:01:35 +0100acidjnk(~acidjnk@p54ad5adb.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2022-12-11 16:03:29 +0100 <darkling> https://paste.tomsmeding.com/Pw32Styw
2022-12-11 16:03:54 +0100 <darkling> Note that there are two function heads there, matching different patterns, but the second pattern has multiple guards.
2022-12-11 16:04:33 +0100 <darkling> Two different ways of writing alternative branches in a function. You can mix and match.
2022-12-11 16:06:20 +0100 <blomberg> https://ircbrowse.tomsmeding.com/browse/lchaskell this site's frontend how was it only 12%js and mostly haskell
2022-12-11 16:06:40 +0100 <blomberg> is it serverside mostly haskell
2022-12-11 16:06:41 +0100paulpaul1076(~textual@95-29-5-111.broadband.corbina.ru) (Quit: Textual IRC Client: www.textualapp.com)
2022-12-11 16:08:20 +0100paulpaul1076(~textual@95-29-5-111.broadband.corbina.ru)
2022-12-11 16:09:26 +0100 <blomberg> darkling: after |otherwise all patterns have been matched, so after |otherwise can i put a newline like if y==2 then 3 else 4
2022-12-11 16:10:00 +0100 <blomberg> |otherwise will absorb all patterns so the exec will never be reached to if...
2022-12-11 16:10:31 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:44ff:72e2:5072:e2ac)
2022-12-11 16:10:43 +0100 <geekosaur> if there's a pattern not yet matched you could do that meaningfully
2022-12-11 16:11:01 +0100 <geekosaur> you could for example reverse the [] and (x:xs) cases, since (x:xs) can
2022-12-11 16:11:05 +0100 <geekosaur> t match []
2022-12-11 16:11:56 +0100 <darkling> Like this, for example: https://paste.tomsmeding.com/UJ8dmbLo
2022-12-11 16:15:02 +0100mikail(~mikail@2a02:c7c:6117:e00:a46b:e624:7683:e24e) (Remote host closed the connection)
2022-12-11 16:15:15 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:44ff:72e2:5072:e2ac) (Ping timeout: 260 seconds)
2022-12-11 16:15:24 +0100 <blomberg> no darkling i mean not | otherwise = (y:ys) not f [] = []- that's a new def
2022-12-11 16:15:40 +0100 <blomberg> instead of | otherwise = (y:ys)
2022-12-11 16:15:55 +0100 <blomberg> put a non guard like if true 3 else 4
2022-12-11 16:16:08 +0100 <blomberg> so if no pattern matches it returns 3
2022-12-11 16:16:22 +0100 <darkling> Once you've reached | otherwise, that's the end of that branch of the function, as far as I know.
2022-12-11 16:16:33 +0100 <darkling> If you want to handle other cases, you put them before the otherwise.
2022-12-11 16:17:49 +0100 <geekosaur> you can write others but they'll be ignored and -Wall will warn you they can't be reached
2022-12-11 16:19:05 +0100mmhat(~mmh@p200300f1c73901ceee086bfffe095315.dip0.t-ipconnect.de)
2022-12-11 16:24:55 +0100n0den1te(~n0den1te@223.178.83.182)
2022-12-11 16:25:57 +0100 <blomberg> remove |otherwise instead put if statement
2022-12-11 16:26:07 +0100mikail(~mikail@176.254.215.55)
2022-12-11 16:26:52 +0100 <darkling> AFAIK, you can put any expression in the guard, so you don't need an if expression, you can just use the guards.
2022-12-11 16:27:53 +0100 <darkling> Think of the guards as a sequence of if (guard1) then (result1) else if (guard2)... expressions, with the "otherwise" being the else at the end.
2022-12-11 16:30:07 +0100 <blomberg> darkling:what if i put var=4 ; if var<10 then 1 else 2 ; so we need assignments as well after guards but before if
2022-12-11 16:30:31 +0100 <darkling> That's what let..in is for.
2022-12-11 16:32:06 +0100 <geekosaur> actually where works better for that because things in a where are visible in all guards
2022-12-11 16:32:33 +0100 <darkling> ^^ Listen to the expert. I'm just a beginner. :)
2022-12-11 16:34:33 +0100 <blomberg> geekosaur:so where is equivalent to giving breaks in between guards and writing assignments of before all guards
2022-12-11 16:34:46 +0100 <geekosaur> yes
2022-12-11 16:34:50 +0100acidjnk(~acidjnk@p200300d6e7137a35c0a7281abf493a9c.dip0.t-ipconnect.de)
2022-12-11 16:37:26 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-12-11 16:38:22 +0100 <blomberg> any examples of that
2022-12-11 16:38:48 +0100 <blomberg> without let in and without where
2022-12-11 16:38:52 +0100 <blomberg> but equivalent to it
2022-12-11 16:39:15 +0100manwithluck(~manwithlu@194.177.28.176) (Quit: ZNC 1.8.2 - https://znc.in)
2022-12-11 16:40:41 +0100 <geekosaur> I may have misunderstood you. if you do things between guards that will be visible only within that guard. if you need something to be visible in more than one guard, you must use where
2022-12-11 16:41:53 +0100money_(~money@user/polo) (Quit: late)
2022-12-11 16:42:08 +0100 <geekosaur> although there are also view patterns which let you modify a matched value before using it in the guard, but you want to keep those simple if you use thyem at all because code gets really confusing otherwise
2022-12-11 16:43:02 +0100 <blomberg> i don't want it to be visible in guards but let the guards clauses end
2022-12-11 16:43:19 +0100 <blomberg> and assignments and expression begin like in python
2022-12-11 16:43:51 +0100 <geekosaur> haskell is not pythoon, and what works in one generally doesn't in the other
2022-12-11 16:45:05 +0100 <geekosaur> even the concept of "assignments" is somewhat dubious in haskell
2022-12-11 16:45:43 +0100money_(~money@user/polo)
2022-12-11 16:46:46 +0100Chai-T-Rex(~ChaiTRex@user/chaitrex)
2022-12-11 16:47:41 +0100ChaiTRex(~ChaiTRex@user/chaitrex) (Quit: ChaiTRex)
2022-12-11 16:51:02 +0100 <blomberg> i want to write python code in haskell and then understand it
2022-12-11 16:51:09 +0100 <blomberg> without where, let ... in ...
2022-12-11 16:51:35 +0100 <blomberg> but that's also functional ofc otherwise it woudln't work
2022-12-11 16:51:57 +0100money_(~money@user/polo) (Ping timeout: 256 seconds)
2022-12-11 16:52:55 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net)
2022-12-11 16:53:00 +0100 <geekosaur> you'll have problems with that. as I said, even assignment differs
2022-12-11 16:53:14 +0100 <geekosaur> you can't do `a = 4; … a = 5;`
2022-12-11 16:53:28 +0100 <geekosaur> you can only bind a name once in a given scope
2022-12-11 16:54:11 +0100Inst_(~Inst@c-98-208-218-119.hsd1.fl.comcast.net) (Ping timeout: 264 seconds)
2022-12-11 16:56:26 +0100 <blomberg> _ a ??
2022-12-11 16:57:05 +0100 <blomberg> _ is a function like f a =5;
2022-12-11 16:57:32 +0100 <blomberg> so you mean we can't use those?
2022-12-11 16:57:35 +0100 <geekosaur> that's not an assignment, it's a function definition. `a` would be bound at the time the function is called
2022-12-11 16:57:46 +0100 <mauke> _ is not …
2022-12-11 16:58:04 +0100Lycurgus(~juan@user/Lycurgus)
2022-12-11 16:58:38 +0100 <blomberg> so it's f 4 = 5 ?
2022-12-11 16:59:01 +0100 <mauke> why are you talking about f?
2022-12-11 16:59:07 +0100 <geekosaur> that defined a function f which when given the value 4 as a parameter will produce 5
2022-12-11 16:59:20 +0100 <mauke> geekosaur's example was 'a = 4' followed by 'a = 5'
2022-12-11 16:59:21 +0100 <geekosaur> and, absent any other conditions, will throw an error if given a different parameter
2022-12-11 16:59:30 +0100 <geekosaur> but what mauke said
2022-12-11 16:59:43 +0100 <geekosaur> you can't "assign" to a variable twice
2022-12-11 16:59:54 +0100 <blomberg> geekosaur:i know that
2022-12-11 17:00:07 +0100olivermead[m](~olivermea@2001:470:69fc:105::2:4289) (Quit: You have been kicked for being idle)
2022-12-11 17:00:14 +0100 <geekosaur> lots of things you're used to in python have to be rethought completely in haskell
2022-12-11 17:00:28 +0100olivermead[m](~olivermea@2001:470:69fc:105::2:4289)
2022-12-11 17:01:05 +0100 <blomberg> what's the meaning of _ a = 5
2022-12-11 17:01:52 +0100 <geekosaur> it doesn't have one
2022-12-11 17:01:58 +0100 <_________> whatever you mean by _ a = 5
2022-12-11 17:02:10 +0100 <geekosaur> are you misreading the unicode ellipsis I used to indicate unspecified code?
2022-12-11 17:02:13 +0100 <geekosaur>
2022-12-11 17:04:48 +0100 <blomberg> you can't do `a = 4; _ a = 5;`
2022-12-11 17:05:12 +0100 <blomberg> _ a =5 ; that's underscore not ellipsis
2022-12-11 17:05:27 +0100 <pavonia> > let a = 4; _ a = 5 in _ a
2022-12-11 17:05:29 +0100 <lambdabot> <hint>:1:12: error: Parse error in pattern: _
2022-12-11 17:05:44 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2022-12-11 17:05:48 +0100 <blomberg> > _ a = 5
2022-12-11 17:05:50 +0100 <lambdabot> <hint>:1:5: error: parse error on input ‘=’
2022-12-11 17:05:55 +0100 <blomberg> why am i not shocked
2022-12-11 17:05:59 +0100 <blomberg> > f a = 5
2022-12-11 17:06:00 +0100 <lambdabot> <hint>:1:5: error: parse error on input ‘=’
2022-12-11 17:06:09 +0100mikail(~mikail@176.254.215.55) (Remote host closed the connection)
2022-12-11 17:06:16 +0100 <blomberg> this shitty repl is crapcake shit
2022-12-11 17:06:35 +0100 <blomberg> I cant stand not more haskell crapcode
2022-12-11 17:06:37 +0100 <blomberg> it's crap
2022-12-11 17:06:39 +0100 <blomberg> crap
2022-12-11 17:06:41 +0100 <_________> > let f a = 5
2022-12-11 17:06:42 +0100 <lambdabot> <no location info>: error: not an expression: ‘let f a = 5’
2022-12-11 17:06:56 +0100Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542)
2022-12-11 17:07:00 +0100jonathanx__(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se)
2022-12-11 17:07:09 +0100 <blomberg> holy fuck _________ is now here
2022-12-11 17:07:16 +0100 <mauke> <blomberg> you can't do `a = 4; _ a = 5;`
2022-12-11 17:07:24 +0100 <mauke> ^ was that an attempt at quoting what geekosaur said?
2022-12-11 17:07:28 +0100 <mauke> because geekosaur didn't use _
2022-12-11 17:07:48 +0100jonathanx_(~jonathan@c-5eea6685-74736162.cust.telenor.se) (Read error: Connection reset by peer)
2022-12-11 17:07:52 +0100 <blomberg> mauke: yes ; mauke what ? he did use _ clearly what is going on in your crappy heads
2022-12-11 17:07:57 +0100 <pavonia> Now I'm actually not sure if I just forgot that _ is not a legal identifier in Haskell, or if I never knew :o
2022-12-11 17:08:13 +0100 <yushyin> blomberg: fix your font and attitude …
2022-12-11 17:08:35 +0100 <blomberg> i am using weechat on termux in ubuntu
2022-12-11 17:08:48 +0100 <mauke> blomberg: let me repeat the parts you ignored the first time: <mauke> _ is not … <mauke> geekosaur's example was 'a = 4' followed by 'a = 5' <geekosaur> are you misreading the unicode ellipsis I used to indicate unspecified code?
2022-12-11 17:08:48 +0100 <blomberg> yushyin: i willl fix that crap right away
2022-12-11 17:09:59 +0100 <blomberg> typing ellipsis ... a i will see those triple dots
2022-12-11 17:10:14 +0100 <mauke> those are three separate dots
2022-12-11 17:10:35 +0100 <blomberg> a = 4 followed by _ a = 5 ; in my weechat i seee underscore not triple dots!!!
2022-12-11 17:10:42 +0100 <blomberg> ... a = 5
2022-12-11 17:10:51 +0100 <mauke> use a bigger font
2022-12-11 17:11:04 +0100 <mauke> > '\x2026'
2022-12-11 17:11:04 +0100 <_________> pavonia: _ is a hole - https://downloads.haskell.org/ghc/latest/docs/users_guide/exts/typed_holes.html
2022-12-11 17:11:05 +0100 <pavonia> > "..." == "…"
2022-12-11 17:11:05 +0100 <lambdabot> '\8230'
2022-12-11 17:11:06 +0100 <lambdabot> False
2022-12-11 17:11:54 +0100 <mauke> blomberg: also, look up U+2026
2022-12-11 17:13:25 +0100 <pavonia> _________: That too, but the error above was related to something else, I think
2022-12-11 17:14:01 +0100money_(~money@user/polo)
2022-12-11 17:14:20 +0100 <geekosaur> > text "\8230"
2022-12-11 17:14:22 +0100 <lambdabot>
2022-12-11 17:14:53 +0100 <geekosaur> sorry, I use a fair bit of unicode so I wrote … instead of ... out of habit
2022-12-11 17:15:07 +0100 <pavonia> But it makes sense to not be an identifier, because otherwise `f _ _` whould have a duplicate variable
2022-12-11 17:15:43 +0100manwithluck(~manwithlu@194.177.28.176)
2022-12-11 17:15:50 +0100 <blomberg> https://pasteboard.co/V6FgoyduKHYx.png
2022-12-11 17:16:28 +0100 <geekosaur> wow
2022-12-11 17:16:41 +0100 <blomberg> mauke: thank godnness geekosaur returned back to sanity
2022-12-11 17:16:52 +0100 <geekosaur> your weechat got that wrong
2022-12-11 17:16:52 +0100 <blomberg> i hope you too return back :)
2022-12-11 17:16:59 +0100 <yushyin> as I said, fix your font
2022-12-11 17:17:34 +0100 <blomberg> huh?
2022-12-11 17:17:36 +0100 <geekosaur> https://imgur.com/IqWK9y6.png
2022-12-11 17:17:54 +0100 <geekosaur> I definitely used unicode ellipsis
2022-12-11 17:18:13 +0100 <blomberg> holy shit
2022-12-11 17:18:19 +0100 <geekosaur> bbut your screenshot definitely shows an underscore, so it's something weechat is doing
2022-12-11 17:18:19 +0100 <blomberg> geekosaur:which client
2022-12-11 17:18:25 +0100 <geekosaur> hexchat
2022-12-11 17:19:14 +0100 <blomberg> are there others using weechat that don't see _
2022-12-11 17:19:26 +0100 <blomberg> geekosaur:type triple dots once more
2022-12-11 17:19:29 +0100Alex_test_(~al_test@178.34.161.14)
2022-12-11 17:19:33 +0100n0den1te(~n0den1te@223.178.83.182) (Quit: leaving)
2022-12-11 17:19:36 +0100 <geekosaur>
2022-12-11 17:19:41 +0100 <yushyin> blomberg: https://paste.xinu.at/dEmi/ i use weechat
2022-12-11 17:19:54 +0100 <blomberg> ok i see underscore
2022-12-11 17:19:57 +0100 <mauke> blomberg: let's try something. what do you see here: ä逫ß♥
2022-12-11 17:20:09 +0100 <blomberg> mauke:i see lots of underscores
2022-12-11 17:20:13 +0100 <mauke> ah
2022-12-11 17:20:17 +0100money_(~money@user/polo) (Ping timeout: 256 seconds)
2022-12-11 17:20:28 +0100 <geekosaur> your weechat is converting unicode to underscores
2022-12-11 17:20:39 +0100 <mauke> blomberg: something in your stack (probably weechat) is in ASCII mode and replaces anything else by "_"
2022-12-11 17:20:42 +0100 <blomberg> mauke: how did you get the character encoding for that
2022-12-11 17:20:55 +0100 <mauke> what do you mean?
2022-12-11 17:20:57 +0100Alex_test(~al_test@178.34.161.14) (Read error: Connection reset by peer)
2022-12-11 17:21:25 +0100 <pavonia> yushyin: What client is that?
2022-12-11 17:21:29 +0100 <yushyin> pavonia: weechat
2022-12-11 17:21:30 +0100 <blomberg> mauke | > '\x2026' x2026 codepoint
2022-12-11 17:21:49 +0100 <pavonia> Ah yes, you already wrote that. Sorry :D
2022-12-11 17:21:56 +0100 <yushyin> :)
2022-12-11 17:22:22 +0100 <pavonia> Interesting time formatting
2022-12-11 17:22:26 +0100 <geekosaur> my hexchat is configured for utf8 with fallback to iso8859-1 for received characters that don't decode as utf8
2022-12-11 17:22:40 +0100eggplantade(~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net)
2022-12-11 17:22:42 +0100 <mauke> blomberg: I duckduckwent (is that the past tense of duckduckgo?) "unicode ellipsis"
2022-12-11 17:22:54 +0100 <mauke> and it told me it was U+2026
2022-12-11 17:23:13 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-12-11 17:23:23 +0100 <blomberg> mauke:privacy guy likeit
2022-12-11 17:23:26 +0100money_(~money@user/polo)
2022-12-11 17:23:45 +0100 <yushyin> pavonia: it saves 2 chars!
2022-12-11 17:25:08 +0100 <blomberg> but triple dots is ascii ?? not unicode ?
2022-12-11 17:25:23 +0100 <mauke> a single dot is in ASCII: .
2022-12-11 17:25:28 +0100 <mauke> the triple-dots character is not
2022-12-11 17:25:38 +0100 <mauke> (also, ASCII is a subset of Unicode)
2022-12-11 17:25:39 +0100 <blomberg> that's triple ascii like 777
2022-12-11 17:26:10 +0100 <blomberg> mauke:so how did they type unicode triple dots not ascii dots
2022-12-11 17:26:30 +0100 <mauke> I don't know; ask geekosaur :-)
2022-12-11 17:26:30 +0100 <blomberg> didn't he press those keys dot dot dot
2022-12-11 17:26:36 +0100 <hpc> maybe they program in ms word?
2022-12-11 17:26:39 +0100 <blomberg> mauke:type dot dot dot
2022-12-11 17:26:39 +0100 <mauke> I would press <Compose> . .
2022-12-11 17:26:47 +0100 <blomberg> no without the spacing
2022-12-11 17:26:48 +0100 <mauke> that turns into …
2022-12-11 17:26:55 +0100 <geekosaur> same here, compose . .
2022-12-11 17:27:03 +0100 <blomberg> oh it's underscore so you typed ascii right?
2022-12-11 17:27:06 +0100 <geekosaur> I bound right alt as compose
2022-12-11 17:27:31 +0100califax(~califax@user/califx) (Remote host closed the connection)
2022-12-11 17:27:38 +0100 <blomberg> are you on mac that has compose key
2022-12-11 17:27:52 +0100 <geekosaur> nope, PC running Linux
2022-12-11 17:28:13 +0100 <geekosaur> although when I use Windows I use a program called WinCompose that lets me use the same compose sequences
2022-12-11 17:28:31 +0100 <mauke> blomberg: what does the "/charset" command report in your weechat?
2022-12-11 17:28:40 +0100 <geekosaur> and I have a .XCompose that loads the standard compose definitions and then adds a few more
2022-12-11 17:29:35 +0100califax(~califax@user/califx)
2022-12-11 17:30:34 +0100 <blomberg> charset: terminal: UTF-8, internal: UTF-8
2022-12-11 17:31:05 +0100 <mauke> that looks correct
2022-12-11 17:31:14 +0100 <blomberg> i am under termux
2022-12-11 17:31:36 +0100 <blomberg> sorry what's that called
2022-12-11 17:31:49 +0100 <blomberg> tmux
2022-12-11 17:32:27 +0100califax(~califax@user/califx) (Remote host closed the connection)
2022-12-11 17:32:45 +0100blomberg(~default_u@117.247.121.213) (Quit: blomberg)
2022-12-11 17:33:06 +0100blomberg(~default_u@117.247.121.213)
2022-12-11 17:33:22 +0100 <mauke> yep, that would do it
2022-12-11 17:33:32 +0100califax(~califax@user/califx)
2022-12-11 17:33:34 +0100 <blomberg> now type triple ascii dots not compose key
2022-12-11 17:33:47 +0100 <geekosaur> ...
2022-12-11 17:33:49 +0100 <geekosaur>
2022-12-11 17:34:12 +0100 <blomberg> ahh now i see them geekosaur below those dots are differenet i fixed my tmux not my fonts
2022-12-11 17:34:18 +0100 <blomberg> tmux messes with weechat
2022-12-11 17:34:31 +0100 <geekosaur> tmux may simply not support unicode properly
2022-12-11 17:34:36 +0100 <blomberg> ...
2022-12-11 17:34:38 +0100 <mauke> tmux supports unicode fine
2022-12-11 17:34:38 +0100 <geekosaur> dunno if there's a setting somewhere
2022-12-11 17:34:47 +0100 <blomberg> gnome-terminal too messes
2022-12-11 17:34:47 +0100 <mauke> the first thing to check is your locale settings
2022-12-11 17:35:06 +0100 <blomberg> echo $what
2022-12-11 17:35:14 +0100 <mauke> if you open a terminal and run 'locale', what do you get?
2022-12-11 17:36:33 +0100 <blomberg> geekosaur:are you on mac ? and press compose key or sth smaller triple dots
2022-12-11 17:36:48 +0100 <blomberg> https://bpa.st/UHTQ
2022-12-11 17:36:54 +0100 <geekosaur> I told you, I'm on a PC running Linux. I bound compose to right alt
2022-12-11 17:36:57 +0100 <geekosaur>
2022-12-11 17:37:06 +0100 <blomberg> what's compose
2022-12-11 17:37:37 +0100 <int-e> a key
2022-12-11 17:37:50 +0100 <blomberg> i have had tmux issues even with emacs what's compose key int-e
2022-12-11 17:37:53 +0100 <mauke> https://en.wikipedia.org/wiki/Compose_key
2022-12-11 17:38:08 +0100gmg(~user@user/gehmehgeh) (Ping timeout: 255 seconds)
2022-12-11 17:38:28 +0100 <mauke> blomberg: your system isn't set up to use unicode/utf-8
2022-12-11 17:39:01 +0100 <blomberg> yes but those were ascii ... weren't they?
2022-12-11 17:39:13 +0100 <mauke> blomberg: it should be something like en_IN.UTF-8
2022-12-11 17:39:29 +0100 <mauke> U+2026 is not ASCII, no
2022-12-11 17:39:36 +0100gmg(~user@user/gehmehgeh)
2022-12-11 17:39:48 +0100 <blomberg> but i told you to type ascii
2022-12-11 17:40:06 +0100 <geekosaur> https://imgur.com/riilRZ1.png https://github.com/geekosaur/dotty/blob/master/.XCompose
2022-12-11 17:40:17 +0100 <blomberg> i have to go to defecate and will be back in 10 mintues guys
2022-12-11 17:40:18 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 256 seconds)
2022-12-11 17:41:45 +0100machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net)
2022-12-11 17:42:33 +0100 <mauke> man tmux: "For output to the terminal, UTF-8 is used if the -u option is given or if LC_CTYPE contains "UTF-8" or "UTF8". Otherwise, only ASCII characters are written and non-ASCII characters are replaced with underscores (‘_’)."
2022-12-11 17:43:31 +0100 <mauke> and by LC_CTYPE they mean whichever environment variable is set first from this list: LC_ALL (global override), LC_CTYPE (specific entry), LANG (defaults)
2022-12-11 17:43:53 +0100wroathe(~wroathe@207-153-38-140.fttp.usinternet.com)
2022-12-11 17:43:53 +0100wroathe(~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
2022-12-11 17:43:53 +0100wroathe(~wroathe@user/wroathe)
2022-12-11 17:44:33 +0100machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net) (Remote host closed the connection)
2022-12-11 17:45:50 +0100 <yushyin> i would argue that this is not a sensible replacement char, but you don't have much choice in the ascii range :/
2022-12-11 17:46:02 +0100bontaq(~user@ool-45779fe5.dyn.optonline.net)
2022-12-11 17:46:07 +0100acidjnk(~acidjnk@p200300d6e7137a35c0a7281abf493a9c.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
2022-12-11 17:46:33 +0100 <mauke> it should at least use reverse video
2022-12-11 17:46:51 +0100malte(~malte@mal.tc) (Remote host closed the connection)
2022-12-11 17:47:59 +0100malte(~malte@mal.tc)
2022-12-11 17:48:34 +0100 <mauke> foo ? bar
2022-12-11 17:49:15 +0100econo(uid147250@user/econo)
2022-12-11 17:50:52 +0100machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net)
2022-12-11 17:51:02 +0100Lycurgus(~juan@user/Lycurgus) (Quit: Exeunt https://tinyurl.com/4m8d4kd5)
2022-12-11 17:54:07 +0100mvk(~mvk@2607:fea8:5ce3:8500::efb)
2022-12-11 17:54:44 +0100glguy(~glguy@libera/staff-emeritus/glguy) (Read error: Connection reset by peer)
2022-12-11 17:55:01 +0100mvk(~mvk@2607:fea8:5ce3:8500::efb) (Client Quit)
2022-12-11 17:55:02 +0100mc47(~mc47@xmonad/TheMC47) (Ping timeout: 256 seconds)
2022-12-11 17:57:54 +0100glguy(~glguy@libera/staff-emeritus/glguy)
2022-12-11 18:01:35 +0100mc47(~mc47@xmonad/TheMC47)
2022-12-11 18:02:18 +0100 <_xor> Newbie here porting a project, got a quick question. What would cause `cabal build --offline exe:myapp` to exit with a "not a git repository" error?
2022-12-11 18:02:52 +0100 <_xor> Meaning, is there a cabal-specific argument that can help solve that or is it more likely to be project specific? (maybe it's invoking a script)
2022-12-11 18:03:55 +0100elevenkb(~elevenkb@105.224.37.83)
2022-12-11 18:04:13 +0100 <_xor> The build environment doesn't use git to get sources, it has distribution archives it fetches. I'm guessing git is being used to either A) Determine the version being built, or B) Checking out a dependency version.
2022-12-11 18:05:37 +0100 <geekosaur> if you have a cabal.project it may point to a git dependency. otherwise it might well be checking for a git version, some projects do that themselves
2022-12-11 18:05:52 +0100 <_xor> ah
2022-12-11 18:06:34 +0100 <_xor> Yeah, that was something I had to patch up earlier. It had git dependencies, which I had to vendor for offline builds.
2022-12-11 18:06:49 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net)
2022-12-11 18:06:51 +0100 <_xor> There's a setting to kill the cabal.project file instead of appending to it.
2022-12-11 18:09:04 +0100tremon(~tremon@83-84-18-241.cable.dynamic.v4.ziggo.nl)
2022-12-11 18:12:37 +0100tired(~tired@user/tired) (Quit: /)
2022-12-11 18:13:13 +0100tired(~tired@user/tired)
2022-12-11 18:13:24 +0100 <blomberg> geekosaur:which os do you use, which WM/DE
2022-12-11 18:13:29 +0100money_(~money@user/polo) (Remote host closed the connection)
2022-12-11 18:14:15 +0100 <geekosaur> Ubuntu 20.04 (although I plan to upgrade to 22.04), MATE with xmonad as WM (xmonad doesn't affect this as I use DE facilities to configure the keyboard)
2022-12-11 18:14:45 +0100money_(~money@user/polo)
2022-12-11 18:14:53 +0100 <blomberg> geekosaur:https://i.imgur.com/riilRZ1.png what kind of story you wrote in emacs
2022-12-11 18:14:59 +0100 <blomberg> are you a writer
2022-12-11 18:15:12 +0100 <geekosaur> it's mostly notes as yet 🙂
2022-12-11 18:15:35 +0100 <geekosaur> and no, I'm not really a writer although as I compare older stuff to newer I can tell I've been developing writing skills
2022-12-11 18:15:36 +0100 <blomberg> geekosaur:i can see the smile unicode image even though they say i don't have unicode
2022-12-11 18:15:55 +0100 <blomberg> geekosaur:what kind of story is that
2022-12-11 18:15:58 +0100 <geekosaur> if you';re no longer under tmux then it will probably work. see what mauke sent earlier
2022-12-11 18:16:13 +0100 <geekosaur> [11 16:42:33] <mauke> man tmux: "For output to the terminal, UTF-8 is used if the -u option is given or if LC_CTYPE contains "UTF-8" or "UTF8". Otherwise, only ASCII characters are written and non-ASCII characters are replaced with underscores (‘_’)."
2022-12-11 18:16:18 +0100 <blomberg> i read that
2022-12-11 18:17:28 +0100pavonia(~user@user/siracusa) (Quit: Bye!)
2022-12-11 18:18:53 +0100 <blomberg> when you seethe firefox do you see the white background or prefer dark mode
2022-12-11 18:19:22 +0100 <blomberg> since your windows are all black and then you shift to bright white background
2022-12-11 18:19:41 +0100 <geekosaur> I run Chrome instead of firefox, it doesn't support dark mode on linux unfortunately although I have switched various individual websites to dark mode
2022-12-11 18:19:44 +0100 <blomberg> and which terminal do you use
2022-12-11 18:19:51 +0100 <geekosaur> mate-terminal
2022-12-11 18:20:10 +0100 <blomberg> ubuntu mate os or ubuntu os + mate DE
2022-12-11 18:20:11 +0100 <geekosaur> don't use screen or tmux unless I'm connected to another system over ssh
2022-12-11 18:20:32 +0100 <geekosaur> ubuntu doesn't have a mate OS release, they're pretty much gnome
2022-12-11 18:21:28 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-12-11 18:21:42 +0100money_(~money@user/polo) (Quit: late)
2022-12-11 18:22:23 +0100 <blomberg> can i too swtich to mate DE without ubuntu mate
2022-12-11 18:22:41 +0100L29Ah(~L29Ah@wikipedia/L29Ah) ()
2022-12-11 18:23:14 +0100 <blomberg> sudo apt install mate-desktop-environment
2022-12-11 18:24:11 +0100Alex_test_Alex_test
2022-12-11 18:25:09 +0100 <geekosaur> I installed a bit more than that
2022-12-11 18:25:10 +0100 <geekosaur> https://paste.tomsmeding.com/udZwsyWz
2022-12-11 18:26:09 +0100 <blomberg> is tat config or output of cmd
2022-12-11 18:26:18 +0100 <geekosaur> but if you';re running gnome it should have a similar keyboard configuration menu
2022-12-11 18:26:45 +0100 <geekosaur> skkukuk «xmonad:skkukuk» ⁅xmonad-bsa⁆ Z$ dpkg -l mate\* | grep \^ii | xclip -in
2022-12-11 18:27:04 +0100 <geekosaur> then pasted it into the pastebin window
2022-12-11 18:29:03 +0100 <blomberg> ok nice chat
2022-12-11 18:29:17 +0100 <blomberg> i gottoo go now
2022-12-11 18:29:33 +0100 <blomberg> but i would like to read your notes
2022-12-11 18:34:42 +0100blomberg(~default_u@117.247.121.213) (Ping timeout: 256 seconds)
2022-12-11 18:35:18 +0100L29Ah(~L29Ah@wikipedia/L29Ah)
2022-12-11 18:39:57 +0100 <_________> how to decouple instances from data e.g. construct two Data.Set containers from the same list, but using different Ord/Eq instances: https://paste.tomsmeding.com/crG8cVXK ?
2022-12-11 18:40:56 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 256 seconds)
2022-12-11 18:41:58 +0100razetime(~quassel@49.207.203.213) (Remote host closed the connection)
2022-12-11 18:45:34 +0100 <mauke> I mean, you could always parameterize the Item type
2022-12-11 18:46:49 +0100 <_________> mauke: how would you compare (Item Field1) with (Item Field2) then? if I understand what you mean.
2022-12-11 18:47:07 +0100 <mauke> I wouldn't
2022-12-11 18:47:11 +0100 <mauke> those are different types
2022-12-11 18:47:53 +0100 <_________> ok, so it would be 3 different lists of items?
2022-12-11 18:48:14 +0100 <mauke> well, 3 different sets
2022-12-11 18:48:33 +0100 <mauke> the code you're describing doesn't make much sense to me
2022-12-11 18:49:14 +0100 <mauke> is there any reason you're not just using a Map?
2022-12-11 18:50:38 +0100 <_________> hmm
2022-12-11 18:52:48 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net)
2022-12-11 18:53:48 +0100wroathe(~wroathe@user/wroathe) (Quit: leaving)
2022-12-11 18:57:22 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 256 seconds)
2022-12-11 18:59:51 +0100 <_________> mauke: yeah, Data.Map would be better (since it has insertWith which can be used to merge "same" values). I guess it can be adopted to make a set from it.
2022-12-11 19:00:06 +0100 <_________> thanks
2022-12-11 19:05:34 +0100califax(~califax@user/califx) (Remote host closed the connection)
2022-12-11 19:05:34 +0100jpds2(~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
2022-12-11 19:06:02 +0100califax(~califax@user/califx)
2022-12-11 19:06:23 +0100jpds2(~jpds@gateway/tor-sasl/jpds)
2022-12-11 19:09:05 +0100eggplantade(~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2022-12-11 19:11:05 +0100harveypwca(~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67)
2022-12-11 19:11:30 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-12-11 19:15:44 +0100mestre(~mestre@191.177.185.178)
2022-12-11 19:17:56 +0100 <dminuoso> What deep and black sorcery is this thing
2022-12-11 19:17:58 +0100 <dminuoso> :t upon
2022-12-11 19:17:59 +0100 <lambdabot> (Indexable [Int] p, Data s, Data a, Applicative f) => (s -> a) -> p a (f a) -> s -> f s
2022-12-11 19:18:33 +0100 <dminuoso> Somebody must have been burnt at the stake for this.
2022-12-11 19:20:01 +0100elevenkb(~elevenkb@105.224.37.83) (Quit: Client closed)
2022-12-11 19:20:07 +0100acidjnk(~acidjnk@p200300d6e7137a35c0a7281abf493a9c.dip0.t-ipconnect.de)
2022-12-11 19:20:29 +0100 <dminuoso> Oh gosh. So under the hood this uses reflection, unsafePerformIO, and just brute force to figure out which part of a structure this ends up looking at, identify the index of that, and reconstruct a traversable that points at it.
2022-12-11 19:20:43 +0100 <dminuoso> So this is how one does Ruby-style dynamic reflection.
2022-12-11 19:21:02 +0100Topsi(~Topsi@dialin-80-228-141-073.ewe-ip-backbone.de)
2022-12-11 19:21:13 +0100iqubic(~avi@2601:602:9502:c70:e046:e69e:de6e:24b2) (Remote host closed the connection)
2022-12-11 19:21:13 +0100 <dminuoso> % (2,4) & upon fst *~ 5
2022-12-11 19:21:13 +0100 <yahb2> <interactive>:4:7: error: ; Variable not in scope: (&) :: (a1, b1) -> t0 -> t1 ; ; <interactive>:4:9: error: ; Variable not in scope: upon :: ((a0, b0) -> a0) -> t0 ; ; <interactive>:4:18...
2022-12-11 19:21:16 +0100 <dminuoso> > (2,4) & upon fst *~ 5
2022-12-11 19:21:18 +0100 <lambdabot> (10,4)
2022-12-11 19:21:24 +0100 <dminuoso> This gives me headaches. :S
2022-12-11 19:21:43 +0100iqubic(~avi@2601:602:9502:c70:3fce:1b2:5b0b:b57c)
2022-12-11 19:22:06 +0100elevenkb(~elevenkb@105.224.37.83)
2022-12-11 19:22:14 +0100wootehfoot(~wootehfoo@user/wootehfoot)
2022-12-11 19:22:56 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net)
2022-12-11 19:24:42 +0100wroathe(~wroathe@50.205.197.50)
2022-12-11 19:24:42 +0100wroathe(~wroathe@50.205.197.50) (Changing host)
2022-12-11 19:24:42 +0100wroathe(~wroathe@user/wroathe)
2022-12-11 19:27:24 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 256 seconds)
2022-12-11 19:28:48 +0100Maeda(~Maeda@91-161-10-149.subs.proxad.net) (Quit: :))
2022-12-11 19:28:54 +0100wroathe(~wroathe@user/wroathe) (Client Quit)
2022-12-11 19:29:07 +0100wroathe(~wroathe@user/wroathe)
2022-12-11 19:29:46 +0100Maeda(~Maeda@91-161-10-149.subs.proxad.net)
2022-12-11 19:29:51 +0100Maeda(~Maeda@91-161-10-149.subs.proxad.net) (Client Quit)
2022-12-11 19:29:58 +0100elevenkb(~elevenkb@105.224.37.83) (Quit: Client closed)
2022-12-11 19:30:06 +0100iqubic(~avi@2601:602:9502:c70:3fce:1b2:5b0b:b57c) (Remote host closed the connection)
2022-12-11 19:30:18 +0100Maeda(~Maeda@91-161-10-149.subs.proxad.net)
2022-12-11 19:30:29 +0100iqubic(~avi@2601:602:9502:c70:3fce:1b2:5b0b:b57c)
2022-12-11 19:32:26 +0100elevenkb(~elevenkb@105.224.37.83)
2022-12-11 19:33:10 +0100phma(phma@2001:5b0:215a:c6f8:290c:9583:a7f8:18f1) (Read error: Connection reset by peer)
2022-12-11 19:33:20 +0100Chai-T-Rex(~ChaiTRex@user/chaitrex) (Ping timeout: 255 seconds)
2022-12-11 19:33:22 +0100ChaiTRex(~ChaiTRex@user/chaitrex)
2022-12-11 19:33:34 +0100phma(~phma@host-67-44-208-203.hnremote.net)
2022-12-11 19:34:03 +0100money_(~money@user/polo)
2022-12-11 19:36:57 +0100elevenkb(~elevenkb@105.224.37.83) (Client Quit)
2022-12-11 19:38:33 +0100money_(~money@user/polo) (Ping timeout: 256 seconds)
2022-12-11 19:39:03 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net)
2022-12-11 19:43:08 +0100elevenkb[m](~elevenkb@2001:470:69fc:105::2:cb89)
2022-12-11 19:43:52 +0100ddellacosta(~ddellacos@143.244.47.100)
2022-12-11 19:46:33 +0100elevenkb(~elevenkb@105.224.37.83)
2022-12-11 19:46:41 +0100elevenkb(~elevenkb@105.224.37.83) (Client Quit)
2022-12-11 19:49:14 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-12-11 19:51:15 +0100jakalx(~jakalx@base.jakalx.net) ()
2022-12-11 19:54:31 +0100zant2(~zant@62.214.20.26)
2022-12-11 19:54:40 +0100zant2(~zant@62.214.20.26) ()
2022-12-11 19:56:49 +0100Inst_(~Inst@c-98-208-218-119.hsd1.fl.comcast.net)
2022-12-11 19:57:18 +0100Inst_(~Inst@c-98-208-218-119.hsd1.fl.comcast.net) (Read error: Connection reset by peer)
2022-12-11 19:59:32 +0100jargon(~jargon@174-22-192-24.phnx.qwest.net)
2022-12-11 20:00:01 +0100jakalx(~jakalx@base.jakalx.net)
2022-12-11 20:01:00 +0100aweinstock(~aweinstoc@cpe-74-76-189-75.nycap.res.rr.com) (Ping timeout: 260 seconds)
2022-12-11 20:02:03 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-12-11 20:02:30 +0100money_(~money@user/polo)
2022-12-11 20:02:43 +0100aweinstock(~aweinstoc@cpe-74-76-189-75.nycap.res.rr.com)
2022-12-11 20:08:40 +0100tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net)
2022-12-11 20:09:08 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 248 seconds)
2022-12-11 20:09:09 +0100money_(~money@user/polo) (Ping timeout: 256 seconds)
2022-12-11 20:09:34 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:44ff:72e2:5072:e2ac)
2022-12-11 20:12:10 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 256 seconds)
2022-12-11 20:14:08 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:44ff:72e2:5072:e2ac) (Ping timeout: 252 seconds)
2022-12-11 20:25:15 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net)
2022-12-11 20:29:49 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 260 seconds)
2022-12-11 20:34:34 +0100gmg(~user@user/gehmehgeh) (Quit: Leaving)
2022-12-11 20:43:33 +0100money_(~money@user/polo)
2022-12-11 20:45:50 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:44ff:72e2:5072:e2ac)
2022-12-11 20:51:23 +0100ec_(~ec@gateway/tor-sasl/ec) (Remote host closed the connection)
2022-12-11 20:51:56 +0100ec_(~ec@gateway/tor-sasl/ec)
2022-12-11 20:52:43 +0100jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Remote host closed the connection)
2022-12-11 20:53:12 +0100pyrex(~pyrex@user/pyrex)
2022-12-11 20:54:31 +0100nicole(ilbelkyr@libera/staff/ilbelkyr)
2022-12-11 20:59:26 +0100mira(~aranea@wireguard/contributorcat/mira)
2022-12-11 21:00:56 +0100 <mira> hmm, does base have a newtype wrapper around lists with a pairwise combining Monoid instance Monoid a => Monoid [a] instead of the usual list Monoid instance?
2022-12-11 21:01:30 +0100 <mira> seems like an obvious thing to have but I can't find it anywhere
2022-12-11 21:01:52 +0100 <APic> lol
2022-12-11 21:03:08 +0100 <koala_man> are there any tools that help me tighten my cabal version constraints? I'd like something that'll automatically build&test to find the earliest and latest compatible version for each dependency
2022-12-11 21:04:03 +0100mc47(~mc47@xmonad/TheMC47) (Remote host closed the connection)
2022-12-11 21:04:18 +0100jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
2022-12-11 21:06:10 +0100elevenkb(~elevenkb@105.224.37.83)
2022-12-11 21:09:34 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net)
2022-12-11 21:11:35 +0100 <dminuoso> mira: Not needed.
2022-12-11 21:12:02 +0100 <dminuoso> mira: `instance (Monoid a, Monoid b) => Monoid (a,b)` is a thing
2022-12-11 21:12:27 +0100pagnol(~user@213-205-209-87.ftth.glasoperator.nl)
2022-12-11 21:12:28 +0100 <dminuoso> Or maybe I misunderstand what you mean by pairwise.
2022-12-11 21:12:35 +0100johnw(~johnw@2600:1700:cf00:db0:f544:7bad:14ec:5034) (Quit: ZNC - http://znc.in)
2022-12-11 21:13:02 +0100 <iqubic> Does Ziplist have a monoid instance?
2022-12-11 21:13:19 +0100 <iqubic> instance Monoid a => Ziplist a where...
2022-12-11 21:13:45 +0100Sgeo(~Sgeo@user/sgeo)
2022-12-11 21:15:41 +0100 <mira> yeah I was hoping ZipList would have it, but nope, no Monoid instance there
2022-12-11 21:16:29 +0100 <mira> dminuoso: yeah that's not what I meant, I'm looking for [a,b,..] <> [c,d,..] = [a <> c, b <> d,..] :)
2022-12-11 21:16:42 +0100 <mauke> :t zipWith mappend
2022-12-11 21:16:43 +0100 <lambdabot> Monoid c => [c] -> [c] -> [c]
2022-12-11 21:17:20 +0100 <mauke> and I guess mempty = repeat mempty
2022-12-11 21:18:16 +0100 <mira> slightly different semantics from what I'm doing but yeah
2022-12-11 21:19:15 +0100 <mira> the Monoid instance I need (and wrote locally for now) has [] <> xs = xs, with zipWith that'd result in [] instead
2022-12-11 21:22:30 +0100 <mauke> oh, implied mempty padding?
2022-12-11 21:22:40 +0100elevenkb(~elevenkb@105.224.37.83) (Quit: Client closed)
2022-12-11 21:23:00 +0100 <mira> yep
2022-12-11 21:23:33 +0100j4cc3b(~jeffreybe@pool-74-105-2-138.nwrknj.fios.verizon.net)
2022-12-11 21:23:44 +0100 <mira> otherwise it wouldn't satisfy the Monoid laws
2022-12-11 21:26:29 +0100money_(~money@user/polo) (Quit: late)
2022-12-11 21:33:32 +0100 <sm> awesome... watch your github CI run in terminal:
2022-12-11 21:33:32 +0100 <sm> gh run watch -i10 --exit-status `gh run list -L1 --json databaseId -q .[0].databaseId`
2022-12-11 21:38:57 +0100pavonia(~user@user/siracusa)
2022-12-11 21:44:04 +0100pagnol(~user@213-205-209-87.ftth.glasoperator.nl) (Ping timeout: 248 seconds)
2022-12-11 21:44:07 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 260 seconds)
2022-12-11 21:48:46 +0100nut(~nut@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
2022-12-11 21:51:48 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-12-11 21:54:23 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-12-11 22:00:27 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
2022-12-11 22:02:05 +0100gmg(~user@user/gehmehgeh)
2022-12-11 22:04:39 +0100wootehfoot(~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
2022-12-11 22:06:30 +0100jmdaemon(~jmdaemon@user/jmdaemon)
2022-12-11 22:07:13 +0100coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot)
2022-12-11 22:10:20 +0100chexum(~quassel@gateway/tor-sasl/chexum) (Quit: No Ping reply in 180 seconds.)
2022-12-11 22:11:58 +0100chexum(~quassel@gateway/tor-sasl/chexum)
2022-12-11 22:22:41 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-12-11 22:24:50 +0100Katarushisu(~Katarushi@cpc147790-finc20-2-0-cust502.4-2.cable.virginm.net) (Quit: The Lounge - https://thelounge.chat)
2022-12-11 22:25:22 +0100Katarushisu(~Katarushi@cpc147790-finc20-2-0-cust502.4-2.cable.virginm.net)
2022-12-11 22:29:06 +0100wroathe(~wroathe@207-153-38-140.fttp.usinternet.com)
2022-12-11 22:29:06 +0100wroathe(~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
2022-12-11 22:29:06 +0100wroathe(~wroathe@user/wroathe)
2022-12-11 22:29:29 +0100harveypwca(~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Quit: Leaving)
2022-12-11 22:34:35 +0100TimWolla(~timwolla@2a01:4f8:150:6153:beef::6667) (Quit: Bye)
2022-12-11 22:34:56 +0100nut(~nut@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 252 seconds)
2022-12-11 22:40:07 +0100EvanR(~EvanR@user/evanr) (Remote host closed the connection)
2022-12-11 22:40:08 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net)
2022-12-11 22:40:31 +0100EvanR(~EvanR@user/evanr)
2022-12-11 22:43:04 +0100 <iqubic> Is there a good way to combine partition and map?
2022-12-11 22:43:12 +0100 <iqubic> :t partition
2022-12-11 22:43:13 +0100 <lambdabot> (a -> Bool) -> [a] -> ([a], [a])
2022-12-11 22:43:28 +0100ddellacosta(~ddellacos@143.244.47.100) (Ping timeout: 256 seconds)
2022-12-11 22:43:47 +0100 <iqubic> I want to to map a function of the type a -> b on both the result lists.
2022-12-11 22:44:02 +0100 <EvanR> partition f . map g
2022-12-11 22:44:10 +0100 <EvanR> oh nvm
2022-12-11 22:44:25 +0100 <EvanR> bimap g . partition f
2022-12-11 22:44:37 +0100 <geekosaur> yeh, I was thinking bimap
2022-12-11 22:45:10 +0100mestre(~mestre@191.177.185.178) (Ping timeout: 256 seconds)
2022-12-11 22:45:37 +0100 <geekosaur> that said, if you're mapping over both lists, why not map it first? hm, unless the predicate requires the original list values to work
2022-12-11 22:46:00 +0100 <iqubic> Well, actually, in this case I'm actually doing something like "partition (pred . g)" and I'm also wantting to bimap g over both the lists.
2022-12-11 22:46:28 +0100takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2022-12-11 22:46:28 +0100 <EvanR> oh you want to preprocess it after all
2022-12-11 22:46:32 +0100 <mauke> :t map snd . partition (?f . fst) . map ((,) <*> ?g)
2022-12-11 22:46:32 +0100 <lambdabot> error:
2022-12-11 22:46:33 +0100 <lambdabot> • Couldn't match type ‘([(a, b0)], [(a, b0)])’ with ‘[(a0, b)]’
2022-12-11 22:46:33 +0100 <lambdabot> Expected type: [a] -> [(a0, b)]
2022-12-11 22:46:33 +0100 <geekosaur> that really does sound like partition f . map g
2022-12-11 22:46:44 +0100 <iqubic> So I'd be writing `bimap g . partition (pred . g)` which can be simplified to `partition pred . map g`
2022-12-11 22:47:44 +0100 <iqubic> I'm using partition for Advent of Code here, to check all the values all at once.
2022-12-11 22:48:06 +0100 <mauke> :t join bimap (map snd) . partition (?f . fst) . map ((,) <*> ?g)
2022-12-11 22:48:07 +0100 <lambdabot> (?f::a -> Bool, ?g::a -> b) => [a] -> ([b], [b])
2022-12-11 22:48:31 +0100 <iqubic> You're making it more complex.
2022-12-11 22:48:37 +0100 <mauke> yes
2022-12-11 22:49:13 +0100 <iqubic> I have something of the form `partition (pred . f)` and I want map f over both the fst and snd list of the results.
2022-12-11 22:49:15 +0100Tuplanolla(~Tuplanoll@91-159-68-152.elisa-laajakaista.fi) (Quit: Leaving.)
2022-12-11 22:49:36 +0100 <iqubic> With pred :: a -> Bool.
2022-12-11 22:49:51 +0100 <mauke> but that's the simple case (and you've already solved it)
2022-12-11 22:50:01 +0100 <iqubic> Pred is short for predicate here in this example.
2022-12-11 22:50:08 +0100 <iqubic> Yeah.
2022-12-11 22:50:52 +0100 <mauke> I wanted to see if I could do a sort of schwartzian transform here
2022-12-11 22:50:59 +0100 <mauke> but "join bimap" is a bit ugly
2022-12-11 22:51:11 +0100 <iqubic> :t join bimap
2022-12-11 22:51:12 +0100 <lambdabot> Bifunctor p => (c -> d) -> p c c -> p d d
2022-12-11 22:51:25 +0100 <iqubic> What's that even doing?
2022-12-11 22:53:00 +0100chexum(~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
2022-12-11 22:53:21 +0100chexum(~quassel@gateway/tor-sasl/chexum)
2022-12-11 22:55:09 +0100 <EvanR> how does it not require Monad
2022-12-11 22:55:29 +0100TonyStone(~TonyStone@cpe-74-76-57-186.nycap.res.rr.com)
2022-12-11 22:56:38 +0100 <mauke> :t join ?f ?x
2022-12-11 22:56:39 +0100 <lambdabot> (?f::t1 -> t1 -> t2, ?x::t1) => t2
2022-12-11 22:58:24 +0100TonyStone(~TonyStone@cpe-74-76-57-186.nycap.res.rr.com) (Remote host closed the connection)
2022-12-11 22:59:53 +0100 <c_wraith> EvanR: the monad instance is already satisfied by a concrete type present
2022-12-11 23:00:40 +0100TonyStone(~TonyStone@cpe-74-76-57-186.nycap.res.rr.com)
2022-12-11 23:00:40 +0100EvanRsquint
2022-12-11 23:00:53 +0100CiaoSen(~Jura@p200300c95747e0002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
2022-12-11 23:01:09 +0100 <iqubic> Parsing Day 11's input in Megaparsec was cumbersome.
2022-12-11 23:01:39 +0100 <iqubic> Not hard by any means, just involved.
2022-12-11 23:01:40 +0100 <iqubic> Not hard by any means, just involved.
2022-12-11 23:02:15 +0100 <iqubic> I should really figure out how to get my irc client to stop sending the same message multiple times in a row.
2022-12-11 23:02:18 +0100 <iqubic> I should really figure out how to get my irc client to stop sending the same message multiple times in a row.
2022-12-11 23:02:29 +0100paulpaul1076(~textual@95-29-5-111.broadband.corbina.ru) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2022-12-11 23:02:39 +0100 <dsal> iqubic: What'd you do that was cumbersome?
2022-12-11 23:02:50 +0100 <iqubic> https://dpaste.com/H27T7UMFK
2022-12-11 23:03:07 +0100 <iqubic> It's just a lot of code.
2022-12-11 23:03:08 +0100 <iqubic> It's just a lot of code.
2022-12-11 23:03:24 +0100 <iqubic> BRB... Switching IRC clients
2022-12-11 23:03:37 +0100iqubic(~avi@2601:602:9502:c70:3fce:1b2:5b0b:b57c) (Remote host closed the connection)
2022-12-11 23:03:54 +0100iqubic(~avi@2601:602:9502:c70:3fce:1b2:5b0b:b57c)
2022-12-11 23:03:57 +0100 <dsal> Mine's a little less. https://www.irccloud.com/pastebin/gCN5WyXI/elevenparser.hs
2022-12-11 23:04:12 +0100 <sm> thank you
2022-12-11 23:04:41 +0100 <EvanR> iqubic, lol my parser https://paste.tomsmeding.com/pNWrPLKb
2022-12-11 23:05:25 +0100 <iqubic> I should really look into lexeme.
2022-12-11 23:05:25 +0100notzmv(~zmv@user/notzmv)
2022-12-11 23:05:29 +0100ddellacosta(~ddellacos@143.244.47.89)
2022-12-11 23:06:43 +0100bgs(~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection)
2022-12-11 23:06:54 +0100 <dsal> iqubic: lexeme is a weird, but neat concept. It really just… run a parser and then run another parser until it fails and throw away that output then return the result of the first one.
2022-12-11 23:07:12 +0100 <iqubic> I know what it is yeah.
2022-12-11 23:07:20 +0100 <dsal> The idea is that if you have something like whitespace around junk, you want to eat all the whitespace *after* the thing you parser so the next parser is in place.
2022-12-11 23:07:36 +0100 <iqubic> Meah, I'm fine with what I have for now.
2022-12-11 23:07:45 +0100 <dsal> Yeah, it's not much bigger, just has more type signatures.
2022-12-11 23:07:57 +0100 <iqubic> I know.
2022-12-11 23:07:58 +0100 <dsal> I didn't parse to a function because I wanted a free show instance for some reason.
2022-12-11 23:08:35 +0100 <iqubic> Meh... I didn't use a show instance to test.
2022-12-11 23:08:55 +0100 <iqubic> I just manually queried each field one by one.
2022-12-11 23:09:06 +0100thegeekinside(~thegeekin@189.217.82.244)
2022-12-11 23:09:16 +0100 <dsal> Sure, it's not too hard to inspect otherwise. I didn't really *read* the full output. Just assumed if it got the right number and didn't fail, then I did the right thing.
2022-12-11 23:09:37 +0100 <iqubic> Let m = pInput "..."
2022-12-11 23:10:23 +0100 <dsal> You spelled pimpit wrong.
2022-12-11 23:11:19 +0100 <iqubic> I'm still not sure why using the LCM of all the test values as a global modulus works.
2022-12-11 23:11:39 +0100 <EvanR> spoiler alert lol
2022-12-11 23:11:53 +0100 <EvanR> was that posted somewhere or did you figure it out
2022-12-11 23:14:18 +0100 <iqubic> Sorry... I figured that out myself.
2022-12-11 23:14:31 +0100coot(~coot@213.134.171.3)
2022-12-11 23:14:33 +0100 <iqubic> I forgot that I wasn't in the spoilers channel.
2022-12-11 23:14:38 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 256 seconds)
2022-12-11 23:15:02 +0100 <dsal> The coolest part about getting answers in #haskell is that I often can't understand them anyway.
2022-12-11 23:15:32 +0100 <dsal> (because people are asking questions I don't understand)
2022-12-11 23:18:42 +0100 <EvanR> the 1 day of number theory back in my abstract algebra course was probably the most interesting
2022-12-11 23:19:08 +0100 <EvanR> but also felt like stuff I should have learned in grade school, like remainders and stuff
2022-12-11 23:20:15 +0100paulpaul1076(~textual@95-29-5-111.broadband.corbina.ru)
2022-12-11 23:25:03 +0100paulpaul1076(~textual@95-29-5-111.broadband.corbina.ru) (Ping timeout: 260 seconds)
2022-12-11 23:26:37 +0100hgolden(~hgolden@cpe-172-251-233-141.socal.res.rr.com) (Remote host closed the connection)
2022-12-11 23:28:06 +0100hgolden(~hgolden@cpe-172-251-233-141.socal.res.rr.com)
2022-12-11 23:28:06 +0100merijn(~merijn@86.86.29.250)
2022-12-11 23:31:52 +0100 <EvanR> sometimes I wonder if do notation is even necessary xD https://paste.tomsmeding.com/N7WMhGdE
2022-12-11 23:32:38 +0100merijn(~merijn@86.86.29.250) (Ping timeout: 260 seconds)
2022-12-11 23:32:48 +0100 <iqubic> I love makeRidiculous as a function name.
2022-12-11 23:33:27 +0100 <EvanR> it turns an Int monkey into a Ridiculous monkey
2022-12-11 23:33:58 +0100TimWolla(~timwolla@2a01:4f8:150:6153:beef::6667)
2022-12-11 23:34:59 +0100adium(adium@user/adium) (Quit: Stable ZNC by #bnc4you)
2022-12-11 23:35:29 +0100 <iqubic> Oh, does it?
2022-12-11 23:35:32 +0100 <geekosaur> EvanR, you're basically doing what do notation does
2022-12-11 23:35:46 +0100coot(~coot@213.134.171.3) (Quit: coot)
2022-12-11 23:35:50 +0100 <geekosaur> it's a very mechanical transform
2022-12-11 23:37:53 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-12-11 23:41:42 +0100 <tomsmeding> geekosaur: sorry for random ping, but I see you're around. I'm not watching irc pings for a while -- life gets temporary precedence over irc. If there's anything with *.tomsmeding.com feel free to email at irc at my nick dot com :)
2022-12-11 23:42:12 +0100 <geekosaur> nothing at present, have had my hands full with other stuff
2022-12-11 23:42:39 +0100 <tomsmeding> monochrom: also pinging you just to be sure, see ^
2022-12-11 23:42:50 +0100 <tomsmeding> Cheers all :)
2022-12-11 23:43:47 +0100 <dsal> mailto:tomsmeding you around?
2022-12-11 23:45:14 +0100fizbin(~fizbin@user/fizbin) (Ping timeout: 256 seconds)
2022-12-11 23:45:47 +0100 <dsal> Actually, that name ^ did come up at work recently when someone was asking something about observing gc events and the answer was something like "no, you can't. Here's how a person did it: …"
2022-12-11 23:51:19 +0100shriekingnoise(~shrieking@186.137.167.202)
2022-12-11 23:52:37 +0100mestre(~mestre@191.177.185.178)
2022-12-11 23:53:26 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 255 seconds)
2022-12-11 23:53:44 +0100kenaryn(~aurele@cre71-h03-89-88-44-27.dsl.sta.abo.bbox.fr) (Quit: leaving)
2022-12-11 23:53:52 +0100gmg(~user@user/gehmehgeh) (Quit: Leaving)
2022-12-11 23:57:03 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643)
2022-12-11 23:57:56 +0100waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340)