Home freenode/#haskell: Logs Calendar

Logs on 2020-12-07 (freenode/#haskell)

00:00:06 × atk quits (~Arch-TK@ircpuzzles/staff/Arch-TK) (Quit: Well this is unexpected.)
00:00:06 × alx741 quits (~alx741@181.196.68.200) (Ping timeout: 256 seconds)
00:00:27 atk joins (~Arch-TK@ircpuzzles/staff/Arch-TK)
00:03:06 × LittleFox quits (~littlefox@rondra.lf-net.org) (Quit: ZNC 1.7.2+deb3 - https://znc.in)
00:03:17 LittleFox joins (~littlefox@rondra.lf-net.org)
00:03:52 × LittleFox quits (~littlefox@rondra.lf-net.org) (Client Quit)
00:03:59 jedws joins (~jedws@121.209.181.215)
00:04:02 LittleFox joins (~littlefox@rondra.lf-net.org)
00:04:07 × cosimone quits (~cosimone@93-47-228-249.ip115.fastwebnet.it) (Ping timeout: 246 seconds)
00:05:42 nyaomin joins (~naomi@2604:6000:1509:c86e:c878:29ff:fedf:ce89)
00:07:25 × nyaomi quits (~naomi@cpe-74-75-6-125.maine.res.rr.com) (Ping timeout: 264 seconds)
00:08:27 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
00:08:35 × florian_ quits (~florian@2a01:e35:2fe9:ecb0:c158:40c4:7378:c970) (Ping timeout: 272 seconds)
00:09:27 da39a3ee5e6b4b0d joins (~da39a3ee5@2403:6200:8876:a9cd:5081:c991:1e35:d185)
00:09:40 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
00:09:56 × Jesin quits (~Jesin@pool-72-66-101-18.washdc.fios.verizon.net) (Ping timeout: 240 seconds)
00:09:56 × chkno quits (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer)
00:10:28 chkno joins (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net)
00:12:07 nyaomin is now known as nyaomi
00:12:07 × chkno quits (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer)
00:12:59 p8m joins (p8m@gateway/vpn/protonvpn/p8m)
00:13:39 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 272 seconds)
00:14:29 × dhil quits (~dhil@195.213.192.34) (Ping timeout: 260 seconds)
00:15:00 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
00:15:20 × jedws quits (~jedws@121.209.181.215) (Quit: My MacBook has gone to sleep. ZZZzzz…)
00:15:27 chkno joins (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net)
00:16:01 × euisuny quits (~euisuny@2601:47:4500:2140:c192:2e54:b4ff:5cb) (Remote host closed the connection)
00:18:45 <texasmynsted> hello
00:19:02 × o1lo01ol1o quits (~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Remote host closed the connection)
00:19:14 × chkno quits (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer)
00:19:28 × jollygood2 quits (~bc8165ab@217.29.117.252) (Quit: http://www.okay.uz/ (Session timeout))
00:20:28 chkno joins (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net)
00:21:11 × pjb quits (~t@2a01cb04063ec5000d865f68245bcc45.ipv6.abo.wanadoo.fr) (Ping timeout: 246 seconds)
00:21:36 × gehmehgeh quits (~ircuser1@gateway/tor-sasl/gehmehgeh) (Quit: Leaving)
00:21:37 Gladenko joins (~Gladenko@4e69b241.skybroadband.com)
00:21:55 FreeBirdLjj joins (~freebirdl@101.228.42.108)
00:23:06 × texasmynsted quits (~texasmyns@212.102.45.103) (Remote host closed the connection)
00:24:14 × heatsink quits (~heatsink@2600:1700:bef1:5e10:406f:6a8d:2175:4183) (Remote host closed the connection)
00:24:25 × tabemann quits (~tabemann@2600:1700:7990:24e0:1a58:f55b:3d3:7cd) (Remote host closed the connection)
00:24:39 tabemann joins (~tabemann@2600:1700:7990:24e0:4046:8a62:9416:f625)
00:25:14 × bgamari quits (~bgamari@2001:470:e438::1) (Ping timeout: 264 seconds)
00:26:49 bgamari joins (~bgamari@72.65.102.6)
00:28:20 × Neuromancer quits (~Neuromanc@unaffiliated/neuromancer) (Ping timeout: 272 seconds)
00:32:39 euisuny joins (~euisuny@2601:47:4500:2140:c192:2e54:b4ff:5cb)
00:32:42 heatsink joins (~heatsink@2600:1700:bef1:5e10:406f:6a8d:2175:4183)
00:33:40 kupi joins (uid212005@gateway/web/irccloud.com/x-bkwjmbfkayjdlwwo)
00:35:13 × avn quits (~avn@78-56-108-78.static.zebra.lt) (Remote host closed the connection)
00:42:36 × Axman6 quits (~Axman6@pdpc/supporter/student/Axman6) (Ping timeout: 240 seconds)
00:42:39 × heatsink quits (~heatsink@2600:1700:bef1:5e10:406f:6a8d:2175:4183) (Remote host closed the connection)
00:43:34 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
00:44:27 alx741 joins (~alx741@181.196.68.200)
00:45:36 × Cthalupa quits (~cthulhu@47.186.47.75) (Ping timeout: 240 seconds)
00:46:52 × Tuplanolla quits (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.)
00:47:13 × abhixec quits (~abhixec@c-67-169-141-95.hsd1.ca.comcast.net) (Ping timeout: 272 seconds)
00:47:31 Cthalupa joins (~cthulhu@47.186.47.75)
00:48:24 × Kaivo quits (~Kaivo@104-200-86-99.mc.derytele.com) (Quit: WeeChat 2.9)
00:50:15 <sm[m]> wow.. almost four hours to track down a cyclic reference hang added to a rare code path months ago
00:51:01 × nowhere_man quits (~pierre@2a01:e0a:3c7:60d0:e88f:4e24:f6a7:f155) (Ping timeout: 272 seconds)
00:51:18 <sm[m]> if you're interested: https://github.com/simonmichael/hledger/commit/260283e2f123f687be8eb3a0fa710f99550517a8?branch=260283e2f123f687be8eb3a0fa710f99550517a8&diff=split#diff-4e35d3e929fe0b313f5d79a0d5f57d72da73863eed4f31c1e3a0d0e5958cec07R211
00:51:39 abhixec joins (~abhixec@c-67-169-141-95.hsd1.ca.comcast.net)
00:52:25 cp- joins (~cp-@b157153.ppp.asahi-net.or.jp)
00:52:34 <sm[m]> the Can-we-build-reliable-software-with-haskell-department would like to know, how do you prevent these ?
00:53:22 Axman6 joins (~Axman6@pdpc/supporter/student/Axman6)
00:54:45 Tops21 joins (~Tobias@dyndsl-095-033-018-252.ewe-ip-backbone.de)
00:58:44 × Tops2 quits (~Tobias@dyndsl-095-033-018-252.ewe-ip-backbone.de) (Ping timeout: 272 seconds)
01:02:18 × Axman6 quits (~Axman6@pdpc/supporter/student/Axman6) (Ping timeout: 260 seconds)
01:02:34 o1lo01ol1o joins (~o1lo01ol1@bl11-140-216.dsl.telepac.pt)
01:03:47 × sm2n quits (~sm2n@bras-base-hmtnon1497w-grc-44-69-156-5-58.dsl.bell.ca) (Read error: Connection reset by peer)
01:03:51 incertia joins (~incertia@d4-50-26-103.nap.wideopenwest.com)
01:04:14 × borne quits (~fritjof@200116b8649d08009ba1d43461655289.dip.versatel-1u1.de) (Ping timeout: 264 seconds)
01:04:33 sm2n joins (~sm2n@bras-base-hmtnon1497w-grc-44-69-156-5-58.dsl.bell.ca)
01:04:40 × m0rphism quits (~m0rphism@HSI-KBW-085-216-104-059.hsi.kabelbw.de) (Ping timeout: 246 seconds)
01:05:22 × star_cloud quits (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Ping timeout: 246 seconds)
01:06:20 × alx741 quits (~alx741@181.196.68.200) (Ping timeout: 272 seconds)
01:06:33 Axman6 joins (~Axman6@pdpc/supporter/student/Axman6)
01:07:52 × o1lo01ol1o quits (~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Ping timeout: 260 seconds)
01:09:34 × elliott__ quits (~elliott@pool-108-51-141-12.washdc.fios.verizon.net) (Quit: WeeChat 2.9)
01:10:22 × notzmv quits (~user@unaffiliated/zmv) (Remote host closed the connection)
01:10:56 × jmchael quits (~jmchael@87.112.60.168) (Ping timeout: 256 seconds)
01:11:17 × Unhammer quits (~Unhammer@gateway/tor-sasl/unhammer) (Remote host closed the connection)
01:11:39 guest127 joins (~user@49.5.6.87)
01:12:27 elliott__ joins (~elliott@pool-108-51-141-12.washdc.fios.verizon.net)
01:12:45 on_ is now known as iptq
01:13:11 × iptq quits (~michael@142.93.75.170) (Quit: WeeChat 2.8)
01:13:28 iptq joins (~michael@142.93.75.170)
01:14:28 notzmv joins (~user@unaffiliated/zmv)
01:17:54 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
01:19:22 × Axman6 quits (~Axman6@pdpc/supporter/student/Axman6) (Ping timeout: 256 seconds)
01:20:26 alx741 joins (~alx741@181.196.69.205)
01:25:31 × conal quits (~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
01:25:39 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Quit: leaving)
01:27:33 Unhammer joins (~Unhammer@gateway/tor-sasl/unhammer)
01:28:41 conal joins (~conal@64.71.133.70)
01:29:01 × conal quits (~conal@64.71.133.70) (Client Quit)
01:29:25 × mputz quits (~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de) (Ping timeout: 240 seconds)
01:29:26 conal joins (~conal@64.71.133.70)
01:29:49 × conal quits (~conal@64.71.133.70) (Client Quit)
01:29:53 ezzieyguywuf pops in "Don't use circular references."
01:29:56 ezzieyguywuf ducks
01:30:16 heatsink joins (~heatsink@2600:1700:bef1:5e10:406f:6a8d:2175:4183)
01:30:50 <cheater> if i'm in powershell and run cabal install and select some text will it actually stop compiling? because i think that just happened
01:32:17 <iqubic> I honestly doubt that's what happened.
01:34:23 <cheater> thanks
01:34:36 <cheater> any clue on why accelerate would fail to build on windows 10 with this error? https://hastebin.com/exulidahow.apache
01:39:06 pjb joins (~t@2a01cb04063ec50044c8323fd4c5d635.ipv6.abo.wanadoo.fr)
01:40:35 <ezzieyguywuf> the megaparsec tutorial talks about the "choice" combinator: where does tihs come from?
01:40:37 × heatsink quits (~heatsink@2600:1700:bef1:5e10:406f:6a8d:2175:4183) (Remote host closed the connection)
01:42:58 <cheater> i googled "megaparsec choice combinator" and the first result was this: https://hackage.haskell.org/package/megaparsec-4.4.0/docs/Text-Megaparsec-Combinator.html
01:43:19 heatsink joins (~heatsink@2600:1700:bef1:5e10:406f:6a8d:2175:4183)
01:43:19 jedws joins (~jedws@121.209.181.215)
01:44:18 × Lord_of_Life quits (~Lord@unaffiliated/lord-of-life/x-0885362) (Ping timeout: 256 seconds)
01:44:36 Lord_of_Life joins (~Lord@46.217.218.10)
01:45:57 wei2912 joins (~wei2912@unaffiliated/wei2912)
01:46:11 <ezzieyguywuf> doh
01:46:22 <ezzieyguywuf> you totally should've "lmgtfy"d me
01:47:44 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
01:48:49 × columbarius quits (~columbari@i5E86B34D.versanet.de) (Ping timeout: 264 seconds)
01:50:46 columbarius joins (~columbari@mue-88-130-54-125.dsl.tropolys.de)
01:52:36 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
01:52:38 × jedws quits (~jedws@121.209.181.215) (Quit: My MacBook has gone to sleep. ZZZzzz…)
01:54:03 <ephemient> in later versions it is split out to https://hackage.haskell.org/package/parser-combinators-1.2.1/docs/Control-Applicative-Combinators.html#v:choice
01:54:36 <ephemient> as it works with in any Alternative, nut just parsec
01:54:37 cole-h joins (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
01:55:54 vonfry joins (~user@216.127.175.164)
01:56:01 × Deide quits (~Deide@217.155.19.23) (Quit: Seeee yaaaa)
01:56:16 vonfry is now known as Guest75565
01:56:55 × Guest75565 quits (~user@216.127.175.164) (Client Quit)
01:57:00 <cheater> ezzieyguywuf: nah i'm trying to be friendly :)
01:57:58 <ezzieyguywuf> cheater: cheers mate!
01:58:15 <ezzieyguywuf> ephemient: I saw it in paser-combinators, and then wasn't sure if that was different or not
01:58:43 vonfry` joins (~user@216.127.175.164)
01:59:25 <ephemient> ezzieyguywuf: megaparsec re-exports Control.Monad.Combinators: http://hackage.haskell.org/package/megaparsec-9.0.1/docs/Text-Megaparsec.html#g:1
02:00:34 doct0rhu joins (~orctarorg@pool-72-88-158-154.nwrknj.fios.verizon.net)
02:01:32 <ephemient> which, if you look at its source, just re-exports Control.Applicative.Combinators.choice
02:01:50 <ephemient> so it is the same one :)
02:02:31 <ezzieyguywuf> lol, ephemient thanks, this is mostly what I was asking/looknig for
02:02:35 <ezzieyguywuf> cheater: also thanks to you!
02:02:43 <cheater> yw
02:02:52 <cheater> wish i could figure out my build issue :'(
02:02:57 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
02:03:43 <koz_> cheater: What are you building and how?
02:03:50 <ezzieyguywuf> cheater: rm -rf /, usually fixes my problems
02:03:50 rayyyy joins (~nanoz@gateway/tor-sasl/nanoz)
02:03:53 <ezzieyguywuf> jk jk
02:03:57 <cheater> koz_: i'm building accelerate using cabal
02:03:59 <koz_> You said 'accelerate' - is this standalone, as part of something else, some other thing?
02:04:25 <cheater> it's used as an include, but all i'm doing is import it into an empty "cabal init" project
02:04:33 <ephemient> __p__argv sounds like an issue with windows CRT
02:04:41 <cheater> cabal is version 3.2.0.0
02:04:51 <cheater> ephemient: what's windows CRT?
02:05:01 <koz_> cheater: The C runtime on Windows.
02:05:07 <cheater> i think __p means posix and __argv is the argv.
02:05:07 <koz_> ephemient: I'd sooner blame that getopt symbol.
02:05:09 <ephemient> https://docs.microsoft.com/en-us/cpp/c-runtime-library/internal-crt-globals-and-functions
02:05:19 <cheater> and i believe these should be supplied by mingw.
02:05:25 <cheater> which i understand cabal is installing with
02:05:49 <ephemient> maybe you're linking together objects using different C runtimes
02:06:03 <cheater> not that i know of
02:06:13 <cheater> i created an empty cabal project and added this package, that's all
02:06:32 <cheater> and added an import from the accelerate package into a hello world
02:06:57 bgamari_ joins (~bgamari@72.65.101.97)
02:07:05 × Kronic quits (~Kronic___@84.203.103.100) (Read error: Connection reset by peer)
02:07:32 × bgamari quits (~bgamari@72.65.102.6) (Ping timeout: 256 seconds)
02:07:41 <koz_> How did you set up GHC and cabal?
02:08:15 <cheater> like this https://www.haskell.org/platform/windows.html
02:08:17 Jesin joins (~Jesin@pool-72-66-101-18.washdc.fios.verizon.net)
02:08:18 <cheater> with choco
02:08:55 <koz_> Pastebin your cabal file?
02:09:28 × SupaYoshi quits (~supayoshi@213-10-140-13.fixed.kpn.net) (Read error: Connection reset by peer)
02:10:31 SupaYoshi joins (~supayoshi@213-10-140-13.fixed.kpn.net)
02:10:55 <cheater> one sec. i'm making an even simpler project (like without the 2-3 lines that i added that aren't related to this issue)
02:11:08 × SupaYoshi quits (~supayoshi@213-10-140-13.fixed.kpn.net) (Remote host closed the connection)
02:11:18 <cheater> and i'm trying to build it on C: instead of on D: in case that might be an issue (i read somewhere things might get confused sometimes)
02:11:52 <cheater> but essentially i did cabal init with cabal 3.2.0.0 and then added accelerate to the build-depends for Main.hs
02:11:57 <cheater> that's all
02:12:08 <cheater> yup
02:12:09 <cheater> that's it
02:12:13 bgamari joins (~bgamari@72.65.101.236)
02:12:13 <cheater> still breaking
02:12:39 <cheater> https://hastebin.com/inigayacum.yaml
02:12:55 <cheater> er... i didn't choose that url.
02:13:02 <koz_> Lol, it's fine.
02:13:05 × bgamari_ quits (~bgamari@72.65.101.97) (Ping timeout: 240 seconds)
02:13:18 <cheater> Main.hs is just this: https://hastebin.com/ojepocavep.rb
02:13:18 <koz_> I guess you ran 'cabal new-build'?
02:13:20 × zebrag quits (~inkbottle@aaubervilliers-654-1-115-108.w86-198.abo.wanadoo.fr) (Quit: Konversation terminated!)
02:13:28 <cheater> i ran cabal build. it should default to v2-build.
02:13:34 <koz_> Could you pastebin the entire build log?
02:13:37 zebrag joins (~inkbottle@aaubervilliers-654-1-115-108.w86-198.abo.wanadoo.fr)
02:13:42 <koz_> (like, everything that came out of 'cabal build')
02:13:56 Axman6 joins (~Axman6@pdpc/supporter/student/Axman6)
02:13:56 <cheater> sure, one sec
02:14:38 <cheater> https://hastebin.com/ovofafokib.php
02:15:43 <koz_> Hmm, you might actually wanna report this to the accelerate folks. This isn't _your_ code blowing up.
02:16:05 <koz_> I'm unsure if the accelerate folks even test on Windows to be honest.
02:16:25 × thelounge7121 quits (c1207eea@gateway/web/thelounge/ip.193.32.126.234) (Quit: The Lounge - https://thelounge.chat)
02:16:25 tenniscp25 joins (~tenniscp2@node-1433.pool-125-26.dynamic.totinternet.net)
02:16:29 <cheater> :(
02:17:17 SupaYoshi joins (~supayoshi@213-10-140-13.fixed.kpn.net)
02:17:22 × foobarblob quits (188838c2@ip24-136-56-194.ga.at.cox.net) (Remote host closed the connection)
02:17:24 xff0x_ joins (~fox@2001:1a81:5262:300:a503:de77:83fc:9f21)
02:17:59 <cheater> hmm
02:18:12 <cheater> let me look at the accelerate package, maybe cabal is resolving to an old version
02:20:37 × xff0x quits (~fox@83.236.23.112) (Ping timeout: 264 seconds)
02:21:16 <cheater> https://matrix.hackage.haskell.org/#/package/accelerate
02:21:29 <cheater> says 1.3.0.0 doesn't build on ghc 8.10.1
02:21:35 <cheater> but 1.2.0.1 does :)
02:21:40 <cheater> let me try that :)
02:22:16 × SupaYoshi quits (~supayoshi@213-10-140-13.fixed.kpn.net) (Quit: Goodbye!)
02:23:22 SupaYoshi joins (~supayoshi@213-10-140-13.fixed.kpn.net)
02:23:45 <cheater> hmmmmmmmmmmmmmmmmmm.... it's complaining about base version......
02:24:51 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
02:24:51 <cheater> oh hackage matrix says "ok" when there's no install plan found :|
02:25:01 <cheater> that's stupid
02:25:45 <sm[m]> I agree
02:26:01 <cheater> ok, so looks like using chocolatey i need to install an older version of ghc.
02:26:04 <cheater> how would i do this?
02:26:30 <cheater> can i have multiple versions :|
02:26:33 <cheater> please tell me yes
02:26:35 <cheater> oh god
02:26:50 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
02:26:54 <sm[m]> you can, easily, with stack. Don't know chocolatey, sorry
02:27:13 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
02:27:14 <cheater> on windows?
02:27:19 <sm[m]> yes
02:27:46 mbomba joins (~mbomba@bras-base-toroon2719w-grc-49-142-114-9-241.dsl.bell.ca)
02:27:56 <sm[m]> though, keep in mind many ghc versions have bothersome issues on windows. You have to pick and choose. The latest point releases may be ok right now
02:28:56 <cheater> i need one of the ones that say "OK" here:
02:29:04 <cheater> https://matrix.hackage.haskell.org/#/package/accelerate
02:29:15 <cheater> i think 8.6.5
02:29:21 <cheater> does that have a bothersome issue?
02:30:09 <sm[m]> well.. there are always windows issues, but I expect that one will be fine
02:30:40 <sm[m]> with stack, you look at https://www.stackage.org for which resolver has the ghc you want, and build/install using that
02:32:03 <sm[m]> eg: stack --resolver lts-14.27 install --dry-run accelerate-VERSION [extra packages it may ask for ...]
02:32:38 × tenniscp25 quits (~tenniscp2@node-1433.pool-125-26.dynamic.totinternet.net) (Remote host closed the connection)
02:33:19 Stanley00 joins (~stanley00@unaffiliated/stanley00)
02:34:52 <hyiltiz> sm[m]: that commit diff, superficially, seems like a complexity explosion to take into account a design deficiency (original data structure not rich enough to represent the problem) to me
02:35:16 <cheater> how do i find the latest resolver that includes accelerate?
02:35:31 <cheater> when i google for "stackage accelerate" i get this https://www.stackage.org/lts-9.3/package/accelerate-1.0.0.0
02:35:35 <cheater> which looks like garbage
02:35:36 <koz_> cheater: stackage.org lists them.
02:35:59 <cheater> koz_: no it doesn't
02:36:03 <hyiltiz> i couldn't quite spot the cyclic reference but "well-written" tests should be able to catch cyclic references, no?
02:36:06 <koz_> It seems it's not on there, not for recent ones at least.
02:36:20 <koz_> You can have chocolatey install multiple GHC versions.
02:36:36 <cheater> oh i can?
02:36:38 <koz_> You can also specify GHC version when doing 'cabal new-configure' with the -w flag.
02:36:39 <cheater> how would i do that?
02:36:41 <koz_> Yep.
02:36:45 <koz_> Just... request another version?
02:36:53 <cheater> i've never used chocolatey tbh
02:36:55 <koz_> When you use choco install, you can specify which version you want.
02:37:02 <koz_> (there's a flag I think)
02:37:06 <cheater> oh
02:37:13 <koz_> It's been a while since I used it.
02:37:54 <Axman6> PI'm running into a problem with conflicts between functional dependencies. I have a classs Foo msg hdr | msg -> hdr where ... and another Bar msg hdr | msg -> hdr where ...; Trying to use instance (Foo msg SomeHdr) => Bar msg SomeHdr where and instance (Foo msg ADistinctHdr) => Bar msg ADistinctHdr results in a fundep conflict between the two instances
02:38:59 <sm[m]> hyiltiz: thanks for your comment. I'm glad you couldn't spot it either, it was between lines 211 and 212. Because of laziness and the length of time it was undetected, it was pretty hard to track down! https://github.com/simonmichael/hledger/commit/69edf9003edd59a9f2556bd00969314a32635191 is the fix, simplifying a bit.
02:39:39 <cheater> thanks koz_ that helps a lot
02:39:57 <cheater> for ghc 8.6.5 which cabal version should i install? still 3.2.0.0 ?
02:40:23 <sm[m]> hyiltiz: and you're right, I can add a functional test which would detect this in future, and I probably will, but of course that won't help prevent more of these
02:40:24 <koz_> You can use any version that's more recent than... something way less than that.
02:40:32 <cheater> thanks
02:41:08 <cheater> koz_: hmm do i force choco to install multiple ghc versions?
02:41:26 <koz_> cheater: I don't remember, sorry. I know that it _is_ possible, but I don't remember how.
02:41:33 <koz_> (it's been like, nearly a year since I last touched it)
02:42:03 mbomba1 joins (~mbomba@bras-base-toroon2719w-grc-53-142-114-5-26.dsl.bell.ca)
02:42:40 <koz_> What happens when you do 'choco install ghc -version 8.6.5'?
02:42:52 guest1949419412 joins (b5a84c82@181.168.76.130)
02:43:11 <cheater> i was just pasting. it errors out
02:43:21 <cheater> https://hastebin.com/ujofipulum.properties
02:43:39 <cheater> this url.... https://hub.zhox.com/posts/introducing-haskell-dev/ says "Since this functionality is provided by the cabal 3.0+ package, you can use any GHC version (or even multiple by using the choco flag -m when installing GHC) and it will just work."
02:43:45 × mbomba quits (~mbomba@bras-base-toroon2719w-grc-49-142-114-9-241.dsl.bell.ca) (Ping timeout: 240 seconds)
02:44:42 <koz_> cheater: try 'choco install ghc -version 8.6.5 --side-by-side'
02:44:49 <cheater> yeah that's what i did. that's what -m is
02:44:55 <cheater> trying it now. thank you
02:44:56 vonfry` parts (~user@216.127.175.164) ("ERC (IRC client for Emacs 27.1)")
02:45:01 × urek quits (~urek@179.187.232.25.dynamic.adsl.gvt.net.br) (Ping timeout: 272 seconds)
02:45:16 <koz_> "PS C:\projects\cluster\cluster> choco install ghc --version 8.6.5" <-- no -m here
02:45:46 <cheater> koz_: yeah, but see what i just said
02:45:57 <cheater> right before you told me to use --side-by-side
02:46:19 <sm[m]> cheater, sounds like you may not need stack but re your question: from that stackage package page, you can click "See all snapshots accelerate appears in" -> https://www.stackage.org/package/accelerate/snapshots
02:46:47 <koz_> If you run that command I just gave, what happens?
02:47:10 <cheater> it installed ghc 8.6.5
02:47:22 <koz_> OK, cool.
02:47:23 <cheater> but after this if i run ghc --version it still says 8.10.1
02:47:32 <koz_> Yeah, because you have it default to this.
02:47:42 conal joins (~conal@64.71.133.70)
02:47:45 <koz_> If you do 'get-command ghc-8.6.5' what do you see?
02:47:45 <cheater> and if i type ghc- and press tab, it doesn't find 8.6.5, only 8.10.1.
02:47:49 <cheater> 1 sec
02:48:02 <cheater> not recognized.
02:48:06 <koz_> OK, one moment.
02:48:08 fxg joins (~fxg@unaffiliated/fxg)
02:48:17 <cheater> resterting ps helped
02:48:21 <cheater> even though i did refreshenv
02:48:29 parsnip parts (sid147265@gateway/web/irccloud.com/x-ijryicdhhvmgitdg) ()
02:48:35 <cheater> it's now being recognized
02:48:42 drincruz_ joins (~adriancru@ool-44c748be.dyn.optonline.net)
02:48:43 <cheater> so you said i could select the ghc version when using cabal?
02:49:28 <koz_> Yep.
02:49:35 <cheater> sorry, how would i do that?
02:49:43 <cheater> google doesn't tell me
02:49:44 <koz_> 'cabal configure -w ghc-8.6.5'
02:49:50 <cheater> thank you!
02:49:54 <koz_> Then 'cabal build' should use that one.
02:49:56 <cheater> sm[m]: thanks a lot, i looked there
02:51:14 <cheater> alright, this should work for accelerate 1.2.0.1 which should build... crossing my fingers
02:51:16 <cheater> thanks a lot
02:51:22 <sm[m]> (it shows that accelerate was last in stackage in lts-11.22, which was a couple of years ago.. not necessarily a problem, stack can still pull newer versions from hackage)
02:53:27 <koz_> cheater: Let us know if it works.
02:53:34 star_cloud joins (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com)
02:54:05 <cheater> it didn't!
02:54:08 <cheater> one sec.
02:54:39 × softwarm quits (4408f588@ip68-8-245-136.sd.sd.cox.net) (Ping timeout: 245 seconds)
02:54:41 <cheater> https://hastebin.com/joduvatiwa.yaml
02:55:06 <koz_> Your base version is too high for 8.6.
02:55:21 <koz_> Base version and GHC version have to align closely.
02:55:27 <cheater> shouldn't it install the correct base version?
02:55:35 × guest1949419412 quits (b5a84c82@181.168.76.130) (Remote host closed the connection)
02:55:42 <koz_> cheater: No, because it doesn't 'install' base.
02:55:44 <koz_> Base comes with GHC.
02:55:48 <cheater> the base version for 8.6.5 is 4.12.
02:55:54 <koz_> But if your Cabal file spells an impossible version, it'll barf.
02:56:09 <cheater> the base version for 8.6.5 is 4.12 and my cabal allows 4.12.
02:56:11 <koz_> Did you do 'cabal new-configure'?
02:56:29 <cheater> i deleted the full cabal project and started a new one using cabal init -w 8.6.5
02:56:59 <cheater> sorry cabal init -w ghc-8.6.5
02:57:16 <koz_> OK, is there a cabal.project.local file in there?
02:57:19 <koz_> If so, what's in it?
02:57:34 <cheater> no
02:57:44 <koz_> Then it means that 'cabal init' doesn't set this up correctly.
02:57:52 <koz_> This is why you gotta do 'cabal new-configure -w ghc-8.6.5'.
02:57:53 drbean joins (~drbean@TC210-63-209-18.static.apol.com.tw)
02:58:05 <koz_> Because 'cabal init' will set the right bounds, but won't staple the right compiler.
02:58:07 <cheater> why would it be wrong? the cabal file is correct. it selects the right version of base.
02:58:17 <cheater> oh, how does the compiler get "stapled"?
02:58:24 <cheater> using cabal.project.local ?
02:58:29 <koz_> In the 'cabal.project.local' file you would have if you did what I said.
02:58:53 <cheater> ok, now there's a cabal.project.local.
02:58:53 <cheater> thanks
02:58:57 <cheater> let me try again!
02:58:59 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
02:59:52 <cheater> ok, it's building. let's see if accelerate builds this time!
03:00:37 <cheater> also here's a weird thing i noticed... i created c:\projects\cluster\hello, went inside it, and did cabal init -w ghc-8.6.5 and it said "package name not specified" and then it created a full skeleton cabal project except for the .cabal file.
03:00:45 <cheater> is "hello" some sort of magical name? that's so weir.d
03:00:47 <cheater> weird.
03:01:20 <koz_> I dunno about cabal init, I never use it.
03:01:45 <cheater> i've never had this happen and i've made so many cabal packages in the past
03:01:50 <cheater> this has to be a bug
03:01:56 × fxg quits (~fxg@unaffiliated/fxg) (Ping timeout: 240 seconds)
03:03:10 tenniscp25 joins (~tenniscp2@node-1433.pool-125-26.dynamic.totinternet.net)
03:04:42 <koz_> So, did it build?
03:05:00 × Gurkenglas quits (~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 256 seconds)
03:05:11 × shatriff quits (~vitaliish@176.52.219.10) (Remote host closed the connection)
03:05:37 <cheater> i'll know in a while!
03:05:46 shatriff joins (~vitaliish@176.52.219.10)
03:05:56 <cheater> even if it builds, it'll probably still have some issues because i think i need to install cuda and other stuff to get /that/ to work
03:06:20 <koz_> Yeah, but that's a future issue.
03:06:27 <cheater> just preparing
03:06:43 <cheater> as for now accelerate is still building, and it would have failed already on 8.10.1
03:06:58 <cheater> seems like it might actually be working, yay!
03:07:49 × tenniscp25 quits (~tenniscp2@node-1433.pool-125-26.dynamic.totinternet.net) (Ping timeout: 272 seconds)
03:11:35 Saukk joins (~Saukk@2001:998:ec:954:1c59:9bb5:b94c:3)
03:12:06 × heatsink quits (~heatsink@2600:1700:bef1:5e10:406f:6a8d:2175:4183) (Remote host closed the connection)
03:12:18 <cheater> ok, it compiled!
03:13:26 <cheater> thanks a lot koz_ and sm[m] !
03:13:33 <koz_> No worries.
03:13:35 × tv- quits (~tv@unaffiliated/tv-) (Quit: WeeChat 2.8)
03:13:37 <koz_> Best of luck.
03:13:49 <cheater> so now i need to figure out cuda.
03:13:56 tv- joins (~tv@unaffiliated/tv-)
03:14:24 tenniscp25 joins (~tenniscp2@node-1433.pool-125-26.dynamic.totinternet.net)
03:16:04 <cheater> hmm... so...
03:16:16 × olligobber quits (~olligobbe@unaffiliated/olligobber) (Ping timeout: 246 seconds)
03:16:20 <cheater> this thing says "See the Haddock documentation for additional information related to using this backend." https://hackage.haskell.org/package/accelerate-cuda
03:16:28 <cheater> but there's no haddock documentation? :|
03:16:29 × Jeanne-Kamikaze quits (~Jeanne-Ka@66.115.189.207) (Quit: Leaving)
03:17:04 <koz_> accelerate-cuda is deprecated anyhow.
03:17:16 <koz_> http://hackage.haskell.org/package/accelerate-llvm-ptx
03:17:19 <koz_> This is what you want.
03:17:45 <cheater> ohh ok thanks
03:17:53 <cheater> i wouldn't have known :D
03:18:11 <cheater> wait, does llvm work on windows?
03:18:17 <koz_> Yeah, why not?
03:18:38 <koz_> Microsoft's C++ compiler basically stole the entire Clang front-end to be C++-11 (and later) compliant.
03:19:36 <koz_> https://chocolatey.org/packages/llvm
03:20:50 <cheater> hmm ok right
03:22:33 heatsink joins (~heatsink@2600:1700:bef1:5e10:406f:6a8d:2175:4183)
03:23:29 falafel_ joins (~falafel@pool-108-31-243-192.washdc.fios.verizon.net)
03:23:39 × tenniscp25 quits (~tenniscp2@node-1433.pool-125-26.dynamic.totinternet.net) (Remote host closed the connection)
03:25:00 <Squarism> I have a Traversal that i want to use with "over". over :: ASetter s t a b -> (a -> b) -> s -> t . Turns out my "(a -> b)" is actually over :: (a -> m b) . Lets call that "f" So I wonder if using the same Traversal I could somehow get a function looking like this over :: ASetter s t a b -> (a -> m b) -> s -> m t?
03:25:29 <Squarism> correction
03:25:36 <Squarism> Turns out my "(a -> b)" is actually (a -> m b)
03:26:15 <koz_> traverseOf?
03:26:40 × shatriff quits (~vitaliish@176.52.219.10) (Read error: Connection reset by peer)
03:27:13 <iqubic> traverseOf will work here.
03:27:32 shatriff joins (~vitaliish@176.52.219.10)
03:27:50 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
03:27:56 <Squarism> thanks. ill try
03:31:21 lagothrix is now known as Guest66214
03:31:21 xirhtogal joins (~lagothrix@unaffiliated/lagothrix)
03:31:21 × Guest66214 quits (~lagothrix@unaffiliated/lagothrix) (Killed (hitchcock.freenode.net (Nickname regained by services)))
03:31:21 xirhtogal is now known as lagothrix
03:31:25 × theDon quits (~td@94.134.91.74) (Ping timeout: 240 seconds)
03:31:48 <Squarism> so just replace "over" with traverseOf?
03:31:48 tenniscp25 joins (~tenniscp2@node-1433.pool-125-26.dynamic.totinternet.net)
03:32:25 × tenniscp25 quits (~tenniscp2@node-1433.pool-125-26.dynamic.totinternet.net) (Remote host closed the connection)
03:32:36 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
03:32:40 tenniscp25 joins (~tenniscp2@node-1433.pool-125-26.dynamic.totinternet.net)
03:33:27 theDon joins (~td@muedsl-82-207-238-155.citykom.de)
03:34:03 × rayyyy quits (~nanoz@gateway/tor-sasl/nanoz) (Ping timeout: 240 seconds)
03:35:21 <Axman6> % :t traverseOf
03:35:21 <yahb> Axman6: LensLike f s t a b -> (a -> f b) -> s -> f t
03:35:40 <iqubic> Yeah, I think that's all you need to do.
03:35:52 <Axman6> % :t traverseOf `asAppliedTo` (undefined :: a -> IO b)
03:35:52 <yahb> Axman6: ; <interactive>:1:12: error: Variable not in scope: asAppliedTo :: (LensLike f0 s0 t0 a0 b0 -> (a0 -> f0 b0) -> s0 -> f0 t0) -> (a1 -> IO b1) -> t
03:36:17 <iqubic> :t asAppliedTo
03:36:18 <lambdabot> (a -> b) -> a -> a -> b
03:36:20 <Axman6> % let asAppliedTo :: (a -> b) -> a -> (a -> b); asAppliedTo = const
03:36:20 <yahb> Axman6:
03:36:22 <Axman6> % :t traverseOf `asAppliedTo` (undefined :: a -> IO b)
03:36:23 <yahb> Axman6: ; <interactive>:1:27: error:; * Couldn't match type `IO b0' with `s -> f t'; Expected type: LensLike f s t a b; Actual type: (a -> f b) -> IO b0; * In the second argument of `asAppliedTo', namely `(undefined :: a -> IO b)'; In the expression: traverseOf `asAppliedTo` (undefined :: a -> IO b)
03:36:31 <Axman6> % :t traverseOf each `asAppliedTo` (undefined :: a -> IO b)
03:36:31 <yahb> Axman6: Each s t a b => (a -> IO b) -> s -> IO t
03:36:41 <iqubic> Yeah, that will work.
03:36:50 <Axman6> who runs yahb?
03:37:00 <iqubic> Not sure.
03:37:09 <iqubic> yahb: % ls
03:37:28 <iqubic> yahb: % :q
03:37:43 <iqubic> Oh, you can't kill yahb that way.
03:39:09 × a3Dman quits (~3Dman@unaffiliated/a3dman) (Quit: Leaving...)
03:41:24 justsomeguy joins (~justsomeg@unaffiliated/--/x-3805311)
03:43:25 a3Dman joins (~3Dman@unaffiliated/a3dman)
03:44:44 <Squarism> Great, that worked out well
03:45:30 × vicfred quits (~vicfred@unaffiliated/vicfred) (Quit: Leaving)
03:45:32 rayyyy joins (~nanoz@gateway/tor-sasl/nanoz)
03:51:52 <Squarism> can you turn a value of a type into Proxy of the same type?
03:53:10 × _xor quits (~xor@74.215.46.133) (Ping timeout: 256 seconds)
03:54:01 <int-e> proxy :: a -> Proxy a; proxy _ = Proxy
03:55:02 <int-e> (or use type signatures, which may well be the standard approach)
03:55:15 × mbomba1 quits (~mbomba@bras-base-toroon2719w-grc-53-142-114-5-26.dsl.bell.ca) (Quit: WeeChat 3.0)
03:55:44 mbomba joins (~mbomba@bras-base-toroon2719w-grc-53-142-114-5-26.dsl.bell.ca)
03:55:46 × elliott__ quits (~elliott@pool-108-51-141-12.washdc.fios.verizon.net) (Ping timeout: 256 seconds)
03:57:56 <Squarism> int-e, thanks
03:59:13 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
03:59:23 <c_wraith> :t pure :: a -> Proxy a
03:59:25 <lambdabot> a -> Proxy a
04:00:06 <int-e> oh
04:00:09 <int-e> c_wraith: thanks
04:00:17 <c_wraith> it's sneaky
04:01:54 × conal quits (~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
04:02:37 <int-e> I like sneaky things, but sometimes they come as a surprise :)
04:13:29 falafel__ joins (~falafel@pool-108-31-243-192.washdc.fios.verizon.net)
04:15:45 × falafel_ quits (~falafel@pool-108-31-243-192.washdc.fios.verizon.net) (Ping timeout: 240 seconds)
04:16:14 conal joins (~conal@64.71.133.70)
04:18:17 × dxld quits (~dxld@rush.pub.dxld.at) (Quit: Bye)
04:19:57 dxld joins (~dxld@rush.pub.dxld.at)
04:21:55 <cheater> koz_: hey, still around?
04:22:37 <cheater> so accelerate-llvm-ptx requires accelerate 1.3.*, but accelerate 1.3.0.0 does not build on any ghc according to matrix? so how do i get accelerate-llvm-ptx?
04:22:55 falafel__ is now known as falafel
04:23:05 <cheater> ohhh wait i was looking at the wrong version. too tired.
04:23:30 <cheater> hi int-e
04:23:39 <cheater> have you ever used accelerate on cuda?
04:25:06 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
04:25:29 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
04:28:24 × falafel quits (~falafel@pool-108-31-243-192.washdc.fios.verizon.net) (Read error: Connection reset by peer)
04:29:17 <hyiltiz> sm[m]: if you can specify all the end points (of a acyclic graph) with tests, calling them should be able to point out cyclic dependency, no? Ideally, static code analysis should be able to catch this, once you tell it the end points.
04:30:54 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 272 seconds)
04:31:20 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
04:33:16 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
04:36:49 plutoniix joins (~q@ppp-223-24-165-204.revip6.asianet.co.th)
04:37:21 <sm[m]> hyiltiz: not sure how that works in practice, I feel it's hard to ensure full test coverage of all code paths, all usage patterns etc. or even to know how much you have covered. Though, most of the time testing most of it is good enough.
04:38:33 watt901 joins (~watt901@124.123.106.240)
04:41:44 o1lo01ol1o joins (~o1lo01ol1@bl11-140-216.dsl.telepac.pt)
04:42:36 × watt901 quits (~watt901@124.123.106.240) (Ping timeout: 240 seconds)
04:43:06 × rayyyy quits (~nanoz@gateway/tor-sasl/nanoz) (Remote host closed the connection)
04:43:36 SanchayanMaity joins (~Sanchayan@122.167.92.138)
04:43:59 Katarushisu joins (~Katarushi@cpc149712-finc20-2-0-cust535.4-2.cable.virginm.net)
04:44:33 × Katarushisu3 quits (~Katarushi@cpc149712-finc20-2-0-cust535.4-2.cable.virginm.net) (Ping timeout: 260 seconds)
04:45:56 falafel joins (~falafel@pool-108-31-243-192.washdc.fios.verizon.net)
04:46:44 × o1lo01ol1o quits (~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Ping timeout: 260 seconds)
04:48:39 olligobber joins (olligobber@gateway/vpn/privateinternetaccess/olligobber)
04:49:55 × Tario quits (~Tario@201.192.165.173) (Read error: Connection reset by peer)
04:50:11 Tario joins (~Tario@201.192.165.173)
04:51:17 christo joins (~chris@81.96.113.213)
04:51:18 × christo quits (~chris@81.96.113.213) (Remote host closed the connection)
04:51:34 christo joins (~chris@81.96.113.213)
04:54:11 argento joins (~argent0@168.227.97.29)
04:59:09 CMCDragonkai2 joins (~Thunderbi@124.19.3.250)
05:03:02 rayyyy joins (~nanoz@gateway/tor-sasl/nanoz)
05:03:09 danza joins (~francesco@151.53.92.26)
05:04:37 × shatriff quits (~vitaliish@176.52.219.10) (Remote host closed the connection)
05:05:10 shatriff joins (~vitaliish@176.52.219.10)
05:08:23 × CMCDragonkai2 quits (~Thunderbi@124.19.3.250) (Quit: CMCDragonkai2)
05:08:57 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
05:13:25 × drincruz_ quits (~adriancru@ool-44c748be.dyn.optonline.net) (Ping timeout: 264 seconds)
05:14:19 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
05:14:36 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
05:14:42 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
05:19:15 × dansho quits (~dansho@ec2-52-193-196-85.ap-northeast-1.compute.amazonaws.com) (Remote host closed the connection)
05:19:42 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 256 seconds)
05:20:33 acidjnk_new joins (~acidjnk@p200300d0c719ff8291316ca5b709066d.dip0.t-ipconnect.de)
05:21:19 × Tario quits (~Tario@201.192.165.173) (Ping timeout: 260 seconds)
05:21:41 × urodna quits (~urodna@unaffiliated/urodna) (Quit: urodna)
05:31:49 × sparsity quits (5eae2591@gateway/web/cgi-irc/kiwiirc.com/ip.94.174.37.145) (Ping timeout: 260 seconds)
05:34:36 mergeconflict joins (1805eddb@c-24-5-237-219.hsd1.ca.comcast.net)
05:35:36 boxscape joins (54a35b08@gateway/web/cgi-irc/kiwiirc.com/ip.84.163.91.8)
05:36:14 o1lo01ol1o joins (~o1lo01ol1@bl11-140-216.dsl.telepac.pt)
05:37:43 × conal quits (~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
05:37:48 × plutoniix quits (~q@ppp-223-24-165-204.revip6.asianet.co.th) (Quit: Leaving)
05:39:12 conal joins (~conal@64.71.133.70)
05:41:10 × o1lo01ol1o quits (~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Ping timeout: 256 seconds)
05:41:11 × conal quits (~conal@64.71.133.70) (Read error: Connection reset by peer)
05:41:45 conal joins (~conal@64.71.133.70)
05:43:11 <Athas> cheater: I have! Although I hope you don't mean the obsolete accelerate-cuda backend?
05:43:34 <cheater> Athas: i'm trying to get accelerate-llvm-ptx to work right now
05:43:55 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
05:45:16 <Athas> My experience is that the biggest trouble by far is getting the right version of LLVM installed.
05:45:34 × falafel quits (~falafel@pool-108-31-243-192.washdc.fios.verizon.net) (Remote host closed the connection)
05:46:02 falafel joins (~falafel@pool-108-31-243-192.washdc.fios.verizon.net)
05:48:23 × Saukk quits (~Saukk@2001:998:ec:954:1c59:9bb5:b94c:3) (Remote host closed the connection)
05:48:28 <cheater> that's not exactly the problem, my problem right now is to get llvm compiled
05:48:51 <cheater> currently i'm stuck on getting cl.exe
05:48:55 <cheater> i don't know how to get it
05:48:58 Moscos joins (~Moscos@122.54.107.175)
05:49:08 <Athas> Oh, I have no idea how to do this on Windows.
05:49:58 <Athas> The Windows instructions for Accelerate start with "Oh no!". Always a good sign.
05:51:48 <cheater> huh?
05:51:52 <cheater> where have you seen that?
05:51:56 <Athas> https://www.acceleratehs.org/get-started/windows
05:52:36 × conal quits (~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
05:53:07 <int-e> "we've sent ahead scouts, but so far, nobody has returned"
05:53:17 AVK joins (1b741090@27.116.16.144)
05:53:36 <cheater> "We currently do not have any Windows machines available to test Accelerate on" man what sort of bs is that.
05:53:42 <cheater> windows is like $10.
05:53:53 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
05:54:08 <int-e> but windows is a huge moral concession
05:54:44 Tops2 joins (~Tobias@dyndsl-095-033-088-049.ewe-ip-backbone.de)
05:55:03 <int-e> but it's probably more about justifying the time spent figuring things out when you don't have a use for it yourself
05:56:11 <int-e> https://www.acceleratehs.org/get-started/windows
05:56:14 <int-e> uhm.
05:56:28 <int-e> I wanted this link: https://docs.microsoft.com/en-us/windows/win32/direct3d12/gpu-cuda-in-wsl
05:58:03 × Tops21 quits (~Tobias@dyndsl-095-033-018-252.ewe-ip-backbone.de) (Ping timeout: 260 seconds)
05:58:37 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 260 seconds)
06:01:53 knupfer joins (~Thunderbi@200116b82c5f0700c8d2fffffe9b56af.dip.versatel-1u1.de)
06:01:55 × knupfer quits (~Thunderbi@200116b82c5f0700c8d2fffffe9b56af.dip.versatel-1u1.de) (Client Quit)
06:02:10 knupfer joins (~Thunderbi@i5E86B4BF.versanet.de)
06:03:18 <cheater> a bsd licensed project isn't going to guilt me over moral concessions.
06:04:22 <int-e> good non sequitur
06:04:45 <cheater> not really, you can't ride the high horse if all you have is a donkey
06:05:06 sgibber2018 joins (d055ed89@208.85.237.137)
06:05:47 vicfred joins (~vicfred@unaffiliated/vicfred)
06:08:51 Cale joins (~cale@cpef48e38ee8583-cm0c473de9d680.cpe.net.cable.rogers.com)
06:09:09 × knupfer quits (~Thunderbi@i5E86B4BF.versanet.de) (Ping timeout: 260 seconds)
06:11:09 × falafel quits (~falafel@pool-108-31-243-192.washdc.fios.verizon.net) (Remote host closed the connection)
06:12:36 falafel joins (~falafel@pool-108-31-243-192.washdc.fios.verizon.net)
06:13:10 plutoniix joins (~q@ppp-223-24-165-204.revip6.asianet.co.th)
06:13:46 × Moscos quits (~Moscos@122.54.107.175) (Remote host closed the connection)
06:14:04 × falafel quits (~falafel@pool-108-31-243-192.washdc.fios.verizon.net) (Remote host closed the connection)
06:14:09 Moscos joins (~Moscos@122.54.107.175)
06:14:22 × mounty quits (~mounty@2001:8000:2f59:0:a42d:288d:66cb:9dc6) (Ping timeout: 260 seconds)
06:14:53 falafel joins (~falafel@pool-108-31-243-192.washdc.fios.verizon.net)
06:18:00 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
06:21:15 × Moscos quits (~Moscos@122.54.107.175) (Remote host closed the connection)
06:21:35 Moscos joins (~Moscos@122.54.107.175)
06:21:49 <Axman6> (Asking again becaus eI didn't seem to het any answers earlier) I'm running into a problem with conflicts between functional dependencies. I have a classs Foo msg hdr | msg -> hdr where ... and another Bar msg hdr | msg -> hdr where ...; Trying to use instance (Foo msg SomeHdr) => Bar msg SomeHdr where and instance (Foo msg ADistinctHdr) => Bar msg ADistinctHdr results in a fundep conflict between the two instances
06:25:30 × mergeconflict quits (1805eddb@c-24-5-237-219.hsd1.ca.comcast.net) (Ping timeout: 245 seconds)
06:26:12 × christo quits (~chris@81.96.113.213) (Remote host closed the connection)
06:26:44 × wei2912 quits (~wei2912@unaffiliated/wei2912) (Remote host closed the connection)
06:28:17 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
06:30:26 o1lo01ol1o joins (~o1lo01ol1@bl11-140-216.dsl.telepac.pt)
06:32:03 Moscos parts (~Moscos@122.54.107.175) ()
06:32:42 takuan joins (~takuan@178-116-218-225.access.telenet.be)
06:34:49 × justsomeguy quits (~justsomeg@unaffiliated/--/x-3805311) ()
06:35:40 × o1lo01ol1o quits (~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Ping timeout: 272 seconds)
06:36:09 whatisRT joins (~whatisRT@2002:5b41:6a33:0:2d8b:4360:ff80:54e2)
06:38:03 × tomboy64 quits (~tomboy64@gateway/tor-sasl/tomboy64) (Ping timeout: 240 seconds)
06:38:48 tomboy64 joins (~tomboy64@gateway/tor-sasl/tomboy64)
06:39:02 × polyphem quits (~p0lyph3m@2a02:810d:640:776c:76d7:55f6:f85b:c889) (Ping timeout: 264 seconds)
06:43:05 × boxscape quits (54a35b08@gateway/web/cgi-irc/kiwiirc.com/ip.84.163.91.8) (Quit: Connection closed)
06:47:41 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
06:49:16 Codaraxis__ joins (~Codaraxis@ip68-5-90-227.oc.oc.cox.net)
06:49:25 geowiesnot joins (~user@87-89-181-157.abo.bbox.fr)
06:50:34 fuzzypixelz joins (~fuzzypixe@eth-west-pareq2-46-193-4-100.wb.wifirst.net)
06:50:41 × cocreature quits (~cocreatur@eirene.uberspace.de) (Quit: ZNC 1.8.2 - https://znc.in)
06:50:57 cocreature joins (~cocreatur@eirene.uberspace.de)
06:51:12 × lambdabot quits (~lambdabot@haskell/bot/lambdabot) (Remote host closed the connection)
06:51:56 × Codaraxis_ quits (~Codaraxis@ip68-5-90-227.oc.oc.cox.net) (Ping timeout: 240 seconds)
06:52:34 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds)
06:52:59 × danso quits (~dan@69-165-210-185.cable.teksavvy.com) (Quit: WeeChat 2.9)
06:53:12 lambdabot joins (~lambdabot@silicon.int-e.eu)
06:53:12 × lambdabot quits (~lambdabot@silicon.int-e.eu) (Changing host)
06:53:12 lambdabot joins (~lambdabot@haskell/bot/lambdabot)
06:55:10 × chkno quits (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer)
06:55:18 chkno joins (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net)
06:55:50 Neuromancer joins (~Neuromanc@unaffiliated/neuromancer)
06:57:02 × tenniscp25 quits (~tenniscp2@node-1433.pool-125-26.dynamic.totinternet.net) (Remote host closed the connection)
06:57:34 × cheater quits (~user@unaffiliated/cheater) (Remote host closed the connection)
06:57:42 × tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Read error: Connection reset by peer)
06:57:55 user1_ joins (~Username@84-115-12-132.cable.dynamic.surfer.at)
06:58:03 tenniscp25 joins (~tenniscp2@node-1433.pool-125-26.dynamic.totinternet.net)
06:58:15 MOSCOS joins (~MOSCOS@122.54.107.175)
06:58:43 × user1_ quits (~Username@84-115-12-132.cable.dynamic.surfer.at) (Remote host closed the connection)
06:59:15 cheater joins (~user@unaffiliated/cheater)
07:01:08 sord937 joins (~sord937@gateway/tor-sasl/sord937)
07:02:32 tromp joins (~tromp@dhcp-077-249-230-040.chello.nl)
07:02:37 × tenniscp25 quits (~tenniscp2@node-1433.pool-125-26.dynamic.totinternet.net) (Ping timeout: 264 seconds)
07:03:35 × argento quits (~argent0@168.227.97.29) (Quit: leaving)
07:04:05 × phasespace quits (~sar@89-162-33-21.fiber.signal.no) (Ping timeout: 240 seconds)
07:05:20 <koz_> cheater: I sympathise, but cannot assist. I can work (kinda sorta) Haskell stuff on Windows, but nothing beyond that.
07:05:26 toorevitimirp joins (~tooreviti@117.182.181.85)
07:05:54 <cheater> gotcha
07:05:58 <koz_> cheater: What is cl.exe?
07:06:49 × StoneToad_ quits (~StoneToad@199-167-119-135.ppp.storm.ca) (Ping timeout: 264 seconds)
07:07:32 × geowiesnot quits (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 256 seconds)
07:08:01 polyphem joins (~p0lyph3m@2a02:810d:640:776c:76d7:55f6:f85b:c889)
07:09:12 florian_ joins (~florian@2a01:e35:2fe9:ecb0:c158:40c4:7378:c970)
07:09:21 StoneToad joins (~StoneToad@199-167-119-135.ppp.storm.ca)
07:15:06 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
07:15:13 bitmagie joins (~Thunderbi@200116b80634ea0045c79ae02376c675.dip.versatel-1u1.de)
07:15:30 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
07:19:27 cfricke joins (~cfricke@unaffiliated/cfricke)
07:20:31 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 272 seconds)
07:22:14 × xff0x_ quits (~fox@2001:1a81:5262:300:a503:de77:83fc:9f21) (Ping timeout: 264 seconds)
07:22:44 xff0x_ joins (~fox@2001:1a81:5262:300:110d:8723:59a:97e9)
07:22:45 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
07:22:56 × sgibber2018 quits (d055ed89@208.85.237.137) (Remote host closed the connection)
07:23:34 phasespace joins (~sar@80-89-47-117.inet.signal.no)
07:26:01 × florian_ quits (~florian@2a01:e35:2fe9:ecb0:c158:40c4:7378:c970) (Quit: Leaving)
07:26:10 × cole-h quits (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 246 seconds)
07:28:15 coot_ joins (~coot@37.30.50.101.nat.umts.dynamic.t-mobile.pl)
07:28:33 tenniscp25 joins (~tenniscp2@node-1433.pool-125-26.dynamic.totinternet.net)
07:32:40 × coot quits (~coot@37.30.50.101.nat.umts.dynamic.t-mobile.pl) (Ping timeout: 272 seconds)
07:32:40 coot_ is now known as coot
07:34:51 × euisuny quits (~euisuny@2601:47:4500:2140:c192:2e54:b4ff:5cb) ()
07:35:23 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
07:40:10 × falafel quits (~falafel@pool-108-31-243-192.washdc.fios.verizon.net) (Ping timeout: 256 seconds)
07:41:32 × tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 272 seconds)
07:43:30 × toorevitimirp quits (~tooreviti@117.182.181.85) (Remote host closed the connection)
07:43:58 toorevitimirp joins (~tooreviti@117.182.181.85)
07:51:44 × xff0x_ quits (~fox@2001:1a81:5262:300:110d:8723:59a:97e9) (Ping timeout: 240 seconds)
07:52:10 × AVK quits (1b741090@27.116.16.144) (Ping timeout: 245 seconds)
07:52:20 tromp joins (~tromp@dhcp-077-249-230-040.chello.nl)
07:52:58 xff0x_ joins (~fox@2001:1a81:5262:300:387b:e321:4853:1d2f)
07:53:38 × tenniscp25 quits (~tenniscp2@node-1433.pool-125-26.dynamic.totinternet.net) (Remote host closed the connection)
07:53:50 tenniscp25 joins (~tenniscp2@node-1433.pool-125-26.dynamic.totinternet.net)
07:54:06 × whatisRT quits (~whatisRT@2002:5b41:6a33:0:2d8b:4360:ff80:54e2) (Ping timeout: 246 seconds)
07:55:16 jespada joins (~jespada@90.254.245.49)
07:56:35 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
07:56:58 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
07:58:26 <zincy__> Evening koz_
07:58:34 <koz_> zincy__: Yo.
07:58:51 <zincy__> How are things
07:59:20 <zincy__> Question, Do you separate your IO code from your non IO stuff generally?
07:59:32 × Varis quits (~Tadas@unaffiliated/varis) (Remote host closed the connection)
07:59:42 <zincy__> I have been reflecting on this and don't think it comes down to purity since IO is pure but to do with determinism.
07:59:58 <zincy__> Yes IO is is deterministic on evaluation but not on execution.
08:00:02 <jle`> hm, a lot of my problems have to do with manipulating data
08:00:11 <jle`> so a lot of times the thought of IO doesn't even come up
08:00:28 <jle`> so i usually don't consciously separate my IO code from no IO code, it just happens naturally i guess
08:00:31 <jle`> but maybe this was a learned habit
08:00:32 <zincy__> Yeah this may be a bigger concern for building a web server
08:01:05 <jle`> for building a web server you're still going to have functions that manipulate data
08:01:24 <jle`> so i don't think i have ever really consciously made a choice in recent memory
08:01:46 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 256 seconds)
08:02:05 <jle`> if i'm writing a function that does IO i do IO
08:02:17 <jle`> if i am writing a function that manipulates data and doesn't involve IO, the thought of IO doesn't really come up
08:02:29 <jle`> to me it's kind of like, "do you separate your Int code from non Int stuff generally?"
08:02:37 <jle`> i mean yeah...my code that involves Int's, i will use Int
08:02:39 <zincy__> Right but if you have a function that does IO do you try and extract the pure logic out of that?
08:02:48 <jle`> but my code that has nothing to do with Int, i would not reach for Int
08:03:10 <zincy__> haha "to me it's kind of like, "do you separate your Int code from non Int stuff generally?""
08:03:27 <jle`> zincy__: hm, on a higher level it's more about separating out functionality into chunks that are manageable to write
08:03:28 × polyphem quits (~p0lyph3m@2a02:810d:640:776c:76d7:55f6:f85b:c889) (Ping timeout: 260 seconds)
08:03:33 <zincy__> But IO is harder to test
08:03:43 <jle`> but if it's manageable to write pure logic within an IO function, i don't consciously try to separate it out
08:04:01 _linker_ joins (~linker@2a02:a31a:a041:9a80:c431:6040:918c:6466)
08:04:11 <jle`> yeah, IO is harder to test, and there's no way getting around that for actual IO
08:04:25 <jle`> but if i decide to want to test a specific part of it, i can try to pull it out to something easier to test
08:04:30 <jle`> sometimes that thing happens to be pure, sometimes it doesn't
08:04:43 <zincy__> Yeah
08:05:18 <zincy__> Okay so maybe I have to swallow the pill that without context this is an arbritrary thing to strive for.
08:05:38 <zincy__> jle`: You did a blog post on differentiable programming right?
08:05:42 <zincy__> Very interesting.
08:05:43 <jle`> idk i feel like my point was that i don't consciously strive for it
08:05:48 <zincy__> Yeah
08:05:49 <jle`> i did, a few years back :)
08:06:11 <jle`> but i think a part of it does come down to more experience in coding haskell
08:06:25 <jle`> for example if you feel in your bones that this is oging to be a thing you want to test separately, then you would separate it out
08:06:32 <jle`> but i guess even in that case, whether or not that is IO isn't a part of the picture
08:06:36 <jle`> hm...ignore that point, then heh
08:07:02 danvet joins (~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa)
08:07:10 <jle`> but maybe over time you will find that more often than not, you will be testing out non-io stuff
08:07:23 <jle`> it's sort of just an evolution of intuition i guess
08:07:48 britva joins (~britva@2a02:aa13:7240:2980:6477:78c0:db0c:39cf)
08:07:50 <jle`> so when people say "you should separate out IO from non-IO", what they are really saying is that in their experience, the things they end up beneffiting from separating out often falls out along IO non-IO lines
08:08:00 <jle`> but i think the benefit isn't from that distinction in and of itself
08:08:48 <zincy__> Ah I see
08:09:15 <zincy__> So you are hearing about the outcome not the rationale
08:10:18 × cfricke quits (~cfricke@unaffiliated/cfricke) (Quit: WeeChat 2.9)
08:10:27 × zebrag quits (~inkbottle@aaubervilliers-654-1-115-108.w86-198.abo.wanadoo.fr) (Quit: Konversation terminated!)
08:10:47 zebrag joins (~inkbottle@aaubervilliers-654-1-115-108.w86-198.abo.wanadoo.fr)
08:10:48 <jle`> i think that's how i would interpret it, yeah
08:10:52 <jle`> but that's just my own experience :)
08:11:41 <zincy__> Thanks!
08:11:51 × britva quits (~britva@2a02:aa13:7240:2980:6477:78c0:db0c:39cf) (Client Quit)
08:12:39 <hyiltiz> are you guys not talking about whether writing a `yell :: IO () -> IO ()` as `interact . toUpper` is a better idea?
08:12:42 Varis joins (~Tadas@unaffiliated/varis)
08:12:43 × rayyyy quits (~nanoz@gateway/tor-sasl/nanoz) (Ping timeout: 240 seconds)
08:13:07 <hyiltiz> a typical case where IO and logic splits "naturally"
08:13:48 <idnar> at the end of the day, "do X instead of Y" is almost always an oversimplification; you need to drill down to what X and Y make easier/harder
08:14:01 <dminuoso> 09:11:51 jle` | [08:07:23] it's sort of just an evolution of intuition i guess
08:14:16 <dminuoso> This is the relevant quote I think.
08:14:37 × Cthalupa quits (~cthulhu@47.186.47.75) (Ping timeout: 264 seconds)
08:14:52 rkrishnan_ joins (~rkrishnan@rkrishnan.org)
08:15:14 Cthalupa joins (~cthulhu@47.186.47.75)
08:15:21 <dminuoso> In addition to talking about "IO" and "non-IO" we also have this hybrid ST (or MonadPrim polymorphic code)
08:15:54 styledash6 joins (~styledash@157.230.173.136)
08:15:56 <dminuoso> It's hard to give an adequate flow chart that uniquely tells you when to do what, if you just experient over time you will build up an intuition.
08:16:01 vodkaInferno joins (~wormphleg@104.131.156.184)
08:16:19 × beka quits (~beka@gothdyke.mom) (Ping timeout: 260 seconds)
08:16:19 <dminuoso> Ah heh. It's PrimMonad, not MonadPrim.
08:16:34 × vicfred quits (~vicfred@unaffiliated/vicfred) (Quit: Leaving)
08:16:54 × c_wraith quits (~c_wraith@adjoint.us) (Ping timeout: 260 seconds)
08:17:00 × abuss quits (~abuss@cryptarch.net) (Ping timeout: 256 seconds)
08:17:00 × questionmarkking quits (~questionm@165.227.7.85) (Ping timeout: 256 seconds)
08:17:07 × styledash quits (~styledash@157.230.173.136) (Read error: Connection reset by peer)
08:17:07 styledash6 is now known as styledash
08:17:26 jonatanb joins (jonatanb@gateway/vpn/protonvpn/jonatanb)
08:17:29 × esotericalgo quits (~matt@uncertain.win) (Ping timeout: 260 seconds)
08:17:29 × vodkaInf1rno quits (~wormphleg@104.131.156.184) (Ping timeout: 260 seconds)
08:17:34 × rkrishnan quits (~rkrishnan@rkrishnan.org) (Ping timeout: 256 seconds)
08:17:46 × kini quits (~kini@unaffiliated/kini) (Read error: Connection reset by peer)
08:17:49 × hiredman quits (~hiredman@volyova.ec2.thelastcitadel.com) (Ping timeout: 265 seconds)
08:17:56 hiredman joins (~hiredman@volyova.ec2.thelastcitadel.com)
08:17:58 questionmarkking joins (~questionm@165.227.7.85)
08:18:04 × wagle quits (~wagle@quassel.wagle.io) (Ping timeout: 260 seconds)
08:18:14 wagle joins (~wagle@quassel.wagle.io)
08:18:39 o1lo01ol1o joins (~o1lo01ol1@bl11-140-216.dsl.telepac.pt)
08:18:49 beka joins (~beka@gothdyke.mom)
08:19:06 esotericalgo joins (~matt@uncertain.win)
08:19:16 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
08:19:20 × jonatanb quits (jonatanb@gateway/vpn/protonvpn/jonatanb) (Remote host closed the connection)
08:19:47 abuss joins (~abuss@cryptarch.net)
08:20:13 huskyhaskell joins (~user@2001:9b1:29fe:fc00:546:b0c2:3386:e771)
08:20:25 britva joins (~britva@31-10-157-156.cgn.dynamic.upc.ch)
08:20:41 × pjb quits (~t@2a01cb04063ec50044c8323fd4c5d635.ipv6.abo.wanadoo.fr) (Ping timeout: 246 seconds)
08:21:05 huskyhaskell parts (~user@2001:9b1:29fe:fc00:546:b0c2:3386:e771) ()
08:21:14 m0rphism joins (~m0rphism@HSI-KBW-085-216-104-059.hsi.kabelbw.de)
08:21:56 c_wraith joins (~c_wraith@adjoint.us)
08:23:05 × o1lo01ol1o quits (~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Ping timeout: 240 seconds)
08:23:52 kini joins (~kini@unaffiliated/kini)
08:25:42 × tenniscp25 quits (~tenniscp2@node-1433.pool-125-26.dynamic.totinternet.net) (Remote host closed the connection)
08:26:10 <incertia> eventually you will embrace the monad
08:26:14 <incertia> and just write everything in mtl
08:27:05 <incertia> and then delimited continuations gets merged into ghc and everyone starts using eff or something
08:27:30 <suzu_> embrace the monad
08:28:18 <incertia> taste the monad
08:28:22 tenniscp25 joins (~tenniscp2@node-1433.pool-125-26.dynamic.totinternet.net)
08:28:23 × tenniscp25 quits (~tenniscp2@node-1433.pool-125-26.dynamic.totinternet.net) (Remote host closed the connection)
08:28:31 <suzu_> become the monad
08:28:37 <incertia> touch the monad
08:28:38 tenniscp25 joins (~tenniscp2@node-1433.pool-125-26.dynamic.totinternet.net)
08:28:40 <incertia> but do not touch the gonad
08:30:01 Uniaika wraps themselves in a tortilla
08:30:05 <Uniaika> I HAVE BECOME THE MONAD
08:30:20 × Tops2 quits (~Tobias@dyndsl-095-033-088-049.ewe-ip-backbone.de) (Quit: Leaving.)
08:30:20 <int-e> Uniaika: you know you'll never get out of that, right?
08:30:27 <Uniaika> :P
08:30:33 <Uniaika> hi int-e
08:30:48 × tenniscp25 quits (~tenniscp2@node-1433.pool-125-26.dynamic.totinternet.net) (Remote host closed the connection)
08:31:00 <mbomba> Ah yes, the infamous burrito monad.
08:31:18 gxt joins (~gxt@gateway/tor-sasl/gxt)
08:31:25 <dminuoso> int-e: That's why we have `class (Monad m, Comonad m) => Bimonad m`
08:32:11 <incertia> im just waiting for aoc to release a problem where i can do some weird lens/fp bullshit
08:32:36 <suzu_> meh you can always do that
08:32:46 <incertia> i probably love lens more than i love my girlfriend
08:32:59 <incertia> :thinking:
08:33:00 <suzu_> lens makes my brain melt
08:33:08 × mbomba quits (~mbomba@bras-base-toroon2719w-grc-53-142-114-5-26.dsl.bell.ca) (Quit: WeeChat 3.0)
08:33:09 <suzu_> i try to avoid anything beyond simple traversals
08:33:13 <suzu_> or foldables
08:33:30 <suzu_> all that moon-abstraction shit is cool but unproductive
08:33:36 tenniscp25 joins (~tenniscp2@node-1433.pool-125-26.dynamic.totinternet.net)
08:33:40 <int-e> dminuoso: I never got into comonads.
08:33:42 <dminuoso> suzu_: Give `optics` a try! :)
08:33:55 <suzu_> i dont know much about optiocs
08:33:55 <int-e> (Yay, pun.)
08:33:56 <dminuoso> int-e: Oh it was just a joke..
08:34:01 <dminuoso> Oh
08:34:03 <suzu_> what does it do different from lens?
08:34:03 <dminuoso> haha
08:34:14 <int-e> (But also true.)
08:34:16 <dminuoso> suzu_: It hides the implementation of optics behind newtypes.
08:34:31 <suzu_> ah so no more Getter Setter Better Wetter leaking all over the types?
08:34:33 <dminuoso> And it uses type families and custom type errors to give precise error messages, etc
08:34:43 <dminuoso> Well, you still have those, but in a way that makes perfect sense.
08:34:50 <suzu_> thats sorta neat
08:34:54 <dminuoso> For instance
08:35:03 Yumasi joins (~guillaume@2a01:e0a:5cb:4430:e1ea:8f38:f518:4e69)
08:35:33 <dminuoso> % "foobar" ^. each
08:35:33 <yahb> dminuoso: ; <interactive>:71:13: error:; * No instance for (Monoid Char) arising from a use of `each'; * In the second argument of `(^.)', namely `each'; In the expression: "foobar" ^. each; In an equation for `it': it = "foobar" ^. each
08:35:41 <dminuoso> In `optics` you get:
08:35:42 <dminuoso> • A_Traversal cannot be used as A_Getter
08:36:00 <suzu_> that first error is awful
08:36:02 <suzu_> hm nice
08:36:16 <incertia> lens does have some very nasty error messages
08:36:19 <int-e> dminuoso: The thing is, I ask about the usefulness of comonads, somebody mentions an adjoint functor and then I tune out.
08:36:26 <suzu_> i also just dont find lens productive
08:36:27 × ironmarx quits (~ironmarx@178.239.168.171) (Remote host closed the connection)
08:36:30 shangxiao joins (~davids@101.181.45.166)
08:36:33 <suzu_> that extends to a lot of haskell
08:36:42 <suzu_> there's a lot of shiny stuff that's cool but often not directly helpful
08:36:43 <incertia> but it's the price to pay to have transparent representation i guess
08:36:45 <dminuoso> int-e: cellular automatons is a wonderful example of simple comonadic code. say conways game of life
08:36:50 <dminuoso> or image filters
08:37:19 × tenniscp25 quits (~tenniscp2@node-1433.pool-125-26.dynamic.totinternet.net) (Remote host closed the connection)
08:37:48 <dminuoso> suzu_: `optics` is also generally safer and doesn't admit some of the "automatically does unexpected things"
08:37:51 <dminuoso> For example..
08:38:02 <dminuoso> % ["foo", "bar", "quux"] ^. each
08:38:02 <yahb> dminuoso: "foobarquux"
08:38:20 <dminuoso> optics would just fail with the above error, because this behavior is likely unexpected
08:38:30 <MarcelineVQ> What was the expected behavior?
08:38:34 <dminuoso> If you don't have a monoid instance, you get the illegible error above, and if you do it hides a potential bug
08:39:24 <dminuoso> MarcelineVQ: view takes a getter, and a getter is a read-only optic that targets a *single* value
08:39:36 <incertia> each is a traversal which can only be viewed if you have monoid
08:39:37 <dminuoso> you can pass it `each` and it works somehow.
08:39:55 <dminuoso> (it works because it mappends all the targets together, and then uses that as the getter target)
08:40:01 <dminuoso> perhaps its what you meant, perhaps its not.
08:40:21 livvy joins (~livvy@gateway/tor-sasl/livvy)
08:40:34 <dminuoso> In optics you'd have to use `foldOf` to make that choice explicit
08:40:48 mputz joins (~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de)
08:40:58 tenniscp25 joins (~tenniscp2@node-1433.pool-125-26.dynamic.totinternet.net)
08:41:13 <incertia> % ([1..5] :: Int) ^. each
08:41:13 <yahb> incertia: ; <interactive>:73:2: error:; * Couldn't match expected type `Int' with actual type `[a0]'; * In the first argument of `(^.)', namely `([1 .. 5] :: Int)'; In the expression: ([1 .. 5] :: Int) ^. each; In an equation for `it': it = ([1 .. 5] :: Int) ^. each
08:41:24 <incertia> oops
08:41:32 <dminuoso> % ([1..5] :: [Product Int]) ^. each
08:41:33 <yahb> dminuoso: ; <interactive>:74:2: error:; * No instance for (Enum (Product Int)) arising from the arithmetic sequence `1 .. 5'; * In the first argument of `(^.)', namely `([1 .. 5] :: [Product Int])'; In the expression: ([1 .. 5] :: [Product Int]) ^. each; In an equation for `it': it = ([1 .. 5] :: [Product Int]) ^. each
08:41:38 <incertia> % ([1..5] :: [Int]) ^. each
08:41:39 <yahb> incertia: ; <interactive>:75:22: error:; * No instance for (Monoid Int) arising from a use of `each'; * In the second argument of `(^.)', namely `each'; In the expression: ([1 .. 5] :: [Int]) ^. each; In an equation for `it': it = ([1 .. 5] :: [Int]) ^. each
08:41:47 <dminuoso> oh
08:41:50 <dminuoso> (Enum (Product Int))
08:41:51 <incertia> that's view requiring Monoid
08:41:53 <dminuoso> That seems like a missing instance
08:42:07 <dminuoso> We should have `Enum a => Enum (Product a)`
08:42:28 × tenniscp25 quits (~tenniscp2@node-1433.pool-125-26.dynamic.totinternet.net) (Remote host closed the connection)
08:42:59 <incertia> same for Sum
08:43:14 <dminuoso> MarcelineVQ: The danger here is that through composition it might not be obvious that you "accidentally" build a traversal, so when you then `view` through it and the target has a monoid instance, it just mashes things together. I'd much rather view fails and requires me to fold explicit
08:43:24 <int-e> dminuoso: I guess the fundamental monad fallacy also applies to comonads... the common structure doesn't convey any meaning; the concrete instances are where the real power comes from.
08:43:44 <dminuoso> int-e: In case of comonad actually it's _very_ limited to things having a notion of "neighborhood"
08:43:54 tenniscp25 joins (~tenniscp2@node-1433.pool-125-26.dynamic.totinternet.net)
08:44:03 <dminuoso> Beyond Costate/Store you dont have any really interesting comonads for some reason.
08:44:10 <MarcelineVQ> (Monad m, Comonad m) => Interpret m
08:44:45 <dminuoso> (Or say, NonEmpty/Tree which can be thought of as special cases of Costate/Store)
08:46:24 × tenniscp25 quits (~tenniscp2@node-1433.pool-125-26.dynamic.totinternet.net) (Remote host closed the connection)
08:46:33 <dminuoso> The largest code base that uses Comonad interface is `lens` I guess
08:47:40 <int-e> . o O ( lens is in a category of its own )
08:48:28 <dminuoso> And that largely dances around various takes of Store and Bazaar
08:48:39 <int-e> bizarre
08:48:50 <int-e> Sorry, I should probably stop.
08:49:01 <dminuoso> (The saying "lenses are coalbgras of the costate comonad" is quite funny and yet true)
08:49:32 <dminuoso> Although I think the word "comonad" was added just for fun and alliteration.
08:50:23 <dminuoso> It all doesnt apply to `optics` though since that's all profunctor based, which is also nice @suzu since it lets you talk about AffineTraversals.
08:50:32 <dminuoso> (Or AffineFolds)
08:51:56 fendor joins (~fendor@77.119.131.148.wireless.dyn.drei.com)
08:52:27 chele joins (~chele@ip5b416ea2.dynamic.kabel-deutschland.de)
08:54:25 <idnar> :t (^.) :: s -> Getting a s a -> a
08:54:27 <lambdabot> s -> Getting a s a -> a
08:54:41 <idnar> :t (^.) :: s -> Getter s a -> a
08:54:42 <lambdabot> s -> Getter s a -> a
08:55:45 <dminuoso> it will just "do the right thing".
08:55:49 <dminuoso> :>
08:56:24 <idnar> % ((^.) :: s -> Getter s a -> a) ["foo", "bar", "quux"] each
08:56:25 <yahb> idnar: ; <interactive>:80:55: error:; * Could not deduce (Applicative f) arising from a use of `each'; from the context: (Contravariant f, Functor f); bound by a type expected by the context:; Getter [[Char]] [Char]; at <interactive>:80:55-58; Possible fix:; add (Applicative f) to the context of; a type expected by the context:; Gette
08:57:35 <idnar> so that would be similar to the optics version I think
08:58:06 <dminuoso> Yeah
08:58:16 <dminuoso> Well not quite
08:58:22 mounty joins (~mounty@210.1.196.133)
08:58:41 <dminuoso> In optics it's something in between where the optic can gracefully degrade to a Getter
08:59:10 <dminuoso> Or.. let me think
08:59:19 × fendor quits (~fendor@77.119.131.148.wireless.dyn.drei.com) (Remote host closed the connection)
08:59:27 sQVe joins (~sQVe@unaffiliated/sqve)
09:00:33 <dminuoso> % (1,2) ^. indexing (_1)
09:00:33 <yahb> dminuoso: 1
09:01:02 <dminuoso> % ((^.) :: s -> Getter s a -> a) (1,2) (indexing (_1))
09:01:02 <yahb> dminuoso: 1
09:01:09 <dminuoso> Ah interesting, so this works after all
09:01:55 <dminuoso> idnar: I guess my beef remains, it's just very hard to know when something gracefully degrades, or it changes behavior along the way (like with Getting).
09:02:23 × livvy quits (~livvy@gateway/tor-sasl/livvy) (Ping timeout: 240 seconds)
09:02:34 <dminuoso> You have to know all the representations of various optics, and how they are elimiated (that is what particular choices of `f` are they called with), and then play constraint resolution in your head
09:02:55 cfricke joins (~cfricke@unaffiliated/cfricke)
09:03:12 <dminuoso> If you're smart and know the library inside out, that works. If you dont mind being forced to learn how lens works exactly, it's a great choice too
09:03:42 <idnar> dminuoso: yeah, it's harder to understand the types (nevermind the type errors), but you don't need to convert as often
09:04:13 × da39a3ee5e6b4b0d quits (~da39a3ee5@2403:6200:8876:a9cd:5081:c991:1e35:d185) (Quit: My MacBook has gone to sleep. ZZZzzz…)
09:04:31 <dminuoso> as often as opposed to what?
09:04:35 tenniscp25 joins (~tenniscp2@node-1433.pool-125-26.dynamic.totinternet.net)
09:05:37 <idnar> dminuoso: as opposed to optics
09:06:05 <dminuoso> Mmm. Im not entirely sure what you mean. Where do you feel you need to convert often?
09:07:18 <dminuoso> Unless I wrote polymorphic code (say code that works with any A_Traversal), I haven't needed to convert at all.
09:07:24 × tenniscp25 quits (~tenniscp2@node-1433.pool-125-26.dynamic.totinternet.net) (Client Quit)
09:07:30 <dminuoso> (Because the optic conversions happens in elimiation)
09:08:11 × dftxbs3e quits (~dftxbs3e@unaffiliated/dftxbs3e) (Ping timeout: 272 seconds)
09:08:31 <idnar> I don't think you have to do it all that often, it's just the trade-off; in particular, you can export lens-style optics without depending on lens
09:09:11 <dminuoso> Arguably optics-core is a very light dependency though (and unlike microlens you do get prisms and isos!)
09:10:45 <idnar> from what I can see, optics has done a lot to keep the types from getting in the way, which is great
09:11:30 <idnar> (I haven't used optics myself yet)
09:13:24 <dminuoso> My largest annoyance with optics is that I dont get to use the clean looking (.) for composition anymore. :P
09:13:25 o1lo01ol1o joins (~o1lo01ol1@bl11-140-216.dsl.telepac.pt)
09:13:48 jonatanb joins (jonatanb@gateway/vpn/protonvpn/jonatanb)
09:14:05 <dminuoso> Perhaps Ill just do a prettify-symbols hack on % whenever my emacs detects an `import Optics` in the buffer. :p
09:14:21 mbirman joins (~user@119-17-128-101.771180.mel.nbn.aussiebb.net)
09:14:22 × jonatanb quits (jonatanb@gateway/vpn/protonvpn/jonatanb) (Remote host closed the connection)
09:14:37 raichoo joins (~raichoo@213.240.178.58)
09:14:57 <dminuoso> The glyph ∘ would be a nice choice
09:15:32 fendor joins (~fendor@77.119.131.148.wireless.dyn.drei.com)
09:15:59 <idnar> I'm using the thing that font-locks -> to → and so on
09:16:25 × MOSCOS quits (~MOSCOS@122.54.107.175) (Remote host closed the connection)
09:16:51 MOSCOS joins (~MOSCOS@122.54.107.175)
09:17:36 × o1lo01ol1o quits (~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Ping timeout: 240 seconds)
09:18:28 <dminuoso> Ah, I have PragmataPro plus mickeynp/ligature.el so that takes care of -> :)
09:18:48 <dminuoso> So it's a proper ligature that nicely degrades on mouse over
09:18:55 <dminuoso> or cursor over, rather.
09:22:25 jamm_ joins (~jamm@unaffiliated/jamm)
09:23:25 × Sgeo quits (~Sgeo@ool-18b98aa4.dyn.optonline.net) (Read error: Connection reset by peer)
09:24:21 <dminuoso>
09:24:26 <dminuoso> Mmm, that is properly broken in my terminal
09:24:45 <idnar> I do find it satisfying how things like "you can view a fold if you bring a Monoid" arise "naturally" from the types (`instance Monoid m => Applicative (Const m)` makes that work)
09:24:46 <dminuoso> It doesn't quite know whether it's one or two characters..
09:25:23 × philopsos quits (~caecilius@gateway/tor-sasl/caecilius) (Ping timeout: 240 seconds)
09:26:02 × darjeeling_ quits (~darjeelin@122.245.218.196) (Ping timeout: 272 seconds)
09:26:45 <dminuoso> Its rendered with two glyps, selecting either the first or both puts just the single character into the clipboard... and if I select the first box, the second box stops rendering..
09:26:57 <dminuoso> Gah I hate textual stuff.
09:27:21 xiinotulp joins (~q@ppp-27-55-80-233.revip3.asianet.co.th)
09:28:56 × hnOsmium0001 quits (uid453710@gateway/web/irccloud.com/x-blqgdwgqtvmgdyih) (Quit: Connection closed for inactivity)
09:29:26 <[exa]> dminuoso: what's your terminal btw?
09:29:31 <dminuoso> idnar: And I find it satisfying how profunctor optics hierarchy nicely arises from just a tree of constraints.
09:29:33 × heatsink quits (~heatsink@2600:1700:bef1:5e10:406f:6a8d:2175:4183) (Remote host closed the connection)
09:29:36 kuribas joins (~user@ptr-25vy0i816ietay3t8f3.18120a2.ip6.access.telenet.be)
09:30:18 <dminuoso> With lens you have to give up on that to represent certain optics in this mixed VL/profunctor representation
09:30:48 thc202 joins (~thc202@unaffiliated/thc202)
09:31:01 × plutoniix quits (~q@ppp-223-24-165-204.revip6.asianet.co.th) (Read error: Connection reset by peer)
09:31:26 <idnar> dminuoso: yeah, iirc affine and relevant traversals are much less sticky
09:32:13 <dminuoso> Well, affine is a separate issue, that's just because we dont have some `class (Apply f, Pointed f) => Applicative` type of hierarchy in base.
09:32:15 × drbean quits (~drbean@TC210-63-209-18.static.apol.com.tw) (Ping timeout: 272 seconds)
09:32:21 × doct0rhu quits (~orctarorg@pool-72-88-158-154.nwrknj.fios.verizon.net) (Remote host closed the connection)
09:32:25 <dminuoso> If we had, you could have affine optics in lens without an issue
09:33:22 <idnar> part of the reason we don't is that it gets sticky :P
09:35:14 <dminuoso> [exa]: xfce4-terminal
09:35:33 × Lord_of_Life quits (~Lord@46.217.218.10) (Changing host)
09:35:33 Lord_of_Life joins (~Lord@unaffiliated/lord-of-life/x-0885362)
09:35:34 ulidtko|k joins (~ulidtko@193.111.48.79)
09:37:29 × ulidtko quits (~ulidtko@194.54.80.38) (Ping timeout: 260 seconds)
09:37:39 o1lo01ol1o joins (~o1lo01ol1@bl11-140-216.dsl.telepac.pt)
09:38:12 borne joins (~fritjof@200116b864de8f009ba1d43461655289.dip.versatel-1u1.de)
09:39:52 <idnar> dminuoso: anyway, someday I'll probably get bored and port this codebase to optics :D
09:40:10 darjeeling_ joins (~darjeelin@122.245.218.196)
09:41:09 <[exa]> dminuoso: interesting, → renders there as single glyph for me
09:41:23 <[exa]> single "glyph field" I mean
09:42:07 <dminuoso> [exa]: Which font?
09:43:07 <[exa]> looks like bitstream vera mono
09:43:12 <[exa]> yeah
09:43:30 × o1lo01ol1o quits (~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Remote host closed the connection)
09:44:33 o1lo01ol1o joins (~o1lo01ol1@bl11-140-216.dsl.telepac.pt)
09:44:42 LKoen joins (~LKoen@228.162.9.109.rev.sfr.net)
09:46:37 × guest127 quits (~user@49.5.6.87) (Quit: ERC (IRC client for Emacs 27.1))
09:51:11 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
09:51:34 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
09:51:50 <joel135> How do I install profunctor-optics in stack?
09:52:36 <joel135> https://pastebin.com/RCxGVHDW
09:52:49 × Katarushisu quits (~Katarushi@cpc149712-finc20-2-0-cust535.4-2.cable.virginm.net) (Quit: The Lounge - https://thelounge.chat)
09:53:28 __monty__ joins (~toonn@unaffiliated/toonn)
09:54:20 <joel135> https://pastebin.com/8gGMTQFn https://pastebin.com/tBxqAtf1
09:54:28 <Uniaika> joel135: stack is not a package manager like apt-get
09:54:35 <Uniaika> create a stack project with `stack new`
09:54:41 <joel135> ok
09:54:43 <Uniaika> and add profunctor-optics to your cabal file
09:54:57 × bitmagie quits (~Thunderbi@200116b80634ea0045c79ae02376c675.dip.versatel-1u1.de) (Quit: bitmagie)
09:55:10 × toorevitimirp quits (~tooreviti@117.182.181.85) (Remote host closed the connection)
09:55:19 Katarushisu joins (~Katarushi@cpc149712-finc20-2-0-cust535.4-2.cable.virginm.net)
09:56:10 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 256 seconds)
09:56:22 <__monty__> Do you mean stack.yaml? Cause stack overwrites the cabal file iirc?
09:58:52 <joel135> https://pastebin.com/psWNpsHy
10:01:10 <merijn> __monty__: It does not
10:01:13 sgibber2018 joins (~arch-gibb@208.85.237.137)
10:01:31 <merijn> __monty__: If you use hpack it will automatically call hpack which *will* overwrite the cabal file
10:01:41 <merijn> But you shouldn't use hpack anyway :p
10:02:29 <__monty__> So you can use stack without a stack.yaml?
10:02:53 <merijn> __monty__: You are mixing up stack.yaml and package.yaml (the latter is hpack)
10:03:05 <merijn> __monty__: Using stack via just a stack.yaml and .cabal file works fine
10:03:13 <__monty__> Ah, ok. Thanks for clearing it up.
10:03:32 <__monty__> Does stack simply ignore the bounds you supply?
10:04:13 gxt_ joins (~gxt@gateway/tor-sasl/gxt)
10:04:24 <merijn> I'm not entirely sure, I expect it does not ignore them (so if the version in your snapshot is out of bounds I would expect it to fail, but I don't use stack so I'm not sure)
10:04:32 <Uniaika> I don't think it does ignore the cabal bounds
10:04:48 <Uniaika> or rather, I've never had any issues with using bounds and stack
10:04:51 <Uniaika> that's more correct :p
10:04:54 × o1lo01ol1o quits (~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Ping timeout: 256 seconds)
10:05:22 <merijn> __monty__: It simply constrains Cabal to the exact version in the resolver, so if those are within the bounds Cabal selects those. If they are not in the bounds Cabal will reject the package
10:07:03 × gxt quits (~gxt@gateway/tor-sasl/gxt) (Ping timeout: 240 seconds)
10:07:43 <ski> Axman6 : it doesn't know that `forall msg0 msg1. (Foo msg0 SomeHdr,Foo msg1 ADistinctHdr) => msg0 =/= msg1', and even if it did, iiuc it doesn't take instance contexts into account when checking which instances are relevant
10:10:43 × Stanley00 quits (~stanley00@unaffiliated/stanley00) ()
10:10:52 cosimone joins (~cosimone@93-47-228-249.ip115.fastwebnet.it)
10:11:06 <joel135> "No setup information found for ghc-8.8.4 on your platform. This probably means a GHC bindist has not yet been added for OS key 'linux64-nopie'." --> I saw somewhere I might need to update to "resolver: lts-16.25" in my global stack.yaml but that didn't change anything (my local stack.yaml also points to ...lts/16/25.yaml)
10:12:11 × Katarushisu quits (~Katarushi@cpc149712-finc20-2-0-cust535.4-2.cable.virginm.net) (Quit: The Lounge - https://thelounge.chat)
10:13:28 Katarushisu joins (~Katarushi@cpc149712-finc20-2-0-cust535.4-2.cable.virginm.net)
10:18:17 × xsarnik0 quits (xsarnik@gateway/shell/fi.muni.cz/x-tgciqxhajxesnkwi) (Read error: Connection reset by peer)
10:18:17 × Jajik quits (xchlup2@gateway/shell/fi.muni.cz/x-xjonixprwtlmdjwb) (Write error: Connection reset by peer)
10:20:08 rayyyy joins (~nanoz@gateway/tor-sasl/nanoz)
10:22:34 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
10:22:53 × xelxebar quits (~xelxebar@gateway/tor-sasl/xelxebar) (Remote host closed the connection)
10:23:13 xelxebar joins (~xelxebar@gateway/tor-sasl/xelxebar)
10:24:13 × machinedgod quits (~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 264 seconds)
10:24:13 MidAutumnHotaru joins (~MidAutumn@154.91.197.93)
10:30:16 urek joins (~urek@2804:7f1:e10a:7d51:f5c4:8c14:1665:3139)
10:30:18 heatsink joins (~heatsink@2600:1700:bef1:5e10:cc3:649d:beb7:1989)
10:31:05 dnlkrgr joins (~dnlkrgr@2a02:8070:a193:c900:a966:de49:e8e8:962f)
10:33:58 × ericsagnes quits (~ericsagne@2405:6580:0:5100:a371:8651:d375:8998) (Ping timeout: 260 seconds)
10:34:46 da39a3ee5e6b4b0d joins (~da39a3ee5@2403:6200:8876:a9cd:5081:c991:1e35:d185)
10:34:52 × heatsink quits (~heatsink@2600:1700:bef1:5e10:cc3:649d:beb7:1989) (Ping timeout: 260 seconds)
10:37:41 xsarnik0 joins (xsarnik@gateway/shell/fi.muni.cz/x-gifsqugeqfqrfess)
10:39:17 o1lo01ol1o joins (~o1lo01ol1@bl11-140-216.dsl.telepac.pt)
10:40:38 chez joins (c12520c9@193.37.32.201)
10:40:59 justin_ joins (~justin@193.37.32.201)
10:41:02 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
10:41:11 <joel135> Any ideas on my problem?
10:41:37 × justin_ quits (~justin@193.37.32.201) (Remote host closed the connection)
10:42:50 Jajik joins (xchlup2@gateway/shell/fi.muni.cz/x-ukqhigdeuvhuvbdj)
10:43:50 × o1lo01ol1o quits (~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Ping timeout: 256 seconds)
10:43:56 × mbirman quits (~user@119-17-128-101.771180.mel.nbn.aussiebb.net) (Ping timeout: 240 seconds)
10:45:54 <merijn> joel135: Which distro is this?
10:45:56 <joel135> I can't even run "stack ghci" or "stack install" if I update "resolver: lts-9.2" to "resolver: lts-16.25"
10:45:58 <joel135> arch
10:46:26 <merijn> heh, how could I ever thought it was anything different :)
10:47:00 <sgibber2018> Arch is wonderful but it does seem to have some Haskell quirks
10:47:16 <merijn> Not sure what the situation with stack is on Arch, but the non-stack situation is irrepairably fucked
10:47:23 <merijn> I recommend consulting the Arch wiki
10:48:02 <merijn> sgibber2018: "some quirks" is a polite way of describing "Arch maintainers intentionally ship a broken configuration" :)
10:48:06 lpy joins (~nyd@unaffiliated/elysian)
10:48:37 <sgibber2018> Can you explain more? I don't know enough about the situation to form a full opinion.
10:48:53 <sgibber2018> But I did have to do a lot of fiddling to get my haskell environment set up.
10:48:57 <merijn> sgibber2018: GHC's default behaviour has always been to link Haskell libraries statically
10:49:10 <__monty__> Is there a more general version of `Data.Map.unionsWith`? I want to accumulate the values in the maps in lists.
10:49:18 <merijn> sgibber2018: Arch maintainers, for ideological reasons, believe everything should only ever link dynamically
10:49:38 <merijn> sgibber2018: Therefore, Arch's Haskell packages *only* package the dynamic libs, not the static libs.
10:49:48 <merijn> sgibber2018: But they don't bother to patch GHC to a different default
10:50:12 <merijn> sgibber2018: So try to use GHC "as normal" will try and link statically and then crash and burn due to lack of static libs installed
10:50:27 christo joins (~chris@81.96.113.213)
10:50:52 <sgibber2018> merijn: Oh. What's the common workaround for those using Arch? I have only used Haskell for very small-scale programming and some class assignments so far.
10:51:16 <Athas> I think the motivation behind Arch's bizarre decision is that they care more about shipping Haskell *programs* (like Pandoc) than Haskell development tools. Although it's also a bit fuzzy how Pandoc benefits from this.
10:51:32 <merijn> sgibber2018: The arch wiki has a bunch of suggestions, personally I would just install one of the GHC bindists and avoid the Arch packages entirely
10:51:35 <Athas> sgibber2018: install stack manually (not via pacman) and let stack manage GHC for you.
10:51:51 <sgibber2018> Good to know. Thanks all.
10:52:06 <merijn> Athas: The problem is that now pandoc has a 100+ package dependency footprint that keeps needing to be reinstalled (due to lack of ABI compat) that's pissing off all their users :p
10:52:20 <Athas> merijn: yes, I don't get it either.
10:52:22 <merijn> sgibber2018: https://www.haskell.org/ghc/download_ghc_8_10_2.html
10:52:46 <Athas> I'm a bit fuzzy on why GHC supports dynamic linking at all. Surely it was nontrivial to get it working, but what's the benefit?
10:52:51 <merijn> sgibber2018: GHC has pre-built binaries that you can install via "./configure --prefix=path/to/install && make install"
10:52:56 × chez quits (c12520c9@193.37.32.201) (Remote host closed the connection)
10:53:04 × rprije quits (~rprije@14-201-170-17.tpgi.com.au) (Ping timeout: 256 seconds)
10:53:22 × L29Ah quits (~L29Ah@unaffiliated/l29ah) (Ping timeout: 246 seconds)
10:53:40 <sgibber2018> merijn: Good to know. The next time I need to make something non-trivial with Haskell I was planning to give Stack a try, and now I know to do it directly.
10:53:47 <merijn> sgibber2018: There's also ghcup which automates all that
10:54:27 <merijn> But I'm a luddite who insists on having his environment exactly the way I want, so I don't really bother with ghcup
10:54:49 <maerwald> merijn: what exactly do you do different?
10:55:06 <sgibber2018> merijn: Nothing luddite about wanting to manage your tech directly, imo
10:55:16 <Athas> merijn: I also used to do that, but is there any benefit to it anymore, or is it just the impossible inertia of habit now?
10:55:21 L29Ah joins (~L29Ah@unaffiliated/l29ah)
10:55:35 <sgibber2018> Some things I want to manage directly, some things I don't. That's part of being a computer person, is choosing where to invest your effort.
10:55:37 <merijn> Athas: Probably inertia :)
10:55:43 rockethead joins (~rockethea@2001:41d0:302:2100::6dae)
10:56:17 <merijn> maerwald: The main difference is probably "not having everything in ~/.ghcup" :p
10:56:26 × rockethead quits (~rockethea@2001:41d0:302:2100::6dae) (Remote host closed the connection)
10:57:27 <Athas> Unless you need patched GHCs with nonstandard configuration, then I think ghcup is the most pragmatic choice.
10:57:27 <maerwald> merijn: I support XDG
10:57:38 <merijn> I mean, it's mostly inertia as Athas says. It's always worked for me and I see zero compelling reason to spend the effort to rethink my habits :p
10:57:43 <maerwald> Athas: you can compile patched GHCs with ghcup :p
10:59:08 <merijn> maerwald: Right, but "figuring out how to configure that properly" is more effort than "doing what I've always done" :p
10:59:22 <maerwald> merijn: it's setting one env variable
10:59:29 <merijn> I'll consider it when my current workflow breaks, but considering how minimal that is, it's likely to be never :p
10:59:52 × danza quits (~francesco@151.53.92.26) (Ping timeout: 256 seconds)
10:59:54 encod3 joins (~encod3@45-154-157-94.ftth.glasoperator.nl)
11:00:30 <maerwald> Athas: ghcup compile ghc -j 4 -v 8.4.2 -b 8.2.2 -x armv7-unknown-linux-gnueabihf --config $(pwd)/build.mk --patchdir patches/ -- --enable-unregisterised -- this builds a cross compiler with a custom config and patches
11:00:46 × Codaraxis__ quits (~Codaraxis@ip68-5-90-227.oc.oc.cox.net) (Ping timeout: 256 seconds)
11:01:05 <maerwald> but there's not much difference to doing it manually, creating a bindist and then feeding that bindist to ghcup
11:01:46 × da39a3ee5e6b4b0d quits (~da39a3ee5@2403:6200:8876:a9cd:5081:c991:1e35:d185) (Quit: My MacBook has gone to sleep. ZZZzzz…)
11:01:56 × encod3 quits (~encod3@45-154-157-94.ftth.glasoperator.nl) (Client Quit)
11:02:08 <Athas> Right, I'd probably just prefer to use GHC's own build system so I don't have to understand the limitations and toggles of ghcup.
11:02:22 <maerwald> yeah, I only support make
11:02:36 whatisRT joins (~whatisRT@2002:5b41:6a33:0:2d8b:4360:ff80:54e2)
11:03:36 × jamm_ quits (~jamm@unaffiliated/jamm) (Remote host closed the connection)
11:04:43 Codaraxis__ joins (~Codaraxis@ip68-5-90-227.oc.oc.cox.net)
11:05:23 <joel135> so there are 3 ways? i have uninstalled haskell in arch. now i can install (1) https://www.haskell.org/ghc/download_ghc_8_10_2.html, or (2) ghcup, or (3) stack?
11:05:41 <Athas> joel135: yes.
11:06:10 <joel135> ok i'll go with stack and see if that works
11:06:27 qwfplyuh joins (2e050550@HSI-KBW-046-005-005-080.hsi8.kabel-badenwuerttemberg.de)
11:06:30 × whatisRT quits (~whatisRT@2002:5b41:6a33:0:2d8b:4360:ff80:54e2) (Client Quit)
11:07:11 × xiinotulp quits (~q@ppp-27-55-80-233.revip3.asianet.co.th) (Quit: Leaving)
11:07:30 <joel135> "Since this installer doesn't support your Linux distribution, there is no guarantee that 'stack' will work at all!" that's reassuring
11:08:21 × christo quits (~chris@81.96.113.213) (Remote host closed the connection)
11:08:56 × columbarius quits (~columbari@mue-88-130-54-125.dsl.tropolys.de) (Ping timeout: 256 seconds)
11:09:02 christo joins (~chris@81.96.113.213)
11:09:08 <Athas> Note that stack is more than just a GHC installer. It's mostly a way of building your Haskell code (technically not a build system for convoluted reasons). If you just want the basic compiler and tools, especially if you'd rather use cabal, then ghcup is better.
11:10:11 <joel135> i want to use stack
11:10:16 columbarius joins (~columbari@mue-88-130-54-104.dsl.tropolys.de)
11:10:36 <joel135> because i tried it with emacs and it worked
11:11:13 <joel135> and cabal feels dangerous ...
11:11:52 <[exa]> joel135: stack can be viewed as cabal orchestration tool, not less dangerous for sure. :]
11:12:35 <maerwald> just use both
11:12:38 berberman_ joins (~berberman@unaffiliated/berberman)
11:12:42 <maerwald> there's no commitment issue really
11:12:53 <maerwald> you don't like one, trash it and switch
11:13:16 × shatriff quits (~vitaliish@176.52.219.10) (Remote host closed the connection)
11:13:30 shatriff joins (~vitaliish@176.52.219.10)
11:13:36 <Athas> Yeah, they both use .cabal files to structure the program.
11:13:48 <Athas> I use both stack and cabal for different things in my CI.
11:13:56 <qwfplyuh> I'm getting `/run/user/1000/ghc3533_0/ghc_2.h: hClose: resource exhausted (No space left on device)` errors on NixOS when running `ghc -O2 <file>`. What are those folders / files for? Is it OK to just delete them?
11:14:13 × berberman quits (~berberman@unaffiliated/berberman) (Ping timeout: 272 seconds)
11:16:12 × Codaraxis__ quits (~Codaraxis@ip68-5-90-227.oc.oc.cox.net) (Remote host closed the connection)
11:16:38 Codaraxis__ joins (~Codaraxis@ip68-5-90-227.oc.oc.cox.net)
11:17:46 × Codaraxis__ quits (~Codaraxis@ip68-5-90-227.oc.oc.cox.net) (Remote host closed the connection)
11:18:13 ggole joins (~ggole@2001:8003:8119:7200:41bc:ed05:ca38:aae)
11:19:43 × rayyyy quits (~nanoz@gateway/tor-sasl/nanoz) (Remote host closed the connection)
11:20:11 rayyyy joins (~nanoz@gateway/tor-sasl/nanoz)
11:23:06 <joel135> ok it seems like to install agda i need cabal anyways
11:27:21 <joel135> (unless i manage to use this https://dev.to/sirasolra/installing-agda-in-stack-3b0l)
11:27:32 mlugg joins (c3c2162d@195.194.22.45)
11:28:05 da39a3ee5e6b4b0d joins (~da39a3ee5@2403:6200:8876:a9cd:5081:c991:1e35:d185)
11:28:39 p-core joins (~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515)
11:30:28 <mlugg> I'm working on implementing a HM type inference system (approximately Algorithm W) in Haskell and am having trouble finding information on one small aspect of it. Like in Haskell, I have both explicitly and implicitly typed let-bindings. Most of the inference works, but there is one thing left; for explicit binding checking, I need to be able to
11:30:29 <mlugg> see if one type scheme is an instance of another (or rather, if one is at least as general as another), and I cannot find any information on how best to do this. I believe it could be done by finding the mgu of the two types in isolation and checking that the substitution returned obeys certain properties, but this feels quite complicated. Is there
11:30:29 <mlugg> a nicer way?
11:31:14 <arahael> mlugg: What sources did you use, out of interest? (I might be interested to do this myself, one day, though that day is not today, sadly)
11:31:46 heatsink joins (~heatsink@2600:1700:bef1:5e10:cc3:649d:beb7:1989)
11:32:23 zangi joins (~azure@103.154.230.250)
11:33:24 o1lo01ol1o joins (~o1lo01ol1@bl11-140-216.dsl.telepac.pt)
11:33:46 <zangi> since cabal-install doesn't have `cabal uninstall`, is it safe to remove `~/.cabal/bin/program` manually?
11:34:26 Gurkenglas joins (~Gurkengla@unaffiliated/gurkenglas)
11:34:26 <mlugg> arahael: For my implementation? I've been looking over a variety of stuff for a while, I can't really pin down one good resource unfortunately - there's a wealth of information on the algorithm for the most part, the only bit which it's a bit harder to find information on is Haskell-like let bindings. To be honest, I'm not certain where I managed
11:34:27 <mlugg> to figure those out, but I believe this https://gist.github.com/chrisdone/0075a16b32bfd4f62b7b was vaguely helpful
11:35:40 <arahael> Thanks for that. :)
11:36:36 × heatsink quits (~heatsink@2600:1700:bef1:5e10:cc3:649d:beb7:1989) (Ping timeout: 268 seconds)
11:36:43 × rayyyy quits (~nanoz@gateway/tor-sasl/nanoz) (Remote host closed the connection)
11:37:19 geowiesnot joins (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr)
11:38:07 × acidjnk_new quits (~acidjnk@p200300d0c719ff8291316ca5b709066d.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
11:38:17 × o1lo01ol1o quits (~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Ping timeout: 272 seconds)
11:39:38 danza joins (~francesco@host-79-2-62-233.business.telecomitalia.it)
11:41:44 rue-88 joins (~rue-88@130.185.200.98)
11:43:00 × dnlkrgr quits (~dnlkrgr@2a02:8070:a193:c900:a966:de49:e8e8:962f) (Ping timeout: 246 seconds)
11:43:04 × geowiesnot quits (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 240 seconds)
11:43:36 kirji joins (~kirji@186.206.197.118)
11:45:12 dnlkrgr joins (~dnlkrgr@HSI-KBW-046-005-005-080.hsi8.kabel-badenwuerttemberg.de)
11:46:55 kirji parts (~kirji@186.206.197.118) ()
11:48:59 × da39a3ee5e6b4b0d quits (~da39a3ee5@2403:6200:8876:a9cd:5081:c991:1e35:d185) (Quit: My MacBook has gone to sleep. ZZZzzz…)
11:49:56 × Gladenko quits (~Gladenko@4e69b241.skybroadband.com) (Ping timeout: 240 seconds)
11:50:40 da39a3ee5e6b4b0d joins (~da39a3ee5@2403:6200:8876:a9cd:5081:c991:1e35:d185)
11:51:56 ericsagnes joins (~ericsagne@2405:6580:0:5100:6bac:e6f6:3f72:904)
11:55:34 <joel135> ok now i have stack, ghc, agda, emacs compatibility
11:55:58 × danza quits (~francesco@host-79-2-62-233.business.telecomitalia.it) (Ping timeout: 256 seconds)
11:56:37 <joel135> how to install profunctor-optics? https://pastebin.com/pXwysezt
11:57:10 <dminuoso> qwfplyuh: Gah, the error message is misleading
11:57:58 <dminuoso> joel135: Mmm, I dont know about stack really, but optics (which is also profunctors based) is in the latest stackage resolvers.
11:58:05 <dminuoso> In case that's an option
11:58:24 × rue-88 quits (~rue-88@130.185.200.98) (Quit: Konversation terminated!)
11:58:38 <joel135> i am using url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/16/25.yaml
11:58:41 × cads quits (~cads@ip-64-72-99-232.lasvegas.net) (Quit: Leaving)
11:58:54 <dminuoso> That one has optics in it.
11:59:07 cads joins (~cads@ip-64-72-99-232.lasvegas.net)
11:59:09 <dminuoso> (or optics-core, depending on what you want)
11:59:13 <joel135> ok i don't really care which package i try
12:00:16 <joel135> i'll try optics then
12:00:23 × polux200137 quits (~polux@51.15.169.172) (Quit: The Lounge - https://thelounge.github.io)
12:00:41 polux200137 joins (~polux@51.15.169.172)
12:00:55 × mlugg quits (c3c2162d@195.194.22.45) (Ping timeout: 245 seconds)
12:03:16 <joel135> it worked
12:04:31 <dminuoso> qwfplyuh: The error could also be emitted when you run out of file descriptors or inodes I think.
12:04:59 cheater1 joins (~user@unaffiliated/cheater)
12:05:57 ericsagn1 joins (~ericsagne@2405:6580:0:5100:7a63:b14:7ffa:8369)
12:07:17 × cheater quits (~user@unaffiliated/cheater) (Ping timeout: 260 seconds)
12:07:25 cheater1 is now known as cheater
12:09:19 acidjnk_new joins (~acidjnk@p200300d0c719ff80cd4aafbd6cd15b09.dip0.t-ipconnect.de)
12:09:54 × ericsagnes quits (~ericsagne@2405:6580:0:5100:6bac:e6f6:3f72:904) (Ping timeout: 268 seconds)
12:10:16 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
12:10:32 gehmehgeh joins (~ircuser1@gateway/tor-sasl/gehmehgeh)
12:10:40 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
12:10:43 dhil joins (~dhil@195.213.192.34)
12:11:45 × polux200137 quits (~polux@51.15.169.172) (Quit: The Lounge - https://thelounge.github.io)
12:12:04 polux200137 joins (~polux@51.15.169.172)
12:14:50 Amras joins (~Amras@unaffiliated/amras)
12:15:38 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 256 seconds)
12:18:04 × fuzzypixelz quits (~fuzzypixe@eth-west-pareq2-46-193-4-100.wb.wifirst.net) (Quit: fuzzypixelz)
12:18:23 urek__ joins (~urek@2804:7f1:e10a:7d51:5c40:5b25:306e:2a28)
12:19:43 rayyyy joins (~nanoz@gateway/tor-sasl/nanoz)
12:21:07 fuzzypixelz joins (~fuzzypixe@eth-west-pareq2-46-193-4-100.wb.wifirst.net)
12:22:11 × urek quits (~urek@2804:7f1:e10a:7d51:f5c4:8c14:1665:3139) (Ping timeout: 246 seconds)
12:23:31 × fuzzypixelz quits (~fuzzypixe@eth-west-pareq2-46-193-4-100.wb.wifirst.net) (Client Quit)
12:24:56 <joel135> oh no now i get Haskell process command errored with: (error "Unexpected response from haskell process.")
12:25:02 <joel135> in emacs
12:25:45 danza joins (~francesco@151.53.92.26)
12:25:56 <joel135> even though i am using "(setq haskell-process-type 'stack-ghci))"
12:26:28 Entertainment joins (~entertain@104.246.132.210)
12:27:24 o1lo01ol1o joins (~o1lo01ol1@bl11-140-216.dsl.telepac.pt)
12:27:31 × Maxdamantus quits (~Maxdamant@unaffiliated/maxdamantus) (Ping timeout: 246 seconds)
12:28:44 bitmagie joins (~Thunderbi@200116b80634ea005158cd2687afd8fd.dip.versatel-1u1.de)
12:30:13 × shutdown_-h_now quits (~arjan@2001:1c06:2d0b:2312:d1c6:3077:d789:1553) (Ping timeout: 272 seconds)
12:30:22 × bitmagie quits (~Thunderbi@200116b80634ea005158cd2687afd8fd.dip.versatel-1u1.de) (Client Quit)
12:31:28 <joel135> ok i needed this https://github.com/haskell/haskell-mode/issues/1553#issuecomment-358373643
12:31:38 × o1lo01ol1o quits (~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Ping timeout: 244 seconds)
12:32:37 heatsink joins (~heatsink@2600:1700:bef1:5e10:cc3:649d:beb7:1989)
12:32:37 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 264 seconds)
12:33:08 o1lo01ol1o joins (~o1lo01ol1@bl11-140-216.dsl.telepac.pt)
12:33:41 urek joins (~urek@2804:7f1:e10a:7d51:5d41:4512:81ee:9975)
12:35:09 × urek__ quits (~urek@2804:7f1:e10a:7d51:5c40:5b25:306e:2a28) (Ping timeout: 246 seconds)
12:35:35 Maxdamantus joins (~Maxdamant@unaffiliated/maxdamantus)
12:36:33 drbean joins (~drbean@TC210-63-209-75.static.apol.com.tw)
12:36:48 × heatsink quits (~heatsink@2600:1700:bef1:5e10:cc3:649d:beb7:1989) (Ping timeout: 244 seconds)
12:36:49 × zangi quits (~azure@103.154.230.250) (Read error: Connection reset by peer)
12:36:56 drincruz_ joins (~adriancru@ool-44c748be.dyn.optonline.net)
12:37:23 zangi joins (~azure@103.154.230.250)
12:41:22 elfets joins (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
12:44:09 × Benzi-Junior quits (~BenziJuni@dsl-149-65-135.hive.is) (Ping timeout: 260 seconds)
12:44:47 × ericsagn1 quits (~ericsagne@2405:6580:0:5100:7a63:b14:7ffa:8369) (Ping timeout: 272 seconds)
12:45:38 shutdown_-h_now joins (~arjan@2001:1c06:2d0b:2312:d422:f7b8:4518:5c7e)
12:46:59 Eduard_Munteanu joins (~Eduard_Mu@2001:420:c0c0:1006::173)
12:47:04 AlterEgo- joins (~ladew@124-198-158-163.dynamic.caiway.nl)
12:47:31 × shatriff quits (~vitaliish@176.52.219.10) (Remote host closed the connection)
12:47:36 arguapacha joins (uid134895@gateway/web/irccloud.com/x-pkidulrkdmwgasyc)
12:47:49 shatriff joins (~vitaliish@176.52.219.10)
12:48:01 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
12:48:13 × drincruz_ quits (~adriancru@ool-44c748be.dyn.optonline.net) (Ping timeout: 264 seconds)
12:48:17 × shatriff quits (~vitaliish@176.52.219.10) (Remote host closed the connection)
12:48:32 shatriff joins (~vitaliish@176.52.219.10)
12:49:01 × shutdown_-h_now quits (~arjan@2001:1c06:2d0b:2312:d422:f7b8:4518:5c7e) (Remote host closed the connection)
12:49:03 × shatriff quits (~vitaliish@176.52.219.10) (Remote host closed the connection)
12:49:20 shatriff joins (~vitaliish@176.52.219.10)
12:49:49 × shatriff quits (~vitaliish@176.52.219.10) (Remote host closed the connection)
12:50:04 shatriff joins (~vitaliish@176.52.219.10)
12:50:35 × shatriff quits (~vitaliish@176.52.219.10) (Remote host closed the connection)
12:50:37 × olligobber quits (olligobber@gateway/vpn/privateinternetaccess/olligobber) (Ping timeout: 246 seconds)
12:52:02 jamm_ joins (~jamm@unaffiliated/jamm)
12:53:08 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 272 seconds)
12:53:20 × borne quits (~fritjof@200116b864de8f009ba1d43461655289.dip.versatel-1u1.de) (Ping timeout: 246 seconds)
12:53:37 Benzi-Junior joins (~BenziJuni@88-149-65-135.du.xdsl.is)
12:55:44 × lxsameer quits (~lxsameer@unaffiliated/lxsameer) (Ping timeout: 260 seconds)
12:56:00 borne joins (~fritjof@200116b864e55d009ba1d43461655289.dip.versatel-1u1.de)
12:56:46 ericsagn1 joins (~ericsagne@2405:6580:0:5100:bb34:5759:3e20:182c)
12:57:56 × dhil quits (~dhil@195.213.192.34) (Ping timeout: 240 seconds)
12:58:19 nowhere_man joins (~pierre@2a01:e0a:3c7:60d0:e88f:4e24:f6a7:f155)
12:58:26 × cheater quits (~user@unaffiliated/cheater) (Read error: Connection reset by peer)
12:58:47 cheater joins (~user@unaffiliated/cheater)
12:59:22 × p-core quits (~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515) (Remote host closed the connection)
12:59:48 dawiss joins (~dawiss@185-119-185-201.actus-info.pl)
13:00:34 × dawiss quits (~dawiss@185-119-185-201.actus-info.pl) (Client Quit)
13:01:17 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
13:01:35 dawiss joins (~dawiss@185-119-185-201.actus-info.pl)
13:02:56 × NieDzejkob quits (~quassel@188.123.215.55) (Remote host closed the connection)
13:03:53 × hexfive quits (~hexfive@50-47-142-195.evrt.wa.frontiernet.net) (Quit: i must go. my people need me.)
13:04:07 NieDzejkob joins (~quassel@188.123.215.55)
13:05:09 fendor_ joins (~fendor@178.115.129.186.wireless.dyn.drei.com)
13:05:16 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Ping timeout: 240 seconds)
13:08:01 × fendor quits (~fendor@77.119.131.148.wireless.dyn.drei.com) (Ping timeout: 264 seconds)
13:09:34 lxsameer joins (lxsameer@gateway/vpn/protonvpn/lxsameer)
13:10:50 × o1lo01ol1o quits (~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Remote host closed the connection)
13:11:47 × renzhi quits (~renzhi@2607:fa49:655f:e600::28da) (Ping timeout: 260 seconds)
13:13:13 drincruz_ joins (~adriancru@ool-44c748be.dyn.optonline.net)
13:13:15 Neo-- joins (~neo@188-230-138-83.dynamic.t-2.net)
13:15:03 × bitmapper quits (uid464869@gateway/web/irccloud.com/x-hbidpjgwzfhutzyx) (Quit: Connection closed for inactivity)
13:16:27 texasmynsted joins (~texasmyns@212.102.45.106)
13:16:45 × texasmynsted quits (~texasmyns@212.102.45.106) (Remote host closed the connection)
13:16:49 × dawiss quits (~dawiss@185-119-185-201.actus-info.pl) (Quit: Lost terminal)
13:17:03 texasmynsted joins (~texasmyns@212.102.45.106)
13:17:05 dawiss joins (~dawiss@185-119-185-201.actus-info.pl)
13:18:52 × dxld quits (~dxld@rush.pub.dxld.at) (Quit: Bye)
13:19:10 dxld joins (~dxld@rush.pub.dxld.at)
13:22:50 × drincruz_ quits (~adriancru@ool-44c748be.dyn.optonline.net) (Ping timeout: 264 seconds)
13:24:26 geekosaur joins (82659a09@host154-009.vpn.uakron.edu)
13:25:12 × texasmynsted quits (~texasmyns@212.102.45.106) (Remote host closed the connection)
13:26:21 dhouthoo joins (~dhouthoo@ptr-eitgbj2w0uu6delkbrh.18120a2.ip6.access.telenet.be)
13:27:46 × lxsameer quits (lxsameer@gateway/vpn/protonvpn/lxsameer) (Ping timeout: 256 seconds)
13:28:31 Kaivo joins (~Kaivo@104-200-86-99.mc.derytele.com)
13:28:31 pjb joins (~t@2a01cb04063ec50074a8618b6b489f5b.ipv6.abo.wanadoo.fr)
13:28:49 <operand> Hi, I'm trying to parse some input using Megaparsec and I can't quite figure out if there is any way to parse, e.g. "word1 word2" without having to manually concatenate the results of parsing word1, the space, and word2
13:29:11 <operand> I'm not sure if there /is/ even a way, but if somebody could confirm that that would be quite nice as well :P
13:30:49 polyphem joins (~p0lyph3m@2a02:810d:640:776c:76d7:55f6:f85b:c889)
13:31:12 × polux200137 quits (~polux@51.15.169.172) (Quit: The Lounge - https://thelounge.github.io)
13:31:31 polux200137 joins (~polux@51.15.169.172)
13:36:24 <tomsmeding> operand: what about this?
13:36:28 <tomsmeding> :t fmap concat . sequence
13:36:30 <lambdabot> (Traversable t, Monad f) => t (f [a]) -> f [a]
13:36:48 × dexterlb quits (~dexterlb@2a01:9e40:2:2::2) (Quit: Boing)
13:36:52 jmchael joins (~jmchael@87.112.60.168)
13:37:16 <tomsmeding> as in, let combine = fmap concat . sequence in combine [parseWord1, string " ", parseWord2] or suchlike
13:40:56 <dminuoso> Mmm, that looks like we should have a combinator for it
13:41:41 <dminuoso> operand: What about the naive? (<>) <$> w1 <*> w2
13:41:59 <dminuoso> The space shouldnt even be in your grammar at this point
13:42:10 <dminuoso> Every token should be wrapped in your `lexeme` combinator
13:42:51 mynameismud joins (~rebb@89-164-126-33.dsl.iskon.hr)
13:44:24 LKoen_ joins (~LKoen@228.162.9.109.rev.sfr.net)
13:44:40 <mynameismud> hello
13:44:57 <operand> dminuoso: You're right, I probably should be using the lexeme combinator :/ I just haven't been able to *quite* figure it out yet
13:45:12 <operand> I'm using advent of code challenges to try and learn parser combinators :p
13:45:19 <dminuoso> operand: let lexeme = L.lexeme sc; anyWord = L.lexeme (takeWhileP (Just "any word") (satisfy isAlpha)) in (<>) <$> anyWord <*> anyWord
13:45:31 × drbean quits (~drbean@TC210-63-209-75.static.apol.com.tw) (Ping timeout: 265 seconds)
13:45:40 <dminuoso> Where sc is your favourite space consumer
13:46:47 <dminuoso> Oh, or https://hackage.haskell.org/package/megaparsec-9.0.1/docs/Text-Megaparsec-Byte.html#v:letterChar perhaps
13:47:09 × LKoen quits (~LKoen@228.162.9.109.rev.sfr.net) (Ping timeout: 260 seconds)
13:47:16 <dminuoso> Mmm, no I think takeWhileP with a predicate is faster
13:47:35 Tario joins (~Tario@201.192.165.173)
13:47:39 × p8m quits (p8m@gateway/vpn/protonvpn/p8m) (Ping timeout: 260 seconds)
13:47:53 <merijn> operand: tbh, these AoC puzzles aren't great for learning megaparsec
13:47:59 jneira joins (501e6453@gateway/web/cgi-irc/kiwiirc.com/ip.80.30.100.83)
13:48:14 <operand> merijn: i noticed. but i'm sticking with it anyway v:
13:48:23 × xelxebar quits (~xelxebar@gateway/tor-sasl/xelxebar) (Ping timeout: 240 seconds)
13:48:53 <mynameismud> any people around for a noob or you all 3l33t and bots?
13:49:03 <dminuoso> mynameismud: Just ask your question.
13:49:07 <dminuoso> We don't mind beginner questions of any kind.
13:49:34 carlomagno joins (~cararell@148.87.23.6)
13:49:48 lxsameer joins (~lxsameer@unaffiliated/lxsameer)
13:49:52 <dminuoso> If this channel is noisy you can also try #haskell-beginners which tends to be a bit quieter, but we dont mind such questions asked in #haskell at all.
13:50:16 <dminuoso> Mmm, surely lambdabot has a factoid for this
13:50:18 dexterlb joins (~dexterlb@2a01:9e40:2:2::2)
13:50:20 <mynameismud> first of thank you, secondly what linux lightweight is great to use if you can't run Kali
13:50:48 xelxebar joins (~xelxebar@gateway/tor-sasl/xelxebar)
13:51:10 <mynameismud> my workstation had a malfunction cuz of eletricity is in the shit here so i'm using an old laptop now
13:51:16 <Axman6> mynameismud: does that question have anything to do with the Haskell programming language?
13:51:52 <mynameismud> i'd like to learn it
13:52:25 <operand> dminuoso: It just still confuses me what `lexeme sc parser` actually does. Will it simply run the given parser on every lexeme, delimited by the spaces as taken by spaceconsumer?
13:52:33 o1lo01ol1o joins (~o1lo01ol1@bl11-140-216.dsl.telepac.pt)
13:52:58 <dminuoso> operand: So the idea is roughly this: Rather than wrapping it with lexeme manually, you'd rather have a lexeme partially applied to a consistent space consumer.
13:53:07 p8m joins (p8m@gateway/vpn/protonvpn/p8m)
13:53:16 <dminuoso> say your grammar allows for haskell style comments, and only spaces (but not tabs!) are considered whitespace
13:53:27 Aquazi joins (uid312403@gateway/web/irccloud.com/x-gkvwezxwtrpnkicw)
13:53:46 <dminuoso> Then you would write a space consumer, that is just a parser that returns nothing, but it consumes all following comments/spaces until it hits something else
13:53:49 solonarv joins (~solonarv@astrasbourg-552-1-28-212.w90-13.abo.wanadoo.fr)
13:53:49 <Axman6> you might find you better answers about linux in ##linux
13:54:08 <dminuoso> The definition of lexeme is just a simple:
13:54:11 <dminuoso> lexeme spc p = p <* spc
13:54:12 <Axman6> if you've got Haskell questions we'll be more than happy to help though
13:54:22 × dawiss quits (~dawiss@185-119-185-201.actus-info.pl) (Quit: Lost terminal)
13:54:53 <Axman6> dminuoso: tabs are considered greyspace characters, because they make people sad
13:55:05 × Varis quits (~Tadas@unaffiliated/varis) (Ping timeout: 240 seconds)
13:55:29 <dminuoso> operand: So what you'd write is `lexeme = L.lexeme yourSc`, you can then use your own `lexeme` combinator to build parsers for lexemes.
13:55:52 <dminuoso> Say: instanceKw = lexeme (string "instance")
13:55:54 <operand> That is the part I get. "use your own lexeme combinator to build parsers for lexemes" is the part I dont get :P
13:56:04 <dminuoso> operand: ^- see that example I just wrote
13:56:23 <operand> <* is the applicative functor for "ignore right result but keep effect", right?
13:56:27 <dminuoso> Right.
13:56:38 × coot quits (~coot@37.30.50.101.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
13:56:57 coot joins (~coot@37.30.50.101.nat.umts.dynamic.t-mobile.pl)
13:57:16 × o1lo01ol1o quits (~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Ping timeout: 240 seconds)
13:57:17 <operand> So the `lexeme` combinator will not tokenize the input, but rather just automatically strip whitespace for me so I don't have to deal with it?
13:57:25 <dminuoso> Well..
13:57:30 <dminuoso> it depends on your look of things, but yeah
13:57:44 × mynameismud quits (~rebb@89-164-126-33.dsl.iskon.hr) (Quit: Leaving)
13:57:53 <dminuoso> you *could* build a plain tokenizer with this
13:58:33 × da39a3ee5e6b4b0d quits (~da39a3ee5@2403:6200:8876:a9cd:5081:c991:1e35:d185) (Quit: My MacBook has gone to sleep. ZZZzzz…)
13:58:59 <dminuoso> lexeme turns a parser that parses the actual lexeme into one that works on the input stream
13:59:07 drincruz_ joins (~adriancru@ool-44c748be.dyn.optonline.net)
13:59:11 <dminuoso> just like your tokenizer would toss away white space
13:59:29 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
13:59:53 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
14:00:00 × cfricke quits (~cfricke@unaffiliated/cfricke) (Quit: WeeChat 2.9)
14:00:08 <operand> Right, that makes a lot of sense
14:01:50 geekosaur69 joins (82659a09@host154-009.vpn.uakron.edu)
14:02:10 <operand> Thanks a lot :D
14:02:59 × geekosaur quits (82659a09@host154-009.vpn.uakron.edu) (Ping timeout: 245 seconds)
14:03:46 cosimone_ joins (~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd)
14:04:55 geekosaur69 is now known as geekosaur
14:06:29 Gladenko joins (~Gladenko@4e69b241.skybroadband.com)
14:06:29 × cosimone quits (~cosimone@93-47-228-249.ip115.fastwebnet.it) (Ping timeout: 272 seconds)
14:06:29 cosimone_ is now known as cosimone
14:07:09 × vnz quits (~vnz@unaffiliated/vnz) (Quit: ZNC - http://znc.in)
14:09:03 vnz joins (~vnz@51.15.143.225)
14:09:03 × vnz quits (~vnz@51.15.143.225) (Changing host)
14:09:03 vnz joins (~vnz@unaffiliated/vnz)
14:10:49 voet joins (~voet@84.39.117.57)
14:11:02 hyperisco_ is now known as hyperisco
14:11:29 × joaoh82 quits (~joaoh82@ip-213-127-88-241.ip.prioritytelecom.net) (Remote host closed the connection)
14:12:05 joaoh82 joins (~joaoh82@157-131-134-210.dedicated.static.sonic.net)
14:12:50 × zargoertzel quits (~zar@fw1.ciirc.cvut.cz) (Remote host closed the connection)
14:13:21 sweater joins (~sweater@206.81.18.26)
14:13:38 sweater is now known as jonn
14:15:44 <jonn> Dear all, I wonder if VSCode users can shed some light on hints not applying with `Haskell` extension in a timely manner. For instance, if I make code with redundant brackets, like `id' x = (x)`, it takes over a minute to remove redundant branches.
14:16:23 × zangi quits (~azure@103.154.230.250) (Read error: Connection reset by peer)
14:16:34 × cosimone quits (~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd) (Remote host closed the connection)
14:16:58 cosimone joins (~cosimone@93-47-228-249.ip115.fastwebnet.it)
14:17:08 zangi joins (~azure@103.149.239.34)
14:20:14 × cads quits (~cads@ip-64-72-99-232.lasvegas.net) (Ping timeout: 256 seconds)
14:22:10 × jespada quits (~jespada@90.254.245.49) (Ping timeout: 256 seconds)
14:24:09 jespada joins (~jespada@90.254.245.49)
14:26:09 dhil joins (~dhil@195.213.192.34)
14:27:32 × zangi quits (~azure@103.149.239.34) (Read error: Connection reset by peer)
14:27:58 zangi joins (~azure@103.154.230.250)
14:28:13 geowiesnot joins (~user@87-89-181-157.abo.bbox.fr)
14:28:41 Varis joins (~Tadas@unaffiliated/varis)
14:31:43 bitmagie joins (~Thunderbi@200116b80634ea005158cd2687afd8fd.dip.versatel-1u1.de)
14:32:29 × bitmagie quits (~Thunderbi@200116b80634ea005158cd2687afd8fd.dip.versatel-1u1.de) (Client Quit)
14:32:48 takuan joins (~takuan@178-116-218-225.access.telenet.be)
14:33:51 heatsink joins (~heatsink@2600:1700:bef1:5e10:cc3:649d:beb7:1989)
14:35:37 × Kaiepi quits (~Kaiepi@47.54.252.148) (Ping timeout: 264 seconds)
14:37:01 Kaiepi joins (~Kaiepi@47.54.252.148)
14:37:17 × xff0x_ quits (~fox@2001:1a81:5262:300:387b:e321:4853:1d2f) (Ping timeout: 246 seconds)
14:38:13 × heatsink quits (~heatsink@2600:1700:bef1:5e10:cc3:649d:beb7:1989) (Ping timeout: 244 seconds)
14:38:13 xff0x_ joins (~fox@2001:1a81:5262:300:8836:ab3c:8306:4932)
14:38:54 × darjeeling_ quits (~darjeelin@122.245.218.196) (Ping timeout: 272 seconds)
14:39:02 conal joins (~conal@64.71.133.70)
14:41:01 dawiss joins (~dawiss@185-119-185-201.actus-info.pl)
14:42:03 texasmynsted joins (~texasmyns@212.102.45.106)
14:42:06 × dawiss quits (~dawiss@185-119-185-201.actus-info.pl) (Client Quit)
14:42:25 dawiss joins (~dawiss@185-119-185-201.actus-info.pl)
14:42:39 cr3 joins (~cr3@192-222-143-195.qc.cable.ebox.net)
14:42:59 flatmap joins (~flatmap@p200300dd371871000828c89bdc87e867.dip0.t-ipconnect.de)
14:43:49 × geekosaur quits (82659a09@host154-009.vpn.uakron.edu) (Remote host closed the connection)
14:44:00 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
14:44:05 da39a3ee5e6b4b0d joins (~da39a3ee5@2403:6200:8876:a9cd:5081:c991:1e35:d185)
14:46:06 o1lo01ol1o joins (~o1lo01ol1@bl11-140-216.dsl.telepac.pt)
14:48:06 × gxt_ quits (~gxt@gateway/tor-sasl/gxt) (Remote host closed the connection)
14:48:19 <codedmart> How can I link payments/changes to payouts in the api?
14:48:43 <codedmart> Sorry wrong channel
14:48:48 gxt_ joins (~gxt@gateway/tor-sasl/gxt)
14:51:13 leonardys joins (~leonard@118.136.34.164)
14:52:02 × leonardys quits (~leonard@118.136.34.164) (Client Quit)
14:52:12 × geowiesnot quits (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 272 seconds)
14:52:34 darjeeling_ joins (~darjeelin@122.245.123.202)
14:53:59 elliott__ joins (~elliott@pool-108-51-141-12.washdc.fios.verizon.net)
14:55:35 × dawiss quits (~dawiss@185-119-185-201.actus-info.pl) (Quit: leaving)
14:57:22 × arguapacha quits (uid134895@gateway/web/irccloud.com/x-pkidulrkdmwgasyc) (Quit: Connection closed for inactivity)
14:59:05 × elliott__ quits (~elliott@pool-108-51-141-12.washdc.fios.verizon.net) (Ping timeout: 240 seconds)
15:00:09 berberman joins (~berberman@unaffiliated/berberman)
15:00:57 × berberman_ quits (~berberman@unaffiliated/berberman) (Ping timeout: 272 seconds)
15:01:02 st8less joins (~st8less@2603:a060:11fd:0:bc30:8045:1a73:6c08)
15:01:24 urodna joins (~urodna@unaffiliated/urodna)
15:02:58 × mputz quits (~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de) (Ping timeout: 272 seconds)
15:03:16 roskoe joins (~roskoe@79-68-182-41.dynamic.dsl.as9105.com)
15:04:48 roskoe parts (~roskoe@79-68-182-41.dynamic.dsl.as9105.com) ()
15:05:23 minaj is now known as agrif
15:05:27 Sgeo joins (~Sgeo@ool-18b98aa4.dyn.optonline.net)
15:08:09 × Cthalupa quits (~cthulhu@47.186.47.75) (Ping timeout: 260 seconds)
15:08:25 justin_ joins (~justin@2001:e68:5442:6647:3042:57fa:7eb7:ad32)
15:09:12 sompi45 joins (3c329df8@248.157.50.60.brk01-home.tm.net.my)
15:09:13 × cr3 quits (~cr3@192-222-143-195.qc.cable.ebox.net) (Ping timeout: 264 seconds)
15:09:14 × sompi45 quits (3c329df8@248.157.50.60.brk01-home.tm.net.my) (Remote host closed the connection)
15:09:17 × lpy quits (~nyd@unaffiliated/elysian) (Ping timeout: 260 seconds)
15:09:21 × justin_ quits (~justin@2001:e68:5442:6647:3042:57fa:7eb7:ad32) (Remote host closed the connection)
15:09:22 Cthalupa joins (~cthulhu@47.186.47.75)
15:09:38 wolfangy joins (4623d6ea@70.35.214.234)
15:10:54 × texasmynsted quits (~texasmyns@212.102.45.106) ()
15:10:58 lpy joins (~nyd@unaffiliated/elysian)
15:11:21 texasmynsted joins (~texasmyns@212.102.45.106)
15:12:53 mputz joins (~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de)
15:13:23 × phasespace quits (~sar@80-89-47-117.inet.signal.no) (Ping timeout: 260 seconds)
15:14:24 × xff0x_ quits (~fox@2001:1a81:5262:300:8836:ab3c:8306:4932) (Ping timeout: 246 seconds)
15:15:29 xff0x_ joins (~fox@2001:1a81:5262:300:319c:e475:b681:257e)
15:15:57 × pavonia quits (~user@unaffiliated/siracusa) (Quit: Bye!)
15:16:20 × wolfangy quits (4623d6ea@70.35.214.234) (Ping timeout: 245 seconds)
15:19:56 × sQVe quits (~sQVe@unaffiliated/sqve) (Quit: Bye!)
15:22:56 × abhixec quits (~abhixec@c-67-169-141-95.hsd1.ca.comcast.net) (Ping timeout: 240 seconds)
15:24:11 cr3 joins (~cr3@192-222-143-195.qc.cable.ebox.net)
15:24:16 × shangxiao quits (~davids@101.181.45.166) (Quit: WeeChat 3.0)
15:25:02 × jneira quits (501e6453@gateway/web/cgi-irc/kiwiirc.com/ip.80.30.100.83) (Ping timeout: 260 seconds)
15:25:07 abhixec joins (~abhixec@c-67-169-141-95.hsd1.ca.comcast.net)
15:27:35 × britva quits (~britva@31-10-157-156.cgn.dynamic.upc.ch) (Quit: This computer has gone to sleep)
15:30:28 ClaudiusMaximus joins (~claude@223.153.198.146.dyn.plus.net)
15:30:46 × ClaudiusMaximus quits (~claude@223.153.198.146.dyn.plus.net) (Changing host)
15:30:46 ClaudiusMaximus joins (~claude@unaffiliated/claudiusmaximus)
15:33:21 × jamm_ quits (~jamm@unaffiliated/jamm) (Remote host closed the connection)
15:35:46 <cheater> hi all
15:36:17 × jonathanx_ quits (~jonathan@dyn-8-sc.cdg.chalmers.se) (Remote host closed the connection)
15:36:30 <cheater> i'm trying to compile some haskell libs on windows, but for that i need to compile llvm from source, and hitting some snags with cmake not finding kernel32.lib. has anyone got experience with this sort of stuff who could help me with this?
15:37:45 × darjeeling_ quits (~darjeelin@122.245.123.202) (Ping timeout: 240 seconds)
15:38:20 × da39a3ee5e6b4b0d quits (~da39a3ee5@2403:6200:8876:a9cd:5081:c991:1e35:d185) (Quit: My MacBook has gone to sleep. ZZZzzz…)
15:40:21 × christo quits (~chris@81.96.113.213) (Remote host closed the connection)
15:46:48 phasespace joins (~sar@89-162-33-21.fiber.signal.no)
15:47:22 <merijn> cheater: Wait, why do you need llvm?
15:47:40 <cheater> i need one binary from it that isn't included in the binary distribution
15:47:58 <cheater> https://stackoverflow.com/questions/17096804/where-is-llvm-config-in-windows
15:48:09 <cheater> llvm-config is not included in the binary distributions
15:48:17 × flatmap quits (~flatmap@p200300dd371871000828c89bdc87e867.dip0.t-ipconnect.de) (Quit: Textual IRC Client: www.textualapp.com)
15:48:21 <cheater> and that's needed to compile the llvm haskell library
15:50:36 × L29Ah quits (~L29Ah@unaffiliated/l29ah) (Ping timeout: 240 seconds)
15:52:13 × srk quits (~sorki@gateway/tor-sasl/sorki) (Remote host closed the connection)
15:52:13 × hexo quits (~hexo@gateway/tor-sasl/hexo) (Remote host closed the connection)
15:52:29 hexo joins (~hexo@gateway/tor-sasl/hexo)
15:52:32 srk joins (~sorki@gateway/tor-sasl/sorki)
15:52:46 × raichoo quits (~raichoo@213.240.178.58) (Quit: Lost terminal)
15:53:03 L29Ah joins (~L29Ah@unaffiliated/l29ah)
15:53:11 christo joins (~chris@81.96.113.213)
15:53:13 softwarm joins (4408f588@ip68-8-245-136.sd.sd.cox.net)
15:56:02 darjeeling_ joins (~darjeelin@122.245.123.202)
15:57:08 × Lowl3v3l quits (~Lowl3v3l@dslb-002-203-233-025.002.203.pools.vodafone-ip.de) (Quit: Leaving.)
15:58:10 hnOsmium0001 joins (uid453710@gateway/web/irccloud.com/x-lfqkgsukxlcssdou)
16:00:19 roconnor joins (~roconnor@host-45-58-200-239.dyn.295.ca)
16:00:53 × christo quits (~chris@81.96.113.213) (Remote host closed the connection)
16:01:12 christo joins (~chris@81.96.113.213)
16:02:07 × christo quits (~chris@81.96.113.213) (Remote host closed the connection)
16:02:23 christo joins (~chris@81.96.113.213)
16:03:40 × softwarm quits (4408f588@ip68-8-245-136.sd.sd.cox.net) (Remote host closed the connection)
16:03:50 × christo quits (~chris@81.96.113.213) (Remote host closed the connection)
16:04:29 bitmapper joins (uid464869@gateway/web/irccloud.com/x-rzuvzgsqtyjylpyp)
16:04:31 <merijn> Have you heard the joyous news? The gospel that will improve all our lives forevermore?
16:05:10 <merijn> I still remember the news!
16:05:25 <merijn> When Athas notified me "lazy sum is kill" :>
16:06:08 <merijn> https://gitlab.haskell.org/ghc/ghc/-/merge_requests/4355 \o/
16:06:31 <Athas> Also minimum and maximum.
16:07:13 × kupi quits (uid212005@gateway/web/irccloud.com/x-bkwjmbfkayjdlwwo) (Quit: Connection closed for inactivity)
16:07:30 <shapr> chessai: good job
16:08:04 <chessai> shapr on what
16:08:13 <merijn> Whichever GHC this end up being in will probably be the first one in years I will upgrade to immediately
16:08:23 <merijn> chessai: Killing lazy sum :D
16:08:51 <merijn> I guess technically, you didn't kill it, just merged it, but still
16:09:05 <chessai> minimumBy and maximumBy too
16:09:08 geowiesnot joins (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr)
16:09:28 <merijn> oh, wait, it was you on those commits
16:09:32 <merijn> anyway
16:09:45 <merijn> chessai: Do you know if it'll be 9.0 or 9.2?
16:09:50 <chessai> I did write it, didn't merge it
16:09:54 <chessai> 9.2 iirc
16:09:59 merijn sad noises
16:10:27 <Athas> 9.2 will be the year of GHC on the desktop.
16:10:56 × SanchayanMaity quits (~Sanchayan@122.167.92.138) (Quit: SanchayanMaity)
16:10:56 <merijn> Man, this is the best news since finding out strict foldMap was finally added :>
16:10:57 <maerwald> which GHC brings the long awaited build time improvements? :)
16:11:10 jonatanb joins (jonatanb@gateway/vpn/protonvpn/jonatanb)
16:11:22 <Uniaika> < merijn> Have you heard the joyous news? The gospel that will improve all our lives forevermore? // <3
16:11:30 <Uniaika> merijn: 8.12 ! :P
16:11:41 <merijn> 8.12 is a myth
16:11:52 <Uniaika> my poing ;)
16:11:55 <Uniaika> *point
16:17:37 × jonatanb quits (jonatanb@gateway/vpn/protonvpn/jonatanb) (Remote host closed the connection)
16:18:10 hekkaidekapus_ joins (~tchouri@gateway/tor-sasl/hekkaidekapus)
16:19:23 × hekkaidekapus quits (~tchouri@gateway/tor-sasl/hekkaidekapus) (Ping timeout: 240 seconds)
16:21:00 <maerwald> lower build times increase productivity more than any linear typesystem
16:21:22 <merijn> maerwald: Who was talking about linear types, though?
16:21:34 <maerwald> merijn: no one, I am
16:22:01 <maerwald> sharing my excitement for a GHC release that fixes build times :)
16:22:07 <merijn> I mean, both linear Haskell and dependent Haskell are likely to have limited use, imo
16:22:13 <merijn> But that's hardly a niche opinion
16:22:41 ShalokShalom joins (b9110d05@gateway/web/cgi-irc/kiwiirc.com/ip.185.17.13.5)
16:22:48 <ShalokShalom> hi there :)
16:23:16 <ShalokShalom> No setup information found for ghc-8.8.4 on your platform.
16:23:16 <ShalokShalom> This probably means a GHC bindist has not yet been added for OS key 'linux64-ncurses6'.
16:23:17 <ShalokShalom> Supported versions: ghc-7.10.3, ghc-8.0.1, ghc-8.0.2, ghc-8.2.1, ghc-8.2.2
16:23:42 <ShalokShalom> Does this mean stack does not provide any option for my OS, since its gcc is too new?
16:24:45 machinedgod joins (~machinedg@135-23-192-217.cpe.pppoe.ca)
16:24:49 <merijn> hmm, that's the 2nd or 3rd time that error comes by
16:25:01 <merijn> Which distro?
16:25:31 × jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
16:25:31 × hexo quits (~hexo@gateway/tor-sasl/hexo) (Remote host closed the connection)
16:25:31 × srk quits (~sorki@gateway/tor-sasl/sorki) (Remote host closed the connection)
16:25:46 srk joins (~sorki@gateway/tor-sasl/sorki)
16:25:50 hexo joins (~hexo@gateway/tor-sasl/hexo)
16:25:52 <ShalokShalom> KaOS
16:26:09 jpds joins (~jpds@gateway/tor-sasl/jpds)
16:26:10 <ShalokShalom> Independent distro
16:26:29 <merijn> Sounds like it ships a combination of libraries that's unknown to stack
16:26:31 <ShalokShalom> I used the curl command on the homepage
16:26:41 <ShalokShalom> Aha. OK?
16:26:49 <ShalokShalom> And how can I solve this?
16:27:15 <merijn> Well, if you mean "while still using stack", then the answer is probably "open an issue and cross your fingers"
16:27:16 <maerwald> it's pacman based
16:27:25 <ShalokShalom> Yes.
16:27:33 <maerwald> Do they reuse arch packages?
16:27:37 <ShalokShalom> No.
16:27:41 <ShalokShalom> Its independent.
16:27:55 <ShalokShalom> Otherwise, I would just use Arch packages :)
16:28:01 <maerwald> I can't find a KaOS docker image
16:28:14 <merijn> ShalokShalom: ahahaha
16:28:16 britva joins (~britva@31-10-157-156.cgn.dynamic.upc.ch)
16:28:17 <merijn> ShalokShalom: Don't :)
16:28:17 <ShalokShalom> I dont think, there is one. You want to setup and try it yourself?
16:28:30 <merijn> ShalokShalom: Arch's Haskell package are *completely* broken
16:28:31 <ShalokShalom> Yeah I know. It would break my system.
16:28:49 <ShalokShalom> Ah, nice. And they are countless, so I decided to use Stack.
16:29:03 <merijn> ShalokShalom: No, I meant that they don't even work right on Arch :)
16:29:05 <ShalokShalom> KaOS has no Haskell packages at all, since its a tiny distro
16:29:12 <ShalokShalom> Yes, I understood.
16:29:27 <ShalokShalom> I didnt know that, while it would destroy my OS anyway. :)
16:30:23 <merijn> ShalokShalom: stack insists on installing its own GHCs, so if they don't have compatible binaries that just won't work. You could install GHC (and cabal) yourself and work with cabal
16:30:42 <ShalokShalom> I think it mistaken my OS for an Arch:
16:30:52 <merijn> ShalokShalom: I'm sure *one* of the pre-built GHC bindists should work: https://www.haskell.org/ghc/download_ghc_8_10_2.html#linux_x86_64
16:30:57 philopsos joins (~caecilius@gateway/tor-sasl/caecilius)
16:31:11 <ShalokShalom> Uploaded file: https://uploads.kiwiirc.com/files/41c49374e24a9a894eb6a043c518fa96/Screenshot_20201207_173102.png
16:31:28 <ShalokShalom> See line 74 and 76
16:31:35 <ShalokShalom> Or is this CPU Arch?
16:31:42 <ShalokShalom> Let me read the script.
16:32:52 jathan joins (~jathan@69.61.93.38)
16:33:03 <ShalokShalom> CPU
16:33:35 <maerwald> ShalokShalom: I want to test KaOS without spending time :)
16:33:47 <ShalokShalom> I figured
16:37:24 × cheater quits (~user@unaffiliated/cheater) (Remote host closed the connection)
16:38:29 cole-h joins (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
16:38:44 <ShalokShalom> So there is no way?
16:38:55 × cosimone quits (~cosimone@93-47-228-249.ip115.fastwebnet.it) (Quit: cosimone)
16:39:04 <ShalokShalom> How does Stack integrate new distros, which binaries are missing and who does maintain or know about it?
16:39:09 cheater joins (~user@unaffiliated/cheater)
16:39:41 × meck quits (~meck@li1809-18.members.linode.com) (Quit: ZNC 1.8.2 - https://znc.in)
16:40:17 heatsink joins (~heatsink@2600:1700:bef1:5e10:cc3:649d:beb7:1989)
16:41:15 meck joins (~meck@li1809-18.members.linode.com)
16:42:00 <merijn> ShalokShalom: Check their github page?
16:42:07 <ShalokShalom> Thanks.
16:42:10 × ShalokShalom quits (b9110d05@gateway/web/cgi-irc/kiwiirc.com/ip.185.17.13.5) (Quit: Connection closed)
16:42:15 × cole-h quits (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Client Quit)
16:42:43 AlonzoC joins (~user@2a00:23c4:9010:3d01:6089:9603:17af:6c9f)
16:44:42 × acidjnk_new quits (~acidjnk@p200300d0c719ff80cd4aafbd6cd15b09.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
16:49:27 <jared-w> Does KaOS have docker as a package? You could always just use ghc-in-docker
16:51:36 × mputz quits (~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de) (Ping timeout: 265 seconds)
16:51:45 shatriff joins (~vitaliish@176.52.219.10)
16:52:05 rak810 joins (~rak810@27.147.206.3)
16:56:27 <cheater> hi. my problems have been solved by rebooting and running cmake inside the Developer PowerShell for VS 2019 command prompt after deleting the source tree and unpacking it again.
16:59:16 × sagax quits (~sagax_nb@213.138.71.146) (Remote host closed the connection)
16:59:44 danso joins (~dan@69-165-210-185.cable.teksavvy.com)
16:59:57 × hekkaidekapus_ quits (~tchouri@gateway/tor-sasl/hekkaidekapus) (Remote host closed the connection)
17:00:28 hekkaidekapus_ joins (~tchouri@gateway/tor-sasl/hekkaidekapus)
17:02:06 × AlonzoC quits (~user@2a00:23c4:9010:3d01:6089:9603:17af:6c9f) (Remote host closed the connection)
17:05:21 geekosaur joins (82659a09@host154-009.vpn.uakron.edu)
17:05:33 × dxld quits (~dxld@rush.pub.dxld.at) (Quit: Bye)
17:07:29 cole-h joins (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
17:08:13 dxld joins (~dxld@rush.pub.dxld.at)
17:08:14 × star_cloud quits (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Remote host closed the connection)
17:08:33 star_cloud joins (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com)
17:10:05 × drincruz_ quits (~adriancru@ool-44c748be.dyn.optonline.net) (Ping timeout: 240 seconds)
17:11:25 × geowiesnot quits (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 272 seconds)
17:12:57 × rak810 quits (~rak810@27.147.206.3) (Quit: Leaving)
17:14:38 knupfer joins (~Thunderbi@i5E86B4BF.versanet.de)
17:17:07 softwarm joins (4408f588@ip68-8-245-136.sd.sd.cox.net)
17:18:16 × star_cloud quits (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Excess Flood)
17:19:06 whatisRT joins (~whatisRT@2002:5b41:6a33:0:483b:3e3a:b1be:f49a)
17:19:07 Ariakenom joins (~Ariakenom@h-98-128-229-53.NA.cust.bahnhof.se)
17:19:49 star_cloud joins (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com)
17:20:13 tenniscp25 joins (~tenniscp2@134.196.209.118)
17:27:19 drincruz_ joins (~adriancru@ool-44c748be.dyn.optonline.net)
17:27:19 × chkno quits (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer)
17:27:28 chkno joins (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net)
17:29:03 × rayyyy quits (~nanoz@gateway/tor-sasl/nanoz) (Ping timeout: 240 seconds)
17:31:10 × abhixec quits (~abhixec@c-67-169-141-95.hsd1.ca.comcast.net) (Ping timeout: 272 seconds)
17:33:45 × elfets quits (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Quit: Leaving)
17:34:13 vicfred joins (~vicfred@unaffiliated/vicfred)
17:35:23 emmanuel_erc joins (~user@2604:2000:1382:ce03:8098:7b4a:87e8:5ce7)
17:35:42 <emmanuel_erc> Hello there. What is Haskell support on Windows like these days?
17:36:00 <texasmynsted> I see ghcup does not run on new Apple Silicon, m1, as per https://leo.fm/2020/11/applesilicon/
17:36:06 <xerox_> texasmynsted: it does
17:36:18 <texasmynsted> ?
17:36:21 <texasmynsted> It does?
17:36:35 <xerox_> yep I'm using it
17:36:40 <texasmynsted> Heh okay
17:36:53 <maerwald> maybe they're still testing the shell version of ghcup?
17:37:22 <texasmynsted> I guess I did not know there was more than one version of ghcup
17:38:12 <maerwald> texasmynsted: what version are you using
17:38:39 <maerwald> xerox_: can you comment on the blog post? (there's a comment section)
17:39:22 <texasmynsted> It lives here /Users/mmynsted/.ghcup/bin/ghcup
17:39:48 <texasmynsted> So I am guessing I must have installed via "curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | sh "
17:39:58 <maerwald> that's the binary version then
17:40:01 <sm[m]> hello emmanuel_erc , it works well. stack makes it easiest, chocolatey is another option
17:40:22 <sm[m]> emmanuel_erc: certain GHC releases work better than others, generally pick the latest point release
17:40:22 <texasmynsted> Is that the version that works?
17:40:27 <texasmynsted> Oh I suppose it would not
17:40:38 <maerwald> texasmynsted: I'm pretty sure xerox_ is using that version too
17:40:42 <xerox_> yes
17:40:45 <maerwald> just not sure what version the blog poster used
17:40:58 <xerox_> I can't this very moment but I'll make a note for later
17:41:15 rayyyy joins (~nanoz@gateway/tor-sasl/nanoz)
17:41:42 <texasmynsted> insteresting
17:41:45 × conal quits (~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
17:41:51 <texasmynsted> interesting rather
17:42:04 <texasmynsted> I would not think the binary would work. I do not see an m1 binary here https://downloads.haskell.org/~ghcup/
17:42:18 <xerox_> the system can and does run x86_64
17:42:23 <texasmynsted> I guess it runs via rosseta or whatever it is called
17:42:31 <texasmynsted> nod
17:42:33 <texasmynsted> okay
17:43:19 <emmanuel_erc> I was told by another developer (non-Haskel user btw, this particular guy is not malicious) that was Haskell support on Windows is worse than Node.js or Rust.
17:43:52 <emmanuel_erc> sm[m]: I was very skeptical of his claims, especially considering that he doesn't really use Haskell all that much.
17:44:00 <maerwald> Probably, but windows is hard and not much industrial interest in pushing support I guess
17:44:23 <maerwald> and now that there's WSL...
17:45:17 <texasmynsted> what is WSL?
17:45:26 conal joins (~conal@64.71.133.70)
17:45:57 <emmanuel_erc> I guess what I'm asking is if you were trying to move a Haskell app originally developed on Linux/MacOS, and its main non-Haskell dependency was postgres, would it be difficult?
17:46:34 × cr3 quits (~cr3@192-222-143-195.qc.cable.ebox.net) (Ping timeout: 256 seconds)
17:47:15 <texasmynsted> iirc you can install postgresql on windows
17:47:38 <emmanuel_erc> sure
17:47:58 <texasmynsted> And there are other DBMS that work on windows
17:48:25 <texasmynsted> also it is a database, why would it need to run locally?
17:48:56 <texasmynsted> Just run postgresql on a "best-fit" system
17:49:04 <maerwald> texasmynsted: it's basically linux on windows
17:49:13 cr3 joins (~cr3@192-222-143-195.qc.cable.ebox.net)
17:49:18 <ezzieyguywuf> so if I have `mA :: Maybe a; mB :: Maybe a`, and I want to do something different based on which combination of Just/Nothing the two are, how might I go about doing that?
17:49:23 <maerwald> on WSL2, a real linux kernel is running there afaik
17:49:28 gproto23 joins (~gproto23@unaffiliated/gproto23)
17:49:30 <ezzieyguywuf> case-statement comes to mind, but I'm wondering what other options there are
17:50:01 <ezzieyguywuf> nvm I'm just going to use case lol
17:50:57 <ski> ezzieyguywuf : do what, specifically ?
17:51:03 <texasmynsted> You could always start with case, then later you may find you can simplify.
17:51:27 <texasmynsted> It really depends on what your "combination" is.
17:51:44 <texasmynsted> I can not tell what you mean when you simply say combination
17:52:22 <maerwald> meh, I confused usernames here
17:52:30 <maerwald> emmanuel_erc: the above was for you ^^
17:52:40 <maerwald> why are you both yellow colored
17:52:56 <texasmynsted> I am blue as far as I can tell
17:53:01 × ulidtko|k quits (~ulidtko@193.111.48.79) (Read error: Connection reset by peer)
17:53:04 <maerwald> nah, definitely yellow here
17:53:06 <maerwald> :D
17:53:08 <texasmynsted> you show as yellow to me actually
17:53:30 <emmanuel_erc> maerwald: Yeah I see that.
17:53:55 <texasmynsted> But then most everybody shows as yellow in this limechat theme
17:55:07 × nowhere_man quits (~pierre@2a01:e0a:3c7:60d0:e88f:4e24:f6a7:f155) (Ping timeout: 272 seconds)
17:57:14 p-core joins (~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515)
17:57:49 ShalokShalom joins (b9110d05@gateway/web/cgi-irc/kiwiirc.com/ip.185.17.13.5)
17:57:55 <ShalokShalom> How can I connect the GHC from Stack to VSC?
17:58:12 <ShalokShalom> I got it installed and it still complains about not being there.
17:58:23 <ShalokShalom> I assume I have to set some path or so?
17:58:37 <maerwald> ShalokShalom: ~/.stack/programs/x86_64-linux/ghc-tinfo6-8.6.5/bin on my PC, for example
17:58:44 <ShalokShalom> Thanks a lot
17:58:45 <sm[m]> ShalokShalom: install the Haskell extension, that should be enough. Check their readme
17:58:47 <maerwald> that's where it installs stuff
17:59:08 <maerwald> but probably there should be an cleaner way yeah
17:59:13 <ShalokShalom> The script mentions it installs a "generic bindist"
17:59:15 <sm[m]> emmanuel_erc: postgres on windows sounds difficult, but you'd have to check the postgres site
17:59:22 <ShalokShalom> Does anybody know, what that means?
17:59:38 <ShalokShalom> It seems like there is only one binary per platform, so that confuses me.
17:59:45 ekleog_ is now known as ekleog
18:00:00 <ShalokShalom> Which other than the "generic bindist" could be meant..
18:00:38 <geekosaur> shalokShalom, for your purposes it means "they don't expect you to be using stack"
18:00:55 <ShalokShalom> Aha. Ok.
18:01:02 <geekosaur> and there is more than one binary per platform because of dependencies
18:01:05 <ShalokShalom> But what is a generic "bindist"
18:01:16 <ShalokShalom> Ah, I mean in the download section.
18:01:25 <ShalokShalom> So there are more options, not hosted there?
18:01:47 <geekosaur> it comes with a configure script that figures out things like what linker you have installed, and configures the compiler appropriately
18:02:00 <ShalokShalom> Ah ok
18:02:08 <ShalokShalom> So its not about a different binary?
18:02:21 <ShalokShalom> The binary for all x86_64 Linux is always the same?
18:02:42 cosimone joins (~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd)
18:02:52 ambidextrose joins (~fut-learn@mobile-166-170-46-23.mycingular.net)
18:03:24 <geekosaur> is not always the same, see for example http://downloads.haskell.org/~ghc/8.10.2/
18:03:51 hans_ joins (~hans@94-214-46-13.cable.dynamic.v4.ziggo.nl)
18:04:09 <ShalokShalom> maerwald: The directory you pointed me to does contain script files
18:04:17 ambidextrose parts (~fut-learn@mobile-166-170-46-23.mycingular.net) ()
18:04:28 <ShalokShalom> despite the name "bin" for it, why ever *shrug*
18:04:28 × heatsink quits (~heatsink@2600:1700:bef1:5e10:cc3:649d:beb7:1989) (Remote host closed the connection)
18:04:32 <maerwald> ShalokShalom: was that a question?
18:04:59 × rayyyy quits (~nanoz@gateway/tor-sasl/nanoz) (Remote host closed the connection)
18:05:14 <ShalokShalom> You pointed me to it, in regards to the path I have to point Visual Studio Code to
18:05:22 <ShalokShalom> And that wants a binary, obviously
18:05:26 × cosimone quits (~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd) (Read error: Connection reset by peer)
18:05:30 <ShalokShalom> Uploaded file: https://uploads.kiwiirc.com/files/6cb7290cfe4450b4c7cc68d48ea9c389/Screenshot_20201207_190438.png
18:05:34 <maerwald> yes, you can treat script files and binaries interchangably on linux
18:05:42 <maerwald> for the purpose of execution
18:05:43 cosimone joins (~cosimone@93-47-228-249.ip115.fastwebnet.it)
18:05:47 <ShalokShalom> Sure?
18:05:53 <maerwald> the script just does some stuff and then invokes the binary
18:05:55 <ShalokShalom> OK, first time that I heard this.
18:05:59 <maerwald> yes, pretty sure
18:06:02 <ShalokShalom> So this script invokes the binary, or what?
18:06:11 <ShalokShalom> ok, fine
18:06:20 <maerwald> if you check your /usr/bin you'll see tons of wrapper scripts
18:06:21 <monochrom> I am not sure why this digression is productive.
18:06:48 <ShalokShalom> Thanks a lot
18:07:07 <ShalokShalom> monochrom: Cause I like to understand
18:07:59 <monochrom> OK, here is one meta-level observation that can get you very far. Don't trust "meaningful" names like "bin" and "filter".
18:08:48 <monochrom> The real meaning is always in how people actually end up using the thing, not what name people have coined for it.
18:09:40 <ShalokShalom> Thats why I was asking
18:10:26 <maerwald> Type families confused me forever. I'm always thinking of something social, but that's not what they are
18:10:28 <monochrom> In fact I also chose the "filter" example very carefully. Half of the population would look at this code "filter even [1,2,3,4,5]" and guess from the name "filter" that it filters out even numbers, so the result is [1,3,5] the odd numbers.
18:10:45 <merijn> monochrom: I have to check every time >.>
18:10:56 <monochrom> But no, the author of "filter" pulled your legs with "meaningful" names. That code filters in the even numbers.
18:11:03 <ShalokShalom> Why this digression.
18:12:02 <monochrom> The digression that will end all digressions.
18:12:40 × gproto23 quits (~gproto23@unaffiliated/gproto23) (Quit: Leaving)
18:13:17 <sm[m]> ShalokShalom: I think you're learning stuff, but in case you missed it: VS Code's Haskell extension's readme has good advice for your original q: https://marketplace.visualstudio.com/items?itemName=haskell.haskell#requirements
18:13:35 <ShalokShalom> Oh, thanks a lot
18:14:05 <ShalokShalom> On the PATH is in any distro different and almost always also on /usr/bin
18:14:11 <ShalokShalom> If I remember correctly
18:14:13 <ezzieyguywuf> ski: I was basically wondering if there was a way to do something other than the case statement here: https://dpaste.com/4R6KKB98G
18:14:55 <ezzieyguywuf> althought now I have a new question - that "do" is actually "ApplicativeDo", and the case statement fails b/c it tries to turn it into a monad. So how can I replace the case statement such that it is compatible with Applicitave?
18:15:43 <dolio> Apply `pure` to the case statement.
18:16:20 <solonarv> other than moving 'pure' out I think this is fine to leave as-is
18:16:49 <dolio> It's not fine if it doesn't work.
18:17:13 <solonarv> although you could of course change your EndComponent data type so that instead of these four alternatives, it has a single alternative with two 'Maybe _' fields
18:17:47 <solonarv> dolio: yes, that is why I included the fix that's necessary to make it work
18:18:23 <dolio> Oh, I see what you meant.
18:20:03 × star_cloud quits (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Ping timeout: 265 seconds)
18:20:04 × darjeeling_ quits (~darjeelin@122.245.123.202) (Ping timeout: 260 seconds)
18:20:59 darjeeling_ joins (~darjeelin@122.245.123.202)
18:21:27 heatsink joins (~heatsink@2600:1700:bef1:5e10:cc3:649d:beb7:1989)
18:21:49 Lycurgus joins (~niemand@cpe-45-46-137-210.buffalo.res.rr.com)
18:22:33 <ezzieyguywuf> hrm, I see
18:22:49 <ezzieyguywuf> solonarv: I would guess taht's simply a matter of taste, i.e. leaving the case or changing EndComponent
18:23:23 <ezzieyguywuf> though in either case you're just moving the check from one place to another, though moving it out of the case-statement may make it possible to do pattern matching, which may arguably be more clear
18:24:25 <ShalokShalom> One more question: When I like to point the whole stack installation to my /usr/bin, is it there enough to point the whole .stack folder?
18:24:36 <ShalokShalom> Since I dont see any dedicated stack binary
18:24:59 <ShalokShalom> And the mentioned link says I should put the whole stack into the PATH
18:25:17 <ezzieyguywuf> dolio: yup, pure fixes it.
18:25:48 × hekkaidekapus_ quits (~tchouri@gateway/tor-sasl/hekkaidekapus) (Remote host closed the connection)
18:26:10 hekkaidekapus_ joins (~tchouri@gateway/tor-sasl/hekkaidekapus)
18:26:23 Tuplanolla joins (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi)
18:26:44 <monochrom> Yes, just add stuff to PATH
18:28:44 <ShalokShalom> It failed to load ghc that way, but it works when I point the ghc script from stack directly into the PATH
18:29:05 <merijn> ezzieyguywuf: tbh, I'd just move those do blocks into named where bindings and avoid ApplicativeDo entirely :)
18:29:32 <merijn> Then you don't have to worry about pleasing the fickle ApplicativeDo gods
18:30:09 <koz_> Yep, they are rather fickle.
18:30:09 <maerwald> at least we're not short of GHC extensions
18:30:29 <koz_> maerwald: To quote Edwin: "I'm using Haskell98, which means 'Haskell with 98 extensions enabled'".
18:30:35 fresheyeball joins (~isaac@c-71-237-105-37.hsd1.co.comcast.net)
18:30:42 <maerwald> imagine a haskell source file that doesn't start with 20 language pragmas... looks n00b
18:30:58 <monochrom> That would be mine.
18:31:11 <ShalokShalom> haha
18:31:36 <fresheyeball> so I am on NixOS have have nixops working just fine
18:31:48 <fresheyeball> A co-worker is on Mac and I am trying to get nixops working for him
18:31:52 <maerwald> fresheyeball: wrong channel? :D
18:32:02 <fresheyeball> maerwald: you are right
18:32:03 × ShalokShalom quits (b9110d05@gateway/web/cgi-irc/kiwiirc.com/ip.185.17.13.5) (Quit: Connection closed)
18:32:04 <fresheyeball> my bad
18:32:06 geekosaur has exactly one extension in the file he uses the most, and is considering removing that
18:32:12 <sm[m]> ShalokShalom: did stack's Windows 64 bit installer, linked from that readme, not put it in PATH ?
18:32:34 <geekosaur> the other files don't use any extensions at all…
18:33:27 <solonarv> maerwald: that's mine, because I put all my files in default-extensions! :p
18:34:16 <maerwald> solonarv: that's the best way to confuse contributors why their code behaves weird
18:34:16 × tenniscp25 quits (~tenniscp2@134.196.209.118) ()
18:34:43 <ezzieyguywuf> merijn: but that's not how glguy does it in the documentation! (lol)
18:35:46 × hans_ quits (~hans@94-214-46-13.cable.dynamic.v4.ziggo.nl) (Ping timeout: 272 seconds)
18:36:05 glguy tries to figure out what he did
18:36:17 <monochrom> Although I promote putting extensions in the file that needs it, I doubt that contributor confusion has actually happened or will actually happen.
18:36:42 <monochrom> My ideal is to do both.
18:37:16 <maerwald> monochrom: I'm bold. I put Strict and StrictData in my default extensions and wonder if anyone will ever figure out
18:37:27 <maerwald> until now, no one has
18:37:51 <geekosaur> this sounds kinda xkcd
18:37:57 lotuseater joins (~user@ip-176-198-181-124.hsi05.unitymediagroup.de)
18:40:22 <aplainzetakind> I vaguely recall being told off for worrying writing recursions in a tail-recursive form, I think to the effect that "ghc transforms such things anyway", but my memory may be wildly inaccurate. Is there any advantage to the less-readable, uglier first version here? https://gist.github.com/aplainzetakind/fb48c59ac152dff3f1dc97bd3374bd6c
18:40:30 <aplainzetakind> worrying about*
18:40:50 × st8less quits (~st8less@2603:a060:11fd:0:bc30:8045:1a73:6c08) (Quit: WeeChat 2.9)
18:41:28 × darjeeling_ quits (~darjeelin@122.245.123.202) (Ping timeout: 256 seconds)
18:41:32 × p-core quits (~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515) (Remote host closed the connection)
18:41:42 <ezzieyguywuf> glguy: lol, nah you didn't do anything. They were suggesting not using applicativedo
18:41:53 darjeeling_ joins (~darjeelin@122.245.123.202)
18:41:54 <ezzieyguywuf> glguy: for a very particular thingy that I had posted earlier
18:42:46 <maerwald> aplainzetakind: compare foldr and foldl
18:43:19 <maerwald> There's also a semi helpful wiki page https://wiki.haskell.org/Tail_recursion
18:44:08 <joel135> i sometimes wish i could point at a piece of code, and my computer would tell me the type
18:44:21 <joel135> aside from top level
18:44:28 <koz_> joel135: We have typed holes, which is close?
18:44:31 <maerwald> joel135: you mean *expression*?
18:44:33 <joel135> yes
18:44:49 <maerwald> that worked with previous versions of haskell-ide-engine, but not anymore
18:44:50 <joel135> yes on both counts
18:45:03 × kuribas quits (~user@ptr-25vy0i816ietay3t8f3.18120a2.ip6.access.telenet.be) (Remote host closed the connection)
18:45:06 <maerwald> there's some on-going effort about it I believe
18:45:25 <joel135> ok
18:45:51 <aplainzetakind> maerwald: So, the first one is indeed supposed to use less memory then?
18:46:44 joaoh82_ joins (~joaoh82@ip-213-127-88-241.ip.prioritytelecom.net)
18:46:57 × pfurla quits (~pfurla@ool-182ed2e2.dyn.optonline.net) (Quit: gone to sleep. ZZZzzz…)
18:47:15 <koz_> Is there any particular reason why we don't have something like 'foldrMWithKey :: (Monad m) => (k -> v -> a -> m a) -> a -> HashMap k v -> m a'?
18:48:10 <maerwald> aplainzetakind: I don't make memory predictions about haskell code :p
18:48:32 <maerwald> foldl is almost never what you want, but foldl', but that's a different story
18:49:17 <maerwald> https://wiki.haskell.org/Foldr_Foldl_Foldl%27
18:50:03 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
18:50:28 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
18:50:29 × joaoh82 quits (~joaoh82@157-131-134-210.dedicated.static.sonic.net) (Ping timeout: 260 seconds)
18:50:30 <aplainzetakind> I'll turn on profiling and see if there's a difference.
18:51:57 × Solarion quits (~solarion@fsf/member/solarion) (Remote host closed the connection)
18:52:23 × gehmehgeh quits (~ircuser1@gateway/tor-sasl/gehmehgeh) (Ping timeout: 240 seconds)
18:53:17 <monochrom> aplainzetakind: With lazy evaluation sometimes saving the day and some other times getting into the way, I would tell you off for expecting any simple "rule of thumb".
18:53:31 <monochrom> Not even "don't use tail recursion".
18:53:36 × L29Ah quits (~L29Ah@unaffiliated/l29ah) (Ping timeout: 256 seconds)
18:54:13 <jonn> Any insight on the huge lag whilst applying hints in VSCode? It takes minutes to apply a simple bracket removal.
18:54:23 <maerwald> list fusion would be the next topic you'd want to look at
18:54:25 <maerwald> https://www.stackbuilders.com/tutorials/haskell/ghc-optimization-and-fusion/
18:54:37 <monochrom> "foldr (+) 0 [1..n}" and "foldl (+) 0 [1..n]" both use Θ(n) space. Their own difference is going through different journeys. This is a case when tail recursin doesn't help.
18:54:56 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 240 seconds)
18:55:11 <aplainzetakind> monochrom: Indeed, I think you were the one to tell me off.
18:55:13 <maerwald> also, in haskell it's even hard to predict complexity :p
18:55:16 × urek quits (~urek@2804:7f1:e10a:7d51:5d41:4512:81ee:9975) (Remote host closed the connection)
18:55:25 <monochrom> But foldl' will bring it back to Θ(1) space. In this case combining tail recursion and seq helps.
18:55:30 gehmehgeh joins (~ircuser1@gateway/tor-sasl/gehmehgeh)
18:55:32 LKoen_ is now known as LKoen
18:55:39 ulidtko joins (~ulidtko@193.111.48.79)
18:55:57 urek joins (~urek@2804:7f1:e10a:7d51:5d41:4512:81ee:9975)
18:56:10 <aplainzetakind> Anyway, if the answer is "it depends", that's easy to accept.
18:56:19 <monochrom> However, you will want "take" and "map" to use non-tail recursion in "print (take 10 (map f mylist))", especially if mylist is much longer than 10.
18:56:40 johnyginthehouse joins (~johnygint@159.203.30.32)
18:56:57 <aplainzetakind> I was uneasy about failing to understand a "rule of thumb".
18:57:08 <monochrom> There are beginners who look at "map f (x:xs) = f x : map f xs" and think "this is non-tail recursion, let me improve it by adding an accumulator parameter for the answer".
18:57:34 <monochrom> That "improvement" totally breaks.
18:58:33 <ski> aplainzetakind : do they even give the same result ?
18:59:33 L29Ah joins (~L29Ah@unaffiliated/l29ah)
19:00:14 <aplainzetakind> ski: I just noticed the second is off by one.
19:00:26 <ski> yep, that's what i thought
19:00:32 <aplainzetakind> Thanks.
19:00:36 × ericsagn1 quits (~ericsagne@2405:6580:0:5100:bb34:5759:3e20:182c) (Ping timeout: 268 seconds)
19:01:22 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
19:03:21 <iqubic> How does one change map to use an accumulator?
19:03:35 berberman_ joins (~berberman@unaffiliated/berberman)
19:03:42 <merijn> You switch to fold...
19:03:42 <ski> @type mapAccumL
19:03:44 <lambdabot> Traversable t => (a -> b -> (a, c)) -> a -> t b -> (a, t c)
19:03:50 <ski> @type mapAccumR
19:03:52 <lambdabot> Traversable t => (a -> b -> (a, c)) -> a -> t b -> (a, t c)
19:03:55 <Sonolin> I noticed StdGen doesn't seem to have an Eq instance... is there any issue with implementing that (I was planning to just utilize the show instance)?
19:04:08 <ski> or use `mapM' with `State s'
19:04:18 × berberman quits (~berberman@unaffiliated/berberman) (Ping timeout: 268 seconds)
19:04:56 <ski> > join (==) (mkStdGen 1234)
19:04:57 × conal quits (~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
19:04:58 <lambdabot> True
19:05:41 pavonia joins (~user@unaffiliated/siracusa)
19:05:43 × xelxebar quits (~xelxebar@gateway/tor-sasl/xelxebar) (Ping timeout: 240 seconds)
19:06:42 xelxebar joins (~xelxebar@gateway/tor-sasl/xelxebar)
19:06:58 christo joins (~chris@81.96.113.213)
19:07:32 <iqubic> I wish Haskell had fully fledged dependent types already.
19:08:23 × o1lo01ol1o quits (~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Remote host closed the connection)
19:08:33 × cr3 quits (~cr3@192-222-143-195.qc.cable.ebox.net) (Quit: leaving)
19:08:49 <merijn> Why?
19:10:23 <geekosaur> Sonolin, I see one documented and ski just demonstrated it a few minutes ago… why do you feel it's missing?
19:10:28 conal joins (~conal@64.71.133.70)
19:10:55 <trepanger> iqubic: there's LiquidHaskell which is close (well, refinement types)
19:11:19 <iqubic> I don't want refinement types though. I want actual dependent types.
19:11:24 <merijn> trepanger: refinement types are rather different, tbh
19:12:04 <merijn> iqubic: tbh, I wouldn't get your hopes up too much. I expect the ergonomics of Dependent Haskell will remain significantly inferior to languages designed from the start to accommodate dependent types...
19:12:15 atralheaven parts (~atralheav@37.48.90.208) ("WeeChat 2.7.1")
19:12:19 xelxebar_ joins (~xelxebar@gateway/tor-sasl/xelxebar)
19:12:31 ericsagn1 joins (~ericsagne@2405:6580:0:5100:2d4d:701:5c5e:b872)
19:12:51 × matryoshka quits (~matryoshk@2606:6080:1002:8:3285:30e:de43:8809) (Quit: ZNC 1.8.2 - https://znc.in)
19:12:59 <Athas> I actually dread the day Haskell gets dependent types!
19:13:14 <merijn> I expect most people who say they want dependent Haskell really just want "a Haskell-like language designed for dependent types" (aka Idris), rather than whatever Dependent Haskell will look like
19:13:16 <iqubic> Athas: Why do you dread that?
19:13:18 <merijn> Athas: Same
19:13:19 <Athas> Not due to any specific problem, more because I cannot think it will actually end up being nice to use.
19:13:34 <iqubic> Yeah, I suppose that's the issue.
19:13:42 × whatisRT quits (~whatisRT@2002:5b41:6a33:0:483b:3e3a:b1be:f49a) (Read error: Connection reset by peer)
19:13:43 <Athas> I like dependent types and I like languages with roughly the ML/Haskell-level of types, but I don't like mixing the two.
19:13:48 <merijn> iqubic: Because hacking dependent types into GHC considerably complicates the compiler, the surface language will probably not be that nice to use
19:13:54 <iqubic> Right. I see.
19:14:01 × wwwww quits (~wwwww@unaffiliated/wwwww) (Ping timeout: 264 seconds)
19:14:03 matryoshka joins (~matryoshk@184.75.223.227)
19:14:18 <Athas> If dependent types would also complicate the GHC core language, then I will _really_ worry, but I don't recall anyone saying that they would.
19:14:28 <merijn> iqubic: Like, do you want "shitty hasochism-like dependent types" or do you just wish Haskell had dependent types elegantly integrated? Because I don't think you will get the latter :)
19:14:41 <monochrom> aplainzetakind: Your n+n' is kept unevaluated, that will take up room, similar to foldl (+). If you don't mind changing the order of parameters to "go kss n", you can use "go kss' $! n+n' " to kill the laziness on n+n'
19:14:46 <iqubic> I see the issue I have.
19:14:50 <trepanger> Could idris call Haskell functions and vice-versa?
19:14:59 <dolio> It'll probably be better than hasochism. Not sure how much, though.
19:15:03 × xelxebar quits (~xelxebar@gateway/tor-sasl/xelxebar) (Ping timeout: 240 seconds)
19:15:23 <merijn> iqubic: And "considerably complicating the compiler for not nice to use Dependent Types" as oppossed to spending more time in getting GHC nicer is a poor trade-off imo :)
19:15:23 <iqubic> What is hasochism?
19:15:34 × matryoshka quits (~matryoshk@184.75.223.227) (Client Quit)
19:15:39 <Athas> A serious argument can be made that GHC Haskell is already dependently typed (Stephanie Weirich is a proponent of this), which would make GHC Haskell the most shitty dependently typed language in use.
19:15:41 <aplainzetakind> monochrom: Can I just do `go !n kss =` when defining go?
19:15:47 <Athas> I hope Haskell isn't going to end up like C++.
19:15:47 <monochrom> Ah, yes too.
19:15:48 wwwww joins (~wwwww@unaffiliated/wwwww)
19:15:50 <dolio> It's a paper by Conor McBride about the fake dependent typing you can do in GHC now.
19:15:52 <merijn> iqubic: The original paper on faking dependent types in Haskell was titled "hasochism" (a pun on masochism, because it's so painful to use)
19:15:59 matryoshka joins (~matryoshk@2606:6080:1002:8:3285:30e:de43:8809)
19:16:11 <iqubic> Right. Isn't that just Singletons?
19:16:22 <merijn> Singletons spawned from that, yes
19:16:30 <ski> @where she
19:16:30 <lambdabot> http://personal.cis.strath.ac.uk/~conor/pub/she/
19:16:51 × Eduard_Munteanu quits (~Eduard_Mu@2001:420:c0c0:1006::173) (Remote host closed the connection)
19:17:17 <merijn> iqubic: Also, a bunch of people working on dependent haskell are getting papers out of it. How will it stay maintained when there's nothing more to publish and all the phd students get jobs? :)
19:17:31 <iqubic> I don't know.
19:17:40 <monochrom> I know.
19:17:44 <Sonolin> geekosaur hmm I got an error for no Eq instance but maybe I'm just out of date or not importing a module
19:17:56 <monochrom> Even Backpack is on the border of going bitrot now.
19:17:56 × MOSCOS quits (~MOSCOS@122.54.107.175) (Remote host closed the connection)
19:18:17 <Athas> merijn: that is probably my own worry. GHC is already the second-most buggy compiler I interact with, and I'm worried about the maintenance resources getting stretched even thinner.
19:18:23 MOSCOS joins (~MOSCOS@122.54.107.175)
19:18:25 noIOBeforeBedtim joins (dissatisfi@gateway/shell/matrix.org/x-cbrqqmkjyuflpaya)
19:18:57 <aplainzetakind> How do I get cabal to v2-style build dependencies with profiling enabled in a unified way, from the .cabal or cabal.project file?
19:19:22 <Athas> aplainzetakind: I would use cabal.project.
19:19:22 <monochrom> cabal.project
19:19:25 <aplainzetakind> I added a profiling: True to the package satnza in cabal.project but that didn't seem to do anything.
19:19:31 <monochrom> or even cabal.project.local
19:19:47 <merijn> aplainzetakind: "cabal build --enable-profiling" or "cabal configure --enable-profiling"
19:20:03 <Athas> Is Backpack used for any popular library yet? It can't be used as a hidden internal implementation detail, as I understand it.
19:20:18 × b3z quits (~b3z@vmd41962.contaboserver.net) (Quit: cya)
19:20:21 howdoi joins (uid224@gateway/web/irccloud.com/x-deizflgbbgyoqway)
19:20:27 b3zi joins (~b3z@vmd41962.contaboserver.net)
19:20:29 <merijn> Athas: Probably not, and without ezyang pushing it, I fear it may just die
19:20:33 <monochrom> IIUC hackage doesn't play well with Backpack so you can't even upload a Backpack-using library.
19:21:10 <aplainzetakind> Failed to load interface for ‘GHC.Integer.Type’\nPerhaps you haven't installed the "p_dyn" libraries for package ‘integer-wired-in’?
19:21:12 <dolio> That doesn't sound right.
19:21:14 <Athas> Stack doesn't support Backpack at all.
19:21:22 <dolio> https://hackage.haskell.org/package/unpacked-containers
19:21:25 <monochrom> And oh of course the other feature that died after finishing a PhD is plugins.
19:21:25 <aplainzetakind> I get this with --enable-profiling
19:21:27 × Lycurgus quits (~niemand@cpe-45-46-137-210.buffalo.res.rr.com) (Quit: Exeunt)
19:22:07 <monochrom> Ah OK sorry dolio, thanks.
19:22:32 urek__ joins (~urek@2804:7f1:e10a:7d51:5d41:4512:81ee:9975)
19:22:45 <Athas> Aren't plugins used for a few things?
19:22:50 <geekosaur> aplainzetakind, you need to install ghc for profiling sd werrl, in partcular the RTS, base, and integer libraries
19:22:54 <geekosaur> *as well
19:23:12 <Athas> Plugins seem less maintenance-intensive, which is a good design principle when building thesisware.
19:23:34 <merijn> aplainzetakind: Are you using dynamic linking? I'm not sure the profiled+dynamic flavour is build by default
19:23:42 <geekosaur> my poor little laptop is linking…
19:24:39 geekosaur suddenly wonders if that is Arch
19:24:52 <Athas> One of the great unsolved mysteries in computer science is why linking is so goddamn slow.
19:25:15 <monochrom> I think Google's gold solved it.
19:25:21 × urek quits (~urek@2804:7f1:e10a:7d51:5d41:4512:81ee:9975) (Ping timeout: 246 seconds)
19:25:22 <aplainzetakind> merijn: I have no idea if I'm using dynamic linking.
19:25:34 <geekosaur> well, in my case it's because tiny 2GB laptop with chrome already running
19:25:41 <aplainzetakind> geekosaur: Do you mean I should rebuild/reinstall ghc itself?
19:25:44 sagax joins (~sagax_nb@213.138.71.146)
19:26:22 <Sonolin> ah I see the Eq instance is in random 1.2... I just have to update the package
19:26:22 <merijn> aplainzetakind: distro?
19:26:31 <aplainzetakind> gentoo
19:26:34 <aplainzetakind> ghcup
19:26:36 <jonn> I think that people who want DH _do want_ DH. It's kind of like saying that people who use Scala to be productive and apply FP where it matters don't really want a JVM language. A big benefit of DH is that it's still Haskell, and that's it.
19:26:39 <geekosaur> aplainzetakind, I sincerely doubt "rebuild" but wonder where you got your ghc. And why you are using dynamic linking, which is not the default
19:26:42 × chele quits (~chele@ip5b416ea2.dynamic.kabel-deutschland.de) (Remote host closed the connection)
19:26:52 f-a joins (~f-a@151.34.68.34)
19:27:13 × conal quits (~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
19:27:44 <jonn> I personally really don't get all the FUD about DH in the community, especially since work on DH helps make compiler more decoupled and more maintainable.
19:27:51 conal joins (~conal@64.71.133.70)
19:28:14 <Athas> jonn: can you elaborate on the last point? I'm not sure what you mean by "decoupled" here?
19:28:29 <Athas> Surely DH mostly means a larger source language and a more complex type checker?
19:28:48 <aplainzetakind> (GHC version 8.8.3 for x86_64-unknown-linux) is what it says at the point of panic, for the version.
19:29:08 <aplainzetakind> I don't think the ghcup-downloaded binary would be dynamically linked, would it?
19:29:18 <monochrom> No, it isn't.
19:29:42 <jonn> Athas: there was a big refactoring last year that concerned desugaring, that made architecturally messy code in GHC less messy, I could go through commits and find examples, but you can also trust me on that because I'm too lazy.
19:30:02 × xff0x_ quits (~fox@2001:1a81:5262:300:319c:e475:b681:257e) (Ping timeout: 260 seconds)
19:30:13 <monochrom> For least confusion, if you already use ghcup, it's best to remove gentoo's GHC (or whatever linux distro it is).
19:30:34 <monochrom> If you still want to keep that, at least play with PATH to give ghcup's GHC higher priority.
19:30:42 <aplainzetakind> monochrom: I never installed a distro ghc.
19:30:49 xff0x_ joins (~fox@2001:1a81:5262:300:4a5e:7d26:3705:e867)
19:30:56 <aplainzetakind> I set haskell stuff up via ghcup
19:31:16 <Athas> jonn: I'm not doubting you, I'm just curious. But I'm not seeing how that is DH-related. Is it just that DH is motivating this work?
19:31:25 <jonn> Yes
19:31:58 <aplainzetakind> `which ghc` gives me the one under ~/.ghcup
19:32:29 <jonn> DH is not only adding complexity, but also is checking the engineering of GHC, if you will. It's impossible to add that much complexity without addressing some tech debt. AFAIU, GHC is mostly awesome, to be fair.
19:32:53 × Neo-- quits (~neo@188-230-138-83.dynamic.t-2.net) (Remote host closed the connection)
19:33:41 <jonn> Where “awesome” means “can be non-trivially extended by people who didn't write it without many refactorings”. Some refactorings are required, but none of those are about “changing GHC s.t. it fits DH”, all of those are “changing GHC s.t. it's better”.
19:34:24 × Neuromancer quits (~Neuromanc@unaffiliated/neuromancer) (Remote host closed the connection)
19:34:40 × christo quits (~chris@81.96.113.213) (Remote host closed the connection)
19:36:51 <monochrom> aplainzetakind: Some unknown thing is telling GHC or cabal-install to use dynamic linking, I don't know what, but it is certainly abnormal, on close-to-default settings the error doesn't happen.
19:38:32 <aplainzetakind> Would getting and switching to 8.10 be something meaningful to try?
19:38:37 <monochrom> But $HOME/.cabal/config is one place you want to check.
19:38:41 <monochrom> No.
19:39:41 × dxld quits (~dxld@rush.pub.dxld.at) (Quit: Bye)
19:40:32 <aplainzetakind> I searched config for 'dyn', every occurrence is on a commented-out line.
19:40:38 <aplainzetakind> What else to look for?
19:41:25 × joaoh82_ quits (~joaoh82@ip-213-127-88-241.ip.prioritytelecom.net) ()
19:41:26 × ggole quits (~ggole@2001:8003:8119:7200:41bc:ed05:ca38:aae) (Quit: Leaving)
19:41:57 <merijn> Try "cabal user-config diff" and see if anything is non-default :)
19:42:37 o1lo01ol1o joins (~o1lo01ol1@bl11-140-216.dsl.telepac.pt)
19:42:50 dxld joins (~dxld@80-109-136-248.cable.dynamic.surfer.at)
19:43:09 <aplainzetakind> documentation: True; overwrite-policy: always :)
19:43:15 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
19:43:38 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
19:44:10 × ystael quits (~ystael@209.6.50.55) (Ping timeout: 272 seconds)
19:44:16 <joel135> what is DH?
19:44:22 <monochrom> dependent haskell
19:44:25 <joel135> ok
19:44:29 <sclv> aplainzetakind: https://github.com/haskell/cabal/issues/2827 ?
19:44:30 × sgibber2018 quits (~arch-gibb@208.85.237.137) (Quit: WeeChat 2.9)
19:44:41 <sclv> maybe you're invoking profiling in a weird/wrong way and so hitting a weird ghc issue?
19:47:16 × o1lo01ol1o quits (~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Ping timeout: 256 seconds)
19:47:27 <aplainzetakind> sclv: Indeed. Removed -prof from ghc-options and it worked.
19:47:30 <aplainzetakind> Thanks.
19:48:30 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 265 seconds)
19:50:50 × carlomagno quits (~cararell@148.87.23.6) (Remote host closed the connection)
19:51:51 o1lo01ol1o joins (~o1lo01ol1@bl11-140-216.dsl.telepac.pt)
19:53:18 abhixec joins (~abhixec@c-67-169-141-95.hsd1.ca.comcast.net)
19:53:48 acidjnk_new joins (~acidjnk@p200300d0c719ff80cd4aafbd6cd15b09.dip0.t-ipconnect.de)
19:55:17 urek joins (~urek@2804:7f1:e10a:7d51:5d41:4512:81ee:9975)
19:57:21 × urek__ quits (~urek@2804:7f1:e10a:7d51:5d41:4512:81ee:9975) (Ping timeout: 272 seconds)
19:57:46 × zangi quits (~azure@103.154.230.250) (Quit: WeeChat 2.9)
19:57:51 pfurla joins (~pfurla@ool-182ed2e2.dyn.optonline.net)
19:58:12 christo joins (~chris@81.96.113.213)
19:58:12 × chkno quits (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer)
19:58:27 chkno joins (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net)
19:58:39 × philopsos quits (~caecilius@gateway/tor-sasl/caecilius) (Quit: Lost terminal)
19:58:54 sparsity joins (5eae2591@gateway/web/cgi-irc/kiwiirc.com/ip.94.174.37.145)
20:00:19 × f-a quits (~f-a@151.34.68.34) (Remote host closed the connection)
20:01:59 × conal quits (~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
20:02:56 × christo quits (~chris@81.96.113.213) (Remote host closed the connection)
20:07:03 mputz joins (~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de)
20:07:56 <aplainzetakind> Can flags defined in .cabal be passed to conditionals in cabal.project*? I want to be able to toggle `profiling: True` and `ghc-options: -fprof-auto -rtsopts` with a single flag. What's the proper way to do it?
20:08:15 <incertia> so i have `class Solved (n :: Nat) where solver :: String -> Bool -> String` and i want to do type level wizardry to check if i have a solver instance for a particular problem number. in particular. i want to write dictFor :: forall (n :: Nat). (Solved 1, Solved 2, ..., KnownNat n) => Proxy n -> Maybe (Dict (Solved n))
20:08:20 <incertia> but dictFor appears hard
20:09:02 <incertia> the only way i can get it to typecheck is if i use (Solved n) in the constraint which defeats the purpose
20:09:16 × coot quits (~coot@37.30.50.101.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
20:09:59 <sclv> you should probably just use two different cabal.project.local files?
20:10:53 <aplainzetakind> sclv: I suppose it doesn't matter if I put ghc-options in cabal.project* or foo.cabal?
20:11:23 conal joins (~conal@64.71.133.70)
20:11:42 <dcoutts> in one case (the foo.cabal file) it is the author role, in the other it is the package builder role
20:11:59 star_cloud joins (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com)
20:12:49 <aplainzetakind> So I can define flags in .project* as well?
20:13:08 <dcoutts> So as the package author you think the flag should always be there, then put it in the .cabal file. If it makes sense to leave it up to the person building the package as part of some other project, let them put it in their cabal.project file.
20:13:18 christo joins (~chris@81.96.113.213)
20:13:33 <aplainzetakind> I see. Thanks.
20:13:33 <dcoutts> aplainzetakind: some things are exclusive to one or the other, some overlap. So it depends on what you're trying to specify.
20:14:39 × matryoshka quits (~matryoshk@2606:6080:1002:8:3285:30e:de43:8809) (Quit: ZNC 1.8.2 - https://znc.in)
20:14:59 ShalokShalom joins (b9110d05@gateway/web/cgi-irc/kiwiirc.com/ip.185.17.13.5)
20:15:03 matryoshka joins (~matryoshk@2606:6080:1002:8:3285:30e:de43:8809)
20:15:03 <dminuoso> aplainzetakind: Think of .cabal configuring the package and .project* configuring your own cabal-install.
20:15:19 <dminuoso> It's a good approximation I'd say.
20:15:26 <exarkun> is there a conduit combinator like `ConduitT a b m r -> ConduitT a b m r -> ConduitT a b m r` such that the result first produces elements from the first arg and then, after it is exhausted, from the second arg?
20:16:25 <aplainzetakind> Ah it seems profiling: True makes ghc-options redundant anyway.
20:16:36 × ShalokShalom quits (b9110d05@gateway/web/cgi-irc/kiwiirc.com/ip.185.17.13.5) (Client Quit)
20:16:42 <tomjaguarpaw> exarkun: Isn't it >>?
20:17:25 <dcoutts> aplainzetakind: so profiling is a perfect example of something you want to do as the builder of a package not the author. It's not something you'd want all uses of the package to always use.
20:17:36 <exarkun> Ugh. As in standard monad sequencing. Sure sounds like it might be.
20:18:01 <dminuoso> ConduitT f >>= g = ConduitT $ \h -> f $ \a -> unConduitT (g a) h
20:18:03 <dminuoso> mMM
20:18:51 <tomjaguarpaw> I'm not familiar with conduit, but that's what it is in streaming, and I think pipes.
20:19:24 × jonatan quits (~nate@h77-53-70-163.cust.a3fiber.se) (Quit: leaving)
20:19:25 <merijn> aplainzetakind: "profiling: True" is equivalent to --enable-profiling and cabal automatically append relevant profiling flags if you do that
20:20:29 jonatan joins (~nate@h77-53-70-163.cust.a3fiber.se)
20:20:46 carlomagno joins (~cararell@148.87.23.5)
20:20:46 <merijn> aplainzetakind: I don't quite agree with dminuoso's description, I'd say .cabal is the specification of the package as a whole, but I'd instead describe "cabal.project" as a *specific* build configuration of that package (for, say, development) and cabal.project.local as local overrides even for that
20:22:19 <merijn> aplainzetakind: So if you have a repo with 4 packages that depend on each other you can use cabal.project do have a build configuration that uses the versions from the repo (rather than released ones), with the idea that cabal.project gets committed to the repo for anyone hacking on it. And cabal.project.local lets you locally override that "persisted" build configuration for the sake of debugging,
20:22:23 <maerwald> well, many packages these days cannot be built without cabal.project, so...
20:22:25 <merijn> profiling, or whatever else ad hoc things you wanna do
20:22:26 <maerwald> the line is blurred
20:22:56 <merijn> maerwald: In what sense?
20:23:05 <maerwald> merijn: packages and git dependencies
20:23:29 boxscape joins (54a35b08@gateway/web/cgi-irc/kiwiirc.com/ip.84.163.91.8)
20:23:41 <boxscape> % (() `undefined`) `seq` ()
20:23:41 <yahb> boxscape: *** Exception: Prelude.undefined; CallStack (from HasCallStack):; error, called at libraries/base/GHC/Err.hs:79:14 in base:GHC.Err; undefined, called at <interactive>:85:2 in interactive:Ghci49
20:23:45 <merijn> maerwald: Yes, but those generally aren't on hackage or distributed
20:23:52 <maerwald> correct
20:23:55 <boxscape> how exactly is this section desugared such that this leads to an exception?
20:24:36 <merijn> boxscape: That's just "undefined () `seq` ()"?"
20:24:44 <merijn> How would it not produce an error?
20:24:46 <boxscape> ah
20:24:55 <boxscape> merijn report defines sections as lambdas, doesn't it?
20:25:04 <merijn> boxscape: Yes, and GHC doesn't follow that
20:25:04 <boxscape> but I guess ghc doesn't do that
20:25:06 <boxscape> I see
20:25:17 <solonarv> IIRC this is actually controlled by a language extension
20:25:22 <merijn> https://github.com/quchen/articles/blob/master/fbut.md#a-op-is-not-x---a-op-x
20:25:29 <merijn> solonarv: Nope
20:25:32 <boxscape> thanks
20:26:11 <merijn> solonarv: It's hard to find a non-artificial case where this matters, tbh
20:26:23 <geekosaur> solonarv may be thinking of PostfixOperators which further abuses how ghc implements sections
20:26:33 <solonarv> that is the one I was thinking of
20:28:20 electricityZZZZ joins (~electrici@108-216-157-17.lightspeed.sntcca.sbcglobal.net)
20:30:28 shutdown_-h_now joins (~arjan@2001:1c06:2d0b:2312:9882:3ab:473b:209)
20:31:54 × lpy quits (~nyd@unaffiliated/elysian) (Quit: lpy)
20:33:33 urek__ joins (~urek@2804:7f1:e10a:7d51:5d41:4512:81ee:9975)
20:33:39 × Tario quits (~Tario@201.192.165.173) (Read error: Connection reset by peer)
20:35:14 <idnar> :t Data.Map.fromListWith (<>) . fmap (fmap Data.Set.singleton)
20:35:16 <lambdabot> (Ord k, Ord a) => [(k, a)] -> M.Map k (S.Set a)
20:35:28 × abhixec quits (~abhixec@c-67-169-141-95.hsd1.ca.comcast.net) (Ping timeout: 272 seconds)
20:36:39 × christo quits (~chris@81.96.113.213) (Remote host closed the connection)
20:37:15 × urek quits (~urek@2804:7f1:e10a:7d51:5d41:4512:81ee:9975) (Ping timeout: 272 seconds)
20:38:38 × L29Ah quits (~L29Ah@unaffiliated/l29ah) (Ping timeout: 272 seconds)
20:40:01 L29Ah joins (~L29Ah@unaffiliated/l29ah)
20:40:08 × conal quits (~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
20:40:41 Tario joins (~Tario@201.192.165.173)
20:44:27 conal joins (~conal@64.71.133.70)
20:45:35 × matryoshka quits (~matryoshk@2606:6080:1002:8:3285:30e:de43:8809) (Quit: ZNC 1.8.2 - https://znc.in)
20:45:54 matryoshka joins (~matryoshk@184.75.223.227)
20:46:08 Neuromancer joins (~Neuromanc@unaffiliated/neuromancer)
20:46:16 × mounty quits (~mounty@210.1.196.133) (Ping timeout: 240 seconds)
20:49:01 × DavidEichmann quits (~david@62.110.198.146.dyn.plus.net) (Ping timeout: 260 seconds)
20:50:50 <aplainzetakind> merijn: Just saw those. Thanks for the explanation.
20:52:31 × voet quits (~voet@84.39.117.57) (Remote host closed the connection)
20:53:11 × britva quits (~britva@31-10-157-156.cgn.dynamic.upc.ch) (Quit: This computer has gone to sleep)
20:53:28 _xor joins (~xor@74.215.46.133)
20:55:34 × AlterEgo- quits (~ladew@124-198-158-163.dynamic.caiway.nl) (Quit: Leaving)
20:56:48 <texasmynsted> merijn: nice link. I had not seen that before.
20:57:22 × sparsity quits (5eae2591@gateway/web/cgi-irc/kiwiirc.com/ip.94.174.37.145) (Quit: Connection closed)
20:57:50 × revprez_stg quits (~revprez_s@pool-108-49-213-40.bstnma.fios.verizon.net) (Quit: Lost terminal)
20:58:29 britva joins (~britva@31-10-157-156.cgn.dynamic.upc.ch)
21:02:12 × fresheyeball quits (~isaac@c-71-237-105-37.hsd1.co.comcast.net) (Quit: WeeChat 2.7.1)
21:02:31 jonatanb joins (jonatanb@gateway/vpn/protonvpn/jonatanb)
21:03:04 sparsity joins (5eae2591@gateway/web/cgi-irc/kiwiirc.com/ip.94.174.37.145)
21:03:34 × jonatanb quits (jonatanb@gateway/vpn/protonvpn/jonatanb) (Remote host closed the connection)
21:04:57 electricityZZZZ parts (~electrici@108-216-157-17.lightspeed.sntcca.sbcglobal.net) ("Leaving")
21:05:49 Codaraxis__ joins (~Codaraxis@ip68-5-90-227.oc.oc.cox.net)
21:06:44 fendor_ is now known as fendor
21:06:50 × xff0x_ quits (~fox@2001:1a81:5262:300:4a5e:7d26:3705:e867) (Ping timeout: 246 seconds)
21:08:02 xff0x_ joins (~fox@2001:1a81:5262:300:95f0:4b89:adba:106)
21:08:16 × boxscape quits (54a35b08@gateway/web/cgi-irc/kiwiirc.com/ip.84.163.91.8) (Ping timeout: 240 seconds)
21:08:44 × o1lo01ol1o quits (~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Remote host closed the connection)
21:09:17 Lycurgus joins (~niemand@cpe-45-46-137-210.buffalo.res.rr.com)
21:09:45 o1lo01ol1o joins (~o1lo01ol1@bl11-140-216.dsl.telepac.pt)
21:10:09 jonatanb joins (jonatanb@gateway/vpn/protonvpn/jonatanb)
21:10:44 × conal quits (~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
21:11:20 × jonatanb quits (jonatanb@gateway/vpn/protonvpn/jonatanb) (Remote host closed the connection)
21:11:23 cads joins (~cads@ip-64-72-99-232.lasvegas.net)
21:12:50 jaekwon joins (~jaekwon@185.163.110.125)
21:13:49 × TommyC quits (~TommyC@unaffiliated/sepulchralbloom) (Disconnected by services)
21:13:52 TommyC7 is now known as TommyC
21:15:26 sgibber2018 joins (~arch-gibb@208.85.237.137)
21:17:15 revprez_stg joins (~revprez_s@pool-108-49-213-40.bstnma.fios.verizon.net)
21:20:02 wonko7 joins (~wonko7@lns-bzn-55-82-255-183-4.adsl.proxad.net)
21:22:37 × xff0x_ quits (~fox@2001:1a81:5262:300:95f0:4b89:adba:106) (Ping timeout: 260 seconds)
21:23:24 xff0x_ joins (~fox@2001:1a81:5262:300:2af7:941a:a8bf:efea)
21:24:06 <monochrom> maerwald: I have found that "cabal install" honours parts of cabal.project.local and omits other parts.
21:24:23 <merijn> monochrom: That sounds like a bug
21:24:32 <monochrom> I have top-level "profiling: True", that is not honoured.
21:24:55 <monochrom> I have top-level "program-options", under it "ghc-options: -rtsopts". That is honoured.
21:25:28 × bliminse quits (~bliminse@host86-134-63-68.range86-134.btcentralplus.com) (Ping timeout: 246 seconds)
21:25:33 <monochrom> If I change "program-options" to "package hyde", that is not honoured. (My package name is hyde)
21:26:34 bliminse joins (~bliminse@host86-134-63-68.range86-134.btcentralplus.com)
21:26:36 <maerwald> merijn: it isn't, because install makes an sdist and switches to temp dirs before really building
21:26:48 <maerwald> so it honors the part about dependencies
21:26:52 <maerwald> but not so much flags
21:27:14 <maerwald> which proves my point that it's not very well defined as a thing
21:27:37 <monochrom> OK, now let me test again but call it cabal.project
21:28:00 <merijn> flags aren't supposed to affect the public interface anyway (yes, I know people dumbly abuse it for this anyway)
21:29:35 × britva quits (~britva@31-10-157-156.cgn.dynamic.upc.ch) (Quit: Leaving)
21:29:43 ubert joins (~Thunderbi@p200300ecdf1e5312e6b318fffe838f33.dip0.t-ipconnect.de)
21:30:32 <monochrom> Same result.
21:31:02 × thc202 quits (~thc202@unaffiliated/thc202) (Quit: thc202)
21:31:48 jonatanb joins (jonatanb@gateway/vpn/protonvpn/jonatanb)
21:31:57 conal joins (~conal@64.71.133.70)
21:32:48 × tomboy64 quits (~tomboy64@gateway/tor-sasl/tomboy64) (Remote host closed the connection)
21:33:22 tomboy64 joins (~tomboy64@gateway/tor-sasl/tomboy64)
21:33:44 × gienah quits (~mwright@gentoo/developer/gienah) (Ping timeout: 260 seconds)
21:34:00 gienah joins (~mwright@gentoo/developer/gienah)
21:34:45 × jonatanb quits (jonatanb@gateway/vpn/protonvpn/jonatanb) (Remote host closed the connection)
21:34:50 × danza quits (~francesco@151.53.92.26) (Ping timeout: 265 seconds)
21:36:06 philopsos joins (~caecilius@gateway/tor-sasl/caecilius)
21:36:37 nowhere_man joins (~pierre@2a01:e0a:3c7:60d0:e88f:4e24:f6a7:f155)
21:39:29 × Feuermagier quits (~Feuermagi@213.178.26.41) (Ping timeout: 256 seconds)
21:43:56 hekkaidekapus_ is now known as hekkaidekapus
21:44:09 Feuermagier joins (~Feuermagi@213.178.26.41)
21:44:11 × Lycurgus quits (~niemand@cpe-45-46-137-210.buffalo.res.rr.com) (Quit: Exeunt)
21:44:16 <maralorn> Can someone help me with this type error? https://termbin.com/cqxd, this is the function, but ghc does not complain about any of the pattern signatures: https://paste.linuxlounge.net/TT7A
21:45:35 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
21:45:42 <maralorn> Ah, type Mn n = M n n might be relevant, and I am using import Numeric.LinearAlgebra.Static
21:46:27 <glguy> maralorn: Do you have ScopedTypeVariables enabled?
21:46:33 × Feuermagier quits (~Feuermagi@213.178.26.41) (Remote host closed the connection)
21:46:36 <maralorn> Yes
21:46:44 × matryoshka quits (~matryoshk@184.75.223.227) (Quit: ZNC 1.8.2 - https://znc.in)
21:46:48 × geekosaur quits (82659a09@host154-009.vpn.uakron.edu) (Remote host closed the connection)
21:46:56 Feuermagier joins (~Feuermagi@213.178.26.41)
21:47:31 <maralorn> Here is the whole file https://paste.linuxlounge.net/OS3A
21:48:02 <maralorn> Most of it typechecks beside tpsi and traceRight.
21:48:25 <maralorn> And do blame me for bad variable names, this is mathematics, we have cultivated bad variable names.
21:49:10 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
21:49:38 teardown joins (~user@gateway/tor-sasl/mrush)
21:50:01 × LKoen quits (~LKoen@228.162.9.109.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.”)
21:52:32 <maralorn> Huh, I got it to work with AllowAmbiguousTypes.
21:52:37 × borne quits (~fritjof@200116b864e55d009ba1d43461655289.dip.versatel-1u1.de) (Ping timeout: 272 seconds)
21:52:50 × andi- quits (~andi-@NixOS/user/andi-) (Ping timeout: 264 seconds)
21:53:00 <maralorn> It was my impression this is a bad idea.
21:53:00 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
21:53:01 <maralorn> But it works. /o\
21:53:24 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
21:53:29 <incertia> AllowAmbiguousTypes is less bad than it sounds
21:54:19 <koz_> Yeah, it basically means 'you'll have to tell GHC what you want type-wise sometimes'.
21:54:20 <jared-w> It's kinda necessary if you want a "type-appliations driven" API with empty data types. It has other fun uses too, I believe
21:56:08 <incertia> a type is ambiguous if at the call site you cannot concretize every type variable
21:56:40 <incertia> e.g. f :: Show a => (), f = ()
21:56:53 <incertia> to use f, you just write f
21:57:02 <incertia> but GHC has no idea what type a should be
21:57:04 <incertia> hence ambiguous
21:57:24 <merijn> jared-w: TypeApplications driven API is a funny way of say "brittle API prone to breakage due to all sorts of details that most package authors consider out of PVP scope" ;)
21:57:56 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 240 seconds)
21:58:09 Maxdaman1us joins (~Maxdamant@unaffiliated/maxdamantus)
21:58:14 × Feuermagier quits (~Feuermagi@213.178.26.41) (Ping timeout: 260 seconds)
21:58:21 <incertia> on that note im sort of hitting a wall
21:58:37 Feuermagier joins (~Feuermagi@213.178.26.41)
21:58:57 <incertia> i want to represent having solved a particular problem number as a typeclass instance and then look up the particular instance when i run a solver for all problems
21:59:35 <incertia> but i can't seem to get the constraints to work out right
22:00:10 <jared-w> merijn: as if tons of packages weren't breaking due to "out of PVP scope" semi frequently anyway :p
22:00:16 × knupfer quits (~Thunderbi@i5E86B4BF.versanet.de) (Ping timeout: 240 seconds)
22:00:46 <maerwald> if you rely on PVP *today* you must be either new, or really nuts :p
22:00:47 <jared-w> hmm. Any owners of the Haskell organization on github around?
22:01:08 <incertia> e.g. suppose i have solve :: Int -> IO () whose goal is to check to see if the problem number has a Solved instance and then call that particular instance
22:01:28 <glguy> jared-w: have you checked in #haskell-infrastructure ?
22:01:29 <incertia> class Solved (n :: Nat) where solver :: String -> String
22:01:57 <jared-w> glguy: TIL there's a #haskell-infrastructure. That'd be the place to ask :)
22:02:02 <maerwald> I wouldn't even trust aeson to adhere to PVP, which is why json roundtrip tests aren't enough. Ppl should write unit tests again.
22:02:42 × acidjnk_new quits (~acidjnk@p200300d0c719ff80cd4aafbd6cd15b09.dip0.t-ipconnect.de) (*.net *.split)
22:02:43 × Maxdamantus quits (~Maxdamant@unaffiliated/maxdamantus) (*.net *.split)
22:02:43 × themsay[m] quits (themsaymat@gateway/shell/matrix.org/x-cjdoxrvdegoiyqvf) (*.net *.split)
22:02:43 × lambdaclan quits (lambdaclan@gateway/shell/matrix.org/x-sbddbzdmvxmmvpbc) (*.net *.split)
22:02:43 × siraben quits (sirabenmat@gateway/shell/matrix.org/x-lezecatojskrdazl) (*.net *.split)
22:02:43 × pqwy[m] quits (pqwymatrix@gateway/shell/matrix.org/x-vnqaotfsxzdmunat) (*.net *.split)
22:02:44 × berberman[T] quits (berberma4@gateway/shell/matrix.org/x-vsysrbilolopjofm) (*.net *.split)
22:02:44 × sm[m] quits (simonmicma@gateway/shell/matrix.org/x-tslfcdwovccelfgc) (*.net *.split)
22:02:44 × ajmcmiddlin quits (sid284402@gateway/web/irccloud.com/x-moukoiwvvkyyxkhc) (*.net *.split)
22:02:44 × lucas8 quits (~luc@2001:41d0:8:109c::1) (*.net *.split)
22:02:44 × Orbstheorem quits (~roosember@hellendaal.orbstheorem.ch) (*.net *.split)
22:02:44 × travv0 quits (sid293381@gateway/web/irccloud.com/x-putwjyfohfmmjdnz) (*.net *.split)
22:02:44 × a3f quits (~a3f@chimeria.ext.pengutronix.de) (*.net *.split)
22:02:44 × cybai quits (~cybai@2400:4050:3122:900:64e3:7c8f:2521:8629) (*.net *.split)
22:02:44 × Taneb quits (~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0) (*.net *.split)
22:02:44 × Raito_Bezarius quits (~Raito@unaffiliated/raito-bezarius/x-8764578) (*.net *.split)
22:02:44 × adamse quits (sid72084@gateway/web/irccloud.com/x-gugbiavtvejuwlop) (*.net *.split)
22:02:44 × billstclair quits (sid77830@gateway/web/irccloud.com/x-gmocwseudwezmlvo) (*.net *.split)
22:02:44 × enemeth79 quits (sid309041@gateway/web/irccloud.com/x-caupormkuhtvjyua) (*.net *.split)
22:02:44 × verlet64_ quits (sid261276@gateway/web/irccloud.com/x-eieynnxuwbvgyafz) (*.net *.split)
22:02:44 × teehemkay quits (sid14792@gateway/web/irccloud.com/x-oyaopddsariqskvr) (*.net *.split)
22:02:44 × chessai quits (sid225296@gateway/web/irccloud.com/x-kavvwgqdexvffjul) (*.net *.split)
22:02:44 × tiru quits (tiru@gateway/web/irccloud.com/x-nnjznofsaufhsulw) (*.net *.split)
22:02:53 <merijn> maerwald: You can *use* PVP bounds without *relying* on them
22:03:04 <maerwald> that's the only thing you should do :p
22:03:36 <merijn> You can't rely on anything, maybe cosmic rays bitflipped your executable
22:03:51 <merijn> Maybe your GHC got "Reflections on Trusting Trust"-ed
22:03:52 × sparsity quits (5eae2591@gateway/web/cgi-irc/kiwiirc.com/ip.94.174.37.145) (Quit: Connection closed)
22:03:54 son0p joins (~son0p@181.136.122.143)
22:04:25 <maralorn> Okay
22:04:32 <monochrom> Simpler: Cosmic ray flipped a version bound on Hackage.
22:04:56 <jared-w> Cosmic ray? You mean hackage revisions? /s
22:05:01 <monochrom> Even simpler: Magnetic error flipped a version bound on Hackage.
22:05:27 <maerwald> merijn: that's what makes a good programmer: being paranoid af, but managed to escape asylum :p
22:05:47 <monochrom> Sounds like Gödel.
22:06:24 <monochrom> Ironically, he might be better off inside an asylum.
22:06:25 × star_cloud quits (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Ping timeout: 246 seconds)
22:06:39 <monochrom> because at least someone would force him to eat.
22:06:50 mounty joins (~mounty@2001:8000:2f59:0:a021:3f31:5fd8:b032)
22:06:53 × shf quits (~sheaf@2a01:cb19:80cc:7e00:d5a1:7920:3b80:ee90) (Read error: Connection reset by peer)
22:07:04 <maerwald> good that you reminded me. I forget that I have a body
22:07:25 × sord937 quits (~sord937@gateway/tor-sasl/sord937) (Quit: sord937)
22:07:54 <koz_> maerwald is ghost?
22:08:37 rprije joins (~rprije@14-201-170-17.tpgi.com.au)
22:09:04 andi- joins (~andi-@NixOS/user/andi-)
22:09:13 <monochrom> incertia: If you do that, you are taking a dynamically determined term-level number to a supposed-to-be-statically-known type-level number. You will have to compromise with an existential type, which is SomeNat in GHC.TypeNats or TypeLits.
22:09:47 × Kaiepi quits (~Kaiepi@47.54.252.148) (Remote host closed the connection)
22:09:54 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
22:09:57 × conal quits (~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
22:10:03 Kaiepi joins (~Kaiepi@47.54.252.148)
22:10:09 star_cloud joins (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com)
22:12:15 <monochrom> Isn't it so much simpler WLOG to KISS to a fully dynamic dictionary that just happens to be hardcoded. solved = Map.fromList [(1, solution1), (2, solution2), ...]
22:13:40 <nfd9001> hey, so, i was using containers' Data.Graph for aoc day7, and found it somewhat lacking for that purpose: there were apparently no ways to decorate edges or vertices in a way powerful enough to help much with dealing with numbers of bags. obvs for that i could just use a simpler structure like a basic map (and i did), but i was wondering if y'all knew any richer (and maybe loosely similar) graph libs
22:14:04 <monochrom> fgl is rich
22:14:19 <monochrom> It is also counterintuitive
22:14:48 conal joins (~conal@64.71.133.70)
22:14:52 <monochrom> I don't think anyone has published a different take.
22:14:58 × mputz quits (~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de) (Quit: mputz)
22:15:05 mbomba joins (~mbomba@bras-base-toroon2719w-grc-53-142-114-5-26.dsl.bell.ca)
22:15:11 <nfd9001> hehe, say what you will about Data.Graph, it's *very* intuitive
22:15:11 <dminuoso> A coproduct is to choice as product is to ___?
22:15:31 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
22:15:36 <nfd9001> ~~cochoice~~
22:15:39 <dminuoso> haha
22:15:42 <nfd9001> sorry :D
22:15:51 <monochrom> It is not counterintutive if you stick to its pre-canned graph algorithms eg bfs dfs sp (single-source shortest path).
22:15:52 <dminuoso> That was a good one. :)
22:16:23 <dminuoso> It seems there's a lacking clear term for cochoice. Perhaps "combination"?
22:16:43 <monochrom> But if you try to use its "fold" to write your own algorithms, you have to learn a new concept.
22:17:09 <monochrom> fgl ≠ Data.Graph
22:17:40 <nfd9001> coproduct is a sum type is a choice is a union, a product is a product type is a tuple is a struct
22:17:55 <dminuoso> I mean this also shows in profunctor terminology
22:18:09 <incertia> monochrom: that's what i currently do but it's so much cooler to just be like "i'll just import an instance and have the code be automatically generated"
22:18:09 <dminuoso> Where you have Choice and Strong (ugh)
22:18:39 <dminuoso> nfd9001: Im just looking for intuitive terms that would explain this to say a non-programmer.
22:18:58 <dminuoso> Say if I was to explain the two dimensions of ADTs, I could explain sum types as encoding a choice
22:19:03 × Feuermagier quits (~Feuermagi@213.178.26.41) (Remote host closed the connection)
22:19:12 <nfd9001> i mean, cochoice is a little intuitive. what's the opposite of choosing between pie and ice cream? ala mode
22:19:34 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Client Quit)
22:19:35 hexfive joins (~hexfive@50-47-142-195.evrt.wa.frontiernet.net)
22:19:38 <monochrom> dminuoso, I have two joking ideas. 1. hice (= choice - co). 2. prochoice.
22:19:38 <dminuoso> I dont know about "opposite of choosing" - the duality stems from a categorical point of view
22:19:58 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
22:20:08 <nfd9001> choosing-with-the-arrows-backwards
22:20:23 <monochrom> opposite of choosing is forcing
22:20:44 <dminuoso> monochrom: I guess that gets into the right area.
22:20:50 <dminuoso> You're forced to pick two things.
22:20:57 <dminuoso> As opposed to chosing between them.
22:21:18 × neiluj quits (~jco@unaffiliated/neiluj) (Quit: Lost terminal)
22:21:27 <monochrom> I think of a two-person game, and sometimes the opponent forces their choice on you.
22:21:31 <dminuoso> Interesting that neither English nor German seems to have a good verb here
22:21:53 <monochrom> inflict
22:21:57 neiluj joins (~jco@91-167-203-101.subs.proxad.net)
22:21:58 × neiluj quits (~jco@91-167-203-101.subs.proxad.net) (Changing host)
22:21:58 neiluj joins (~jco@unaffiliated/neiluj)
22:22:05 <monochrom> Is math discovered or inflicted? :)
22:22:09 <nfd9001> zugzwang or whatever that chess term was, huh
22:23:16 nowhereman joins (~pierre@37.170.38.180)
22:23:27 <monochrom> Cocartes says: Coproduct ergo sum.
22:23:37 <nfd9001> nice.
22:23:39 × nowhere_man quits (~pierre@2a01:e0a:3c7:60d0:e88f:4e24:f6a7:f155) (Ping timeout: 272 seconds)
22:23:48 mputz joins (~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de)
22:24:12 nowhereman is now known as nowhere_man
22:24:31 jneira joins (501e6453@gateway/web/cgi-irc/kiwiirc.com/ip.80.30.100.83)
22:24:41 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 260 seconds)
22:25:03 × ericsagn1 quits (~ericsagne@2405:6580:0:5100:2d4d:701:5c5e:b872) (Ping timeout: 260 seconds)
22:30:06 Taneb joins (~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0)
22:30:07 a3f joins (~a3f@chimeria.ext.pengutronix.de)
22:30:10 chessai joins (sid225296@gateway/web/irccloud.com/x-yhjyupxhhvdvkdtd)
22:30:10 teehemkay joins (sid14792@gateway/web/irccloud.com/x-rempqwaycmjvysnr)
22:30:12 lucas8 joins (~luc@2001:41d0:8:109c::1)
22:30:13 billstclair joins (sid77830@gateway/web/irccloud.com/x-upbttiykivkfirbo)
22:30:13 verlet64_ joins (sid261276@gateway/web/irccloud.com/x-anjjmtdatkxqpayg)
22:30:14 ajmcmiddlin joins (sid284402@gateway/web/irccloud.com/x-cjcxesxeodrcvgsk)
22:30:15 tiru joins (tiru@gateway/web/irccloud.com/x-eiwqmgqnpxenmeqs)
22:30:15 travv0 joins (sid293381@gateway/web/irccloud.com/x-cdkgjeiazghryoab)
22:30:15 Orbstheorem joins (~roosember@hellendaal.orbstheorem.ch)
22:30:18 enemeth79 joins (sid309041@gateway/web/irccloud.com/x-lvirpivflnhgtbsh)
22:30:22 acidjnk_new joins (~acidjnk@p200300d0c719ff80cd4aafbd6cd15b09.dip0.t-ipconnect.de)
22:30:27 cybai joins (~cybai@2400:4050:3122:900:45a6:8125:8bb4:dbed)
22:30:50 Raito_Bezarius joins (~Raito@unaffiliated/raito-bezarius/x-8764578)
22:30:55 pqwy[m] joins (pqwymatrix@gateway/shell/matrix.org/x-eixrfqgyidlvnkll)
22:31:18 siraben joins (sirabenmat@gateway/shell/matrix.org/x-dkjvchpaxbrsnvrk)
22:31:30 adamse joins (sid72084@gateway/web/irccloud.com/x-mwbgblgcseyitcgt)
22:32:12 lambdaclan joins (lambdaclan@gateway/shell/matrix.org/x-uzlhyhsfgqzaukhe)
22:32:26 themsay[m] joins (themsaymat@gateway/shell/matrix.org/x-lszdfmzzigovolaq)
22:33:02 × _linker_ quits (~linker@2a02:a31a:a041:9a80:c431:6040:918c:6466) (Remote host closed the connection)
22:33:11 yitz joins (~yitz@unaffiliated/yitz)
22:33:27 berberman[T] joins (berberma4@gateway/shell/matrix.org/x-djribkbyuvfvpxal)
22:33:31 sm[m] joins (simonmicma@gateway/shell/matrix.org/x-knubyzlepnzyxdvt)
22:34:33 × conal quits (~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
22:34:58 yitz parts (~yitz@unaffiliated/yitz) ()
22:35:00 conal joins (~conal@64.71.133.70)
22:35:40 × conal quits (~conal@64.71.133.70) (Client Quit)
22:36:41 conal joins (~conal@64.71.133.70)
22:37:23 ericsagn1 joins (~ericsagne@2405:6580:0:5100:4353:f1b0:3343:508)
22:37:37 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
22:41:09 whatisRT joins (~whatisRT@2002:5b41:6a33:0:483b:3e3a:b1be:f49a)
22:43:09 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
22:45:18 nfd9001 is now known as nfd
22:45:42 <iqubic> :t fmap :: (((a -> b) -> b) -> c -> a)
22:45:44 <lambdabot> error:
22:45:44 <lambdabot> • Couldn't match type ‘c1’ with ‘f0 (a1 -> b1)’
22:45:44 <lambdabot> ‘c1’ is a rigid type variable bound by
22:45:53 borne joins (~fritjof@200116b864e55d009ba1d43461655289.dip.versatel-1u1.de)
22:46:19 <iqubic> :t fmap :: (a -> b) -> b
22:46:21 <lambdabot> error:
22:46:21 <lambdabot> • Occurs check: cannot construct the infinite type:
22:46:21 <lambdabot> b1 ~ f0 a1 -> f0 b1
22:46:49 ystael joins (~ystael@209.6.50.55)
22:48:44 × devalot quits (~ident@mail.pmade.com) (Quit: ZNC - http://znc.in)
22:48:44 × ystael quits (~ystael@209.6.50.55) (Read error: Connection reset by peer)
22:53:14 × dhouthoo quits (~dhouthoo@ptr-eitgbj2w0uu6delkbrh.18120a2.ip6.access.telenet.be) (Quit: WeeChat 2.9)
22:53:57 nowhereman joins (~pierre@2a01:e0a:3c7:60d0:e88f:4e24:f6a7:f155)
22:54:36 × nowhere_man quits (~pierre@37.170.38.180) (Ping timeout: 240 seconds)
22:55:15 × son0p quits (~son0p@181.136.122.143) (Quit: leaving)
22:56:34 × pjb quits (~t@2a01cb04063ec50074a8618b6b489f5b.ipv6.abo.wanadoo.fr) (Quit: b)
22:58:52 × ubert quits (~Thunderbi@p200300ecdf1e5312e6b318fffe838f33.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
22:59:04 urek joins (~urek@191.32.132.91)
23:00:45 pjb joins (~t@2a01cb04063ec50074a8618b6b489f5b.ipv6.abo.wanadoo.fr)
23:01:04 × ezzieyguywuf quits (~Unknown@unaffiliated/ezzieyguywuf) (Ping timeout: 256 seconds)
23:01:37 × Varis quits (~Tadas@unaffiliated/varis) (Remote host closed the connection)
23:01:39 × urek__ quits (~urek@2804:7f1:e10a:7d51:5d41:4512:81ee:9975) (Ping timeout: 272 seconds)
23:01:40 ystael joins (~ystael@209.6.50.55)
23:02:44 urek__ joins (~urek@2804:7f1:e10a:7d51:8503:5833:8cd1:db9c)
23:03:36 × urek quits (~urek@191.32.132.91) (Ping timeout: 240 seconds)
23:05:30 × Ariakenom quits (~Ariakenom@h-98-128-229-53.NA.cust.bahnhof.se) (Quit: Leaving)
23:06:13 × Gurkenglas quits (~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 264 seconds)
23:07:39 devalot joins (~ident@mail.pmade.com)
23:08:17 matryoshka joins (~matryoshk@184.75.223.227)
23:08:26 × acidjnk_new quits (~acidjnk@p200300d0c719ff80cd4aafbd6cd15b09.dip0.t-ipconnect.de) (Ping timeout: 264 seconds)
23:08:32 Varis joins (~Tadas@unaffiliated/varis)
23:08:39 × matryoshka quits (~matryoshk@184.75.223.227) (Client Quit)
23:10:10 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
23:11:24 matryoshka joins (~matryoshk@2606:6080:1002:8:3285:30e:de43:8809)
23:13:18 isovector1 joins (~isovector@172.103.216.166.cable.tpia.cipherkey.com)
23:13:31 <isovector1> is there some way i can make uniplate work with mutually recursive data types?
23:13:47 elfets joins (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
23:13:58 × matryoshka quits (~matryoshk@2606:6080:1002:8:3285:30e:de43:8809) (Read error: Connection reset by peer)
23:14:08 matryoshka` joins (~matryoshk@2606:6080:1002:8:3285:30e:de43:8809)
23:14:54 × matryoshka` quits (~matryoshk@2606:6080:1002:8:3285:30e:de43:8809) (Client Quit)
23:15:14 ddellacosta joins (dd@gateway/vpn/mullvad/ddellacosta)
23:16:26 matryoshka joins (~matryoshk@184.75.223.227)
23:16:46 <Axman6> what issues do you run into?
23:17:51 × jiribenes quits (~jiribenes@rosa.jiribenes.com) (Remote host closed the connection)
23:18:08 matryoshka` joins (~matryoshk@184.75.223.227)
23:18:18 × matryoshka quits (~matryoshk@184.75.223.227) (Read error: Connection reset by peer)
23:18:20 <isovector1> `rewrite` doesn't go inside the mutual recursion
23:19:33 <isovector1> eg if i write `data Foo = In | Out | Loop Bar` and `data Bar = BackToFoo Foo`, `rewrite $ \case {In -> Just Out: _ -> Nothing}` won't rewrite `Loop (BackToFoo (In))`
23:20:22 × fendor quits (~fendor@178.115.129.186.wireless.dyn.drei.com) (Remote host closed the connection)
23:20:56 <isovector1> at least not using the `generic-deriving` uniplate instances
23:23:16 × Codaraxis__ quits (~Codaraxis@ip68-5-90-227.oc.oc.cox.net) (Remote host closed the connection)
23:23:40 Codaraxis__ joins (~Codaraxis@ip68-5-90-227.oc.oc.cox.net)
23:28:02 × solonarv quits (~solonarv@astrasbourg-552-1-28-212.w90-13.abo.wanadoo.fr) (Ping timeout: 260 seconds)
23:32:04 wildlander joins (~wildlande@unaffiliated/wildlander)
23:36:39 × conal quits (~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
23:43:53 conal joins (~conal@64.71.133.70)
23:44:18 × wonko7 quits (~wonko7@lns-bzn-55-82-255-183-4.adsl.proxad.net) (Ping timeout: 256 seconds)
23:44:48 × __monty__ quits (~toonn@unaffiliated/toonn) (Quit: leaving)
23:44:50 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
23:46:30 × star_cloud quits (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Remote host closed the connection)
23:46:44 star_cloud joins (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com)
23:48:19 × sgibber2018 quits (~arch-gibb@208.85.237.137) (Quit: WeeChat 2.9)
23:50:10 × Codaraxis__ quits (~Codaraxis@ip68-5-90-227.oc.oc.cox.net) (Remote host closed the connection)
23:50:35 Codaraxis__ joins (~Codaraxis@ip68-5-90-227.oc.oc.cox.net)
23:50:36 Kronic joins (~Kronic___@84.203.103.100)
23:52:07 <Kronic> I have a very small question relating to how to read values that parameterize type declarations, when I read something like the basic definition for the state monad, how intertwined are the two s parameters?
23:52:24 <Kronic> My understanding is that unless I use a RankNType they must be the same type and structure
23:53:28 <sm[m]> I think https://github.com/Homebrew/linuxbrew-core/blob/master/Formula/ghc.rb should depend on gcc-6+. Would anyone have an idea how ?
23:56:13 × o1lo01ol1o quits (~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Remote host closed the connection)
23:56:47 × star_cloud quits (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Excess Flood)
23:57:36 <monochrom> Kronic: I don't understand "intertwine" but I'm pretty sure it's barking up the wrong tree. "s -> (a, s)" is just saying you could make it Int -> (String, Int) (s=Int, a=String), or Char -> (Bool, Char) (s=Char, a=Bool), or other choices.
23:57:49 <monochrom> If you understand Int->(String,Int) then you understand s->(a,s).
23:58:06 star_cloud joins (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com)
23:59:13 × whatisRT quits (~whatisRT@2002:5b41:6a33:0:483b:3e3a:b1be:f49a) (Quit: ZNC 1.8.1 - https://znc.in)
23:59:53 <Kronic> monochrom: Ah, my bad. Let me be clearer in that case. The definitions are read left to right, so if I at some point on the left side bind a parameter to some type, must it be taken that this parameter is always the same unless I use forall ?
23:59:55 × cosimone quits (~cosimone@93-47-228-249.ip115.fastwebnet.it) (Quit: cosimone)

All times are in UTC on 2020-12-07.