Home freenode/#haskell: Logs Calendar

Logs on 2021-02-10 (freenode/#haskell)

00:00:33 × tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 264 seconds)
00:01:41 Jesin joins (~Jesin@pool-72-66-101-18.washdc.fios.verizon.net)
00:04:17 bennofs_ joins (~quassel@dslb-188-103-041-067.188.103.pools.vodafone-ip.de)
00:05:03 × hyperisco quits (~hyperisco@104-195-141-253.cpe.teksavvy.com) (Ping timeout: 246 seconds)
00:06:09 × conal quits (~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
00:06:25 dandart joins (~Thunderbi@home.dandart.co.uk)
00:07:11 × cafce25 quits (~cafce25@ipbcc3009d.dynamic.kabel-deutschland.de) (Remote host closed the connection)
00:08:17 × bennofs__ quits (~quassel@dslb-188-106-247-103.188.106.pools.vodafone-ip.de) (Ping timeout: 256 seconds)
00:08:37 iqubic joins (~user@2601:602:9500:4870:2469:bd3:184e:687f)
00:08:41 × dandart quits (~Thunderbi@home.dandart.co.uk) (Remote host closed the connection)
00:09:50 conal joins (~conal@64.71.133.70)
00:11:07 × Cale quits (~cale@cpef48e38ee8583-cm0c473de9d680.cpe.net.cable.rogers.com) (Ping timeout: 256 seconds)
00:12:05 × dansho quits (~dansho@ec2-99-79-37-120.ca-central-1.compute.amazonaws.com) (Ping timeout: 272 seconds)
00:12:53 dansho joins (~dansho@ec2-99-79-37-120.ca-central-1.compute.amazonaws.com)
00:13:09 Cale joins (~cale@cpef48e38ee8583-cm0c473de9d680.cpe.net.cable.rogers.com)
00:14:40 <Squarism> I dont imagine there are constructor synonyms? Sounds like a bad feature but I would need it now. =D
00:14:47 Sonderblade joins (~helloman@94.191.152.155.mobile.tre.se)
00:15:05 <glguy> pattern synonyms
00:15:11 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
00:15:25 × Wuzzy quits (~Wuzzy@p57a2f980.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
00:15:43 <glguy> but I don't know quite what constructor synonym means to you
00:17:43 clog joins (~nef@bespin.org)
00:18:16 renzhi joins (~renzhi@2607:fa49:6500:6f00::1e43)
00:19:22 × heatsink quits (~heatsink@2600:1700:bef1:5e10:d581:1bcd:84fc:c483) (Remote host closed the connection)
00:22:26 × sakirious quits (~sakirious@c-71-197-191-137.hsd1.wa.comcast.net) (Quit: The Lounge - https://thelounge.chat)
00:23:41 sakirious joins (~sakirious@c-71-197-191-137.hsd1.wa.comcast.net)
00:24:34 da39a3ee5e6b4b0d joins (~da39a3ee5@2403:6200:8876:8dc5:9d83:6704:36aa:723f)
00:25:18 soft-warm joins (4408f588@ip68-8-245-136.sd.sd.cox.net)
00:27:32 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
00:28:27 jedws joins (~jedws@101.184.202.248)
00:29:18 olligobber joins (olligobber@gateway/vpn/privateinternetaccess/olligobber)
00:42:54 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 256 seconds)
00:43:59 <maerwald> monochrom: rio has a design philosophy?
00:44:01 <Squarism> glguy, i guess "function" was what I was after. =D
00:45:10 × DavidEichmann quits (~david@234.109.45.217.dyn.plus.net) (Ping timeout: 256 seconds)
00:46:00 <monochrom> Do take a close look at pattern synonyms. It can cover both matching and construction.
00:46:27 <Squarism> oh ok.
00:46:42 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
00:47:04 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
00:49:09 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds)
00:49:56 tromp joins (~tromp@dhcp-077-249-230-040.chello.nl)
00:51:36 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 240 seconds)
00:53:34 rajivr joins (uid269651@gateway/web/irccloud.com/x-pyntiyxxzmvjyunk)
00:53:40 × nineonine quits (~nineonine@50.216.62.2) (Ping timeout: 256 seconds)
00:54:03 × tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 246 seconds)
01:05:50 × tvrsky quits (~tvrsky@2804:108c:c989:8901:d844:7f99:9fe0:d997) (Ping timeout: 265 seconds)
01:06:21 CMCDragonkai1 joins (~Thunderbi@110.175.213.142)
01:06:28 × dansho quits (~dansho@ec2-99-79-37-120.ca-central-1.compute.amazonaws.com) (Remote host closed the connection)
01:07:09 heatsink joins (~heatsink@2600:1700:bef1:5e10:d581:1bcd:84fc:c483)
01:08:32 nbloomf joins (~nbloomf@2600:1700:ad14:3020:c10f:727f:2e7e:4a35)
01:09:35 dansho joins (~dansho@ec2-99-79-37-120.ca-central-1.compute.amazonaws.com)
01:09:56 × tdammers quits (~tdammers@unaffiliated/tdammers) (Ping timeout: 240 seconds)
01:11:45 × lawid quits (~quassel@dslb-178-000-142-195.178.000.pools.vodafone-ip.de) (Ping timeout: 240 seconds)
01:13:13 guest7682358928 joins (c9dbea19@gateway/web/cgi-irc/kiwiirc.com/ip.201.219.234.25)
01:13:24 × guest7682358928 quits (c9dbea19@gateway/web/cgi-irc/kiwiirc.com/ip.201.219.234.25) (Client Quit)
01:14:00 × da39a3ee5e6b4b0d quits (~da39a3ee5@2403:6200:8876:8dc5:9d83:6704:36aa:723f) (Quit: My MacBook has gone to sleep. ZZZzzz…)
01:15:16 tdammers joins (~tdammers@unaffiliated/tdammers)
01:25:55 × mud quits (~mud@unaffiliated/kadoban) (Remote host closed the connection)
01:27:14 guest7682358928 joins (c9dbea19@gateway/web/cgi-irc/kiwiirc.com/ip.201.219.234.25)
01:27:21 slack1256 joins (~slack1256@dvc-186-186-101-190.movil.vtr.net)
01:27:22 × guest7682358928 quits (c9dbea19@gateway/web/cgi-irc/kiwiirc.com/ip.201.219.234.25) (Client Quit)
01:32:19 × viluon quits (uid453725@gateway/web/irccloud.com/x-mraiiodagseymswf) (Quit: Connection closed for inactivity)
01:33:09 × cole-h quits (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 272 seconds)
01:33:33 × Tuplanolla quits (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Ping timeout: 264 seconds)
01:34:15 mud joins (~mud@unaffiliated/kadoban)
01:36:58 obihann joins (~jhann@142.177.168.17)
01:39:25 × clog quits (~nef@bespin.org) (Ping timeout: 240 seconds)
01:39:45 × CMCDragonkai1 quits (~Thunderbi@110.175.213.142) (Ping timeout: 240 seconds)
01:43:37 nineonine joins (~nineonine@50.216.62.2)
01:43:59 tromp joins (~tromp@dhcp-077-249-230-040.chello.nl)
01:44:52 × dansho quits (~dansho@ec2-99-79-37-120.ca-central-1.compute.amazonaws.com) (Quit: Leaving)
01:46:56 × Cthalupa quits (~cthulhu@47.186.47.75) (Ping timeout: 256 seconds)
01:48:33 × tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 264 seconds)
01:48:36 × renzhi quits (~renzhi@2607:fa49:6500:6f00::1e43) (Ping timeout: 258 seconds)
01:48:42 × soft-warm quits (4408f588@ip68-8-245-136.sd.sd.cox.net) (Ping timeout: 240 seconds)
01:48:49 Cthalupa joins (~cthulhu@47.186.47.75)
01:50:59 da39a3ee5e6b4b0d joins (~da39a3ee5@mx-ll-183.89.48-247.dynamic.3bb.co.th)
01:52:30 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
01:54:15 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Client Quit)
01:54:59 <zebrag> Natural transform with every component invertible, say in Set. Should that lead to natural isomorphism?
01:55:56 × MarcelineVQ quits (~anja@198.254.199.42) (Ping timeout: 240 seconds)
01:58:14 × nbloomf quits (~nbloomf@2600:1700:ad14:3020:c10f:727f:2e7e:4a35) (Quit: My MacBook has gone to sleep. ZZZzzz…)
01:58:25 tromp joins (~tromp@dhcp-077-249-230-040.chello.nl)
01:58:28 MarcelineVQ joins (~anja@198.254.199.42)
01:59:14 <monochrom> Guiding question: Can you show that the inverses are natural tranformations too?
01:59:33 <monochrom> err I guess s/are natural transformations/is a natural transformation/
02:00:19 × obihann quits (~jhann@142.177.168.17) (Quit: Lost terminal)
02:02:19 obihann joins (~jhann@142.177.168.17)
02:02:36 × tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 240 seconds)
02:03:01 <zebrag> Actually, no I don't. But I feel better having asked the question.
02:04:20 nbloomf joins (~nbloomf@2600:1700:ad14:3020:c10f:727f:2e7e:4a35)
02:06:59 × obihann quits (~jhann@142.177.168.17) (Client Quit)
02:08:59 × Deide quits (~Deide@217.155.19.23) (Quit: Seeee yaaaa)
02:09:00 <monochrom> Suggestion: It works out. Just do algebra.
02:09:25 × da39a3ee5e6b4b0d quits (~da39a3ee5@mx-ll-183.89.48-247.dynamic.3bb.co.th) (Ping timeout: 240 seconds)
02:10:00 × ps-auxw quits (~arneb@p548c6e54.dip0.t-ipconnect.de) (Ping timeout: 246 seconds)
02:10:09 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
02:11:35 Wuzzy joins (~Wuzzy@p57a2f142.dip0.t-ipconnect.de)
02:12:07 tromp joins (~tromp@dhcp-077-249-230-040.chello.nl)
02:12:46 kw joins (d4662d5d@212.102.45.93)
02:14:03 × conal quits (~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
02:14:08 <kw> How does one make the `IsString` instance for `UTF8 ByteString` (from utf8-string) usable?
02:15:14 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 265 seconds)
02:15:30 <kw> I'm getting an error that there is no such instance, which I assume is because the `UTF8Bytes` multi-parameter type class isn't inferring the `Int` "index" type.
02:16:25 × tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 240 seconds)
02:17:07 <zebrag> monochrom: Thanks a lot, I'll do that.
02:17:10 × seneca quits (~epictetus@ip72-194-215-136.sb.sd.cox.net) (Read error: Connection reset by peer)
02:17:57 <glguy> kw: why do you need utf8-string?
02:19:50 hirc joins (3dded63f@61-222-214-63.HINET-IP.hinet.net)
02:22:04 × kjak quits (~kjak@pool-108-45-56-21.washdc.fios.verizon.net) (Ping timeout: 256 seconds)
02:23:26 × xff0x quits (~xff0x@2001:1a81:52ef:4b00:7f05:4372:d82:2cde) (Ping timeout: 264 seconds)
02:23:45 × Sonderblade quits (~helloman@94.191.152.155.mobile.tre.se) (Quit: Konversation terminated!)
02:24:38 ezrakilty joins (~ezrakilty@75-172-120-225.tukw.qwest.net)
02:24:56 xff0x joins (~xff0x@2001:1a81:5205:c800:b3d4:a0d9:be65:9c7a)
02:26:11 <zebrag> monochrom: Obviously it worked immediately. What was I thinking.
02:26:57 <monochrom> :)
02:27:44 × Lord_of_Life quits (~Lord@unaffiliated/lord-of-life/x-0885362) (Ping timeout: 240 seconds)
02:29:06 <glguy> Asking because I made that package because about 13 years ago (don't remember exactly) GHC didn't have the UTF-8 support it has now
02:29:34 <glguy> But I haven't needed it for a long time
02:30:36 Lord_of_Life joins (~Lord@unaffiliated/lord-of-life/x-0885362)
02:33:47 × m0rphism1 quits (~m0rphism@HSI-KBW-085-216-104-059.hsi.kabelbw.de) (Ping timeout: 260 seconds)
02:33:53 pako joins (~pako@dynamic-089-014-070-018.89.14.pool.telefonica.de)
02:35:40 × Cthalupa quits (~cthulhu@47.186.47.75) (Ping timeout: 256 seconds)
02:36:36 × pako8128 quits (~pako@dynamic-078-054-253-137.78.54.pool.telefonica.de) (Ping timeout: 272 seconds)
02:37:00 ukari joins (~ukari@unaffiliated/ukari)
02:39:38 <kw> @glguy To combine normalized UTF-8 encoded string without denormalizing them.
02:39:38 <lambdabot> Unknown command, try @list
02:40:45 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 264 seconds)
02:44:08 × jess quits (jess@freenode/staff/jess) (Quit: Leaving)
02:47:30 toorevitimirp joins (~tooreviti@117.182.180.8)
02:49:05 × nineonine quits (~nineonine@50.216.62.2) (Ping timeout: 240 seconds)
02:50:16 <kw> Guess the simple solution is to make a concrete newtype.
02:50:22 × kw quits (d4662d5d@212.102.45.93) (Quit: Connection closed)
02:51:56 × elfets quits (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Quit: Leaving)
02:52:09 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
02:52:14 <zebrag> The functor represented by `C(_,Bool)` must be the functor mapping `a` to the set of subsets of `a`.
02:53:45 <zebrag> Which shouldn't be an algebraic type though
02:55:26 elliott_ joins (~elliott@pool-108-51-101-42.washdc.fios.verizon.net)
02:56:57 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 264 seconds)
02:57:25 × acarrico quits (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net) (Ping timeout: 240 seconds)
02:58:08 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
02:59:17 × ezrakilty quits (~ezrakilty@75-172-120-225.tukw.qwest.net) ()
03:02:26 ezrakilty joins (~ezrakilty@75-172-120-225.tukw.qwest.net)
03:02:49 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 256 seconds)
03:06:22 × theDon quits (~td@muedsl-82-207-238-061.citykom.de) (Ping timeout: 272 seconds)
03:06:25 tromp joins (~tromp@dhcp-077-249-230-040.chello.nl)
03:06:46 aggin joins (~ecm@103.88.87.30)
03:06:47 justanotheruser joins (~justanoth@unaffiliated/justanotheruser)
03:07:34 theDon joins (~td@muedsl-82-207-238-226.citykom.de)
03:10:33 × tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 246 seconds)
03:11:07 Cthalupa joins (~cthulhu@47.186.47.75)
03:11:39 × alx741 quits (~alx741@186.178.110.250) (Quit: alx741)
03:12:11 × nbloomf quits (~nbloomf@2600:1700:ad14:3020:c10f:727f:2e7e:4a35) (Quit: My MacBook has gone to sleep. ZZZzzz…)
03:13:04 alx741 joins (~alx741@186.178.110.250)
03:16:21 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
03:17:46 × Ariakenom quits (~Ariakenom@2001:9b1:efb:fc00:44db:e41f:74ac:6bd3) (Quit: Leaving)
03:20:15 nbloomf joins (~nbloomf@2600:1700:ad14:3020:21c2:273f:6df2:aa8)
03:22:49 × heatsink quits (~heatsink@2600:1700:bef1:5e10:d581:1bcd:84fc:c483) (Remote host closed the connection)
03:22:50 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 272 seconds)
03:23:03 ps-auxw joins (~arneb@p548d56ce.dip0.t-ipconnect.de)
03:23:48 × Sheilong quits (uid293653@gateway/web/irccloud.com/x-rmqlmapjlqmrixrd) ()
03:23:52 × Wuzzy quits (~Wuzzy@p57a2f142.dip0.t-ipconnect.de) (Quit: Wuzzy)
03:25:44 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
03:28:06 × slack1256 quits (~slack1256@dvc-186-186-101-190.movil.vtr.net) (Remote host closed the connection)
03:29:24 heatsink joins (~heatsink@2600:1700:bef1:5e10:d581:1bcd:84fc:c483)
03:30:38 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 256 seconds)
03:30:59 × nbloomf quits (~nbloomf@2600:1700:ad14:3020:21c2:273f:6df2:aa8) (Quit: My MacBook has gone to sleep. ZZZzzz…)
03:31:33 justsomeguy joins (~justsomeg@unaffiliated/--/x-3805311)
03:33:23 FinnElija joins (~finn_elij@gateway/tor-sasl/finnelija/x-67402716)
03:33:23 finn_elija is now known as Guest83086
03:33:23 FinnElija is now known as finn_elija
03:33:29 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
03:36:36 <koz_> Does parsec not support GHC 9?
03:37:07 × Guest83086 quits (~finn_elij@gateway/tor-sasl/finnelija/x-67402716) (Ping timeout: 268 seconds)
03:37:16 <koz_> According to the cabal file on its Github, it should, but according to Hackage, it doesn't.
03:38:21 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 264 seconds)
03:39:23 soft-warm joins (4408f588@ip68-8-245-136.sd.sd.cox.net)
03:41:57 × polyphem quits (~p0lyph3m@2a02:810d:640:776c:76d7:55f6:f85b:c889) (Ping timeout: 265 seconds)
03:45:06 × zebrag quits (~inkbottle@aaubervilliers-654-1-112-148.w86-198.abo.wanadoo.fr) (Quit: Konversation terminated!)
03:45:17 _vaibhavingale_ joins (~Adium@203.188.228.9)
03:46:24 <iqubic> Wait?!? GHC 9 exists now?
03:47:06 <koz_> iqubic: It's been out for a while.
03:47:24 × ezrakilty quits (~ezrakilty@75-172-120-225.tukw.qwest.net) (Remote host closed the connection)
03:47:36 <koz_> https://www.haskell.org/ghc/blog/20210204-ghc-9.0.1-released.html
03:47:53 <iqubic> that's says it was released on the 4th of February
03:48:08 <koz_> I would class nearly a week as 'a while'.
03:48:35 polyphem joins (~p0lyph3m@2a02:810d:640:776c:76d7:55f6:f85b:c889)
03:49:08 × Aquazi quits (uid312403@gateway/web/irccloud.com/x-gflzulzoexgyhpxa) (Quit: Connection closed for inactivity)
03:49:24 ezrakilty joins (~ezrakilty@75-172-120-225.tukw.qwest.net)
03:49:26 × gabiruh quits (~gabiruh@vps19177.publiccloud.com.br) (Quit: ZNC 1.7.5 - https://znc.in)
03:49:30 xcmw joins (~textual@dyn-72-33-2-47.uwnet.wisc.edu)
03:49:36 × _vaibhavingale_ quits (~Adium@203.188.228.9) (Ping timeout: 240 seconds)
03:49:41 gabiruh joins (~gabiruh@vps19177.publiccloud.com.br)
03:50:28 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
03:52:51 plutoniix joins (~q@184.82.197.182)
03:53:49 × ezrakilty quits (~ezrakilty@75-172-120-225.tukw.qwest.net) (Ping timeout: 256 seconds)
03:54:56 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 240 seconds)
03:56:20 <jared-w> It's not on chocolatey, and cabal v3.4 isn't even out yet. It's barely out and still in an interim state of "released", really. Stackage LTS also only got support for GHC 8.10... two weeks ago.
03:56:45 <koz_> What Stackage do and don't do shouldn't be relevant on this. Their LTSes trail anyway.
03:57:12 <koz_> Good to know it's not on Chocolatey though.
03:59:00 × Cthalupa quits (~cthulhu@47.186.47.75) (Quit: ZNC 1.6.6+deb1ubuntu0.2 - http://znc.in)
03:59:08 ezrakilty joins (~ezrakilty@75-172-120-225.tukw.qwest.net)
04:00:00 <davean> jared-w: its in the review queue on chocolatey
04:00:05 <davean> jared-w: we have to wait for their processing
04:00:35 tromp joins (~tromp@dhcp-077-249-230-040.chello.nl)
04:00:41 <jared-w> Really I'm just saying that "a while" is quite relative :)
04:01:17 <koz_> jared-w: I never implied otherwise. Hence the part where I said "_I_ would class ...".
04:01:17 <jared-w> davean: ah sweet. I didn't realize it was in the review queue. Is there a way to view that if you don't maintain the package?
04:01:28 <davean> I don't believe so
04:02:43 <jared-w> Ah well. Not the end of the world. I just merged GHC 9.0 support to the haskell/actions/setup github action today and ended up hacking in a temporary alias of '9.0.1 -> 9.0.1-rc5' for Chocolatey since I had no idea how long it would be until it was available
04:03:08 × jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
04:03:11 <jared-w> koz_: that's fair. I read that as a "royal I" at first for some reason
04:03:11 <davean> as a backup maintainer they spam me constantly though!
04:03:24 <koz_> jared-w: Do you know much about Github Actions? I'm getting weird caching fails and would appreciate the input of someone who knows what they're on about.
04:03:27 × mrchampion quits (~mrchampio@38.18.109.23) (Ping timeout: 256 seconds)
04:03:42 <jared-w> I wrote that action so I can probably help you out :p got a link?
04:03:53 <koz_> https://github.com/kozross/text-ascii/blob/dev/.github/workflows/haskell.yml
04:03:54 jpds joins (~jpds@gateway/tor-sasl/jpds)
04:04:15 <koz_> This is heavily cribbed and hacky, but basically, I'm getting caching of the deps for text-ascii, but _not_ cabal-docspec.
04:04:28 <koz_> This causes build times to balloon from ~6m to ~16m.
04:04:45 <jared-w> davean: of course! It's not a true enterprise project if they're not dumping too many emails on those who don't need it and too few emails on those who do :p
04:05:01 mrchampion joins (~mrchampio@38.18.109.23)
04:05:12 × tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 256 seconds)
04:05:15 <koz_> jared-w: It's all about that in Windows (C) (R) Visual (C) (R) Open Source (C) (R)
04:05:27 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
04:05:46 × elliott_ quits (~elliott@pool-108-51-101-42.washdc.fios.verizon.net) (Ping timeout: 256 seconds)
04:05:58 <jared-w> Embrace Extend MakeItShite right? Is that how it goes?
04:06:10 <koz_> jared-w: They're ahead of the curve then.
04:07:34 <jared-w> koz_: you're the first person I've ever seen to actually use the cabal-exe output from haskell actions.
04:07:51 <koz_> jared-w: Because otherwise, it's not findable in the subdir.
04:07:54 Cthalupa joins (~cthulhu@47.186.47.75)
04:07:55 <koz_> (I tried)
04:08:20 <jared-w> ... odd. It should, theoretically, be just magically available in your path. Emphasis on theory
04:08:39 <koz_> Yeah, in theory a lot of things should happen.
04:09:00 <koz_> Such as 'cabal new-install not blowing up due to symlinking by default on a platform that doesn't support it and not installing into cabal's store'.
04:09:12 <koz_> But yet those are just two of the gorehacks I've had to deploy.
04:09:40 <koz_> There's a reason why every step marked 'if: runner.os == 'Windows' looks like a fever dream.
04:10:05 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 240 seconds)
04:10:31 <davean> I really wish cabal would be willing to just tell me the executable's path, instead I use install as a hack
04:10:53 <jared-w> Interesting. So the first thing that jumps out at me is the cabal cache step. You cache the cabal store and the --only-dependencies step says "up to date" (which is expected with a full cache hit and no "weird" dependencies)
04:11:21 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
04:11:24 <koz_> jared-w: Yeah, and the cache keeps saying it hits, but the cabal-docspec rebuild triggers anyway.
04:11:42 <koz_> That's why I can't make heads or tails of this.
04:12:09 <jared-w> However, new-install is not actually equivalent to new-build. It uses the result of v2-sdist to build and has constantly caused me headaches, spurious rebuilds, and such
04:12:25 <koz_> Can you suggest how I can do this with new-build instead?
04:12:43 <koz_> As long as I can _somehow_ reliably get the executable path, I'm fine with whatever gory hacks.
04:13:09 <jared-w> cabal-docspec is also locally vendored onto the disk so it'll always appear in `dist-newstyle` rather than the global store. You'd have to use remote-repository-http (or whatever the fuck it is) to actually get it to build and get cached in cabal's global store.
04:13:29 <jared-w> Even then, that behavior is only reliable with cabal v3.4. *sigh*
04:13:41 <koz_> Is latest not 3.4 as-yet?
04:14:11 <koz_> remote-repository-http refers to what sorry?
04:14:31 <jared-w> nope. It's v3.2 because v3.4 is not released yet and if I defaulted it to 3.4 it would start downloading cabal for everyone on linux and macOS from oleg's personal server and completely DDOS the shit out of it and break github actions for 90%+ of people out there
04:15:18 <jared-w> sorry, I meant `source-repository-package` it's a horribly unintuitive name and I can never remember it: https://cabal.readthedocs.io/en/3.4/cabal-project.html#specifying-packages-from-remote-version-control-locations
04:15:37 <koz_> jared-w: Wait, how would I use source-repository-package in this case?
04:15:45 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 240 seconds)
04:16:17 <koz_> Would I need a cabal.project spelling this in text-ascii's repo?
04:17:02 × Tario quits (~Tario@201.192.165.173) (Read error: Connection reset by peer)
04:17:23 <jared-w> https://github.com/kozross/text-ascii/blob/dev/.github/workflows/haskell.yml#L49 if you add "dist-newstyle" to the cache here you should hopefully start getting fuller cache hits for cabal-docspec. Yes, text-ascii would have a cabal.project specifying cabal-docspec as a source-repository-package. I've seen this commonly done by creating the cabal.project in CI (or appending to it) if you don't need it during local dev
04:17:31 nineonine joins (~nineonine@50.216.62.2)
04:17:50 <koz_> Also, I now realize who you are, and your avvy looks _excellent_. :P
04:18:11 <koz_> Let me try the dist-newstyle addition.
04:18:16 <jared-w> *glorious hair flip* aww shucks
04:18:23 <koz_> Just like, that alone? I don't need to do any ./ or whatevs?
04:18:32 <koz_> And dist-newstyle would be per-directory no?
04:18:49 <koz_> So I'd also need to cache cabal-docspec's one?
04:19:07 tsrt^ joins (tsrt@ip98-184-89-2.mc.at.cox.net)
04:20:31 <jared-w> Depends on where the cabal.project is, what directory you're in, etc... But should be. If you create a cabal.project file in the root of text-ascii, it might cause cabal-docspec's dist-newstyle directory to get merged in with text-ascii's dist-newstyle...
04:20:41 elliott_ joins (~elliott@pool-108-51-101-42.washdc.fios.verizon.net)
04:20:57 <koz_> OK, let me try a double-cache of the two dist-newstyles. If that works, I'm happy _enough_.
04:21:11 <koz_> Then I'll do the source-repository-package once 3.4 hits.
04:21:15 × alx741 quits (~alx741@186.178.110.250) (Quit: alx741)
04:21:24 <koz_> Thanks so much for that - it makes about a tonne more sense.
04:21:57 × natim87 quits (sid286962@gateway/web/irccloud.com/x-rpeojspfwlsgtgel) (Ping timeout: 246 seconds)
04:22:12 <jared-w> It's worth trying the source-repository-package before 3.4 in case it actually works.
04:22:25 × sz0 quits (uid110435@gateway/web/irccloud.com/x-qrgmlzrbtxtcmxsq) (Ping timeout: 240 seconds)
04:22:26 <koz_> This is an easier hack, so I'll try it first.
04:22:32 natim87 joins (sid286962@gateway/web/irccloud.com/x-hegvxwwmkdvahvbd)
04:22:33 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
04:22:37 × bradparker quits (sid262931@gateway/web/irccloud.com/x-xlkdkvgsgbiosfib) (Read error: Connection reset by peer)
04:22:37 × lally quits (sid388228@gateway/web/irccloud.com/x-cekrhietwembxiah) (Read error: Connection reset by peer)
04:22:38 × SrPx quits (sid108780@gateway/web/irccloud.com/x-opkcxtlcwwtxbdlk) (Read error: Connection reset by peer)
04:22:47 × ryjm quits (sid383513@gateway/web/irccloud.com/x-worjbcdglldngruf) (Read error: Connection reset by peer)
04:22:49 bradparker joins (sid262931@gateway/web/irccloud.com/x-aoftfgwjjjtthnkw)
04:22:54 lally joins (sid388228@gateway/web/irccloud.com/x-atokysbqldyuqfqn)
04:22:56 <jared-w> And if cabal-install is still causing spurious recompiles or cache miss nonsense due to it being ad-hoc/ill-defined and impossible to reason about, the "recommended" method is using `find` on dist-newstyle
04:22:57 ryjm joins (sid383513@gateway/web/irccloud.com/x-nwcdeqfygfvvwnek)
04:23:05 <koz_> Wait srsly?
04:23:09 <koz_> I guess I can do that too.
04:23:11 <jared-w> yeah...
04:23:14 <koz_> But let's see if the double-caching works.
04:23:22 SrPx joins (sid108780@gateway/web/irccloud.com/x-zthkqwhpgrfjlwua)
04:23:36 sz0 joins (uid110435@gateway/web/irccloud.com/x-ooxwbbjjmicufxrr)
04:23:46 × ezrakilty quits (~ezrakilty@75-172-120-225.tukw.qwest.net) (Remote host closed the connection)
04:24:07 × Kronic quits (sid480486@gateway/web/irccloud.com/x-cpssanljzejjvygk) (Read error: Connection reset by peer)
04:24:17 Kronic joins (sid480486@gateway/web/irccloud.com/x-eptmlncvrvheldhb)
04:24:18 × alanz quits (sid110616@gateway/web/irccloud.com/x-tnlfxjozlahhtotx) (Read error: Connection reset by peer)
04:24:29 alanz_ joins (sid110616@gateway/web/irccloud.com/x-jhotivqlnsrcfxyh)
04:24:32 <jared-w> You can also replace the dev flag with a cabal.project file that specifies -Werror and it'll automatically get ignored in hackage because hackage doesn't care about your cabal.project opinions
04:24:53 <koz_> jared-w: I thought so too, then when I did 'cabal upload', it yelled at me.
04:24:58 <koz_> Ah, wait.
04:25:01 <koz_> Lol, OK then.
04:25:03 <koz_> Convenient.
04:25:09 <jared-w> weird... `cabal.project.local` would *definitely* do it then
04:25:27 <koz_> I think it was the cabal file, not the cabal.project file, it yelled about.
04:25:33 <koz_> Noted though - I might just do that.
04:25:37 da39a3ee5e6b4b0d joins (~da39a3ee5@2403:6200:8876:8dc5:1d88:1b78:e5ab:dd70)
04:27:25 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 272 seconds)
04:27:51 <davean> ctrl-Iyah,spaceit'll yell about the .cabal
04:28:54 × djellemah quits (~djellemah@2601:5c2:100:96c:e008:b638:39fe:6a54) (Quit: Leaving)
04:30:22 _vaibhavingale_ joins (~Adium@203.188.228.9)
04:30:55 <jared-w> All of the haskell projects I do CI for use find. `find dist-newstyle -name cabal-docspec -type f` or for windows `find dist-newstyle -type f -name cabal-docspec.exe`
04:31:43 <jared-w> https://github.com/haskell/haskell-language-server/blob/master/.github/workflows/build.yml#L123
04:31:51 <koz_> I'll keep that in mind for the future then.
04:32:19 <jared-w> generally speaking the haskell-language-server CI files have ran headfirst into every single bullshit question you could ever have about wrangling cabal + CI together manually and solved it somehow
04:33:11 <koz_> LOL
04:33:27 <koz_> Good to know I'm not alone. I was scratching my head about this stuff a _lot_ last night.
04:33:42 petersen_ joins (~petersen@redhat/juhp)
04:35:14 × petersen quits (~petersen@redhat/juhp) (Ping timeout: 256 seconds)
04:35:18 petersen_ is now known as petersen
04:35:52 Tario joins (~Tario@201.192.165.173)
04:36:34 <jared-w> pffh, never mind on the cabal.project with cabal-extras. It won't work because it's missing peura.
04:37:00 <koz_> Lol, noted.
04:37:26 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
04:37:45 <jared-w> and cabal-docspec is the reason you needed to run cabal configure -w path/to/ghc
04:37:47 × alanz_ quits (sid110616@gateway/web/irccloud.com/x-jhotivqlnsrcfxyh) (*.net *.split)
04:37:47 × natim87 quits (sid286962@gateway/web/irccloud.com/x-hegvxwwmkdvahvbd) (*.net *.split)
04:37:48 × arw quits (~arw@impulse.informatik.uni-erlangen.de) (*.net *.split)
04:37:48 × berberman quits (~berberman@unaffiliated/berberman) (*.net *.split)
04:37:48 × Sgeo quits (~Sgeo@ool-18b98aa4.dyn.optonline.net) (*.net *.split)
04:37:48 × sqrt2 quits (~ben@unaffiliated/sqrt2) (*.net *.split)
04:37:48 × Taneb quits (~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0) (*.net *.split)
04:37:48 × unlink2 quits (~unlink2@p200300ebcf241100fcf67590445edc70.dip0.t-ipconnect.de) (*.net *.split)
04:37:48 × lemmih quits (~lemmih@2406:3003:2072:44:f7a7:6ac6:bdf9:4d40) (*.net *.split)
04:37:52 × my_name_is_not_j quits (mynameisno@gateway/shell/matrix.org/x-vnqnlgicwqzslism) (*.net *.split)
04:37:52 × jesser[m] quits (jessermatr@gateway/shell/matrix.org/x-dbgtrdoqxzqcpezr) (*.net *.split)
04:37:52 × NinjaTrappeur quits (~ninja@unaffiliated/ninjatrappeur) (*.net *.split)
04:37:52 × Tesseraction quits (~Tesseract@unaffiliated/tesseraction) (*.net *.split)
04:37:52 × ByronJohnson quits (~bairyn@unaffiliated/bob0) (*.net *.split)
04:37:52 × jophish quits (~jophish@2400:8901::f03c:91ff:fe39:7a9) (*.net *.split)
04:37:52 × bgamari quits (~bgamari@2001:470:e438::1) (*.net *.split)
04:37:52 × l8star quits (~l8star@business-90-187-113-149.pool2.vodafone-ip.de) (*.net *.split)
04:37:52 × carldd11 quits (~carldd@90-224-49-113-no56.tbcn.telia.com) (*.net *.split)
04:37:53 × lortabac quits (~lortabac@51.158.65.124) (*.net *.split)
04:37:53 × TommyC quits (~TommyC@unaffiliated/sepulchralbloom) (*.net *.split)
04:37:53 × meck quits (~meck@li1809-18.members.linode.com) (*.net *.split)
04:37:53 × hackage quits (mniip@haskell/bot/hackage) (*.net *.split)
04:37:53 × toppler quits (~user@mtop.default.momentoftop.uk0.bigv.io) (*.net *.split)
04:37:53 × kav quits (~kari@dsl-hkibng42-56733f-225.dhcp.inet.fi) (*.net *.split)
04:37:53 × shadowdaemon quits (~user@unaffiliated/shadowdaemon) (*.net *.split)
04:37:54 × dragestil quits (~quassel@fsf/member/dragestil) (*.net *.split)
04:37:54 × a3f quits (~a3f@chimeria.ext.pengutronix.de) (*.net *.split)
04:37:54 × energizer quits (~energizer@unaffiliated/energizer) (*.net *.split)
04:37:54 × shapr quits (~shapr@haskell/developer/shapr) (*.net *.split)
04:37:54 × fiddlerwoaroof quits (~fiddlerwo@unaffiliated/fiddlerwoaroof) (*.net *.split)
04:37:54 × vimto quits (~vimto@unaffiliated/vimto) (*.net *.split)
04:37:54 × tomferon[m] quits (tomferonmo@gateway/shell/matrix.org/x-uucsbodegjaqlecd) (*.net *.split)
04:37:56 <koz_> Explain?
04:37:57 <jared-w> (I just tried it locally)
04:37:58 bitmagie joins (~Thunderbi@200116b8062cd500ec89398f450f3631.dip.versatel-1u1.de)
04:38:37 ezrakilty joins (~ezrakilty@75-172-120-225.tukw.qwest.net)
04:39:14 <jared-w> cabal-extras is cloned to disk. So the `cabal.project` file is available at the git root and becomes the source of truth even in the cabal-docspec subdirectory. The cabal.project file specifies `with-compiler: ghc-8.8.4`
04:39:29 <jared-w> So cabal looks for the binary with the literal name `ghc-8.8.4` and falls over because it doesn't exist
04:39:45 <koz_> Oh ffs...
04:39:56 <koz_> That's an excellent catch.
04:40:09 × greymalkin quits (~greymalki@199.180.249.79) (Ping timeout: 246 seconds)
04:40:09 × deu quits (de@uio.re) (Ping timeout: 246 seconds)
04:40:12 <koz_> I missed that because I don't have global GHCs at all on my dev machine.
04:40:17 <koz_> (so I -w everything)
04:40:45 × glowcoil quits (sid3405@gateway/web/irccloud.com/x-yeuuyflfecrkbktw) (Ping timeout: 264 seconds)
04:40:45 × ocharles quits (sid30093@musicbrainz/user/ocharles) (Ping timeout: 264 seconds)
04:41:11 <jared-w> running cabal-configure -w ... creates cabal.project.local with the contents "with-compiler: /absolute/path/to/compiler" and... that'll work obviously since you're using the output of the haskell setup action and I always provide absolute paths exactly to prevent this bullshit :)
04:41:30 ocharles joins (sid30093@musicbrainz/user/ocharles)
04:41:34 <koz_> Well, this is good to know.
04:41:38 glowcoil joins (sid3405@gateway/web/irccloud.com/x-aqtyexznctdwfsyn)
04:41:44 <koz_> (and I appreciate both you and your work)
04:41:50 <jared-w> (you're welcome!)
04:42:25 alanz_ joins (sid110616@gateway/web/irccloud.com/x-jhotivqlnsrcfxyh)
04:42:25 natim87 joins (sid286962@gateway/web/irccloud.com/x-hegvxwwmkdvahvbd)
04:42:25 arw joins (~arw@impulse.informatik.uni-erlangen.de)
04:42:25 berberman joins (~berberman@unaffiliated/berberman)
04:42:25 Sgeo joins (~Sgeo@ool-18b98aa4.dyn.optonline.net)
04:42:25 sqrt2 joins (~ben@unaffiliated/sqrt2)
04:42:25 Taneb joins (~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0)
04:42:25 unlink2 joins (~unlink2@p200300ebcf241100fcf67590445edc70.dip0.t-ipconnect.de)
04:42:25 lemmih joins (~lemmih@2406:3003:2072:44:f7a7:6ac6:bdf9:4d40)
04:42:25 my_name_is_not_j joins (mynameisno@gateway/shell/matrix.org/x-vnqnlgicwqzslism)
04:42:25 jesser[m] joins (jessermatr@gateway/shell/matrix.org/x-dbgtrdoqxzqcpezr)
04:42:25 NinjaTrappeur joins (~ninja@unaffiliated/ninjatrappeur)
04:42:25 Tesseraction joins (~Tesseract@unaffiliated/tesseraction)
04:42:25 ByronJohnson joins (~bairyn@unaffiliated/bob0)
04:42:25 jophish joins (~jophish@2400:8901::f03c:91ff:fe39:7a9)
04:42:25 bgamari joins (~bgamari@2001:470:e438::1)
04:42:25 l8star joins (~l8star@business-90-187-113-149.pool2.vodafone-ip.de)
04:42:25 carldd11 joins (~carldd@90-224-49-113-no56.tbcn.telia.com)
04:42:25 lortabac joins (~lortabac@51.158.65.124)
04:42:25 TommyC joins (~TommyC@unaffiliated/sepulchralbloom)
04:42:25 meck joins (~meck@li1809-18.members.linode.com)
04:42:25 hackage joins (mniip@haskell/bot/hackage)
04:42:25 toppler joins (~user@mtop.default.momentoftop.uk0.bigv.io)
04:42:25 kav joins (~kari@dsl-hkibng42-56733f-225.dhcp.inet.fi)
04:42:25 shadowdaemon joins (~user@unaffiliated/shadowdaemon)
04:42:25 dragestil joins (~quassel@fsf/member/dragestil)
04:42:25 a3f joins (~a3f@chimeria.ext.pengutronix.de)
04:42:25 energizer joins (~energizer@unaffiliated/energizer)
04:42:25 shapr joins (~shapr@haskell/developer/shapr)
04:42:25 fiddlerwoaroof joins (~fiddlerwo@unaffiliated/fiddlerwoaroof)
04:42:25 vimto joins (~vimto@unaffiliated/vimto)
04:42:25 tomferon[m] joins (tomferonmo@gateway/shell/matrix.org/x-uucsbodegjaqlecd)
04:42:39 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 265 seconds)
04:42:47 deu joins (de@uio.re)
04:43:14 <koz_> OK, so that took about 20m. Let's see if we can reduce this.
04:43:49 × machinedgod quits (~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 265 seconds)
04:43:55 greymalkin joins (~greymalki@199.180.249.79)
04:43:56 <jared-w> One thing you could do if you're feeling a bit hackish is to create a fake release in github for your repo that contains the binaries for cabal-docspec (on windows/linux/macos). Just upload-artifact things and then add it to a release manually rather than trying to make the release in CI
04:44:28 <jared-w> Then you have a stable URL you can use to just curl cabal-docspec down with and you get to completely avoid worrying about it for... a while
04:44:42 × kiltzman quits (~k1ltzman@5.206.224.243) (Ping timeout: 246 seconds)
04:45:05 × pedrorubster[m] quits (pedrorubst@gateway/shell/matrix.org/x-bpakrmgmfevghdya) (Ping timeout: 240 seconds)
04:45:15 × jchia[m] quits (jchiamatri@gateway/shell/matrix.org/x-bjjkanbayhvdzkzv) (Ping timeout: 246 seconds)
04:45:15 × shutendoji[m] quits (shutendoji@gateway/shell/matrix.org/x-sdwahbetectznfxu) (Ping timeout: 246 seconds)
04:45:25 × ichor[m] quits (hakonmatri@gateway/shell/matrix.org/x-djhilvmxggxanqjp) (Ping timeout: 268 seconds)
04:45:25 × Hatsue[m] quits (berbermanm@gateway/shell/matrix.org/x-snmzkslesmtjmnqg) (Ping timeout: 268 seconds)
04:45:25 × hsiktas[m] quits (hsiktasmat@gateway/shell/matrix.org/x-xlxkjvleuaawxqjw) (Ping timeout: 268 seconds)
04:45:26 × simara[m] quits (simaramatr@gateway/shell/matrix.org/x-qirnwrgkrbmjerbr) (Ping timeout: 240 seconds)
04:45:26 × ciderpunx[m] quits (ciderpunxm@gateway/shell/matrix.org/x-sjvasyzpyhaulqpa) (Ping timeout: 240 seconds)
04:45:26 × CaptainYukinoshi quits (captain-yu@gateway/shell/matrix.org/x-ztthglvoahyypnfc) (Ping timeout: 240 seconds)
04:45:26 × Lurkki[m] quits (lurkkipriv@gateway/shell/matrix.org/x-umwxrjhapmaeefqm) (Ping timeout: 240 seconds)
04:45:26 × doct0rhu[m] quits (doct0rhumo@gateway/shell/matrix.org/x-ofyrjwtqbqdwdupe) (Ping timeout: 240 seconds)
04:45:33 × nckx quits (~nckx@tobias.gr) (Ping timeout: 264 seconds)
04:45:35 × utdemir[m] quits (utdemirmat@gateway/shell/matrix.org/x-yopopecqjcrhmdog) (Ping timeout: 246 seconds)
04:45:36 × jtojnar quits (jtojnarmat@gateway/shell/matrix.org/x-ngotkqjfbvgdykdu) (Ping timeout: 246 seconds)
04:45:37 × Ericson2314 quits (ericson231@gateway/shell/matrix.org/x-ralriddjouctybzu) (Ping timeout: 246 seconds)
04:45:37 × michaelpj quits (michaelpjm@gateway/shell/matrix.org/x-whiwmypnkfvazrga) (Ping timeout: 246 seconds)
04:45:37 × fgaz quits (fgazmatrix@gateway/shell/matrix.org/x-furystompxbufryx) (Ping timeout: 246 seconds)
04:45:38 × dyniec[m] quits (dyniecmatr@gateway/shell/matrix.org/x-foygrhwmdcxagcno) (Ping timeout: 244 seconds)
04:45:38 × Sarievo[m] quits (sarievoale@gateway/shell/matrix.org/x-namfbxbfvsboedcp) (Ping timeout: 264 seconds)
04:45:40 × domenkozar[m] quits (domenkozar@NixOS/user/domenkozar) (Ping timeout: 260 seconds)
04:45:42 × Tesseraction quits (~Tesseract@unaffiliated/tesseraction) (Ping timeout: 258 seconds)
04:45:46 × AmitLevy[m] quits (amitmostly@gateway/shell/matrix.org/x-pxqdrnndkkwloeds) (Ping timeout: 265 seconds)
04:45:46 × shieru[m] quits (shierualet@gateway/shell/matrix.org/x-lqgtkrclbwefduih) (Ping timeout: 265 seconds)
04:45:46 × VarikValefor[m] quits (varikvalef@gateway/shell/matrix.org/x-lcjgottvbjruetaa) (Ping timeout: 265 seconds)
04:45:49 <koz_> OK, something really wacky happened, but it's on a Mac runner, and they have weird nondeterminism, so I'll see if I can replicate.
04:45:56 × alar[m] quits (alarmxalat@gateway/shell/matrix.org/x-nrpvsrskbirkqhpn) (Ping timeout: 240 seconds)
04:45:56 × Lurkki[m]1 quits (lurkkifene@gateway/shell/matrix.org/x-xsvytuyzjrbkvrxd) (Ping timeout: 240 seconds)
04:45:57 nckx joins (~nckx@tobias.gr)
04:45:58 × kadoban quits (kadobanmat@gateway/shell/matrix.org/x-pspisfwsimiefbpv) (Ping timeout: 246 seconds)
04:45:58 × ThaEwat quits (thaewraptm@gateway/shell/matrix.org/x-qjmuvzvmwrjauzqx) (Ping timeout: 246 seconds)
04:45:59 × psamim quits (samimpmatr@gateway/shell/matrix.org/x-fpxgdokdscwzxwdk) (Ping timeout: 240 seconds)
04:46:05 × speakerspivakeem quits (speakerdea@gateway/shell/matrix.org/x-cmnemncbmmqlvaon) (Ping timeout: 240 seconds)
04:46:05 × toasty_avocado[m quits (toastyavoc@gateway/shell/matrix.org/x-twwexxfwljxysnrf) (Ping timeout: 240 seconds)
04:46:06 × sramsay64[m] quits (sramsay64p@gateway/shell/matrix.org/x-runkjaqtmogcvkup) (Ping timeout: 240 seconds)
04:46:06 × joshualit140[m] quits (joshualit1@gateway/shell/matrix.org/x-eoedricgxhxvrzgd) (Ping timeout: 240 seconds)
04:46:10 × acdsystemliorg[m quits (acdsysteml@gateway/shell/matrix.org/x-fdbespuaoazmlwtb) (Ping timeout: 244 seconds)
04:46:10 × Vanilla[m] quits (danielm14@gateway/shell/matrix.org/x-satoepekudcabjdh) (Ping timeout: 244 seconds)
04:46:12 × brightly-salty[m quits (brightly-s@gateway/shell/matrix.org/x-aevagfehcuqznydn) (Ping timeout: 260 seconds)
04:46:19 × mentaal[m] quits (mentaalmat@gateway/shell/matrix.org/x-ttvtfmzvnsutltyg) (Ping timeout: 272 seconds)
04:46:23 × chrisdotcode quits (~chrisdotc@unaffiliated/chrisdotcode) (Quit: rip)
04:46:24 × darkcodi[m] quits (darkcodima@gateway/shell/matrix.org/x-bidbqzmubwdqapiu) (Ping timeout: 240 seconds)
04:46:24 × alexfmpe quits (alexfmpema@gateway/shell/matrix.org/x-abgnzchjxursvaze) (Ping timeout: 240 seconds)
04:46:24 × mly[m] quits (mlydisenco@gateway/shell/matrix.org/x-tqaisjvnumqndxtu) (Ping timeout: 240 seconds)
04:46:26 × maerwald[m] quits (maerwaldma@gateway/shell/matrix.org/x-eodvasdpkhwznfdo) (Ping timeout: 240 seconds)
04:46:26 × themsay[m] quits (themsaymat@gateway/shell/matrix.org/x-gkzeqzaxayzxfzuq) (Ping timeout: 240 seconds)
04:46:26 × unclechu quits (unclechuma@gateway/shell/matrix.org/x-iovffeyyfyyigcvu) (Ping timeout: 240 seconds)
04:46:27 × Tario quits (~Tario@201.192.165.173) (Ping timeout: 246 seconds)
04:46:29 Tesseraction joins (~Tesseract@unaffiliated/tesseraction)
04:46:35 × LiyangHU[m] quits (liyangmatr@gateway/shell/matrix.org/x-khsquopybxsinqvm) (Ping timeout: 260 seconds)
04:46:36 × noIOBeforeBedtim quits (dissatisfi@gateway/shell/matrix.org/x-bwslpnirznlxovjv) (Ping timeout: 260 seconds)
04:46:36 × maralorn quits (maralornma@gateway/shell/matrix.org/x-zziavrugvowqydzv) (Ping timeout: 260 seconds)
04:46:39 × MrMuffles[m] quits (mrmufflesm@gateway/shell/matrix.org/x-xkznhxdclgbgmodf) (Ping timeout: 268 seconds)
04:46:40 × jerin quits (jerinmatri@gateway/shell/matrix.org/x-stcjgbkwbrmjmqpx) (Ping timeout: 244 seconds)
04:46:43 × enya[m] quits (enyaismatr@gateway/shell/matrix.org/x-gzvrhyhbwatwuwxi) (Ping timeout: 265 seconds)
04:46:44 × lnxw37d4 quits (lnxw37d4ma@gateway/shell/matrix.org/x-cwjyzhxtjclzvzku) (Ping timeout: 265 seconds)
04:46:51 × tomferon[m] quits (tomferonmo@gateway/shell/matrix.org/x-uucsbodegjaqlecd) (Ping timeout: 258 seconds)
04:46:57 × the_1_[m] quits (the1matrix@gateway/shell/matrix.org/x-ajxczgizukhumbgd) (Ping timeout: 272 seconds)
04:46:57 × ManofLetters[m] quits (manoflette@gateway/shell/matrix.org/x-vwniefyivdlueqvy) (Ping timeout: 272 seconds)
04:47:04 × jeffcasavant[m] quits (jeffcasava@gateway/shell/matrix.org/x-unvspidyacclrggp) (Ping timeout: 260 seconds)
04:47:11 × lambdaclan quits (lambdaclan@gateway/shell/matrix.org/x-xeugwpfohgdfiekb) (Ping timeout: 244 seconds)
04:47:23 kiltzman joins (~k1ltzman@195.189.99.96)
04:47:26 × betrion[m] quits (betrionmat@gateway/shell/matrix.org/x-kgnrjpfwruxoxiik) (Ping timeout: 240 seconds)
04:47:26 × sigmacool[m] quits (sigmacoolm@gateway/shell/matrix.org/x-mfwznvajdbcuziir) (Ping timeout: 240 seconds)
04:47:26 × meckse[m] quits (mecksematr@gateway/shell/matrix.org/x-femtcckzddcbutta) (Ping timeout: 240 seconds)
04:47:26 × lierdakil[m] quits (lierdakilm@gateway/shell/matrix.org/x-gurcwxcramopldsp) (Ping timeout: 240 seconds)
04:47:26 × SlackIntegration quits (slackbotma@gateway/shell/matrix.org/x-oasirwcpruhpfipe) (Ping timeout: 240 seconds)
04:47:29 <koz_> OK wow.
04:47:32 × tomsen[m] quits (tfbiomatri@gateway/shell/matrix.org/x-niwtimgnotrlgrjy) (Ping timeout: 260 seconds)
04:47:32 × berberman[T] quits (berberma4@gateway/shell/matrix.org/x-dziomcyirgyogxeb) (Ping timeout: 260 seconds)
04:47:32 × rednaZ[m] quits (r3dnazmatr@gateway/shell/matrix.org/x-qgxppkedmgxzarko) (Ping timeout: 260 seconds)
04:47:32 × johnnyboy[m] quits (gifumatrix@gateway/shell/matrix.org/x-xlxusvhtslwsqtyc) (Ping timeout: 260 seconds)
04:47:32 × PotatoHatsue quits (berbermanp@gateway/shell/matrix.org/x-wtfkvxvbcyhgxsnt) (Ping timeout: 260 seconds)
04:47:41 <koz_> That caching strat? The Ubuntu runners finish in less than _2_ minutes.
04:47:41 × adziahel[m] quits (adziahelma@gateway/shell/matrix.org/x-lyfahhmkhzdtqzhg) (Ping timeout: 265 seconds)
04:47:48 <jared-w> noice
04:47:53 × phittacus quits (bklmatrixo@gateway/shell/matrix.org/x-yravhuokkwqqlmxt) (Ping timeout: 268 seconds)
04:47:53 × sawmon-and-natal quits (sawmon-and@gateway/shell/matrix.org/x-pjbeggbwxyijweot) (Ping timeout: 268 seconds)
04:47:53 × bram[m]1 quits (bramvdbnet@gateway/shell/matrix.org/x-inwpuwxpaklebhej) (Ping timeout: 268 seconds)
04:47:53 × jamesfielder[m] quits (jamesfield@gateway/shell/matrix.org/x-ggvbpzlwewptqmao) (Ping timeout: 268 seconds)
04:47:53 × xosdy[m] quits (xosdyaleth@gateway/shell/matrix.org/x-swbdkqqxwrsgwtoa) (Ping timeout: 268 seconds)
04:47:55 <koz_> 10x CI lol.
04:48:00 × jkaye[m] quits (jkayematri@gateway/shell/matrix.org/x-eqqabndmfhgdbxzf) (Ping timeout: 260 seconds)
04:48:13 × itai33[m] quits (itai33matr@gateway/shell/matrix.org/x-hpyfridophyoywyj) (Ping timeout: 272 seconds)
04:48:15 × gabiruh quits (~gabiruh@vps19177.publiccloud.com.br) (Quit: ZNC 1.7.5 - https://znc.in)
04:48:17 <jared-w> it should theoretically be as fast as incremental rebuilds locally are. In practice, a bit less, but not too bad
04:48:18 <koz_> ... Windows of course has to be the fly in the ointment.
04:48:24 × immae quits (immaematri@gateway/shell/matrix.org/x-ucfragmlhonpitiu) (Ping timeout: 240 seconds)
04:48:24 × psydruid quits (psydruidma@gateway/shell/matrix.org/x-ggzwkyqklwmrikyv) (Ping timeout: 240 seconds)
04:48:26 × oreoking[m]1 quits (oreokingma@gateway/shell/matrix.org/x-jcusdubzyhittdzg) (Ping timeout: 240 seconds)
04:48:26 <jared-w> of course!
04:48:29 gabiruh joins (~gabiruh@vps19177.publiccloud.com.br)
04:49:07 × bitonic quits (bitonicmat@gateway/shell/matrix.org/x-bmfqjnpcefzefvsd) (Ping timeout: 268 seconds)
04:49:07 × sm[m] quits (simonmicma@gateway/shell/matrix.org/x-kiopfrbrvnzymric) (Ping timeout: 268 seconds)
04:49:07 × freeman42x[m] quits (freeman42x@gateway/shell/matrix.org/x-gaahxrylbtfyhabh) (Ping timeout: 268 seconds)
04:49:07 × pqwy[m] quits (pqwymatrix@gateway/shell/matrix.org/x-shtimerywhswkdny) (Ping timeout: 268 seconds)
04:49:07 × DamienCassou quits (damiencass@gateway/shell/matrix.org/x-vsavibfivqppmsbi) (Ping timeout: 268 seconds)
04:49:07 × siraben quits (sirabenmat@gateway/shell/matrix.org/x-yibcfixlmzlubxkl) (Ping timeout: 268 seconds)
04:49:07 × bsima[m] quits (bensimatim@gateway/shell/matrix.org/x-suajwdkwcrwumpcu) (Ping timeout: 268 seconds)
04:49:14 <koz_> Does the Github Actions file format have line continuations?
04:49:18 <koz_> Something like \
04:49:38 <koz_> Because the line for installing cabal-docspec on Windows is long enough to take someone's eye out at this point.
04:49:44 × CrabMan quits (phi-matrix@gateway/shell/matrix.org/x-avrunmqpnajwjhyb) (Ping timeout: 240 seconds)
04:49:44 × cnmne[m] quits (cnmnematri@gateway/shell/matrix.org/x-howgbmzhnqmhylxn) (Ping timeout: 240 seconds)
04:49:45 × plumenator[m] quits (plumenator@gateway/shell/matrix.org/x-vlseozawpomwxsaw) (Ping timeout: 240 seconds)
04:49:45 × Hanma[m] quits (hanmamatri@gateway/shell/matrix.org/x-zzdxxhuxtlcwhqwo) (Ping timeout: 240 seconds)
04:49:45 × pythag76[m] quits (pythag76ma@gateway/shell/matrix.org/x-zayhvmqrqchjcomz) (Ping timeout: 240 seconds)
04:49:45 × metamod[m] quits (metamodmat@gateway/shell/matrix.org/x-cwgxheeatcnmnolb) (Ping timeout: 240 seconds)
04:49:55 × my_name_is_not_j quits (mynameisno@gateway/shell/matrix.org/x-vnqnlgicwqzslism) (Ping timeout: 258 seconds)
04:49:55 × jesser[m] quits (jessermatr@gateway/shell/matrix.org/x-dbgtrdoqxzqcpezr) (Ping timeout: 258 seconds)
04:50:07 × svc0[m] quits (svc0matrix@gateway/shell/matrix.org/x-lfwkfdzqrumixhmw) (Ping timeout: 265 seconds)
04:50:21 × boistordu quits (boistordum@gateway/shell/matrix.org/x-dcdctncuiazflhhb) (Ping timeout: 268 seconds)
04:50:32 × bitmapper quits (uid464869@gateway/web/irccloud.com/x-afkfotiyymltayhn) (Quit: Connection closed for inactivity)
04:50:45 × justsomeguy quits (~justsomeg@unaffiliated/--/x-3805311) (Quit: WeeChat 2.9)
04:52:47 Tario joins (~Tario@201.192.165.173)
04:54:16 tromp joins (~tromp@dhcp-077-249-230-040.chello.nl)
04:54:44 <koz_> jared-w: OK, this happened again. It's a non-deterministic fault AFAICT - am I wrong? https://github.com/kozross/text-ascii/runs/1868732836?check_suite_focus=true
04:55:04 <koz_> This is the weird part. https://github.com/kozross/text-ascii/runs/1868732836?check_suite_focus=true#step:14:15
04:55:26 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
04:56:29 hsiktas[m] joins (hsiktasmat@gateway/shell/matrix.org/x-nswambcmsfqgebtk)
04:56:42 shutendoji[m] joins (shutendoji@gateway/shell/matrix.org/x-crsdenrwifaboqvb)
04:57:03 <koz_> OK yeah, it's consistent and I'm confused.
04:57:03 ichor[m] joins (hakonmatri@gateway/shell/matrix.org/x-biowoyayifyttutz)
04:57:08 utdemir[m] joins (utdemirmat@gateway/shell/matrix.org/x-dbnfmaozoqkzjqlv)
04:57:10 jchia[m] joins (jchiamatri@gateway/shell/matrix.org/x-kazhdunyqzywnhrv)
04:57:12 doct0rhu[m] joins (doct0rhumo@gateway/shell/matrix.org/x-mywaugrvnxdeuagi)
04:57:25 simara[m] joins (simaramatr@gateway/shell/matrix.org/x-sunlpltnmcaqtzom)
04:58:02 bitmagie1 joins (~Thunderbi@i59F53E8C.versanet.de)
04:58:59 × tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 268 seconds)
04:59:02 × bitmagie quits (~Thunderbi@200116b8062cd500ec89398f450f3631.dip.versatel-1u1.de) (Ping timeout: 260 seconds)
04:59:02 bitmagie1 is now known as bitmagie
04:59:23 MrMuffles[m] joins (mrmufflesm@gateway/shell/matrix.org/x-eeieiakbndmbjcga)
04:59:40 nbloomf joins (~nbloomf@2600:1700:ad14:3020:e86f:713:210:b5d)
05:00:02 × polyphem quits (~p0lyph3m@2a02:810d:640:776c:76d7:55f6:f85b:c889) (Ping timeout: 264 seconds)
05:00:49 Lurkki[m] joins (lurkkipriv@gateway/shell/matrix.org/x-iyqqfstbthubtjcr)
05:01:06 × ezrakilty quits (~ezrakilty@75-172-120-225.tukw.qwest.net) ()
05:01:13 <koz_> Could caching text-ascii's build products be the cause?
05:01:17 shieru[m] joins (shierualet@gateway/shell/matrix.org/x-jpyglifpwxwgmqww)
05:01:29 Vanilla[m] joins (danielm14@gateway/shell/matrix.org/x-djofesfrpiyljgri)
05:02:07 toasty_avocado[m joins (toastyavoc@gateway/shell/matrix.org/x-bmeeufypevpusedw)
05:02:13 darkcodi[m] joins (darkcodima@gateway/shell/matrix.org/x-soupswcdquuoigbs)
05:02:20 Lurkki[m]1 joins (lurkkifene@gateway/shell/matrix.org/x-zkvgygtkexgfwetr)
05:02:20 ezrakilty joins (~ezrakilty@75-172-120-225.tukw.qwest.net)
05:02:23 alexfmpe joins (alexfmpema@gateway/shell/matrix.org/x-aikimbupepocatuu)
05:03:20 × ezrakilty quits (~ezrakilty@75-172-120-225.tukw.qwest.net) (Client Quit)
05:03:30 alar[m] joins (alarmxalat@gateway/shell/matrix.org/x-kpzwexjpbbexgoeh)
05:03:30 enya[m] joins (enyaismatr@gateway/shell/matrix.org/x-zopufoieowinqdtm)
05:03:30 AmitLevy[m] joins (amitmostly@gateway/shell/matrix.org/x-nixsvyyufgklkpzb)
05:03:30 ciderpunx[m] joins (ciderpunxm@gateway/shell/matrix.org/x-bsadydoyhqszzdnw)
05:03:30 CaptainYukinoshi joins (captain-yu@gateway/shell/matrix.org/x-jauhmahqqucrhthy)
05:03:31 VarikValefor[m] joins (varikvalef@gateway/shell/matrix.org/x-qrijqzplxpwvktse)
05:03:45 × Tario quits (~Tario@201.192.165.173) (Ping timeout: 240 seconds)
05:03:52 × nbloomf quits (~nbloomf@2600:1700:ad14:3020:e86f:713:210:b5d) (Client Quit)
05:04:26 ezrakilty joins (~ezrakilty@75-172-120-225.tukw.qwest.net)
05:04:46 acdsystemliorg[m joins (acdsysteml@gateway/shell/matrix.org/x-ricxfotomgahotyx)
05:04:47 × ezrakilty quits (~ezrakilty@75-172-120-225.tukw.qwest.net) (Client Quit)
05:04:51 mly[m] joins (mlydisenco@gateway/shell/matrix.org/x-yynnivnivsiulkae)
05:04:51 speakerspivakeem joins (speakerdea@gateway/shell/matrix.org/x-tqfafzamumzirela)
05:04:52 joshualit140[m] joins (joshualit1@gateway/shell/matrix.org/x-bwyvjvwincpzhgrj)
05:05:00 sramsay64[m] joins (sramsay64p@gateway/shell/matrix.org/x-gwtwlqdldweyodtp)
05:06:47 maralorn joins (maralornma@gateway/shell/matrix.org/x-hvwopnngiwtusqib)
05:06:51 pedrorubster[m] joins (pedrorubst@gateway/shell/matrix.org/x-pfrtranwguapeuuo)
05:08:11 tromp joins (~tromp@dhcp-077-249-230-040.chello.nl)
05:08:27 clog joins (~nef@bespin.org)
05:08:29 LiyangHU[m] joins (liyangmatr@gateway/shell/matrix.org/x-bpyblsnrhywehczi)
05:08:43 ezrakilty joins (~ezrakilty@75-172-120-225.tukw.qwest.net)
05:09:20 noIOBeforeBedtim joins (dissatisfi@gateway/shell/matrix.org/x-jxlugcrvctekxscd)
05:09:25 domenkozar[m] joins (domenkozar@NixOS/user/domenkozar)
05:09:27 brightly-salty[m joins (brightly-s@gateway/shell/matrix.org/x-qcwtlkwnzuumfgea)
05:09:37 × ezrakilty quits (~ezrakilty@75-172-120-225.tukw.qwest.net) (Client Quit)
05:09:49 Sarievo[m] joins (sarievoale@gateway/shell/matrix.org/x-xylaqhfystxyyuwp)
05:10:32 srid joins (sridmatrix@gateway/shell/matrix.org/x-snjjovxmshceudji)
05:10:35 <jared-w> https://github.com/kozross/text-ascii/blob/main/src/Text/Ascii.hs#L153 is it this?
05:10:48 michaelpj joins (michaelpjm@gateway/shell/matrix.org/x-xqycevqfcixyzqua)
05:10:50 dyniec[m] joins (dyniecmatr@gateway/shell/matrix.org/x-zqudmytrrplhgdvs)
05:10:59 <jared-w> (doctests import Prelude.. and the module imports Control.Category..
05:11:01 <jared-w> )
05:11:06 fgaz joins (fgazmatrix@gateway/shell/matrix.org/x-zfiwlwyosughdpny)
05:11:08 jtojnar joins (jtojnarmat@gateway/shell/matrix.org/x-fdjjtskblpinulyd)
05:11:10 lnxw37d4 joins (lnxw37d4ma@gateway/shell/matrix.org/x-nvvdnlirgolpncci)
05:11:11 unclechu joins (unclechuma@gateway/shell/matrix.org/x-sdxcxvcvrsbcfadi)
05:11:11 psamim joins (samimpmatr@gateway/shell/matrix.org/x-zayaxobioedyvltl)
05:11:12 themsay[m] joins (themsaymat@gateway/shell/matrix.org/x-cutxiikrldygwool)
05:11:49 ThaEwat joins (thaewraptm@gateway/shell/matrix.org/x-twhupuwjrylkdmyz)
05:12:24 <jared-w> If that's not the case, my first suspicion is that TemplateHaskell + macOS + caching doesn't always play well (or really at all). Lots of weird dylib issues going on. In a compile you usually see the actual dylib issue but cabal-docspec might be masking the issue
05:13:10 × tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 268 seconds)
05:14:15 mentaal[m] joins (mentaalmat@gateway/shell/matrix.org/x-zktrijqfjfrypvwu)
05:14:24 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 240 seconds)
05:14:45 maerwald[m] joins (maerwaldma@gateway/shell/matrix.org/x-pntxtdmyrnefvkyx)
05:14:50 jerin joins (jerinmatri@gateway/shell/matrix.org/x-wtcdluvnmxnxtkrv)
05:14:58 Poscat[m] joins (poscatmatr@gateway/shell/matrix.org/x-tbncdqraooskzakh)
05:15:13 siraben joins (sirabenmat@gateway/shell/matrix.org/x-dfwwwtuxpdenkfks)
05:15:16 frozenErebus joins (~frozenEre@94.128.81.133)
05:15:56 <koz_> I don't think it's that - it doesn't fail on anything other than MacOS.
05:16:08 psydruid joins (psydruidma@gateway/shell/matrix.org/x-rvtkcayfvuqlnxvs)
05:16:08 <koz_> So I think I might have to uncache dist-newstyle on MacOS.
05:16:14 <koz_> Yay, more special cases.
05:17:26 × m4v1 quits (~m4v@185.204.1.185) (Remote host closed the connection)
05:21:11 xosdy[m] joins (xosdyaleth@gateway/shell/matrix.org/x-sjsjczggrpwuelve)
05:21:20 jamesfielder[m] joins (jamesfield@gateway/shell/matrix.org/x-itgboauarupzmhqj)
05:21:20 bram[m]1 joins (bramvdbnet@gateway/shell/matrix.org/x-xoyjxebuypxojgvj)
05:21:30 phittacus joins (bklmatrixo@gateway/shell/matrix.org/x-tdyoqvsyqfaoeeih)
05:21:32 sawmon-and-natal joins (sawmon-and@gateway/shell/matrix.org/x-pwtglkgkgbiuvjzb)
05:21:53 sigmacool[m] joins (sigmacoolm@gateway/shell/matrix.org/x-evqlutsaphrpcbci)
05:21:54 adziahel[m] joins (adziahelma@gateway/shell/matrix.org/x-xwgzkvzflgupjlmt)
05:22:01 × denisse quits (~spaceCat@gateway/tor-sasl/alephzer0) (Remote host closed the connection)
05:22:05 meckse[m] joins (mecksematr@gateway/shell/matrix.org/x-rhirjxecxqstuzkj)
05:22:07 jeffcasavant[m] joins (jeffcasava@gateway/shell/matrix.org/x-xhuuctxtgcpkqrbp)
05:22:13 betrion[m] joins (betrionmat@gateway/shell/matrix.org/x-exsechfwwnuuwkkj)
05:22:16 tomsen[m] joins (tfbiomatri@gateway/shell/matrix.org/x-blsbzatlttvamskw)
05:22:16 johnnyboy[m] joins (gifumatrix@gateway/shell/matrix.org/x-prncgcrieypzkgzx)
05:22:21 denisse joins (~spaceCat@gateway/tor-sasl/alephzer0)
05:22:30 rednaZ[m] joins (r3dnazmatr@gateway/shell/matrix.org/x-vptkevswyiacaius)
05:22:41 tomferon[m] joins (tomferonmo@gateway/shell/matrix.org/x-mnsxlawsbenlqdgs)
05:22:46 lambdaclan joins (lambdaclan@gateway/shell/matrix.org/x-mndllvfezpshaeqb)
05:22:48 kadoban joins (kadobanmat@gateway/shell/matrix.org/x-jdsljzvupywkkidg)
05:23:07 itai33[m] joins (itai33matr@gateway/shell/matrix.org/x-fkpzfqhctwxrsgia)
05:23:11 nbloomf joins (~nbloomf@2600:1700:ad14:3020:a0b0:fd4:1e0b:1c07)
05:23:26 <jared-w> I'll open up a PR really quick
05:23:29 jkaye[m] joins (jkayematri@gateway/shell/matrix.org/x-slqdohoxdbmzapkb)
05:23:51 ManofLetters[m] joins (manoflette@gateway/shell/matrix.org/x-zrubcouipmwyfoob)
05:23:52 <jared-w> I tend to just do `cabal new-build || { cabal clean && cabal new-build; }` and that clears up the issue.
05:23:56 the_1_[m] joins (the1matrix@gateway/shell/matrix.org/x-mpemizndnejoyati)
05:24:05 <glguy> jared-w, what're you tackling tonight?
05:24:20 oreoking[m]1 joins (oreokingma@gateway/shell/matrix.org/x-vxkxnidqmzrqndby)
05:24:21 <jared-w> CI pain. Like work, but not work ;)
05:24:26 × bitmagie quits (~Thunderbi@i59F53E8C.versanet.de) (Quit: bitmagie)
05:24:44 pqwy[m] joins (pqwymatrix@gateway/shell/matrix.org/x-bealkbvmyinwlrjt)
05:24:45 bitonic joins (bitonicmat@gateway/shell/matrix.org/x-wktsrjudueshiyvy)
05:24:45 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds)
05:24:45 bsima[m] joins (bensimatim@gateway/shell/matrix.org/x-rfobilqhuddhwodo)
05:24:48 immae joins (immaematri@gateway/shell/matrix.org/x-nvkfblvdyzisplkk)
05:24:52 <glguy> Do you do much docker?
05:24:53 sm[m] joins (simonmicma@gateway/shell/matrix.org/x-izsptaagjppwvrwd)
05:24:57 freeman42x[m] joins (freeman42x@gateway/shell/matrix.org/x-qgajqmsbwmravvgq)
05:25:17 <jared-w> Ah yeah, tons of it.
05:25:20 <glguy> if it's more than 0 (my level) I might have to pick your brain on the clock tomorrow :)
05:25:20 metamod[m] joins (metamodmat@gateway/shell/matrix.org/x-gwsrdauonqmxivcz)
05:25:30 cnmne[m] joins (cnmnematri@gateway/shell/matrix.org/x-hdvwcpskepwgsifg)
05:25:34 Hanma[m] joins (hanmamatri@gateway/shell/matrix.org/x-tcdsbuwrvrhlwteh)
05:25:47 plumenator[m] joins (plumenator@gateway/shell/matrix.org/x-psirmvjdyttvfuyj)
05:25:50 svc0[m] joins (svc0matrix@gateway/shell/matrix.org/x-bpxqtevxuqyganbo)
05:25:57 my_name_is_not_j joins (mynameisno@gateway/shell/matrix.org/x-fmxzobjqxngszttw)
05:25:59 CrabMan joins (phi-matrix@gateway/shell/matrix.org/x-btuvkzgsupggtulm)
05:25:59 jesser[m] joins (jessermatr@gateway/shell/matrix.org/x-lysherfxpsilhozs)
05:26:16 <jared-w> feel free :) I've done more than my share of docker shenanigans.
05:26:44 × gioyik quits (~gioyik@gateway/tor-sasl/gioyik) (Quit: WeeChat 3.0)
05:27:02 pythag76[m] joins (pythag76ma@gateway/shell/matrix.org/x-iyceqchxadropdwc)
05:27:20 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
05:28:10 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
05:28:48 gioyik joins (~gioyik@gateway/tor-sasl/gioyik)
05:29:00 boistordu joins (boistordum@gateway/shell/matrix.org/x-uyltojhcmvxcevxs)
05:29:31 × soft-warm quits (4408f588@ip68-8-245-136.sd.sd.cox.net) (Quit: Connection closed)
05:31:45 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 240 seconds)
05:35:38 <jared-w> koz_: ayy so it turns out it was a one line change to get "real" doctest working and it seems to work the same way? So I could just use `build-tool-depends` behind a flag so that it (I think) wouldn't ever affect downstream dependency solving. That simplifies things quite a bit if it works for you
05:35:58 gioyik_ joins (~gioyik@gateway/tor-sasl/gioyik)
05:37:22 × gioyik quits (~gioyik@gateway/tor-sasl/gioyik) (Ping timeout: 268 seconds)
05:39:37 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
05:40:52 fresheyeball joins (~isaac@c-71-237-105-37.hsd1.co.comcast.net)
05:40:56 <fresheyeball> hello out there
05:41:26 <fresheyeball> I am in a bad performance situation and need to track down bottlenecks
05:41:40 <fresheyeball> is there an easy way to time a pure function?
05:41:47 <fresheyeball> And I don't mean in ghci
05:42:00 <fresheyeball> I need to run the program, and get timings in the terminal
05:43:28 × petersen quits (~petersen@redhat/juhp) (Quit: petersen)
05:44:10 petersen joins (~petersen@redhat/juhp)
05:46:14 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 264 seconds)
05:47:33 × jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
05:47:56 jpds joins (~jpds@gateway/tor-sasl/jpds)
05:48:42 <jared-w> criterion and a benchmark suite?
05:49:19 <fresheyeball> I am not looking to benchmark
05:49:47 <fresheyeball> I am debugging, and really just want to see how long functions take to run while I interact with the program
05:49:52 × jedws quits (~jedws@101.184.202.248) (Quit: My MacBook has gone to sleep. ZZZzzz…)
05:49:59 × gioyik_ quits (~gioyik@gateway/tor-sasl/gioyik) (Quit: WeeChat 3.0)
05:50:00 × hekkaidekapus} quits (~tchouri@gateway/tor-sasl/hekkaidekapus) (Remote host closed the connection)
05:50:21 × nineonine quits (~nineonine@50.216.62.2) (Ping timeout: 264 seconds)
05:50:27 hekkaidekapus} joins (~tchouri@gateway/tor-sasl/hekkaidekapus)
05:50:29 × pako quits (~pako@dynamic-089-014-070-018.89.14.pool.telefonica.de) (Remote host closed the connection)
05:50:44 <fresheyeball> this is so ugly
05:51:17 <fresheyeball> `trace (show $ unsafePerformIO getCurrentTime)`
05:52:55 <jared-w> looks like what I would do :) but I'm not a perf hunting expert for haskell by any means
05:58:31 raym joins (~ray@45.64.220.157)
05:58:40 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
05:58:57 × hekkaidekapus} quits (~tchouri@gateway/tor-sasl/hekkaidekapus) (Ping timeout: 268 seconds)
05:59:57 hekkaidekapus} joins (~tchouri@gateway/tor-sasl/hekkaidekapus)
06:00:36 × cantstanya quits (~chatting@gateway/tor-sasl/cantstanya) (Remote host closed the connection)
06:03:01 cantstanya joins (~chatting@gateway/tor-sasl/cantstanya)
06:04:35 × hirc quits (3dded63f@61-222-214-63.HINET-IP.hinet.net) (Quit: Ping timeout (120 seconds))
06:05:15 × petersen quits (~petersen@redhat/juhp) (Quit: petersen)
06:06:35 × bgamari quits (~bgamari@2001:470:e438::1) (Ping timeout: 258 seconds)
06:07:09 × elliott_ quits (~elliott@pool-108-51-101-42.washdc.fios.verizon.net) (Ping timeout: 264 seconds)
06:09:58 × aggin quits (~ecm@103.88.87.30) (Quit: WeeChat 3.0)
06:11:00 × hiptobecubic quits (~john@unaffiliated/hiptobecubic) (Ping timeout: 256 seconds)
06:11:25 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 240 seconds)
06:11:58 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
06:13:18 bgamari joins (~bgamari@72.65.101.131)
06:13:23 <koz_> jared-w: What do you mean by 'real' doctest? You mean the sol package?
06:16:25 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 240 seconds)
06:18:01 <fresheyeball> is there a foldl' analog for traverse?
06:18:15 <dibblego> @type foldlM
06:18:17 <lambdabot> (Foldable t, Monad m) => (b -> a -> m b) -> b -> t a -> m b
06:18:20 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
06:21:11 <jared-w> koz_: yeah
06:21:25 <koz_> jared-w: It will be a cold day in hell before I touch another sol package.
06:21:36 <koz_> I'd rather jump through these hoops.
06:21:54 <jared-w> (it's on hackage so `build-tool-depends` works like normal). That's fair.
06:21:59 <koz_> Oh would you look at that, Windows has the same problem!
06:22:06 nineonine joins (~nineonine@2604:3d08:7785:9600:6936:ff86:ddf8:5a0f)
06:22:42 × Rudd0 quits (~Rudd0@185.189.115.103) (Ping timeout: 246 seconds)
06:23:03 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 246 seconds)
06:23:07 <koz_> At least the caching reduces rotations.
06:23:22 × nineonine quits (~nineonine@2604:3d08:7785:9600:6936:ff86:ddf8:5a0f) (Remote host closed the connection)
06:24:02 nineonine joins (~nineonine@2604:3d08:7785:9600:6936:ff86:ddf8:5a0f)
06:24:16 <koz_> (well, speeds up, but yeah)
06:28:16 ixaxaar joins (~ixaxaar@49.207.210.215)
06:28:45 × nckx quits (~nckx@tobias.gr) (Ping timeout: 276 seconds)
06:28:50 <koz_> Woo, another giant rebuild, hopefully for the last time.
06:28:52 nckx[2] joins (~nckx@tobias.gr)
06:28:52 × nineonine quits (~nineonine@2604:3d08:7785:9600:6936:ff86:ddf8:5a0f) (Ping timeout: 260 seconds)
06:29:10 × ski quits (~ski@ed-3358-10.studat.chalmers.se) (Ping timeout: 276 seconds)
06:29:10 × hekkaidekapus} quits (~tchouri@gateway/tor-sasl/hekkaidekapus) (Ping timeout: 268 seconds)
06:29:27 ski joins (~ski@ed-3358-10.studat.chalmers.se)
06:29:49 × gentauro quits (~gentauro@unaffiliated/gentauro) (Ping timeout: 276 seconds)
06:30:02 <jared-w> the fallback keys should hopefully prevent mass rebuilds
06:30:06 gentauro joins (~gentauro@unaffiliated/gentauro)
06:30:41 nckx[2] is now known as nckx
06:31:03 hekkaidekapus} joins (~tchouri@gateway/tor-sasl/hekkaidekapus)
06:31:58 <koz_> Yeah, let's see if my own efforts amount to the same.
06:32:07 × nbloomf quits (~nbloomf@2600:1700:ad14:3020:a0b0:fd4:1e0b:1c07) (Quit: My MacBook has gone to sleep. ZZZzzz…)
06:32:10 <koz_> Annoyingly, the Ubuntu builds cache brilliantly.
06:35:16 × sMuNiX quits (~sMuNiX@vlnsm8-montreal02-142-122-8-233.internet.virginmobile.ca) (Ping timeout: 265 seconds)
06:35:17 <koz_> OK, macOS no longer asplode.
06:35:41 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
06:36:12 thc202 joins (~thc202@unaffiliated/thc202)
06:36:33 <jared-w> nice nice
06:37:10 <jared-w> koz_: relevant macos cabal issue because of course that's a thing: https://github.com/haskell/cabal/issues/7202
06:37:42 takuan joins (~takuan@178-116-218-225.access.telenet.be)
06:38:08 Neuromancer joins (~Neuromanc@unaffiliated/neuromancer)
06:38:16 <koz_> Lol, so 3.4 might fix this too?
06:38:48 msim joins (~quassel@2001:8003:d194:d000::d8d)
06:40:41 <koz_> OK, Windows worked too. Now to see how the caching goes.
06:40:55 LKoen joins (~LKoen@252.248.88.92.rev.sfr.net)
06:40:57 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 272 seconds)
06:42:19 <koz_> OK, let's see if we can beat 20m.
06:43:41 × frozenErebus quits (~frozenEre@94.128.81.133) (Ping timeout: 265 seconds)
06:45:57 <koz_> Nope, Windows still doesn't like that caching argh.
06:46:05 <koz_> macOS is fine though?
06:46:41 <fresheyeball> my performance tuning exploration continues
06:46:55 <fresheyeball> I have been able to measure timings on my functions and found a bottleneck
06:47:06 <jared-w> koz_: hmmm
06:47:17 <fresheyeball> it's a recursive function
06:47:19 <koz_> Same kind of failure.
06:47:25 <fresheyeball> and worse it calls itself with traverse
06:47:41 <fresheyeball> however I see no obvious reason it should be THIS slow
06:47:47 <fresheyeball> this is insanely slow
06:48:03 <jared-w> Windows still broken eh? Odd
06:48:16 <koz_> https://github.com/kozross/text-ascii/runs/1869208691?check_suite_focus=true#step:14:15
06:48:33 <koz_> https://github.com/kozross/text-ascii/blob/dev/.github/workflows/haskell.yml
06:48:36 <koz_> Most current gore.
06:48:55 <fresheyeball> what can I do?
06:48:57 <MarcelineVQ> quadraticly slow?
06:49:04 <fresheyeball> I don't know
06:49:14 <koz_> fresheyeball: What's the function in question?
06:49:26 × jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
06:49:50 <koz_> jared-w: The Windows build copies instead of symlinking, and does overwrites.
06:49:53 <koz_> Could this be the issue?
06:49:58 jpds joins (~jpds@gateway/tor-sasl/jpds)
06:50:10 <jared-w> Shouldn't be the issue, I think
06:50:25 <koz_> I can't really explain it any other way then.
06:50:39 <fresheyeball> https://gitlab.com/fresheyeball/Shpadoinkle/-/blob/master/backends/pardiff/Shpadoinkle/Backend/ParDiff.hs#L411
06:50:51 <koz_> The macOS builds work with this caching scheme, the Windows ones get the exact same problem.
06:51:35 <fresheyeball> right now, processing an html child list with 100000 nodes is taking about 2 seconds on my laptop
06:51:56 <fresheyeball> I am not doing anything especially expensive here
06:52:11 <fresheyeball> 100000 is not very much either I wouldn't think
06:52:47 <jared-w> ahh, koz_: try adding `--write-ghc-environment-files=always` to the cabal build of your text-ascii
06:52:55 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
06:53:05 <koz_> jared-w: In which build? Or just YOLO all of them?
06:53:43 <koz_> I guess YOLO all of them it is.
06:53:46 <jared-w> if that doesn't work, I'm out of ideas for now. line 64 and 76
06:54:15 <jared-w> (the `cabal build --only-dependencies` and `cabal build --flags` lines)
06:54:29 <koz_> Let's see how this goes.
06:54:39 <jared-w> alrighty. Keep me updated; I'm off for the night :)
06:54:42 nineonine joins (~nineonine@2604:3d08:7785:9600:6936:ff86:ddf8:5a0f)
06:54:46 <koz_> See ya! Thanks so much!
06:54:49 × tzh quits (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz)
06:56:15 tromp joins (~tromp@dhcp-077-249-230-040.chello.nl)
06:56:35 × nineonine quits (~nineonine@2604:3d08:7785:9600:6936:ff86:ddf8:5a0f) (Remote host closed the connection)
06:57:25 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 240 seconds)
06:57:37 nineonine joins (~nineonine@2604:3d08:7785:9600:acd4:a5be:3be2:2313)
06:58:19 <koz_> jared-w: Nope, Windows still blows up. Thanks for the help anyway.
06:59:23 × Jd007 quits (~Jd007@162.156.11.151) (Quit: Jd007)
07:00:24 × tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 240 seconds)
07:02:00 cole-h joins (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
07:02:07 × nineonine quits (~nineonine@2604:3d08:7785:9600:acd4:a5be:3be2:2313) (Ping timeout: 260 seconds)
07:08:56 danvet joins (~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa)
07:10:38 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
07:15:53 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 272 seconds)
07:16:32 _ht joins (~quassel@82-169-194-8.biz.kpn.net)
07:17:18 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
07:22:09 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 265 seconds)
07:23:26 dhouthoo joins (~dhouthoo@ptr-eitgbj2w0uu6delkbrh.18120a2.ip6.access.telenet.be)
07:25:19 petersen joins (~petersen@redhat/juhp)
07:27:30 acidjnk_new joins (~acidjnk@p200300d0c722c490f89e83442ea0b11b.dip0.t-ipconnect.de)
07:28:10 forgottenone joins (~forgotten@176.42.19.18)
07:31:03 × hexfive quits (~hexfive@50.35.83.177) (Quit: i must go. my people need me.)
07:31:12 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
07:35:08 × MrMobius quits (~MrMobius@208.58.206.154) (Read error: Connection reset by peer)
07:35:51 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 246 seconds)
07:37:51 nineonine joins (~nineonine@2604:3d08:7785:9600:6936:ff86:ddf8:5a0f)
07:39:04 <olligobber> is there an extension to overload the space function application operator to other types?
07:39:22 <olligobber> I'm sick of putting so many copies of the same operator
07:39:43 × nineonine quits (~nineonine@2604:3d08:7785:9600:6936:ff86:ddf8:5a0f) (Remote host closed the connection)
07:40:20 nineonine joins (~nineonine@2604:3d08:7785:9600:6936:ff86:ddf8:5a0f)
07:40:32 × coot quits (~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
07:41:45 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds)
07:43:05 tromp joins (~tromp@dhcp-077-249-230-040.chello.nl)
07:43:46 × Sgeo quits (~Sgeo@ool-18b98aa4.dyn.optonline.net) (Read error: Connection reset by peer)
07:44:30 pera joins (~pera@unaffiliated/pera)
07:44:42 × nineonine quits (~nineonine@2604:3d08:7785:9600:6936:ff86:ddf8:5a0f) (Ping timeout: 260 seconds)
07:47:25 × tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 240 seconds)
07:47:48 <dsal> Which operator?
07:48:43 Varis joins (~Tadas@unaffiliated/varis)
07:48:53 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
07:49:57 tromp joins (~tromp@dhcp-077-249-230-040.chello.nl)
07:50:43 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
07:51:21 <MarcelineVQ>
07:52:07 <lortabac> olligobber: maybe you can make a quasi-quoter?
07:52:32 × zar quits (~zar@fw1.ciirc.cvut.cz) (Remote host closed the connection)
07:53:34 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 256 seconds)
07:53:52 <olligobber> dsal, ($$$) :: TypedLambda (a -> b) v -> TypedLambda a v -> TypedLambda b v
07:53:58 frozenErebus joins (~frozenEre@94.128.81.133)
07:54:16 hirc joins (3dded63f@61-222-214-63.HINET-IP.hinet.net)
07:55:16 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 256 seconds)
07:56:13 <olligobber> lortabac, guess I'll read about template haskell
07:56:49 <lortabac> TBH I don't think it would be shorter than $$$
07:57:23 <olligobber> aww :(
07:57:35 <koz_> Dolla dolla dolla.
07:58:36 × frozenErebus quits (~frozenEre@94.128.81.133) (Ping timeout: 246 seconds)
07:58:58 DavidEichmann joins (~david@234.109.45.217.dyn.plus.net)
07:59:00 frozenErebus joins (~frozenEre@94.128.81.133)
08:02:08 knupfer joins (~Thunderbi@200116b82ce26a00f5b46d79f58c2619.dip.versatel-1u1.de)
08:03:52 michalz joins (~user@185.246.204.54)
08:06:09 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
08:10:28 geowiesnot joins (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr)
08:11:05 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 256 seconds)
08:12:18 <dexterfoo> are monad transformers still a good choice in 2021?
08:12:46 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
08:15:06 × howdoi quits (uid224@gateway/web/irccloud.com/x-yfncngfrscfyesxs) (Quit: Connection closed for inactivity)
08:16:03 chele joins (~chele@ip5b40237d.dynamic.kabel-deutschland.de)
08:16:13 <dminuoso> dexterfoo: A good choice what for?
08:18:00 <dexterfoo> for writing testable IO code.
08:18:02 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 264 seconds)
08:18:11 <dminuoso> That's not what transformers exist for.
08:18:29 <dminuoso> Were you perhaps thinking of writing mtl-style code?
08:18:36 <dexterfoo> yes
08:18:57 <dminuoso> Ah. Well, I guess the answer depends on who you ask.
08:19:03 Major_Biscuit joins (~Major_Bis@82-169-100-198.biz.kpn.net)
08:19:35 <koz_> I also am not sure what 'testable IO code' means.
08:19:42 Yumasi joins (~guillaume@2a01:e0a:5cb:4430:87f2:2077:d406:e584)
08:19:43 <koz_> IO code can be quite testable... with just IO.
08:19:49 <koz_> Depends what IO you're doing.
08:21:01 × geowiesnot quits (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 272 seconds)
08:21:32 × forgottenone quits (~forgotten@176.42.19.18) (Remote host closed the connection)
08:21:46 <lortabac> also... https://www.parsonsmatt.org/2017/07/27/inverted_mocking.html
08:22:28 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
08:22:37 × _bin quits (~bin@2600:1700:10a1:38d0:edac:3b4f:504:68cd) (Ping timeout: 260 seconds)
08:23:35 _bin joins (~bin@2600:1700:10a1:38d0:a809:2ad3:9eb4:5907)
08:23:57 <dexterfoo> i mean mockable IO
08:25:34 × vicfred quits (~vicfred@unaffiliated/vicfred) (Ping timeout: 272 seconds)
08:26:56 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 240 seconds)
08:27:14 dosjt joins (~user@84.122.202.215.dyn.user.ono.com)
08:28:28 <dminuoso> dexterfoo: If you want that kind of separation, there's generally two roads. There's the free monad road and mtl-style encoding
08:28:42 <dminuoso> Whether they are a good choice, you have to decide for yourself.
08:29:00 <dminuoso> They weren't replaced by a better alternative, at least in widespread use, recently, if that's what you're asking.
08:29:59 <dminuoso> (Or freer, even)
08:35:18 <dexterfoo> what about polysemy?
08:36:45 jedws joins (~jedws@101.184.202.248)
08:38:10 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
08:39:27 <dminuoso> dexterfoo: polysemy is just a library around free monads, iuic.
08:40:11 <dminuoso> (Well, higher order free monads)
08:40:17 borne joins (~fritjof@200116b864b43e007eece5d071d7bcc1.dip.versatel-1u1.de)
08:40:22 × jedws quits (~jedws@101.184.202.248) (Client Quit)
08:40:41 <dexterfoo> ok thank. i think i will go with mtl-style
08:43:33 coot joins (~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl)
08:45:39 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 256 seconds)
08:47:31 forgottenone joins (~forgotten@176.42.19.18)
08:49:25 × heatsink quits (~heatsink@2600:1700:bef1:5e10:d581:1bcd:84fc:c483) (Remote host closed the connection)
08:51:12 × Kaeipi quits (~Kaiepi@47.54.252.148) (Remote host closed the connection)
08:52:03 Kaeipi joins (~Kaiepi@47.54.252.148)
08:52:44 kritzefitz joins (~kritzefit@fw-front.credativ.com)
08:54:19 × Kaeipi quits (~Kaiepi@47.54.252.148) (Read error: Connection reset by peer)
08:56:25 × jle` quits (~mstksg@unaffiliated/mstksg) (Ping timeout: 240 seconds)
08:56:27 <ph88^> is there an option in cabal to automatically import a source file for every module in my project ?
08:57:20 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
08:58:05 jle` joins (~mstksg@cpe-23-240-75-236.socal.res.rr.com)
08:58:05 × jle` quits (~mstksg@cpe-23-240-75-236.socal.res.rr.com) (Changing host)
08:58:05 jle` joins (~mstksg@unaffiliated/mstksg)
08:58:33 × hirc quits (3dded63f@61-222-214-63.HINET-IP.hinet.net) (Quit: Connection closed)
09:00:04 × joshualit140[m] quits (joshualit1@gateway/shell/matrix.org/x-bwyvjvwincpzhgrj) (Quit: Idle for 30+ days)
09:00:31 <dminuoso> No.
09:00:58 <olligobber> unless the source file is prelude? hmm
09:01:31 × Major_Biscuit quits (~Major_Bis@82-169-100-198.biz.kpn.net) (Quit: WeeChat 2.9)
09:01:45 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 240 seconds)
09:02:47 funkatronixxx joins (~funkatron@2001:981:f73:1:2c55:ed71:be33:2acb)
09:03:20 Kaiepi joins (~Kaiepi@47.54.252.148)
09:03:21 × funkatronixxx quits (~funkatron@2001:981:f73:1:2c55:ed71:be33:2acb) (Client Quit)
09:06:22 × acidjnk_new quits (~acidjnk@p200300d0c722c490f89e83442ea0b11b.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
09:06:36 × pera quits (~pera@unaffiliated/pera) (Ping timeout: 240 seconds)
09:07:54 × toorevitimirp quits (~tooreviti@117.182.180.8) (Ping timeout: 246 seconds)
09:08:08 toorevitimirp joins (~tooreviti@117.182.180.8)
09:13:07 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
09:13:30 vicfred joins (~vicfred@unaffiliated/vicfred)
09:15:39 × kmein quits (~weechat@static.173.83.99.88.clients.your-server.de) (Quit: ciao kakao)
09:15:56 kmein joins (~weechat@static.173.83.99.88.clients.your-server.de)
09:17:26 Major_Biscuit joins (~Major_Bis@82-169-100-198.biz.kpn.net)
09:17:45 gehmehgeh joins (~ircuser1@gateway/tor-sasl/gehmehgeh)
09:18:09 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 265 seconds)
09:19:27 pera joins (~pera@unaffiliated/pera)
09:24:04 ADG1089__ joins (~aditya@122.163.210.206)
09:24:11 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
09:24:14 × cole-h quits (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 256 seconds)
09:24:23 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Client Quit)
09:24:37 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
09:25:13 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
09:26:13 <dexterfoo> maybe you can use a custom Prelude
09:28:53 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
09:29:56 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds)
09:31:35 eugleo joins (~eugleo@ip-86-49-250-120.net.upcbroadband.cz)
09:32:24 × eugleo quits (~eugleo@ip-86-49-250-120.net.upcbroadband.cz) (Remote host closed the connection)
09:33:16 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 240 seconds)
09:36:39 eugleo joins (~eugleo@ip-86-49-250-120.net.upcbroadband.cz)
09:36:42 × borne quits (~fritjof@200116b864b43e007eece5d071d7bcc1.dip.versatel-1u1.de) (Ping timeout: 260 seconds)
09:36:54 × eugleo quits (~eugleo@ip-86-49-250-120.net.upcbroadband.cz) (Remote host closed the connection)
09:37:19 zar joins (~zar@fw1.ciirc.cvut.cz)
09:37:31 × pjb quits (~t@2a01cb04063ec5000c7095db6c592b59.ipv6.abo.wanadoo.fr) (Remote host closed the connection)
09:38:55 × xff0x quits (~xff0x@2001:1a81:5205:c800:b3d4:a0d9:be65:9c7a) (Ping timeout: 272 seconds)
09:40:10 xff0x joins (xff0x@gateway/vpn/mullvad/xff0x)
09:41:41 × fresheyeball quits (~isaac@c-71-237-105-37.hsd1.co.comcast.net) (Quit: WeeChat 2.9)
09:44:44 Tuplanolla joins (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi)
09:44:55 × ADG1089__ quits (~aditya@122.163.210.206) (Remote host closed the connection)
09:46:06 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
09:49:48 heatsink joins (~heatsink@2600:1700:bef1:5e10:e95b:84e8:3635:d128)
09:50:23 Aquazi joins (uid312403@gateway/web/irccloud.com/x-spbffzhyjbuhrkxe)
09:51:54 × shatriff quits (~vitaliish@176-52-216-242.irishtelecom.com) (Remote host closed the connection)
09:51:56 × hnOsmium0001 quits (uid453710@gateway/web/irccloud.com/x-llhqfmqnlvacscpp) (Quit: Connection closed for inactivity)
09:52:11 shatriff joins (~vitaliish@176-52-216-242.irishtelecom.com)
09:52:21 × xff0x quits (xff0x@gateway/vpn/mullvad/xff0x) (Ping timeout: 246 seconds)
09:54:15 jess joins (jess@freenode/staff/jess)
09:54:22 xff0x joins (~xff0x@2001:1a81:5205:c800:b3d4:a0d9:be65:9c7a)
09:55:14 × heatsink quits (~heatsink@2600:1700:bef1:5e10:e95b:84e8:3635:d128) (Ping timeout: 264 seconds)
09:56:50 rayyyy joins (~nanoz@gateway/tor-sasl/nanoz)
10:00:32 pjb joins (~t@2a01cb04063ec500ac61b0739aec887b.ipv6.abo.wanadoo.fr)
10:00:34 Rudd0 joins (~Rudd0@185.189.115.103)
10:00:58 msim parts (~quassel@2001:8003:d194:d000::d8d) ("https://quassel-irc.org - Chat comfortably. Anywhere.")
10:01:03 msim joins (~quassel@2001:8003:d194:d000::d8d)
10:03:55 bitmagie joins (~Thunderbi@200116b8066f6c004484f895f0c226ae.dip.versatel-1u1.de)
10:04:49 × shf quits (~sheaf@2a01:cb19:80cc:7e00:2939:2eff:3d7d:ae11) (Read error: Connection reset by peer)
10:05:02 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 256 seconds)
10:07:59 toast52 joins (97c0a219@gateway/web/cgi-irc/kiwiirc.com/ip.151.192.162.25)
10:08:46 <toast52> Hi, has cabal changed recently?
10:09:23 <toast52> I tried to run `cabal init` for the first time in a while, and it failed saying "Error: no package name provided"
10:09:39 <toast52> But I never remember having to provide a package name
10:10:10 catt joins (~r@31.127.31.37)
10:10:32 × knupfer quits (~Thunderbi@200116b82ce26a00f5b46d79f58c2619.dip.versatel-1u1.de) (Ping timeout: 260 seconds)
10:10:50 <merijn> toast52: Try "cabal init --interactive"
10:11:00 <merijn> toast52: I think 3.4 will revert back to interactive as default
10:12:53 × bitmagie quits (~Thunderbi@200116b8066f6c004484f895f0c226ae.dip.versatel-1u1.de) (Quit: bitmagie)
10:13:14 <toast52> okay I think the reason why it failed was because my current directory has the same name as an existing package on hackage?
10:13:40 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
10:14:34 <toast52> It fails claiming no package name provided but when i specify the package name `cabal init -p <name>` it asks for confirmation whether I want to make a package with this name
10:15:11 × toorevitimirp quits (~tooreviti@117.182.180.8) (Ping timeout: 265 seconds)
10:15:33 <merijn> hmm
10:16:17 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
10:16:41 geowiesnot joins (~user@87-89-181-157.abo.bbox.fr)
10:17:38 toorevitimirp joins (~tooreviti@117.182.180.8)
10:18:37 borne joins (~fritjof@2001:638:708:30da:869e:36b5:4de6:58f)
10:19:03 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 265 seconds)
10:19:34 × xcmw quits (~textual@dyn-72-33-2-47.uwnet.wisc.edu) (Quit: Textual IRC Client: www.textualapp.com)
10:20:57 × MasseR quits (~MasseR@51.15.143.128) (Ping timeout: 264 seconds)
10:21:38 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 264 seconds)
10:22:45 × geowiesnot quits (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 264 seconds)
10:25:03 × coot quits (~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
10:30:10 msim parts (~quassel@2001:8003:d194:d000::d8d) ("https://quassel-irc.org - Chat comfortably. Anywhere.")
10:32:05 Franciman joins (~francesco@host-82-49-79-189.retail.telecomitalia.it)
10:32:20 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
10:33:05 × abhixec quits (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) (Ping timeout: 240 seconds)
10:33:28 fendor joins (~fendor@91.141.1.179.wireless.dyn.drei.com)
10:34:11 m0rphism1 joins (~m0rphism@HSI-KBW-085-216-104-059.hsi.kabelbw.de)
10:35:25 danza joins (~francesco@151.53.74.130)
10:35:58 Tops2 joins (~Tobias@dyndsl-091-249-082-219.ewe-ip-backbone.de)
10:36:48 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 246 seconds)
10:37:12 __monty__ joins (~toonn@unaffiliated/toonn)
10:38:49 × LKoen quits (~LKoen@252.248.88.92.rev.sfr.net) (Read error: Connection reset by peer)
10:39:40 LKoen joins (~LKoen@252.248.88.92.rev.sfr.net)
10:41:54 × st8less quits (~st8less@inet-167-224-197-181.isp.ozarksgo.net) (Quit: WeeChat 2.9)
10:48:18 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
10:48:35 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
10:48:39 son0p joins (~son0p@181.58.39.182)
10:50:15 abhixec joins (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net)
10:52:08 ubert joins (~Thunderbi@2a02:8109:9880:303c:ca5b:76ff:fe29:f233)
10:53:05 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 240 seconds)
10:53:41 Tops21 joins (~Tobias@dyndsl-091-249-082-219.ewe-ip-backbone.de)
10:53:57 × darjeeling_ quits (~darjeelin@122.245.216.78) (Ping timeout: 246 seconds)
10:54:07 oish joins (~charlie@228.25.169.217.in-addr.arpa)
10:54:31 Tops22 joins (~Tobias@dyndsl-091-249-082-219.ewe-ip-backbone.de)
10:55:32 Aleksejs joins (~Aleksejs@haskell.lv)
10:55:40 <olligobber> I'm trying to write template haskell, how do I turn a [Q [Dec]] into a Q [Dec]?
10:55:47 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
10:56:55 × Tops2 quits (~Tobias@dyndsl-091-249-082-219.ewe-ip-backbone.de) (Ping timeout: 272 seconds)
10:57:06 <olligobber> ah, think I got it
10:57:09 Feuermagier joins (~Feuermagi@2a02:2488:4211:3400:246e:bf09:8453:9d6)
10:57:10 × carlomagno1 quits (~cararell@148.87.23.11) (Remote host closed the connection)
10:58:09 fendor_ joins (~fendor@178.165.131.10.wireless.dyn.drei.com)
10:58:17 carlomagno joins (~cararell@148.87.23.11)
10:58:43 × Tops21 quits (~Tobias@dyndsl-091-249-082-219.ewe-ip-backbone.de) (Ping timeout: 272 seconds)
10:59:27 coot joins (~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl)
11:00:31 × fendor quits (~fendor@91.141.1.179.wireless.dyn.drei.com) (Ping timeout: 256 seconds)
11:01:00 × jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
11:01:12 <olligobber> no?
11:01:24 jpds joins (~jpds@gateway/tor-sasl/jpds)
11:02:30 dyeplexer joins (~lol@unaffiliated/terpin)
11:02:30 × jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
11:02:40 <olligobber> ah got it, fmap concat . sequenceA
11:03:03 <Rembane> :t fmap concat . sequenceA
11:03:04 <lambdabot> (Traversable t, Applicative f) => t (f [a]) -> f [a]
11:03:04 jpds joins (~jpds@gateway/tor-sasl/jpds)
11:06:18 <Rembane> I thought mapM could be used instead, which is why I did the type lookup. I was wrong. :)
11:06:26 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
11:07:48 <ski> @type foldr (liftA2 (++)) (pure [])
11:07:49 <lambdabot> (Foldable t, Applicative f) => t (f [a]) -> f [a]
11:08:58 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
11:09:23 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
11:09:30 darjeeling_ joins (~darjeelin@122.245.216.78)
11:09:44 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
11:09:44 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
11:11:21 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 264 seconds)
11:13:24 kuribas joins (~user@ptr-25vy0i7bgyugf65b17d.18120a2.ip6.access.telenet.be)
11:14:31 rfc08x001 joins (~quassel@183.215.50.227)
11:15:02 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds)
11:15:14 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
11:20:25 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
11:20:56 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
11:23:57 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
11:25:56 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
11:26:38 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
11:28:19 <olligobber> so now I have a Q [Dec], how do I use it?
11:28:45 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 264 seconds)
11:30:09 <olligobber> I want to export the definitions...
11:31:56 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
11:32:20 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
11:35:35 sMuNiX joins (~sMuNiX@204.48.76.179)
11:35:45 <olligobber> I guess I can just export an Int -> Int -> Exp and require anyone using it to $() it
11:35:52 × lkurusa_ quits (~lkurusa@209.250.237.122) (Quit: leaving)
11:36:01 <olligobber> I guess I can just export an Int -> Int -> Q Exp and require anyone using it to $() it
11:36:03 lkurusa joins (~lkurusa@fedora/Levex)
11:36:09 <olligobber> oops forgot you can't edit messages on irc
11:36:48 knupfer joins (~Thunderbi@dynamic-046-114-145-007.46.114.pool.telefonica.de)
11:37:01 × gehmehgeh quits (~ircuser1@gateway/tor-sasl/gehmehgeh) (Remote host closed the connection)
11:37:21 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds)
11:38:02 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
11:38:15 rfc08x001 parts (~quassel@183.215.50.227) ("https://quassel-irc.org - Chat comfortably. Anywhere.")
11:38:35 gehmehgeh joins (~ircuser1@gateway/tor-sasl/gehmehgeh)
11:39:47 × xff0x quits (~xff0x@2001:1a81:5205:c800:b3d4:a0d9:be65:9c7a) (Ping timeout: 260 seconds)
11:40:23 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
11:40:34 xff0x joins (~xff0x@2001:1a81:5205:c800:6913:5209:495:1378)
11:41:28 × Rudd0 quits (~Rudd0@185.189.115.103) (Remote host closed the connection)
11:43:18 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds)
11:43:38 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
11:44:56 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 240 seconds)
11:46:52 × shatriff quits (~vitaliish@176-52-216-242.irishtelecom.com) (Remote host closed the connection)
11:47:30 shatriff joins (~vitaliish@176-52-216-242.irishtelecom.com)
11:48:24 tvrsky joins (~tvrsky@2804:108c:c989:8901:d844:7f99:9fe0:d997)
11:48:50 × star_cloud quits (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Remote host closed the connection)
11:48:59 × tvrsky quits (~tvrsky@2804:108c:c989:8901:d844:7f99:9fe0:d997) (Client Quit)
11:49:06 star_cloud joins (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com)
11:49:45 acidjnk_new joins (~acidjnk@p200300d0c722c490f89e83442ea0b11b.dip0.t-ipconnect.de)
11:51:57 × sMuNiX quits (~sMuNiX@204.48.76.179) (Read error: Connection reset by peer)
11:52:05 × dosjt quits (~user@84.122.202.215.dyn.user.ono.com) (Ping timeout: 240 seconds)
11:52:19 heatsink joins (~heatsink@2600:1700:bef1:5e10:e95b:84e8:3635:d128)
11:53:47 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
11:54:45 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
11:56:22 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
11:56:26 Arokh21 joins (~Arokh@42-3-101-162.static.netvigator.com)
11:56:26 × Arokh21 quits (~Arokh@42-3-101-162.static.netvigator.com) (Connection closed)
11:56:37 × rayyyy quits (~nanoz@gateway/tor-sasl/nanoz) (Ping timeout: 268 seconds)
11:57:17 × heatsink quits (~heatsink@2600:1700:bef1:5e10:e95b:84e8:3635:d128) (Ping timeout: 260 seconds)
11:57:24 <dminuoso> olligobber: You cant add exports in template haskell, sadly.
11:57:53 <olligobber> right, but I did manage to get the functions that the template defines at the top level so I can export them
11:57:58 <dminuoso> olligobber: The usual trick is to have a separate module, in which you have no export list (such that the module exports everything). This is what you'd do in lens th for example.
11:58:09 <olligobber> ooh, good idea
11:58:37 × toast52 quits (97c0a219@gateway/web/cgi-irc/kiwiirc.com/ip.151.192.162.25) (Quit: Connection closed)
11:58:53 × star_cloud quits (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Excess Flood)
11:59:45 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds)
12:00:03 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
12:00:06 star_cloud joins (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com)
12:01:09 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 246 seconds)
12:01:13 JamesR10 joins (~JamesR@WGPON-39134-178.wateen.net)
12:01:13 × JamesR10 quits (~JamesR@WGPON-39134-178.wateen.net) (Connection closed)
12:02:33 dunj3 joins (~dunj3@2001:16b8:30fe:700:8bce:3ef:2afa:9efd)
12:11:23 × denisse quits (~spaceCat@gateway/tor-sasl/alephzer0) (Quit: ZNC 1.7.5 - https://znc.in)
12:11:33 denisse_ joins (~spaceCat@gateway/tor-sasl/alephzer0)
12:13:40 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
12:14:17 × clog quits (~nef@bespin.org) (Ping timeout: 265 seconds)
12:14:25 × Guest23586 quits (~seemtav3@bcde0474.skybroadband.com) (Read error: Connection reset by peer)
12:15:02 × revprez_anzio quits (~revprez_a@pool-108-49-213-40.bstnma.fios.verizon.net) (Quit: leaving)
12:15:30 Feuermagier_ joins (~Feuermagi@2a02:2488:4211:3400:246e:bf09:8453:9d6)
12:15:53 <olligobber> yay my first template haskell worked!
12:16:13 × Feuermagier quits (~Feuermagi@2a02:2488:4211:3400:246e:bf09:8453:9d6) (Read error: Connection reset by peer)
12:18:43 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 256 seconds)
12:19:28 × pera quits (~pera@unaffiliated/pera) (Quit: leaving)
12:20:14 × Feuermagier_ quits (~Feuermagi@2a02:2488:4211:3400:246e:bf09:8453:9d6) (Client Quit)
12:20:24 Feuermagier joins (~Feuermagi@2a02:2488:4211:3400:246e:bf09:8453:9d6)
12:22:11 × plutoniix quits (~q@184.82.197.182) (Quit: Leaving)
12:22:41 × haritz quits (~hrtz@unaffiliated/haritz) (Ping timeout: 256 seconds)
12:23:28 haritz joins (~hrtz@62.3.70.206)
12:23:28 × haritz quits (~hrtz@62.3.70.206) (Changing host)
12:23:28 haritz joins (~hrtz@unaffiliated/haritz)
12:24:20 dosjt joins (~user@84.122.202.215.dyn.user.ono.com)
12:24:20 jamm_ joins (~jamm@unaffiliated/jamm)
12:27:33 × frozenErebus quits (~frozenEre@94.128.81.133) (Ping timeout: 264 seconds)
12:28:35 j2t joins (~j2t@84.122.202.215.dyn.user.ono.com)
12:30:19 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
12:32:23 × hekkaidekapus} quits (~tchouri@gateway/tor-sasl/hekkaidekapus) (Ping timeout: 268 seconds)
12:33:24 × dosjt quits (~user@84.122.202.215.dyn.user.ono.com) (Remote host closed the connection)
12:33:40 hekkaidekapus} joins (~tchouri@gateway/tor-sasl/hekkaidekapus)
12:34:44 viluon joins (uid453725@gateway/web/irccloud.com/x-ggbctwutbiutwlfs)
12:35:44 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 272 seconds)
12:38:49 zebrag joins (~inkbottle@aaubervilliers-654-1-112-148.w86-198.abo.wanadoo.fr)
12:39:17 geowiesnot joins (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr)
12:41:41 <olligobber> and my second template haskell used all my ram: https://gist.github.com/olligobber/c97e9c97a7a5c0a4224506c67491feda
12:45:55 <merijn> olligobber: ಠ_ಠ
12:46:27 × Kaiepi quits (~Kaiepi@47.54.252.148) (Remote host closed the connection)
12:46:30 <olligobber> I had to try it
12:46:38 <olligobber> I expected a stack overflow tbh
12:46:48 Kaiepi joins (~Kaiepi@47.54.252.148)
12:46:49 <olligobber> or something
12:46:52 <merijn> Why?
12:47:19 <olligobber> that's what happens if you have an undecidable instance that takes infinite time to solve
12:47:32 <olligobber> so I just assumed haskell didn't ever infinite loop at compile time
12:47:44 <dminuoso> This is almost, but not quite, entirely unlike undecidable instances.
12:47:45 <merijn> olligobber: Technically it doesn't overflow
12:47:57 × Kaiepi quits (~Kaiepi@47.54.252.148) (Remote host closed the connection)
12:47:58 <dminuoso> olligobber: TH is just Haskell code.
12:48:10 <merijn> olligobber: GHC's undecidable instances has a timer (max number of steps) after which it goes "eh...this is taking too long"
12:48:21 <merijn> olligobber: To prevent it from hanging indefinitely
12:48:28 Kaiepi joins (~Kaiepi@47.54.252.148)
12:48:29 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
12:48:44 <dminuoso> olligobber: Think of TH as hooking right into the parsing stage of GHC. When GHC parses a TH splice, it *halts* the compiler, and then executes your arbitrary haskell code, and then grafts your splices back into the AST, and then the compiler resumes.
12:48:45 <merijn> olligobber: Template Haskell otoh is "just Haskell code" except it's output is "a Haskell AST that gets compiled"
12:49:00 <dminuoso> olligobber: Note here the "execute arbitarary haskell code" - it's just a haskell program!
12:49:07 <dminuoso> Ignore the fact that this happens *during* GHC.
12:49:13 <olligobber> cool
12:49:58 <dminuoso> (Perhaps one way to think of it, is as a sort of compiler plugin)
12:50:10 <merijn> olligobber: This also means you can do (stupid) things like "execute network/filesystem IO to fetch stuff during compile time"
12:50:42 <olligobber> oh god
12:50:59 <merijn> olligobber: It has it's uses
12:51:04 kjak joins (~kjak@pool-108-45-56-21.washdc.fios.verizon.net)
12:51:15 <merijn> olligobber: For example, you can read a CSV file from disk and generate code from that
12:51:32 <dminuoso> In my opinion, you're better off with haskell-src-exts for such a use case.
12:51:51 <dminuoso> I'd *love* if I could ban IO from TH
12:51:57 <merijn> olligobber: Template Haskell is really just "what if our macro's where just arbitrary Haskell code?"
12:52:15 <olligobber> it's so cool
12:52:16 <merijn> Like, why write hacky stuff with the C preprocessor when you can just write hacky stuff in Haskell!
12:52:29 machinedgod joins (~machinedg@135-23-192-217.cpe.pppoe.ca)
12:52:29 polyphem joins (~p0lyph3m@2a02:810d:640:776c:76d7:55f6:f85b:c889)
12:52:34 <merijn> olligobber: otoh, you can also do neat tricks like:
12:52:38 <merijn> @hackage validated-literals
12:52:38 <lambdabot> https://hackage.haskell.org/package/validated-literals
12:52:56 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 240 seconds)
12:53:32 <merijn> There's some examples in the github repo
12:53:47 <maralorn> Is there something like https://www.conventionalcommits.org/en/v1.0.0/ which is more tailored to Haskell projects/ PVP?
12:54:00 × j2t quits (~j2t@84.122.202.215.dyn.user.ono.com) (Quit: Leaving)
12:54:07 <merijn> Probably not?
12:54:25 bitmagie joins (~Thunderbi@200116b8066f6c004484f895f0c226ae.dip.versatel-1u1.de)
12:54:27 j2t joins (~j2t@84.122.202.215.dyn.user.ono.com)
12:54:27 CMCDragonkai1 joins (~Thunderbi@124.19.3.250)
12:55:14 × geowiesnot quits (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 264 seconds)
12:55:54 <olligobber> merijn, that's also vv cool
12:57:25 dhil joins (~dhil@80.208.56.181)
12:57:48 _linker_ joins (~linker@2a02:a31a:a045:3500:e120:4743:5ef2:908d)
12:59:15 MasseR joins (~MasseR@51.15.143.128)
12:59:57 × j2t quits (~j2t@84.122.202.215.dyn.user.ono.com) (Ping timeout: 246 seconds)
13:04:07 urodna joins (~urodna@unaffiliated/urodna)
13:05:08 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
13:05:52 mouseghost joins (~draco@87-206-9-185.dynamic.chello.pl)
13:05:52 × mouseghost quits (~draco@87-206-9-185.dynamic.chello.pl) (Changing host)
13:05:52 mouseghost joins (~draco@wikipedia/desperek)
13:06:02 × bitmagie quits (~Thunderbi@200116b8066f6c004484f895f0c226ae.dip.versatel-1u1.de) (Quit: bitmagie)
13:07:11 raynold joins (~raynold@222.107.5.247)
13:07:31 × raynold quits (~raynold@222.107.5.247) (Remote host closed the connection)
13:08:24 j2t joins (~j2t@84.122.202.215.dyn.user.ono.com)
13:08:30 jackmcbarn joins (~jackmcbar@183.100.216.224)
13:08:34 <jackmcbarn> /!\ this channel has moved to ##hamradio /!\
13:08:43 × jackmcbarn quits (~jackmcbar@183.100.216.224) (Remote host closed the connection)
13:10:07 <merijn> I wonder what kinda thing that's trying to exploit...
13:11:08 Guest62288 joins (~mnemonic@190.197.98.207)
13:11:13 ablackackJl joins (~ablackack@keysrv2.srv.q.p80.net)
13:11:14 <Guest62288> /!\ this channel has moved to #nyymit /!\
13:11:14 × Guest62288 quits (~mnemonic@190.197.98.207) (Killed (Sigyn (Spam is off topic on freenode.)))
13:11:23 <ablackackJl> /!\ this channel has moved to #nyymit /!\
13:11:23 × ablackackJl quits (~ablackack@keysrv2.srv.q.p80.net) (Killed (Sigyn (Spam is off topic on freenode.)))
13:11:44 mz`YT joins (~mz`@d146.sub5.net78.udm.net)
13:11:50 <mz`YT> /!\ this channel has moved to #nyymit /!\
13:11:50 × mz`YT quits (~mz`@d146.sub5.net78.udm.net) (Killed (Sigyn (Spam is off topic on freenode.)))
13:11:53 <nshepperd> :S
13:12:02 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 256 seconds)
13:12:33 <yushyin> Sigyn <3
13:12:35 × Franciman quits (~francesco@host-82-49-79-189.retail.telecomitalia.it) (Killed (Sigyn (Spam is off topic on freenode.)))
13:12:35 Sheilong joins (uid293653@gateway/web/irccloud.com/x-odqnhcrgjojhorzq)
13:12:58 meffete joins (~meffe@91.151.204.76)
13:13:07 <meffete> /!\ this channel has moved to #nyymit /!\
13:13:07 × meffete quits (~meffe@91.151.204.76) (Killed (Sigyn (Spam is off topic on freenode.)))
13:13:52 × ukari quits (~ukari@unaffiliated/ukari) (Remote host closed the connection)
13:14:02 Me4502ZK joins (~Me4502@113-61-188-114.veetime.com)
13:14:06 tomboy64 joins (~tomboy64@gateway/tor-sasl/tomboy64)
13:14:09 <Me4502ZK> /!\ this channel has moved to #nyymit /!\
13:14:09 × Me4502ZK quits (~Me4502@113-61-188-114.veetime.com) (Killed (Sigyn (Spam is off topic on freenode.)))
13:14:17 Bock joins (~Bock@41.60.113.6)
13:14:21 × Bock quits (~Bock@41.60.113.6) (Remote host closed the connection)
13:14:22 GorillaWarfarezR joins (~GorillaWa@113.252.119.139)
13:14:26 <nshepperd> are they just expecting people to believe the messages...?
13:14:31 <GorillaWarfarezR> /!\ this channel has moved to #nyymit /!\
13:14:32 × GorillaWarfarezR quits (~GorillaWa@113.252.119.139) (Killed (Sigyn (Spam is off topic on freenode.)))
13:14:36 ukari joins (~ukari@unaffiliated/ukari)
13:15:09 <olligobber> I've heard of some spammers pretending to advertise a channel so people get angry at the channel for advertising
13:15:25 justynsXa joins (~justyns@1-65-175-007.static.netvigator.com)
13:15:28 geekosaur joins (82650c7a@130.101.12.122)
13:15:31 <justynsXa> /!\ this channel has moved to #nyymit /!\
13:15:31 × justynsXa quits (~justyns@1-65-175-007.static.netvigator.com) (Killed (Sigyn (Spam is off topic on freenode.)))
13:15:53 <nshepperd> that's a big brain move
13:16:54 <geekosaur> they're hitting every channel apparently
13:18:05 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
13:18:08 Tario joins (~Tario@201.192.165.173)
13:18:25 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
13:19:09 <olligobber> I'm in a couple they aren't hitting
13:21:10 <nshepperd> it's nice to be unlisted
13:21:47 geowiesnot joins (~user@87-89-181-157.abo.bbox.fr)
13:22:10 × ukari quits (~ukari@unaffiliated/ukari) (Remote host closed the connection)
13:22:34 ukari joins (~ukari@unaffiliated/ukari)
13:23:21 × jamm_ quits (~jamm@unaffiliated/jamm) (Remote host closed the connection)
13:23:26 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 264 seconds)
13:24:45 × tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Remote host closed the connection)
13:25:07 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
13:25:19 × berberman quits (~berberman@unaffiliated/berberman) (Quit: ZNC 1.8.2 - https://znc.in)
13:25:46 berberman joins (~berberman@unaffiliated/berberman)
13:26:22 Franciman joins (~francesco@host-82-49-79-189.retail.telecomitalia.it)
13:27:04 × geowiesnot quits (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 265 seconds)
13:27:52 <merijn> They are
13:28:38 <merijn> freenode has been surprisingly script kiddie free the past year
13:29:01 <dminuoso> Didn't we lose like half the channel last year?
13:29:05 <dminuoso> Or was that the year before?
13:29:28 <dminuoso> We used to have 1600 people, if memory serves right
13:29:55 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
13:30:02 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 264 seconds)
13:30:12 <geekosaur> we were around 1600 as recently as last week; not sure what happened
13:30:49 <kuribas> they moved to rust?
13:34:30 <Franciman> lulz
13:35:07 frozenErebus joins (~frozenEre@94.128.81.133)
13:35:23 × catt quits (~r@31.127.31.37) (Remote host closed the connection)
13:37:58 jamm_ joins (~jamm@unaffiliated/jamm)
13:41:40 × geekosaur quits (82650c7a@130.101.12.122) (Quit: Ping timeout (120 seconds))
13:41:58 geekosaur joins (82650c7a@130.101.12.122)
13:42:18 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
13:44:12 tromp joins (~tromp@dhcp-077-249-230-040.chello.nl)
13:44:16 funkatron joins (~funkatron@185.204.1.185)
13:44:24 × shatriff quits (~vitaliish@176-52-216-242.irishtelecom.com) (Remote host closed the connection)
13:44:40 shatriff joins (~vitaliish@176-52-216-242.irishtelecom.com)
13:46:51 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 246 seconds)
13:47:21 bitmapper joins (uid464869@gateway/web/irccloud.com/x-jugdutpahsvcqbpy)
13:47:26 st8less joins (~st8less@2603:a060:11fd:0:7651:8270:cc:6f4e)
13:47:49 alx741 joins (~alx741@186.178.110.250)
13:48:18 × frozenErebus quits (~frozenEre@94.128.81.133) (Ping timeout: 256 seconds)
13:49:53 frozenErebus joins (~frozenEre@94.128.81.133)
13:51:19 nbloomf joins (~nbloomf@2600:1700:ad14:3020:1c59:a847:18b4:8e49)
13:54:25 × frozenErebus quits (~frozenEre@94.128.81.133) (Ping timeout: 240 seconds)
13:57:06 × carlomagno quits (~cararell@148.87.23.11) (Remote host closed the connection)
13:58:12 rdivyanshu joins (uid322626@gateway/web/irccloud.com/x-ymwpgafbubcnodvb)
13:58:24 Ariakenom joins (~Ariakenom@2001:9b1:efb:fc00:c4ad:290a:c4c0:717b)
13:58:45 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds)
13:59:54 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
14:00:31 sMuNiX joins (~sMuNiX@204.48.76.179)
14:00:32 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
14:01:31 × coot quits (~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
14:02:40 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
14:02:50 × da39a3ee5e6b4b0d quits (~da39a3ee5@2403:6200:8876:8dc5:1d88:1b78:e5ab:dd70) (Quit: My MacBook has gone to sleep. ZZZzzz…)
14:03:01 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
14:03:02 × geekosaur quits (82650c7a@130.101.12.122) (Ping timeout: 240 seconds)
14:03:02 × xff0x quits (~xff0x@2001:1a81:5205:c800:6913:5209:495:1378) (Ping timeout: 265 seconds)
14:03:04 × tomboy64 quits (~tomboy64@gateway/tor-sasl/tomboy64) (Remote host closed the connection)
14:03:47 xff0x joins (~xff0x@2001:1a81:5205:c800:72c4:a8a9:63c2:ae70)
14:04:51 tomboy64 joins (~tomboy64@gateway/tor-sasl/tomboy64)
14:05:40 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 272 seconds)
14:08:01 <Axman6> maybe MAtrix went offline again...
14:08:07 <Axman6> Matrix*
14:08:33 hyperisco joins (~hyperisco@104-195-141-253.cpe.teksavvy.com)
14:10:56 geekosaur joins (82650c7a@130.101.12.122)
14:11:22 rayyyy joins (~nanoz@gateway/tor-sasl/nanoz)
14:12:01 × oish quits (~charlie@228.25.169.217.in-addr.arpa) (Ping timeout: 265 seconds)
14:12:47 frozenErebus joins (~frozenEre@94.128.81.133)
14:13:21 <tomsmeding> we're just above 1000 now, and #haskell has had around the same number of nicks every time I looked the last half year or so
14:13:40 <tomsmeding> geekosaur: if we had 1600 recently it must have been temporary
14:14:53 <merijn> No, there was a long period of >1600 a few years back
14:15:13 <merijn> but there was a netsplit or something that lost a bunch of lurkers
14:15:49 <geekosaur> wasn't that when the old fn admin's account was compromised and they redirected a bunch of channels into other channels?
14:15:52 dxld joins (~dxld@rush.pub.dxld.at)
14:18:02 carlomagno joins (~cararell@148.87.23.11)
14:18:38 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
14:19:09 × seanparsons quits (~sean@cpc145088-gill21-2-0-cust281.20-1.cable.virginm.net) (Quit: ZNC 1.8.1 - https://znc.in)
14:19:50 × ericsagn1 quits (~ericsagne@2405:6580:0:5100:a2d2:896d:399a:a417) (Ping timeout: 264 seconds)
14:20:08 seanparsons joins (~sean@cpc145088-gill21-2-0-cust281.20-1.cable.virginm.net)
14:21:44 timCF joins (~i.tkachuk@m91-129-101-103.cust.tele2.ee)
14:22:38 da39a3ee5e6b4b0d joins (~da39a3ee5@2403:6200:8876:8dc5:1d88:1b78:e5ab:dd70)
14:23:16 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 240 seconds)
14:24:49 × Tspoon quits (tlarjoma@hilla.kapsi.fi) (K-Lined)
14:25:14 × tomboy64 quits (~tomboy64@gateway/tor-sasl/tomboy64) (Ping timeout: 268 seconds)
14:27:30 <timCF> Hello haskellers! I have a beginner generic question about applicative composition of different monads. For example, I have a 2 functions `getA :: Text -> m (Either Err A)` and `getB :: Text -> m (Either Err B)` and I want to compose it into something of type `m (Either Err (A, B))`. My first instinct is to use applicative, something like `(,) <$> getA x <*> getB y` but obviously I can't because of `m`. I
14:27:31 × sMuNiX quits (~sMuNiX@204.48.76.179) (Read error: Connection reset by peer)
14:27:36 <timCF> don't like do-notation, looks bulky. What are the other options?
14:28:50 <kuribas> timCF: you can use ExceptT to compose them.
14:28:53 <kuribas> :t ExceptT
14:28:54 <lambdabot> m (Either e a) -> ExceptT e m a
14:29:16 <dminuoso> runExceptT $ (,) <$> ExceptT (getA t1) <*> ExceptT (getB t2)
14:29:55 <dminuoso> Or, just use do-notation. I might prefer the later if its just an odd instance.
14:30:17 × son0p quits (~son0p@181.58.39.182) (Quit: Lost terminal)
14:30:18 <kuribas> or liftA2 (liftA2 (,))
14:30:21 <opqdonut> how about `liftA2 (,) <$> getA x <*> getB y` for that double-applicative-goodness
14:30:30 <kuribas> :t liftA2 (liftA2 (,))
14:30:30 <opqdonut> or what kuribas said
14:30:31 <lambdabot> (Applicative f1, Applicative f2) => f1 (f2 a) -> f1 (f2 b) -> f1 (f2 (a, b))
14:30:49 <opqdonut> the combination of liftA2 and <$> tickles my fancy somehow
14:30:51 <dminuoso> There comes a point where trying to be smart defeats readability
14:30:56 Guest_61 joins (590a6856@86.89-10-104.nextgentel.com)
14:31:02 <dminuoso> You will write it, and not understand what this does a month from now.
14:31:12 <dminuoso> At least with runExceptT/ExceptT it's clear
14:31:18 × Guest_61 quits (590a6856@86.89-10-104.nextgentel.com) (Client Quit)
14:31:26 ericsagn1 joins (~ericsagne@2405:6580:0:5100:5542:a02b:6ef4:719e)
14:32:01 <kuribas> nested liftA2 will apply the function nested, that seems quite clear.
14:32:03 <dminuoso> If you intermix liftA2 and <$>/<*>, it's clear that you're tapping into two separate applicative instances, and that requires much more mental stack and context awareness to know which instances are being used.
14:32:07 <kuribas> And if you have a good editor you can see the types.
14:32:14 <dminuoso> It's not quite clear, because you have to *know* the types involved.
14:32:16 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
14:32:35 <dminuoso> But then again I generally dislike liftA2
14:32:39 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
14:32:44 <kuribas> It depends on the context...
14:33:07 <dminuoso> Also, if it *needs* editor integration to be readable, then it's not good code style
14:33:19 <kuribas> A bit of verbosity can't hurt...
14:33:46 <kuribas> dminuoso: I am quite grateful for hackage showing types now...
14:33:50 <kuribas> in the source code I mean.
14:34:13 Sgeo joins (~Sgeo@ool-18b98aa4.dyn.optonline.net)
14:35:12 <timCF> Cool, I'll take a look guys, thank! And do you know any "eager" version of "applicative"? Ideally I want to get `m (Either [Err] (A, B))` from my example, where left part of `Either` collects all the errors from expressions
14:35:48 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
14:35:55 <kuribas> timCF: collecting errors has nothing to do with lazyness.
14:36:05 × __minoru__shirae quits (~shiraeesh@109.166.58.250) (Ping timeout: 240 seconds)
14:36:22 <geekosaur> that's not up to laziness or up to Applicative, it's up to replacements for Either. which do exist.
14:36:23 × jamm_ quits (~jamm@unaffiliated/jamm) (Remote host closed the connection)
14:36:29 <timCF> well, normal applicative is kinda "lazy" - it stops argument evaluation after 1st error occurs
14:36:32 <dminuoso> timCF: Validation
14:36:35 <dminuoso> https://hackage.haskell.org/package/either-5.0.1.1/docs/Data-Either-Validation.html
14:36:55 <geekosaur> right, that's the one I was trying to recall. there are also fancier ones
14:37:22 <kuribas> you can use partitionEithers
14:37:33 <kuribas> there is These also...
14:37:36 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 256 seconds)
14:37:46 <dminuoso> Well, for These the monad transformer is ChronicleT, which is probably what geekosaur meant
14:38:02 <timCF> kuribas: yes, I'm currently using it with combination of do-notation
14:38:21 <timCF> dminuoso: thanks, I'll take a look to the lib
14:38:59 oish joins (~charlie@228.25.169.217.in-addr.arpa)
14:38:59 × oish quits (~charlie@228.25.169.217.in-addr.arpa) (Client Quit)
14:39:48 <olligobber> :t getCompose . liftA2 (,) . Compose
14:39:50 <lambdabot> error:
14:39:50 <lambdabot> Variable not in scope: getCompose :: (f0 b0 -> f0 (a0, b0)) -> c
14:39:50 <lambdabot> error:
14:40:25 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 240 seconds)
14:40:37 <olligobber> wait that won't work
14:41:03 <kuribas> olligobber: you cannot compose monads
14:41:13 <kuribas> olligobber: you need to use a monad transformer
14:41:13 <olligobber> you can compose applicatives though
14:41:27 <olligobber> right?
14:41:30 <dminuoso> Yes.
14:41:42 × NinjaTrappeur quits (~ninja@unaffiliated/ninjatrappeur) (Quit: WeeChat 3.0)
14:41:45 <dminuoso> olligobber: Or to be more precise, you can not compose *arbitrary* monads.
14:42:22 NinjaTrappeur joins (~ninja@unaffiliated/ninjatrappeur)
14:42:43 <dminuoso> You can compose exactly those, for which you have a particular `swap :: (Monad m, Monad n) :: m (n (m (n a))) -> m (m (n (n a)))` such that using this monad diagrams commute
14:42:48 jamm_ joins (~jamm@unaffiliated/jamm)
14:43:06 <dminuoso> the type signature is not accurate, Im not sure how to describe it well.
14:43:32 <olligobber> `swap :: (Monad m, Monad n) => m (n (m (n a))) -> m (m (n (n a)))` ?
14:43:35 <dminuoso> Ah I guess `swap :: M (N (M (N a))) -> M (M (N (N a)))` for some appropriate choices of M and N
14:43:41 <dminuoso> That is better
14:43:42 <olligobber> yah
14:43:53 × average quits (uid473595@gateway/web/irccloud.com/x-ivwqjzfyrxxehqwh) (Quit: Connection closed for inactivity)
14:43:56 <dminuoso> So whenever you have such a swap, you can compose N and M
14:44:07 tomboy64 joins (~tomboy64@gateway/tor-sasl/tomboy64)
14:44:09 <dminuoso> (Assuming monad laws are satisfied with it)
14:44:16 <olligobber> anyway, I wasn't even doing anything that required a monad instance of Compose
14:44:32 <olligobber> :t liftA2
14:44:33 <lambdabot> Applicative f => (a -> b -> c) -> f a -> f b -> f c
14:44:46 <olligobber> :t liftM2
14:44:48 <lambdabot> Monad m => (a1 -> a2 -> r) -> m a1 -> m a2 -> m r
14:45:33 × raym quits (~ray@45.64.220.157) (Quit: leaving)
14:45:48 raym joins (~ray@45.64.220.157)
14:46:31 <olligobber> :m Data.Functor.Compose
14:46:36 <olligobber> no?
14:46:50 <olligobber> > import Data.Functor.Compose
14:46:53 <lambdabot> <hint>:1:1: error: <hint>:1:1: error: parse error on input ‘import’
14:46:56 geowiesnot joins (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr)
14:46:57 <olligobber> :(
14:48:57 × nbloomf quits (~nbloomf@2600:1700:ad14:3020:1c59:a847:18b4:8e49) (Quit: My MacBook has gone to sleep. ZZZzzz…)
14:49:09 × Major_Biscuit quits (~Major_Bis@82-169-100-198.biz.kpn.net) (Ping timeout: 264 seconds)
14:49:27 <olligobber> \x y -> getCompose $ liftA2 (,) (Compose x) (Compose y) :: (Applicative f, Applicative g) => f (g a) -> f (g b) -> f (g (a, b))
14:49:38 <geekosaur> olligobbler, use yahb
14:49:44 <olligobber> @pf \x y -> getCompose $ liftA2 (,) (Compose x) (Compose y)
14:49:44 <lambdabot> Maybe you meant: pl bf
14:50:05 <olligobber> I give up
14:50:06 × tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Remote host closed the connection)
14:50:07 <olligobber> goodnight
14:50:14 × LKoen quits (~LKoen@252.248.88.92.rev.sfr.net) (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”)
14:51:00 Major_Biscuit joins (~Major_Bis@x065156.citg-m.tudelft.nl)
14:51:03 <geekosaur> % import Data.Functor.Compose
14:51:04 <yahb> geekosaur:
14:53:27 coot joins (~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl)
14:53:42 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
14:54:27 × geekosaur quits (82650c7a@130.101.12.122) (Quit: Connection closed)
14:54:33 albert_42 joins (~albert_42@2a02:8108:1100:16d8:e03d:e73d:6263:1e48)
14:54:38 × albert_42 quits (~albert_42@2a02:8108:1100:16d8:e03d:e73d:6263:1e48) (Client Quit)
14:54:57 × olligobber quits (olligobber@gateway/vpn/privateinternetaccess/olligobber) (Ping timeout: 272 seconds)
14:55:33 × hekkaidekapus} quits (~tchouri@gateway/tor-sasl/hekkaidekapus) (Remote host closed the connection)
14:55:37 fendor_ is now known as fendor
14:56:05 hekkaidekapus} joins (~tchouri@gateway/tor-sasl/hekkaidekapus)
14:57:49 __minoru__shirae joins (~shiraeesh@109.166.58.250)
14:58:15 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 246 seconds)
14:59:34 × cmcma20 quits (~cmcma20@l37-192-2-125.novotelecom.ru) (Quit: leaving)
15:02:01 × xelxebar quits (~xelxebar@gateway/tor-sasl/xelxebar) (Remote host closed the connection)
15:02:19 xelxebar joins (~xelxebar@gateway/tor-sasl/xelxebar)
15:05:00 × swater quits (bouhier200@perso.iiens.net) (Quit: leaving)
15:05:19 swater joins (bouhier200@perso.iiens.net)
15:06:41 × pavonia quits (~user@unaffiliated/siracusa) (Quit: Bye!)
15:08:03 mputz joins (~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de)
15:08:09 × geowiesnot quits (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 256 seconds)
15:10:23 <[exa]> Are there any good/practical/widely used monad examples where >> is defined differently than >>=, e.g. for optimization reasons?
15:10:29 tromp joins (~tromp@dhcp-077-249-230-040.chello.nl)
15:12:04 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
15:14:01 <dminuoso> [exa]: []
15:14:25 <dminuoso> Oh wait
15:14:34 <dminuoso> I misread
15:15:46 <[exa]> like, I could ask more precisely....what are the monads where it's useful to explicitly define >> rather than relying on `a >> b = a >>= const b`
15:17:16 <kuribas> I'd think ghc would be smart enough to inline it...
15:17:21 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 264 seconds)
15:17:38 <kuribas> I cannot think of a monad where that's not trivial...
15:18:16 × jpds quits (~jpds@gateway/tor-sasl/jpds) (Ping timeout: 268 seconds)
15:19:05 × ezzieyguywuf quits (~Unknown@unaffiliated/ezzieyguywuf) (Remote host closed the connection)
15:20:20 ezzieyguywuf joins (~Unknown@unaffiliated/ezzieyguywuf)
15:21:03 jpds joins (~jpds@gateway/tor-sasl/jpds)
15:22:40 <[exa]> hm, good idea-- perhaps some parts where it's actually not trivial to inline it, like builtins or a FFI call of a function that has a resultless variant
15:23:53 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
15:24:39 Jd007 joins (~Jd007@162.156.11.151)
15:25:11 <lortabac> isn't an ad-hoc (>>) **always** an optimization? (because it lets you save a lambda)
15:25:59 × sakirious quits (~sakirious@c-71-197-191-137.hsd1.wa.comcast.net) (Quit: The Lounge - https://thelounge.chat)
15:26:52 conal joins (~conal@64.71.133.70)
15:27:03 ClaudiusMaximus joins (~claude@191.123.199.146.dyn.plus.net)
15:27:11 <merijn> lortabac: You're assuming that the lambda isn't trivially optimised away
15:27:17 sakirious joins (~sakirious@c-71-197-191-137.hsd1.wa.comcast.net)
15:27:18 × ClaudiusMaximus quits (~claude@191.123.199.146.dyn.plus.net) (Changing host)
15:27:18 ClaudiusMaximus joins (~claude@unaffiliated/claudiusmaximus)
15:28:07 <merijn> [exa]: Actually, I think I see a case where it might optimise
15:28:21 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 246 seconds)
15:28:25 × mputz quits (~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de) (Ping timeout: 240 seconds)
15:28:54 <merijn> [exa]: Consider "data Tree a = Leaf a | Branch (Tree a) (Tree a)" where the monad instance basically replace every Leaf with a new sub tree
15:29:46 <merijn> i.e. "return x = Leaf x" and "Branch b1 b2 >>= f = Branch (b1 >>= f) (b2 >>= f); Leaf x >>= f = f x"
15:29:52 cr3 joins (~cr3@192-222-143-195.qc.cable.ebox.net)
15:30:08 <merijn> [exa]: With >>= you end up computing a new, unique subtree for every leaf
15:30:42 <merijn> With >> you can optimise, compute the right-hand once and share it across all leaves
15:30:53 × vicfred quits (~vicfred@unaffiliated/vicfred) (Quit: Leaving)
15:31:03 <merijn> Although I guess "const b" has the same effect, I guess...
15:31:05 <merijn> hmm
15:31:28 <merijn> I'm out of ideas, then! :p
15:31:31 <lortabac> merijn: I asked because I don't know
15:32:08 <lortabac> which optimization makes the lambda disappear?
15:32:10 <merijn> lortabac: I mean, the default implementation of (>>) is just "a >> b = a >>= \_ -> b"
15:32:20 <kuribas> lortabac: I think (>>) is more to save some typing...
15:32:30 <merijn> lortabac: So unless someone defines a custom >> then >>= isn't an optimisation at all :p
15:32:43 <merijn> eh, s/>>=/>>
15:33:00 <[exa]> yeah it seems that proper laziness makes it equivalent in all cases that don't contain something totaly unhaskellish
15:33:25 <merijn> lortabac: If >>= is inlined you can probably eliminate the lambda because the application is fixed
15:34:46 <tomsmeding> what if your monad is unknown, i.e. you get the methods via a dictionary?
15:36:07 mputz joins (~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de)
15:36:18 elfets joins (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
15:36:38 <tomsmeding> but then with laziness, the right-hand side will still only be computed once because of the const
15:38:00 × hekkaidekapus} quits (~tchouri@gateway/tor-sasl/hekkaidekapus) (Ping timeout: 268 seconds)
15:38:14 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
15:40:19 Wuzzy joins (~Wuzzy@p57a2f142.dip0.t-ipconnect.de)
15:40:37 hekkaidekapus} joins (~tchouri@gateway/tor-sasl/hekkaidekapus)
15:40:42 × lassulus quits (~lassulus@NixOS/user/lassulus) (Quit: WeeChat 2.9)
15:41:08 lassulus joins (~lassulus@NixOS/user/lassulus)
15:42:26 × st8less quits (~st8less@2603:a060:11fd:0:7651:8270:cc:6f4e) (Ping timeout: 240 seconds)
15:44:37 st8less joins (~st8less@inet-167-224-197-181.isp.ozarksgo.net)
15:46:05 × Lowl3v3l quits (~Lowl3v3l@dslb-002-203-233-121.002.203.pools.vodafone-ip.de) (Quit: Leaving.)
15:46:25 × CMCDragonkai1 quits (~Thunderbi@124.19.3.250) (Ping timeout: 240 seconds)
15:47:25 × zebrag quits (~inkbottle@aaubervilliers-654-1-112-148.w86-198.abo.wanadoo.fr) (Quit: Konversation terminated!)
15:47:43 Lowl3v3l joins (~Lowl3v3l@dslb-002-203-233-121.002.203.pools.vodafone-ip.de)
15:47:47 zebrag joins (~inkbottle@aaubervilliers-654-1-112-148.w86-198.abo.wanadoo.fr)
15:48:12 nineonine joins (~nineonine@2604:3d08:7785:9600:6936:ff86:ddf8:5a0f)
15:48:55 × toorevitimirp quits (~tooreviti@117.182.180.8) (Remote host closed the connection)
15:50:11 nineonin_ joins (~nineonine@50.216.62.2)
15:51:33 × tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Remote host closed the connection)
15:52:39 nbloomf joins (~nbloomf@2600:1700:ad14:3020:1c59:a847:18b4:8e49)
15:53:24 × nineonine quits (~nineonine@2604:3d08:7785:9600:6936:ff86:ddf8:5a0f) (Ping timeout: 240 seconds)
15:54:55 LKoen joins (~LKoen@252.248.88.92.rev.sfr.net)
15:57:23 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 265 seconds)
15:58:45 tzh joins (~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
15:59:25 × mputz quits (~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de) (Quit: mputz)
15:59:41 mputz joins (~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de)
16:00:03 × pythag76[m] quits (pythag76ma@gateway/shell/matrix.org/x-iyceqchxadropdwc) (Quit: Idle for 30+ days)
16:02:53 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
16:03:45 × mputz quits (~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de) (Ping timeout: 240 seconds)
16:04:25 deviantfero joins (~deviantfe@190.150.27.58)
16:05:27 × Kaiepi quits (~Kaiepi@47.54.252.148) (Remote host closed the connection)
16:06:18 Kaiepi joins (~Kaiepi@47.54.252.148)
16:07:27 × deviantfero quits (~deviantfe@190.150.27.58) (Client Quit)
16:08:29 deviantfero joins (~deviantfe@190.150.27.58)
16:08:45 × darjeeling_ quits (~darjeelin@122.245.216.78) (Ping timeout: 240 seconds)
16:10:27 × deviantfero quits (~deviantfe@190.150.27.58) (Client Quit)
16:10:49 deviantfero joins (~deviantfe@190.150.27.58)
16:10:52 × deviantfero quits (~deviantfe@190.150.27.58) (Client Quit)
16:13:57 × Kaiepi quits (~Kaiepi@47.54.252.148) (Remote host closed the connection)
16:14:19 Kaiepi joins (~Kaiepi@47.54.252.148)
16:18:16 × __minoru__shirae quits (~shiraeesh@109.166.58.250) (Ping timeout: 240 seconds)
16:19:42 Rudd0 joins (~Rudd0@185.189.115.108)
16:21:01 ep1ctetus joins (~epictetus@ip72-194-215-136.sb.sd.cox.net)
16:22:11 × da39a3ee5e6b4b0d quits (~da39a3ee5@2403:6200:8876:8dc5:1d88:1b78:e5ab:dd70) (Quit: My MacBook has gone to sleep. ZZZzzz…)
16:23:20 darjeeling_ joins (~darjeelin@122.245.209.191)
16:26:35 tromp joins (~tromp@dhcp-077-249-230-040.chello.nl)
16:27:37 × rdivyanshu quits (uid322626@gateway/web/irccloud.com/x-ymwpgafbubcnodvb) (Quit: Connection closed for inactivity)
16:28:27 deviantfero joins (~deviantfe@190.150.27.58)
16:29:18 × niko quits (~niko@freenode/staff/ubuntu.member.niko) (Quit: Lost terminal)
16:30:43 × forgottenone quits (~forgotten@176.42.19.18) (Quit: Konversation terminated!)
16:31:24 niko joins (~niko@freenode/staff/ubuntu.member.niko)
16:32:35 × dunj3 quits (~dunj3@2001:16b8:30fe:700:8bce:3ef:2afa:9efd) (Quit: Leaving)
16:32:41 × Lowl3v3l quits (~Lowl3v3l@dslb-002-203-233-121.002.203.pools.vodafone-ip.de) (Remote host closed the connection)
16:33:15 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
16:33:50 Lowl3v3l joins (~Lowl3v3l@dslb-002-203-233-121.002.203.pools.vodafone-ip.de)
16:35:07 __minoru__shirae joins (~shiraeesh@109.166.58.250)
16:36:39 heatsink joins (~heatsink@2600:1700:bef1:5e10:e95b:84e8:3635:d128)
16:37:44 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 256 seconds)
16:38:09 geowiesnot joins (~user@87-89-181-157.abo.bbox.fr)
16:38:18 × kiltzman quits (~k1ltzman@195.189.99.96) (Ping timeout: 256 seconds)
16:38:26 × frozenErebus quits (~frozenEre@94.128.81.133) (Ping timeout: 264 seconds)
16:38:32 × ep1ctetus quits (~epictetus@ip72-194-215-136.sb.sd.cox.net) (Read error: Connection reset by peer)
16:38:48 nshepperd21 joins (~nshepperd@li364-218.members.linode.com)
16:38:59 × nshepperd2 quits (~nshepperd@li364-218.members.linode.com) (Read error: Connection reset by peer)
16:38:59 nshepperd21 is now known as nshepperd2
16:40:08 ep1ctetus joins (~epictetus@ip72-194-215-136.sb.sd.cox.net)
16:40:09 × statusfailed quits (~statusfai@statusfailed.com) (Ping timeout: 264 seconds)
16:40:23 statusfailed joins (~statusfai@statusfailed.com)
16:40:41 × jamm_ quits (~jamm@unaffiliated/jamm) (Remote host closed the connection)
16:40:50 × michalz quits (~user@185.246.204.54) (Ping timeout: 264 seconds)
16:41:01 kiltzman joins (~k1ltzman@195.189.99.96)
16:41:06 × gehmehgeh quits (~ircuser1@gateway/tor-sasl/gehmehgeh) (Remote host closed the connection)
16:42:19 × conal quits (~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
16:42:29 gehmehgeh joins (~ircuser1@gateway/tor-sasl/gehmehgeh)
16:42:47 × DataComputist quits (~lumeng@50.43.26.251) (Quit: Leaving...)
16:45:48 × zaquest quits (~notzaques@5.128.210.178) (Remote host closed the connection)
16:47:26 × zebrag quits (~inkbottle@aaubervilliers-654-1-112-148.w86-198.abo.wanadoo.fr) (Quit: Konversation terminated!)
16:47:31 zaquest joins (~notzaques@5.128.210.178)
16:47:47 zebrag joins (~inkbottle@aaubervilliers-654-1-112-148.w86-198.abo.wanadoo.fr)
16:47:48 × j2t quits (~j2t@84.122.202.215.dyn.user.ono.com) (Quit: Leaving)
16:50:42 × ph88^ quits (~ph88@ip5f5af71a.dynamic.kabel-deutschland.de) (Ping timeout: 260 seconds)
16:50:44 × kritzefitz quits (~kritzefit@fw-front.credativ.com) (Remote host closed the connection)
16:52:05 × klardotsh quits (~klardotsh@c-71-231-242-112.hsd1.wa.comcast.net) (Ping timeout: 240 seconds)
16:52:50 napping joins (~brandon@174-20-93-137.mpls.qwest.net)
16:53:17 × deviantfero quits (~deviantfe@190.150.27.58) (Read error: Connection reset by peer)
16:54:15 deviantfero joins (~deviantfe@190.150.27.58)
16:55:45 sord937 joins (~sord937@gateway/tor-sasl/sord937)
16:56:54 × geowiesnot quits (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 246 seconds)
17:00:04 klardotsh joins (~klardotsh@c-71-231-242-112.hsd1.wa.comcast.net)
17:03:25 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
17:07:56 hiroaki joins (~hiroaki@2a02:908:4b18:8c40::b730)
17:09:53 × sord937 quits (~sord937@gateway/tor-sasl/sord937) (Ping timeout: 268 seconds)
17:10:34 × xff0x quits (~xff0x@2001:1a81:5205:c800:72c4:a8a9:63c2:ae70) (Ping timeout: 265 seconds)
17:10:36 geekosaur joins (82650c7a@130.101.12.122)
17:11:04 revprez_anzio joins (~revprez_a@pool-108-49-213-40.bstnma.fios.verizon.net)
17:11:07 × hyiltiz quits (~quassel@unaffiliated/hyiltiz) (Ping timeout: 256 seconds)
17:11:08 xff0x joins (~xff0x@2001:1a81:5205:c800:e675:4c3f:a213:be50)
17:11:45 frozenErebus joins (~frozenEre@94.128.81.133)
17:11:55 × timCF quits (~i.tkachuk@m91-129-101-103.cust.tele2.ee) (Quit: leaving)
17:12:47 conal joins (~conal@64.71.133.70)
17:13:05 sord937 joins (~sord937@gateway/tor-sasl/sord937)
17:13:14 ph88^ joins (~ph88@2a02:8109:9e00:7e5c:90c5:cd54:af9d:fe90)
17:13:56 × Igloo quits (~igloo@matrix.chaos.earth.li) (Ping timeout: 240 seconds)
17:17:54 × Major_Biscuit quits (~Major_Bis@x065156.citg-m.tudelft.nl) (Ping timeout: 246 seconds)
17:18:33 elliott_ joins (~elliott@pool-108-51-101-42.washdc.fios.verizon.net)
17:20:38 hyiltiz joins (~quassel@unaffiliated/hyiltiz)
17:22:08 vicfred joins (~vicfred@unaffiliated/vicfred)
17:23:37 × borne quits (~fritjof@2001:638:708:30da:869e:36b5:4de6:58f) (Quit: WeeChat 3.0)
17:24:48 acarrico joins (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net)
17:25:42 × acidjnk_new quits (~acidjnk@p200300d0c722c490f89e83442ea0b11b.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
17:26:08 × coot quits (~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
17:27:09 hnOsmium0001 joins (uid453710@gateway/web/irccloud.com/x-malrnayvmzxcgqzv)
17:30:07 × ubert quits (~Thunderbi@2a02:8109:9880:303c:ca5b:76ff:fe29:f233) (Ping timeout: 272 seconds)
17:31:40 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
17:31:45 × acarrico quits (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net) (Ping timeout: 264 seconds)
17:34:22 × heatsink quits (~heatsink@2600:1700:bef1:5e10:e95b:84e8:3635:d128) (Remote host closed the connection)
17:36:20 Igloo joins (~igloo@matrix.chaos.earth.li)
17:43:39 × conal quits (~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
17:45:52 geowiesnot joins (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr)
17:46:18 heatsink joins (~heatsink@2600:1700:bef1:5e10:e95b:84e8:3635:d128)
17:47:21 × matijja quits (~matijja@193.77.181.208) (Ping timeout: 264 seconds)
17:47:26 × zebrag quits (~inkbottle@aaubervilliers-654-1-112-148.w86-198.abo.wanadoo.fr) (Quit: Konversation terminated!)
17:47:46 zebrag joins (~inkbottle@aaubervilliers-654-1-112-148.w86-198.abo.wanadoo.fr)
17:48:39 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
17:49:00 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
17:53:25 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 240 seconds)
17:53:55 × Unhammer quits (~Unhammer@gateway/tor-sasl/unhammer) (Remote host closed the connection)
17:54:42 Unhammer joins (~Unhammer@gateway/tor-sasl/unhammer)
17:54:42 × knupfer quits (~Thunderbi@dynamic-046-114-145-007.46.114.pool.telefonica.de) (Read error: Connection reset by peer)
17:55:30 average joins (uid473595@gateway/web/irccloud.com/x-wwtlzdwsplmuipsi)
17:58:44 × rajivr quits (uid269651@gateway/web/irccloud.com/x-pyntiyxxzmvjyunk) (Quit: Connection closed for inactivity)
18:00:01 conal joins (~conal@64.71.133.70)
18:01:41 × rayyyy quits (~nanoz@gateway/tor-sasl/nanoz) (Quit: Leaving)
18:05:51 × dyeplexer quits (~lol@unaffiliated/terpin) (Remote host closed the connection)
18:06:31 × heatsink quits (~heatsink@2600:1700:bef1:5e10:e95b:84e8:3635:d128) (Remote host closed the connection)
18:07:05 × Unhammer quits (~Unhammer@gateway/tor-sasl/unhammer) (Remote host closed the connection)
18:07:21 heatsink joins (~heatsink@2600:1700:bef1:5e10:e95b:84e8:3635:d128)
18:07:41 ubert joins (~Thunderbi@p200300ecdf25d9c2e6b318fffe838f33.dip0.t-ipconnect.de)
18:07:49 Unhammer joins (~Unhammer@gateway/tor-sasl/unhammer)
18:08:58 <infinisil> Hey, I'm having a couple compilation issues due to cabal resolving the base16-bytestring package to version 1.x. I want to try making it resolve to version 0.x instead
18:09:28 <infinisil> However, base16-bytestring isn't actually a direct dependency of my project. Rather it's a transitive one
18:09:43 <merijn> infinisil: What's the compilation issue?
18:09:47 <infinisil> Can I still add a version constraint to it somehow? And how would I do that?
18:10:25 hiptobecubic joins (~john@unaffiliated/hiptobecubic)
18:10:30 <merijn> You can via some flag that I forgot probably "--constraint" or something
18:10:43 <infinisil> merijn: Its decode function changed the type signature (and function)
18:10:56 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
18:11:03 <infinisil> And https://hackage.haskell.org/package/hexstring and another package depends on the old decode function
18:11:05 <merijn> infinisil: Sounds like one of your dependencies fucked up it's bounds
18:11:19 merijn sighs
18:11:24 <merijn> No upper-bounds at all
18:11:45 <infinisil> (it's a rather old package, I'm surprised it worked at all until base16-bytestring 1.x came along)
18:12:14 <monochrom> Yeah, --constraint or put it in cabal.project.local or something
18:13:14 <infinisil> Ahhh this here https://cabal.readthedocs.io/en/3.4/cabal-project.html#solver-configuration-options
18:13:16 <infinisil> Nice thanks
18:14:35 × geowiesnot quits (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 256 seconds)
18:15:39 <infinisil> Well of course, another dependency requires >=1.x *surprised pikachu face*
18:15:45 <yushyin> :D
18:16:25 <infinisil> So I guess I'll try to patch all libraries that don't work with the new version
18:17:04 × frozenErebus quits (~frozenEre@94.128.81.133) (Ping timeout: 265 seconds)
18:17:17 <merijn> infinisil: Open a ticket on the hexstring repo to make a new revision that puts in an upperbound and (if there's no quick response another one referencing the issue here: https://github.com/haskell-infra/hackage-trustees)
18:17:47 × revprez_anzio quits (~revprez_a@pool-108-49-213-40.bstnma.fios.verizon.net) (Quit: leaving)
18:18:04 × heatsink quits (~heatsink@2600:1700:bef1:5e10:e95b:84e8:3635:d128) (Remote host closed the connection)
18:18:11 <infinisil> Ah nice
18:18:12 hekkaidekapus[ joins (~tchouri@gateway/tor-sasl/hekkaidekapus)
18:18:30 <merijn> So that cabal can at least recognise that doesn't work
18:19:10 × chele quits (~chele@ip5b40237d.dynamic.kabel-deutschland.de) (Remote host closed the connection)
18:19:18 <infinisil> I do actually have a patch to make it work with the new version, was hoping I could get around using that though by just using the older base16-bytestring
18:19:34 × hekkaidekapus} quits (~tchouri@gateway/tor-sasl/hekkaidekapus) (Ping timeout: 268 seconds)
18:21:41 × tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Remote host closed the connection)
18:22:23 heatsink joins (~heatsink@2600:1700:bef1:5e10:e95b:84e8:3635:d128)
18:23:05 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
18:23:27 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
18:25:43 tromp joins (~tromp@dhcp-077-249-230-040.chello.nl)
18:25:47 × xff0x quits (~xff0x@2001:1a81:5205:c800:e675:4c3f:a213:be50) (Ping timeout: 260 seconds)
18:26:23 xff0x joins (~xff0x@2001:1a81:5205:c800:4c19:a4e4:1bf7:864b)
18:26:55 matijja joins (~matijja@193.77.181.208)
18:27:02 × geekosaur quits (82650c7a@130.101.12.122) (Ping timeout: 240 seconds)
18:27:30 frozenErebus joins (~frozenEre@94.128.81.133)
18:27:56 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 240 seconds)
18:29:15 × _vaibhavingale_ quits (~Adium@203.188.228.9) (Quit: Leaving.)
18:29:39 _vaibhavingale_ joins (~Adium@203.188.228.9)
18:29:57 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
18:30:05 × tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 240 seconds)
18:30:34 revprez_anzio joins (~revprez_a@pool-108-49-213-40.bstnma.fios.verizon.net)
18:30:34 × revprez_anzio quits (~revprez_a@pool-108-49-213-40.bstnma.fios.verizon.net) (Client Quit)
18:31:13 revprez_anzio joins (~revprez_a@pool-108-49-213-40.bstnma.fios.verizon.net)
18:31:36 son0p joins (~son0p@181.136.122.143)
18:32:09 <infinisil> https://github.com/solatis/haskell-hexstring/issues/3
18:32:18 <infinisil> Though I wouldn't be surprised to get no response
18:32:57 × Igloo quits (~igloo@matrix.chaos.earth.li) (Ping timeout: 264 seconds)
18:33:01 <merijn> infinisil: https://wiki.haskell.org/Taking_over_a_package :p
18:33:55 <infinisil> The package is so trivial that I'd probably rather just implement this in some util module
18:34:08 <infinisil> Also, there's probably more up-to-date packages with the same functionality out there
18:34:13 <merijn> infinisil: But that leaves the rest of the world broken! :p
18:34:28 × _vaibhavingale_ quits (~Adium@203.188.228.9) (Ping timeout: 256 seconds)
18:34:32 <infinisil> Hehe, I should take over the package, only to deprecate it
18:36:38 <merijn> infinisil: tbh, simple small packages are fairly little maintenance effort. Basically, you bump the bounds and make a revision when a new GHC comes out and that's about it :p
18:37:22 cole-h joins (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
18:38:37 × matijja quits (~matijja@193.77.181.208) (Quit: bye)
18:38:45 × elliott_ quits (~elliott@pool-108-51-101-42.washdc.fios.verizon.net) (Ping timeout: 246 seconds)
18:38:45 × Wuzzy quits (~Wuzzy@p57a2f142.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
18:39:07 exbio joins (~popsort@unaffiliated/exbio)
18:39:42 geekosaur joins (82650c7a@130.101.12.122)
18:39:50 <zzz> i can't seem to use lambdabot with the -e flag. am i missing something?
18:40:18 <zzz> (on the command line)
18:41:40 × kuribas quits (~user@ptr-25vy0i7bgyugf65b17d.18120a2.ip6.access.telenet.be) (Remote host closed the connection)
18:41:49 × ukari quits (~ukari@unaffiliated/ukari) (Remote host closed the connection)
18:42:58 ukari joins (~ukari@unaffiliated/ukari)
18:44:32 <zzz> i'm getting: Plugin `eval' failed with: mueval: readCreateProcessWithExitCode: runInteractiveProcess: exec: does not exist (No such file or directory)
18:46:13 × exbio quits (~popsort@unaffiliated/exbio) (Quit: -a- IRC for Android 2.1.59)
18:46:36 × shailangsa quits (~shailangs@host86-186-133-22.range86-186.btcentralplus.com) (Ping timeout: 240 seconds)
18:47:51 × son0p quits (~son0p@181.136.122.143) (Ping timeout: 246 seconds)
18:48:32 Igloo joins (~igloo@matrix.chaos.earth.li)
18:49:42 son0p joins (~son0p@181.136.122.143)
18:50:53 slack1256 joins (~slack1256@dvc-186-186-101-190.movil.vtr.net)
18:52:03 × dhil quits (~dhil@80.208.56.181) (Ping timeout: 246 seconds)
18:54:01 × nbloomf quits (~nbloomf@2600:1700:ad14:3020:1c59:a847:18b4:8e49) (Quit: My MacBook has gone to sleep. ZZZzzz…)
18:54:26 tremon joins (~aschuring@217-63-61-89.cable.dynamic.v4.ziggo.nl)
18:56:31 nbloomf joins (~nbloomf@2600:1700:ad14:3020:1c59:a847:18b4:8e49)
18:57:08 × frozenErebus quits (~frozenEre@94.128.81.133) (Ping timeout: 256 seconds)
18:58:09 × napping quits (~brandon@174-20-93-137.mpls.qwest.net) (Ping timeout: 264 seconds)
19:00:05 × cr3 quits (~cr3@192-222-143-195.qc.cable.ebox.net) (Ping timeout: 240 seconds)
19:03:29 berberman_ joins (~berberman@unaffiliated/berberman)
19:04:17 × berberman quits (~berberman@unaffiliated/berberman) (Ping timeout: 260 seconds)
19:04:28 clmg joins (~clmg@2601:1c2:200:720:ffc:c4da:a960:d019)
19:04:33 matijja joins (~matijja@193.77.181.208)
19:04:33 <clmg> has anyone used obelisk? https://github.com/obsidiansystems/obelisk
19:04:35 <clmg> what did they think?
19:04:55 <clmg> (i'm looking for a web framework with a good type checker)
19:05:13 tromp joins (~tromp@dhcp-077-249-230-040.chello.nl)
19:05:16 × ukari quits (~ukari@unaffiliated/ukari) (Remote host closed the connection)
19:06:28 ukari joins (~ukari@unaffiliated/ukari)
19:07:02 × heatsink quits (~heatsink@2600:1700:bef1:5e10:e95b:84e8:3635:d128) (Remote host closed the connection)
19:07:48 heatsink joins (~heatsink@2600:1700:bef1:5e10:e95b:84e8:3635:d128)
19:08:25 forgottenone joins (~forgotten@176.42.19.18)
19:09:19 shailangsa joins (~shailangs@host86-186-133-22.range86-186.btcentralplus.com)
19:10:10 × tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 256 seconds)
19:12:36 × andreas303 quits (~andreas@gateway/tor-sasl/andreas303) (Ping timeout: 268 seconds)
19:13:28 andreas303 joins (~andreas@gateway/tor-sasl/andreas303)
19:16:22 × geekosaur quits (82650c7a@130.101.12.122) (Ping timeout: 240 seconds)
19:23:52 napping joins (~brandon@174-20-93-137.mpls.qwest.net)
19:25:13 × deviantfero quits (~deviantfe@190.150.27.58) (Ping timeout: 265 seconds)
19:26:01 × danvet quits (~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) (Ping timeout: 272 seconds)
19:28:27 × Kaiepi quits (~Kaiepi@47.54.252.148) (Remote host closed the connection)
19:28:27 hexagenic joins (~mattias@2001:2002:51e0:74c9:5098:c4b6:1b73:7815)
19:28:33 × napping quits (~brandon@174-20-93-137.mpls.qwest.net) (Ping timeout: 272 seconds)
19:29:10 Kaiepi joins (~Kaiepi@47.54.252.148)
19:31:35 coot joins (~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl)
19:31:48 geekosaur joins (82650c7a@130.101.12.122)
19:32:16 tromp joins (~tromp@dhcp-077-249-230-040.chello.nl)
19:36:02 × Yumasi quits (~guillaume@2a01:e0a:5cb:4430:87f2:2077:d406:e584) (Ping timeout: 264 seconds)
19:39:27 × Lowl3v3l quits (~Lowl3v3l@dslb-002-203-233-121.002.203.pools.vodafone-ip.de) (Quit: Leaving.)
19:41:48 napping joins (~brandon@174-20-93-137.mpls.qwest.net)
19:43:54 kritzefitz joins (~kritzefit@212.86.56.80)
19:43:59 × kritzefitz quits (~kritzefit@212.86.56.80) (Client Quit)
19:45:18 × __minoru__shirae quits (~shiraeesh@109.166.58.250) (Ping timeout: 256 seconds)
19:45:32 × ep1ctetus quits (~epictetus@ip72-194-215-136.sb.sd.cox.net) (Quit: Leaving)
19:46:16 × napping quits (~brandon@174-20-93-137.mpls.qwest.net) (Ping timeout: 240 seconds)
19:49:22 <jil> hello
19:50:41 swarmcollective waves
19:51:35 × Lord_of_Life quits (~Lord@unaffiliated/lord-of-life/x-0885362) (Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine)
19:52:36 Lord_of_Life joins (~Lord@unaffiliated/lord-of-life/x-0885362)
19:52:53 mputz joins (~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de)
19:52:57 __minoru__shirae joins (~shiraeesh@109.166.59.8)
19:56:12 × coot quits (~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
19:56:47 deviantfero joins (~deviantfe@190.150.27.58)
19:57:44 <swarmcollective> Hello __minoru_shirae, I pushed the code using the IORefs for inter thread communication to github. Are you still interested in seeing the working solution?
19:57:48 coot joins (~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl)
19:58:03 acarrico joins (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net)
19:58:15 × nbloomf quits (~nbloomf@2600:1700:ad14:3020:1c59:a847:18b4:8e49) (Quit: My MacBook has gone to sleep. ZZZzzz…)
19:59:27 × mputz quits (~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de) (Quit: mputz)
19:59:36 <swarmcollective> __minoru__shirae ... https://github.com/calledtoconstruct/lambdabot/blob/patches/lambdabot-dashboard-plugins/src/Lambdabot/Plugin/Dashboard/Service.hs
20:00:04 × coot quits (~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl) (Client Quit)
20:00:18 napping joins (~brandon@174-20-93-137.mpls.qwest.net)
20:00:40 × tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Remote host closed the connection)
20:01:01 Deide joins (~Deide@217.155.19.23)
20:03:15 acidjnk_new joins (~acidjnk@p200300d0c722c490f89e83442ea0b11b.dip0.t-ipconnect.de)
20:03:16 <jil> I'm trying to rewritte iterate_ using the unfold function as in https://paste.debian.net/1184974/ but I get an error I don't understand.
20:03:45 × ixaxaar quits (~ixaxaar@49.207.210.215) (Ping timeout: 240 seconds)
20:03:59 <jil> Expected type t0 a0 -> t0 a0, Actual type: a -> a
20:04:12 <jil> what is the difference between the tow ?
20:04:17 <jil> two ?
20:04:42 edge563 joins (~edge563@gateway/tor-sasl/edge563)
20:04:48 tromp joins (~tromp@dhcp-077-249-230-040.chello.nl)
20:04:56 × petersen quits (~petersen@redhat/juhp) (Ping timeout: 240 seconds)
20:05:03 <davean> jil: well, t a is not in any way a
20:05:05 × napping quits (~brandon@174-20-93-137.mpls.qwest.net) (Ping timeout: 256 seconds)
20:05:15 <davean> a is a parameter to the type "function" t
20:05:33 <davean> so the function is on some sort of t
20:06:00 <jil> it's not clear
20:06:07 <davean> No, thats very clear
20:06:26 <davean> t a is only related to a in so much as you've passed the idea of a to t
20:06:27 <jil> understand for me ..obviously.
20:06:50 cr3 joins (~cr3@192-222-143-195.qc.cable.ebox.net)
20:06:50 <merijn> jil: Consider "Maybe Int" vs "Int"
20:06:59 <jil> ok
20:07:14 petersen joins (~petersen@redhat/juhp)
20:07:27 <merijn> "t a -> t a" could correspond to "Maybe Int -> Maybe Int" (t = Maybe, a = Int), but *not* "Int -> Int"
20:07:33 <jil> t0 a0 is a type ?
20:07:40 <davean> yes
20:07:54 <jil> 't0 a0'
20:08:10 <davean> 't a' is the type resulting from applying a to t
20:08:36 <merijn> jil: null isn't in your paste?
20:09:42 <jil> it is. merijn
20:10:37 <davean> You use it, but it isn't defined.
20:10:45 <jil> applying a to t ?? I did not expect 'a' to be something that could be applied.
20:12:18 nbloomf joins (~nbloomf@2600:1700:ad14:3020:99a4:2d8a:e58d:6f88)
20:12:21 <davean> Refering to merijn's example, Maybe is a function for defining a type, it takes a type and produces a resulting type
20:12:25 <davean> Int is a type
20:12:33 <davean> thus thats a thing Maybe can take
20:12:43 <davean> Thus Int applied to Maybe is Maybe Int
20:12:54 <monochrom> ahem applying t to a
20:13:02 <davean> er, sorry, yes
20:13:26 <monochrom> plug a into t
20:13:33 <davean> Since it can only produce one result from such an application we don't need another name for it, the application its self will do
20:13:37 xcmw joins (~textual@dyn-72-33-2-47.uwnet.wisc.edu)
20:14:47 fweht joins (uid404746@gateway/web/irccloud.com/x-mkirdejgbvpvpwwr)
20:15:38 fweht parts (uid404746@gateway/web/irccloud.com/x-mkirdejgbvpvpwwr) ()
20:15:46 knupfer joins (~Thunderbi@200116b82ce26a00f0bfe57b3d26cef4.dip.versatel-1u1.de)
20:17:48 × deviantfero quits (~deviantfe@190.150.27.58) (Ping timeout: 246 seconds)
20:18:41 gioyik joins (~gioyik@gateway/tor-sasl/gioyik)
20:18:49 × son0p quits (~son0p@181.136.122.143) (Quit: Lost terminal)
20:20:57 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 246 seconds)
20:21:54 × xelxebar quits (~xelxebar@gateway/tor-sasl/xelxebar) (Remote host closed the connection)
20:22:07 × heatsink quits (~heatsink@2600:1700:bef1:5e10:e95b:84e8:3635:d128) (Remote host closed the connection)
20:22:11 xelxebar joins (~xelxebar@gateway/tor-sasl/xelxebar)
20:25:44 × hexagenic quits (~mattias@2001:2002:51e0:74c9:5098:c4b6:1b73:7815) (Quit: WeeChat 1.9.1)
20:25:51 <__minoru__shirae> swarmcollective: awesome, thanks. so you can make an IORef out of anything by just wrapping it with it?
20:26:43 millerti joins (~millerti@2603-7081-5c02-f029-e50f-87b8-dbcb-3f29.res6.spectrum.com)
20:35:49 acidjnk_new2 joins (~acidjnk@p200300d0c724a28468193f3bf077429d.dip0.t-ipconnect.de)
20:36:04 Wuzzy joins (~Wuzzy@p5790e290.dip0.t-ipconnect.de)
20:36:44 <ephemient> :t newIORef
20:36:44 × acidjnk_new quits (~acidjnk@p200300d0c722c490f89e83442ea0b11b.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
20:36:45 <lambdabot> error:
20:36:45 <lambdabot> • Variable not in scope: newIORef
20:36:45 <lambdabot> • Perhaps you meant ‘newSTRef’ (imported from Data.STRef)
20:36:54 <ephemient> :t Data.IORef.newIORef
20:36:56 <lambdabot> a -> IO (GHC.IORef.IORef a)
20:37:51 <ephemient> __minoru__shirae: forall a. ↑
20:38:38 × Aquazi quits (uid312403@gateway/web/irccloud.com/x-spbffzhyjbuhrkxe) (Quit: Connection closed for inactivity)
20:38:49 <swarmcollective> Correct, it is only sharing a reference (pointer) to the thing. As long as you use it as a one way communication, it should be quite stable.
20:39:22 <merijn> __minoru__shirae: You don't really "make" something into an IORef, it's more "you make an IORef and give it an initial value to point too"
20:40:01 <merijn> But you can make IORef for any type of value, yes
20:40:27 kfollstad joins (~kfollstad@23.90.89.3)
20:40:40 <merijn> IORef's aren't great for communicating between threads, though. They have *super* finnicky consistency guarantees
20:41:41 <swarmcollective> I'm going to look into MVar for cases where I need to guard against overlapping operations. For instance, I might want to share a list of objects. Each time the web service thread needs to request an action on the lambdabot thread, it will add to the list. The lambdabot thread can check for events, process them, and clear the list. Since both these operations involve modification of the list,
20:41:43 <swarmcollective> an MVar "should" be used.
20:41:58 <swarmcollective> Though, IORef and semaphore may work, it would be more complicated.
20:42:30 <merijn> swarmcollective: Wouldn't a Chan work better?
20:42:37 <ephemient> MVar a is basically an IORef (Maybe a) with synchronization
20:42:51 <swarmcollective> Probably! :) I'll look at Chan before diving into that feature.
20:43:08 <merijn> swarmcollective: "mvar with list" sounds like a super hacky and inconvenient alternative version of a channel :p
20:43:30 <merijn> swarmcollective: Chan is basically a wrapper around a linked list of MVars
20:43:50 <swarmcollective> merijn, excellent! That sounds perfect.
20:43:53 <merijn> swarmcollective: So you can have 1 (or more) threads putting values into the Chan and then have 1 (or more) threads reading values from the Chan
20:43:59 × conal quits (~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
20:44:29 kenran joins (~kenran@i577BCD61.versanet.de)
20:44:55 × kenran quits (~kenran@i577BCD61.versanet.de) (Client Quit)
20:46:28 <ephemient> Chan probably does the double-list thing to get amortized O(1) FIFO
20:46:31 <swarmcollective> "Throws BlockedIndefinitelyOnMVar when the channel is empty and no other thread holds a reference to the channel."
20:46:32 <ephemient> but yeah
20:46:47 <swarmcollective> ^^^ So, no need to kill thread, or send a sigint.
20:47:26 × zebrag quits (~inkbottle@aaubervilliers-654-1-112-148.w86-198.abo.wanadoo.fr) (Quit: Konversation terminated!)
20:47:46 zebrag joins (~inkbottle@aaubervilliers-654-1-112-148.w86-198.abo.wanadoo.fr)
20:48:02 <glguy> ephemient: No, Chan doesn't do the double list thing, it uses mutable cells to build its structure
20:48:32 <glguy> ephemient: Chan is complicated so that it can support duplication of a channel so that two readers can read all the messages individually
20:48:50 <swarmcollective> Since the web service only needs to know the current state and not every intermediate state, IORef makes sense for that side. Sending a request from the web service back to the core of the lambdabot seems like a use-case for Chan.
20:48:51 <glguy> TChan copies this behavior, but TQueue (both from STM) use the double list implementation you mention
20:48:52 <ephemient> ooh, tricksies. it would need a MVar of MVar to pull that off... but I guess that's fine
20:50:28 <swarmcollective> glguy, would you recommend TChan, TQueue, or Chan over the others for the above use-case?
20:51:27 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
20:51:32 <merijn> ephemient: No
20:51:38 gOOgler joins (uid125351@gateway/web/irccloud.com/x-sfsvhlxqubpwlcwh)
20:51:49 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
20:51:54 <merijn> swarmcollective: Oh, I have a library with closable Chan :p
20:52:37 <ephemient> hmm. I guess I can't imagine how it works, then. might have to into it myself...
20:52:42 <merijn> Which also solves the broadcast issue that TChan fixes, but Chan doesn't
20:52:58 <merijn> ephemient: Simon Marlow's Parallel and Concurrent Haskell books covers how it works
20:53:08 heatsink joins (~heatsink@2600:1700:bef1:5e10:e95b:84e8:3635:d128)
20:53:18 <merijn> ephemient: That's the explanation I based my own channel code on (together with Control.Concurrent.MVar)
20:53:21 <merijn> eh
20:53:23 <merijn> Control.Concurrent.Chan
20:53:58 <merijn> swarmcollective: It's probably use TVar/MVar over IORef, tbh
20:54:07 × millerti quits (~millerti@2603-7081-5c02-f029-e50f-87b8-dbcb-3f29.res6.spectrum.com) (Quit: Textual IRC Client: www.textualapp.com)
20:54:09 <tdammers> big caveat with (T)Chan, btw.: these little critters aren't bounded, so if the producer is faster than the consumers, it will just eat up all your RAM and then bring your computer to a grinding swapping halt
20:55:07 × ubert quits (~Thunderbi@p200300ecdf25d9c2e6b318fffe838f33.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
20:55:26 <swarmcollective> merijn, I've been wanting to read that book. It is / was accessible online, IIRC.
20:55:38 <merijn> tdammers: I mostly use them as job queues, tbh
20:56:54 <swarmcollective> tdammers, good to know. For now, my use-case is low volume (human on the producer side).
20:56:57 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 264 seconds)
20:58:21 <swarmcollective> merijn, thanks for the Closable mention. I will include a signal to shutdown, so it is graceful.
20:59:13 millerti joins (~millerti@2603-7081-5c02-f029-20f9-cd8e-1841-aeb4.res6.spectrum.com)
20:59:38 <swarmcollective> As far as I can tell, the scotty thread will require the sending of a sigint (or similar) to be graceful-ish. I'm currently using killthread, but sigint is on my to-do list.
21:00:25 <merijn> swarmcollective: https://hackage.haskell.org/package/broadcast-chan ;)
21:01:06 × _ht quits (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection)
21:01:38 _vaibhavingale_ joins (~Adium@203.188.228.9)
21:01:49 <merijn> sigint is cursed
21:02:08 <merijn> In fact, all Haskell signal handling is cursed and will be until I get around to making it uncursed
21:02:09 <swarmcollective> Ahhh! When you said "I have a library", I thought you were indicating that it was, for whatever reason, proprietary. :D Thanks for the link!
21:03:14 <merijn> I should probably update my stuff for GHC 9.0
21:03:25 merijn puts it on the todo list >.>
21:03:26 <swarmcollective> merign, "Portability: haha" <-- that's great!
21:04:23 <__minoru__shirae> swarmcollective: here is a link to the "Parallel and Concurrent Haskell" book: https://www.oreilly.com/library/view/parallel-and-concurrent/9781449335939/pr02.html
21:04:42 × jneira quits (501ca940@gateway/web/cgi-irc/kiwiirc.com/ip.80.28.169.64) (Ping timeout: 246 seconds)
21:05:20 <swarmcollective> __minoru__shirae That's it! Excellent and thank you!
21:05:45 × _vaibhavingale_ quits (~Adium@203.188.228.9) (Ping timeout: 240 seconds)
21:06:16 × nineonin_ quits (~nineonine@50.216.62.2) ()
21:07:49 conal joins (~conal@64.71.133.70)
21:09:49 <__minoru__shirae> swarmcollective: you can navigate using table of contents at https://www.oreilly.com/library/view/parallel-and-concurrent/9781449335939/
21:10:20 <__minoru__shirae> (the "start free trial" button may be misleading)
21:13:47 × xff0x quits (~xff0x@2001:1a81:5205:c800:4c19:a4e4:1bf7:864b) (Ping timeout: 260 seconds)
21:14:12 xff0x joins (xff0x@gateway/vpn/mullvad/xff0x)
21:14:27 jneira joins (501ca940@gateway/web/cgi-irc/kiwiirc.com/ip.80.28.169.64)
21:14:52 <my_name_is_not_j> https://stackoverflow.com/questions/51581150/what-does-t-a-mean-in-type-signature-in-haskell
21:14:58 <my_name_is_not_j> For the above, I am wondering why `Prelude> all id Nothing` returns `True`
21:15:19 <my_name_is_not_j> `Prelude> all id []` seems to return `True` as well.... hmmmmm
21:15:35 × _linker_ quits (~linker@2a02:a31a:a045:3500:e120:4743:5ef2:908d) (Ping timeout: 272 seconds)
21:16:07 × acidjnk_new2 quits (~acidjnk@p200300d0c724a28468193f3bf077429d.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
21:16:32 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
21:16:55 _linker_ joins (~linker@2a02:a31a:a045:3500:e120:4743:5ef2:908d)
21:16:56 <my_name_is_not_j> Shouldn't they correspond to False?
21:17:31 <monochrom> http://www.vex.net/~trebla/homework/empty.html
21:18:37 × tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Remote host closed the connection)
21:21:16 × xff0x quits (xff0x@gateway/vpn/mullvad/xff0x) (Ping timeout: 240 seconds)
21:22:09 × jneira quits (501ca940@gateway/web/cgi-irc/kiwiirc.com/ip.80.28.169.64) (Ping timeout: 256 seconds)
21:22:46 × Varis quits (~Tadas@unaffiliated/varis) (Remote host closed the connection)
21:23:10 Entertainment joins (~entertain@104.246.131.28)
21:23:26 xff0x joins (~xff0x@2001:1a81:5205:c800:4c19:a4e4:1bf7:864b)
21:24:05 usr25 joins (~usr25@unaffiliated/usr25)
21:24:53 <ephemient> :t all id `asAppliedTo` Nothing
21:24:54 <lambdabot> Maybe Bool -> Bool
21:25:09 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds)
21:25:38 <ephemient> > map (all id) [Nothing, Just False, Just True]
21:25:40 <lambdabot> [True,False,True]
21:26:06 <ephemient> my_name_is_not_j: ↑
21:26:31 <my_name_is_not_j> <monochrom "http://www.vex.net/~trebla/homew"> Thank you!! This helped!
21:27:01 <my_name_is_not_j> Thanks everyone
21:27:27 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 246 seconds)
21:27:41 <my_name_is_not_j> The other thing I was wondering here is why `Maybe` types are part of `Foldable`?? For lists this makes sense since you can apply `foldl` and `foldr` on it, but it doesn't seem to make sense (to me) why `Maybe` types are foldable...
21:28:30 <my_name_is_not_j> `Maybe` types either hold 1 value (Just x) or nothing at all (Nothing)
21:28:31 <my_name_is_not_j> Why the need to fold over them?
21:28:40 <ephemient> they're really short lists ;)
21:28:44 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
21:29:03 <ephemient> it's not that you want it on Maybe specifically, but that you can write generic code for any Foldable that will also work on Maybe
21:29:19 <koz_> Maybe a can be thought of as a list that's either empty or contains precisely one element.
21:30:13 <my_name_is_not_j> OK
21:30:26 <koz_> Kinda like how Identity a is a list that always has exactly one element.
21:30:44 <koz_> And 'Either e a' is a list that has zero or one element, plus possibly some jank Foldable doesn't care about.
21:31:00 <my_name_is_not_j> Identity a?
21:31:20 <koz_> Yep.
21:31:22 <my_name_is_not_j> I get an error when I do `:i Identity`
21:31:24 <koz_> There is such a thing.
21:31:30 <koz_> It's in Data.Functor.Identity
21:31:35 <koz_> You probably don't have that module imported.
21:31:36 <my_name_is_not_j> ohhh
21:32:04 <my_name_is_not_j> OK makes sense, thanks !
21:32:15 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
21:34:27 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 246 seconds)
21:35:03 × sord937 quits (~sord937@gateway/tor-sasl/sord937) (Quit: sord937)
21:38:09 jneira joins (501ca940@gateway/web/cgi-irc/kiwiirc.com/ip.80.28.169.64)
21:38:49 × dhouthoo quits (~dhouthoo@ptr-eitgbj2w0uu6delkbrh.18120a2.ip6.access.telenet.be) (Quit: WeeChat 3.0)
21:42:38 ep1ctetus joins (~epictetus@ip72-194-215-136.sb.sd.cox.net)
21:42:39 tromp joins (~tromp@dhcp-077-249-230-040.chello.nl)
21:56:29 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
21:59:17 × Tario quits (~Tario@201.192.165.173) (Ping timeout: 260 seconds)
21:59:30 Tario joins (~Tario@201.192.165.173)
22:00:44 × geekosaur quits (82650c7a@130.101.12.122) (Quit: Connection closed)
22:01:00 napping joins (~brandon@174-20-93-137.mpls.qwest.net)
22:01:25 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
22:02:15 vicfred_ joins (~vicfred@unaffiliated/vicfred)
22:02:29 × vicfred quits (~vicfred@unaffiliated/vicfred) (Read error: Connection reset by peer)
22:05:29 × conal quits (~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
22:05:47 × napping quits (~brandon@174-20-93-137.mpls.qwest.net) (Ping timeout: 256 seconds)
22:06:23 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
22:06:26 × tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Remote host closed the connection)
22:07:05 conal joins (~conal@64.71.133.70)
22:08:17 hseg joins (~gesh@185.120.124.95)
22:08:37 × knupfer quits (~Thunderbi@200116b82ce26a00f0bfe57b3d26cef4.dip.versatel-1u1.de) (Ping timeout: 260 seconds)
22:08:58 × gioyik quits (~gioyik@gateway/tor-sasl/gioyik) (Ping timeout: 268 seconds)
22:09:09 <hseg> hey, trying to set a breakpoint in a where clause, ghci complains that "no breakpoint found" when i try by-line syntax and "parse error" when i try qualification syntax
22:09:28 <hseg> (i.e. :break line and :break top.clause, resp)
22:11:16 × conal quits (~conal@64.71.133.70) (Client Quit)
22:12:20 conal joins (~conal@64.71.133.70)
22:12:33 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
22:15:24 × _linker_ quits (~linker@2a02:a31a:a045:3500:e120:4743:5ef2:908d) (Remote host closed the connection)
22:15:38 _linker_ joins (~linker@2a02:a31a:a045:3500:e120:4743:5ef2:908d)
22:15:56 <koz_> jared-w: First of all, you are the hero we don't deserve. Second of all - you managed to solve text-ascii's woes?
22:16:51 × conal quits (~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
22:17:27 × alx741 quits (~alx741@186.178.110.250) (Quit: alx741)
22:17:49 × zebrag quits (~inkbottle@aaubervilliers-654-1-112-148.w86-198.abo.wanadoo.fr) (Remote host closed the connection)
22:18:12 zebrag joins (~inkbottle@aaubervilliers-654-1-112-148.w86-198.abo.wanadoo.fr)
22:19:23 × mouseghost quits (~draco@wikipedia/desperek) (Quit: mew wew)
22:21:20 × edge563 quits (~edge563@gateway/tor-sasl/edge563) (Quit: edge563)
22:22:36 × hseg quits (~gesh@185.120.124.95) (Ping timeout: 240 seconds)
22:24:35 alx741 joins (~alx741@186.178.110.250)
22:24:54 tromp joins (~tromp@dhcp-077-249-230-040.chello.nl)
22:25:07 × jb55 quits (~jb55@gateway/tor-sasl/jb55) (Remote host closed the connection)
22:25:11 jb551 joins (~jb55@gateway/tor-sasl/jb55)
22:27:38 lawid joins (~quassel@dslb-090-186-199-090.090.186.pools.vodafone-ip.de)
22:27:52 geowiesnot joins (~user@87-89-181-157.abo.bbox.fr)
22:27:55 gioyik joins (~gioyik@gateway/tor-sasl/gioyik)
22:28:57 jaan joins (~jaan@5.186.113.246.cgn.fibianet.dk)
22:29:45 × jaan quits (~jaan@5.186.113.246.cgn.fibianet.dk) (Client Quit)
22:30:10 jaan joins (~aramend@5.186.113.246.cgn.fibianet.dk)
22:30:36 × nbloomf quits (~nbloomf@2600:1700:ad14:3020:99a4:2d8a:e58d:6f88) (Quit: My MacBook has gone to sleep. ZZZzzz…)
22:30:46 <swarmcollective> :t Data.Functor.Identity
22:30:47 <lambdabot> error:
22:30:47 <lambdabot> Not in scope: data constructor ‘Data.Functor.Identity’
22:30:47 <lambdabot> No module named ‘Data.Functor’ is imported.
22:30:48 × __monty__ quits (~toonn@unaffiliated/toonn) (Quit: leaving)
22:30:52 soft-warm joins (4408f588@ip68-8-245-136.sd.sd.cox.net)
22:30:57 <koz_> % :t Identity
22:30:57 <yahb> koz_: a -> Identity a
22:31:03 <koz_> % :i Identity
22:31:04 <yahb> koz_: type Identity :: * -> *; newtype Identity a = Identity {runIdentity :: a}; -- Defined in `Data.Functor.Identity'; instance Applicative Identity -- Defined in `Data.Functor.Identity'; instance Eq a => Eq (Identity a) -- Defined in `Data.Functor.Identity'; instance Functor Identity -- Defined in `Data.Functor.Identity'; instance Monad Identity -- Defined in `Data.Functor.Identity'; instance Monoid a =>
22:31:20 <swarmcollective> Thanks!
22:31:40 dddddd_ joins (~dddddd@unaffiliated/dddddd)
22:31:41 <jaan> Hi! Quick unicode question for more experienced Haskellers. I want to read a unicode character into T.Text straight from the source code.
22:31:43 <jaan> https://paste.tomsmeding.com/OqqU8YT7
22:32:14 <koz_> jaan: You can turn on OverloadedStrings and just write the literal.
22:32:15 <jaan> String -> Text doesn't seem to make sense since String can't represent unicode in the first place. What are my options here?
22:32:21 <koz_> Uhh.
22:32:25 <koz_> String 100% can.
22:32:31 <koz_> Char is a Unicode code point.
22:32:39 <koz_> So String can represent 'Unicode' just fine.
22:32:56 <jaan> utf16*
22:32:59 × dddddd quits (~dddddd@unaffiliated/dddddd) (Ping timeout: 256 seconds)
22:33:02 <koz_> Doesn't matter.
22:33:22 <koz_> % :t "😺"
22:33:22 <yahb> koz_: [Char]
22:33:35 × geowiesnot quits (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 272 seconds)
22:33:36 <koz_> % :set -XOverloadedStrings
22:33:36 <yahb> koz_:
22:33:40 <koz_> % :t "😺"
22:33:40 <yahb> koz_: IsString p => p
22:33:51 <koz_> IsString Text is most definitely a thing.
22:34:33 <koz_> So if you're dealing with literals, I'd say the easiest option is 'enable OverloadedStrings'.
22:35:23 × hiroaki quits (~hiroaki@2a02:908:4b18:8c40::b730) (Ping timeout: 272 seconds)
22:38:08 × lawid quits (~quassel@dslb-090-186-199-090.090.186.pools.vodafone-ip.de) (Quit: lawid)
22:38:21 × alx741 quits (~alx741@186.178.110.250) (Quit: alx741)
22:38:34 × Tario quits (~Tario@201.192.165.173) (Read error: Connection reset by peer)
22:40:08 lawid joins (~quassel@dslb-090-186-199-090.090.186.pools.vodafone-ip.de)
22:41:59 × elfets quits (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Quit: Leaving)
22:43:31 FinnElija joins (~finn_elij@gateway/tor-sasl/finnelija/x-67402716)
22:43:31 finn_elija is now known as Guest54318
22:43:31 FinnElija is now known as finn_elija
22:44:18 Tario joins (~Tario@201.192.165.173)
22:44:28 conal joins (~conal@64.71.133.70)
22:44:38 jaan is now known as aramend
22:44:53 clog joins (~nef@bespin.org)
22:46:29 × Guest54318 quits (~finn_elij@gateway/tor-sasl/finnelija/x-67402716) (Remote host closed the connection)
22:46:38 × cr3 quits (~cr3@192-222-143-195.qc.cable.ebox.net) (Ping timeout: 256 seconds)
22:46:42 <aramend> used this together with setLocaleEncoding and it worked, thanks 😽
22:46:48 × conal quits (~conal@64.71.133.70) (Client Quit)
22:46:55 <koz_> You're welcome, nyan.
22:47:13 nbloomf joins (~nbloomf@2600:1700:ad14:3020:f917:edc:2196:d8f9)
22:48:32 conal joins (~conal@64.71.133.70)
22:48:47 <aramend> But I was under the false assumption that Data.Text is needed for UTF encodings and that you can't use String. If it is not required, is it just recommended then?
22:48:58 <koz_> aramend: String is a linked list of Char.
22:49:04 <koz_> It _works_, but it's not very efficient.
22:49:14 × millerti quits (~millerti@2603-7081-5c02-f029-20f9-cd8e-1841-aeb4.res6.spectrum.com) (Ping timeout: 264 seconds)
22:49:20 <koz_> Text, on the other hand, is UTF-16 encoded and packed.
22:49:25 <koz_> Which is much _more_ efficient.
22:49:32 <koz_> Capability-wise, they are equivalent.
22:50:07 <aramend> That clears it up. And yeah, I've heard the List is versatile but slow spiel.
22:50:31 <koz_> The thing is, list versus Vector is another story.
22:50:36 <koz_> This is String versus Text.
22:50:52 <koz_> And that's _different_, because by definition, String and Text aren't polymorphic in their contents.
22:51:28 <koz_> (the stories are related, but ultimately orthogonal IMHO)
22:52:14 <aramend> Okay, time to sleep for me, bye!
22:52:16 × aramend quits (~aramend@5.186.113.246.cgn.fibianet.dk) (Quit: aramend)
22:54:22 × remexre quits (~nathan@207-153-38-50.fttp.usinternet.com) (Read error: Connection reset by peer)
22:58:10 remexre joins (~nathan@207-153-38-50.fttp.usinternet.com)
22:58:31 <slack1256> https://pastebin.com/xyXQM3ks
22:58:31 × tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Remote host closed the connection)
22:59:09 <slack1256> I got this example, I would have thought that `infiniteRef` would have some allocation. Why isn't this the case?
23:00:11 × Tops22 quits (~Tobias@dyndsl-091-249-082-219.ewe-ip-backbone.de) (Read error: Connection reset by peer)
23:00:19 olligobber joins (olligobber@gateway/vpn/privateinternetaccess/olligobber)
23:00:45 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 240 seconds)
23:05:38 × gehmehgeh quits (~ircuser1@gateway/tor-sasl/gehmehgeh) (Quit: Leaving)
23:06:05 × carlomagno quits (~cararell@148.87.23.11) (Ping timeout: 240 seconds)
23:08:19 carlomagno joins (~cararell@148.87.23.11)
23:12:40 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
23:14:54 <Axman6> slack1256: have you tried infinite = {-# NOINLINE infinite #-} 1 : 1 : zipWith (+) infinite (tail infinite)?
23:15:11 × fendor quits (~fendor@178.165.131.10.wireless.dyn.drei.com) (Remote host closed the connection)
23:15:19 <slack1256> Axman6: Give me a sec to try.
23:16:58 <slack1256> I think moving that NOINLINE pragma inside the expression is illegal.
23:17:16 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 240 seconds)
23:17:52 <Axman6> uh, sorry, I misrtead and thought it was the SSC, move the SSC in there
23:18:03 × conal quits (~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
23:18:06 <slack1256> Will try.
23:18:36 <dolio> Yeah, I think your `infinteRef` SCC is just surrounding the occurence of the variable, which isn't allocating anything.
23:18:59 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
23:19:57 <slack1256> Axman6: I did as you said, now it really reports allocated memory. Thank you!
23:22:05 <slack1256> dolio: I think you are right. But I would have thought that to evaluate `infinite` you would had to first pass through `infiniteRef` and that at least cumulative allocation would be reported.
23:22:35 Guest_15 joins (adad682f@cpe-173-173-104-47.satx.res.rr.com)
23:22:36 × Tario quits (~Tario@201.192.165.173) (Read error: Connection reset by peer)
23:23:10 <Guest_15> I just sh into Haskell on my Mac. I am very new to Haskell. How do I create a new file ?
23:24:36 <dolio> slack1256: I think it doesn't work that way. Like, if you do `\x -> f ({-# SCC "hello" #-} x)`, it's not going to wrap the value that function gets in an extra SCC.
23:24:49 <jared-w> koz_: yeah I managed to fix it. Took a second to figure out everything that was wrong. The transient errors seem to have been caused by the caching being "too good" (but the cache hit wasn't breaking cabal build, it was breaking the cabal-docspec). Just a guess though
23:25:03 <koz_> jared-w: Thanks so much!
23:25:15 <koz_> I'll merge that once I'm done with the work I'm doing. You've saved me hours if not days of headaches.
23:25:30 <__minoru__shirae> slack1256: how do you monitor memory allocation?
23:25:39 <jared-w> koz_: np :)
23:25:51 × LKoen quits (~LKoen@252.248.88.92.rev.sfr.net) (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”)
23:25:52 × nbloomf quits (~nbloomf@2600:1700:ad14:3020:f917:edc:2196:d8f9) (Quit: My MacBook has gone to sleep. ZZZzzz…)
23:26:08 × Guest_15 quits (adad682f@cpe-173-173-104-47.satx.res.rr.com) (Client Quit)
23:26:08 <koz_> What's with the 'env' thing in the cache action?
23:26:15 <slack1256> dolio: I seem to have a wrong idea on how SCC are stacked.
23:26:40 <jared-w> https://github.com/kozross/text-ascii/pull/13/files#diff-c09cc8dc973415b1221308559b96942a1c4b872e690bf360fc22d9b42822d519R39 this was a pain and a half to figure out. Best as I can figure out, there's a bug somewhere buried in cabal-docspec's handling of ghc and paths where someone commented that it only worked if they used `-w ghc` rather than `-w /path/to/ghc` so... *shrug*
23:26:54 × Feuermagier quits (~Feuermagi@2a02:2488:4211:3400:246e:bf09:8453:9d6) (Read error: Connection reset by peer)
23:26:57 <slack1256> __minoru__shirae: I could do a half-assed explanation, but the ghc user guide is really good in this aspect. https://ghc.gitlab.haskell.org/ghc/doc/users_guide/profiling.html
23:26:58 <koz_> Wow, that's... actually hostile.
23:27:00 <dolio> I mean, it could do that, but it's kind of an odd thing to do, really.
23:27:21 Feuermagier joins (~Feuermagi@2a02:2488:4211:3400:246e:bf09:8453:9d6)
23:27:40 <koz_> jared-w: One of us (likely you since you understand it) should likely open an issue on the cabal-extras repo.
23:27:46 <jared-w> koz_: that lets you increment the number and blow the cache without having to change the file 3 times to do so. Just in case you ever run into some obscure "macOS dylib stuff broke i guezz? lol"
23:27:48 <koz_> Since that's something that ought to be yelled from the rooftops.
23:27:55 <koz_> Ah, OK, useful.
23:28:02 conal joins (~conal@64.71.133.70)
23:28:38 <jared-w> koz_: like this issue? https://github.com/phadej/cabal-extras/issues/19 :p
23:28:39 × Franciman quits (~francesco@host-82-49-79-189.retail.telecomitalia.it) (Quit: Leaving)
23:28:41 × xcmw quits (~textual@dyn-72-33-2-47.uwnet.wisc.edu) (Quit: My MacBook has gone to sleep. ZZZzzz…)
23:29:18 <koz_> jared-w: Interesting.
23:29:32 <koz_> From a quick glance they're saying it's an issue with 'directory'?
23:30:29 tromp joins (~tromp@dhcp-077-249-230-040.chello.nl)
23:30:30 Feuermagier_ joins (~Feuermagi@213.178.26.41)
23:30:40 <jared-w> I think so? Really hard to tell
23:30:52 <dolio> slack1256: If you really wanted something like that, maybe `\x -> let y = {-# SCC "y" #-} x; {-# noinline y #-} in f y` would work, because the let actually builds a closure.
23:31:01 <koz_> Well, anyways, thanks so much for this!
23:31:18 <jared-w> np! Have a good one :)
23:31:18 <dolio> As long as the let doesn't disappear for being too trivial.
23:33:38 × Feuermagier quits (~Feuermagi@2a02:2488:4211:3400:246e:bf09:8453:9d6) (Ping timeout: 264 seconds)
23:35:19 × tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 256 seconds)
23:35:36 × finn_elija quits (~finn_elij@gateway/tor-sasl/finnelija/x-67402716) (Remote host closed the connection)
23:36:33 Tario joins (~Tario@201.192.165.173)
23:39:08 FinnElija joins (~finn_elij@gateway/tor-sasl/finnelija/x-67402716)
23:39:08 FinnElija is now known as finn_elija
23:39:14 × usr25 quits (~usr25@unaffiliated/usr25) (Quit: Leaving)
23:39:15 <slack1256> dolio: so the idea is that it has to be a closure so the SCC is stacked. That would make sense on why it didn't work the first time.
23:40:16 <dolio> slack1256: Anyhow, the reason I would say your original idea shouldn't work is that a variable occurrence doesn't have a cost. So if you could just put an SCC on a variable occurrence, keeping track of that would mean that an SCC is introducing allocation.
23:41:20 <slack1256> dolio: Seems reasonable. Thank you.
23:41:25 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds)
23:42:03 tromp joins (~tromp@dhcp-077-249-230-040.chello.nl)
23:43:19 × tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Read error: Connection reset by peer)
23:44:57 tromp joins (~tromp@dhcp-077-249-230-040.chello.nl)
23:47:50 <Axman6> what's the name for functions which are defined with multiple definitions; foo Nothing = ... ; foo (Just a) = .... instead of foo a = case a of ...
23:48:02 <Axman6> just multiple definiton functions?
23:48:40 alx741 joins (~alx741@186.178.110.250)
23:48:59 <swarmcollective> Axman6, I've not heard a name, but I've heard that referred to as pattern matched.
23:49:17 <Axman6> both are using pattern matching, but the former is syntax sugar for the latter
23:49:19 <swarmcollective> Though, pattern matching is, of course, used in many scenarios.
23:50:57 × tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 264 seconds)
23:51:00 <swarmcollective> In other languages, I believe the term would be "overloaded"
23:51:21 <dolio> Multi-clause?
23:52:34 <swarmcollective> It wouldn't be terrible if Haskell supported overloaded functions (functions with the same name accepting different quantity / order of parameters, but as with most things, someone / people would find a way to make it terrible. :D
23:52:53 <swarmcollective> +) somewhere in there
23:53:03 <Axman6> swarmcollective: what would the tyype of a function which does that look like though?
23:53:18 <dolio> Pattern matching on the left is not the same as overloading.
23:53:54 <hpc> swarmcollective: check out printf for a very limited example of this
23:54:02 <Axman6> erlang has a notion of functions also having their arity as part of the identity, createUSer/2 and createUser/3 are different
23:54:17 <Axman6> but who cares about types at that point
23:54:27 <dibblego> Axman6 ♥ Erlang
23:54:57 <__minoru__shirae> I think you can simulate overloaded functions by writing dummy entities, or maybe not
23:55:07 <ephemient> what is the arity of `id`?
23:55:12 <Axman6> dummy entities?
23:55:23 <Axman6> ephemient: the same as all functions, 1
23:55:25 <ephemient> id a, id a b, id a b c, id a b c d, etc. can all be valid
23:55:29 slack1256 TIL: about those numbers on erlang.
23:55:32 Axman6 beat dibblego to it
23:55:42 × conal quits (~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
23:56:03 <jle`> (id negate) 3 = negate 3 = -3
23:56:08 <dolio> Logic programming languages tend to have that sort of thing, too.
23:56:13 <jle`> its arity is 1 like all functions, but it can return functions
23:56:38 <jle`> id negate = negate
23:56:56 <__minoru__shirae> Axman6, imagine prepending function with some name, and then distinguishing overloaded functions by different names that you prepend. Not sure if it's possible in haskell.
23:57:00 <jle`> (id a) b c d = a b c d
23:57:07 <swarmcollective> Axman6, The chain of updateState functions in this: https://github.com/calledtoconstruct/lambdabot/blob/patches/lambdabot-dashboard-plugins/src/Lambdabot/Plugin/Dashboard/Dashboard.hs
23:57:22 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
23:57:28 <dolio> __minoru__shirae: Like qualified imports? :)
23:57:36 <cheater> swarmcollective: haskell already has overloaded functions. if you want f to take Either an Int or a Float, then make f :: Either Int Float
23:57:37 xcmw joins (~textual@dyn-72-33-2-47.uwnet.wisc.edu)
23:57:53 <ephemient> I mean, GHC does keep track of how many unapplied arguments there are to a function, so in that sense there is an arity
23:57:59 <__minoru__shirae> dolio, yeah, something like that
23:58:02 × vicfred_ quits (~vicfred@unaffiliated/vicfred) (Quit: Leaving)
23:58:08 <swarmcollective> cheater, but does it allow for a different number of arguments?
23:58:18 <ephemient> but id a = a and id = \a -> a would count differently
23:58:37 <cheater> swarmcollective: sure. f :: Either (Int, Int) (Float, Float, Float)
23:58:39 <Axman6> swarmcollective: look at Text.Printf
23:58:43 <Axman6> :t printf
23:58:44 <lambdabot> PrintfType r => String -> r
23:58:48 <hpc> fun fact, they're already different with respect to the monomorphism restriction
23:58:49 <cheater> well...
23:58:54 <swarmcollective> Ahhh! I see now. ;)
23:58:59 <cheater> someone forgot to add -> Int
23:59:01 <cheater> like me
23:59:07 <Axman6> > printf "%d %f %s" 1 pi "Hello"
23:59:09 <lambdabot> error:
23:59:09 <lambdabot> • Ambiguous type variable ‘a0’ arising from a use of ‘show_M149988900225...
23:59:09 <lambdabot> prevents the constraint ‘(Show a0)’ from being solved.
23:59:14 <cheater> f :: Either (Int, Int) (Float, Float, Float) -> Int
23:59:22 <ephemient> > printf "%d %f %s" 1 pi "Hello" :: String
23:59:23 <lambdabot> "1 3.141592653589793 Hello"
23:59:27 <Axman6> > printf "%d %f %s" (1::Int) (pi::Double) "Hello" :: String
23:59:29 <lambdabot> "1 3.141592653589793 Hello"
23:59:34 <jle`> ephemient: it sort of depends on what level you are asking the question on then; are you talking about the semanatics of what id denotes, or about how ghc treats it implementation-wise?

All times are in UTC on 2021-02-10.