Home liberachat/#haskell: Logs Calendar

Logs on 2022-12-11 (liberachat/#haskell)

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

All times are in UTC on 2022-12-11.