2020/12/02

2020-12-02 00:00:05 +0100Neuromancer(~Neuromanc@unaffiliated/neuromancer) (Ping timeout: 240 seconds)
2020-12-02 00:00:18 +0100falafel_(~falafel@pool-71-182-130-97.pitbpa.fios.verizon.net) (Ping timeout: 260 seconds)
2020-12-02 00:01:24 +0100fendor(~fendor@178.165.131.152.wireless.dyn.drei.com) (Remote host closed the connection)
2020-12-02 00:04:14 +0100conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2020-12-02 00:05:24 +0100elfets_(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
2020-12-02 00:07:51 +0100rprije(~rprije@194-193-160-114.tpgi.com.au)
2020-12-02 00:08:37 +0100elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 256 seconds)
2020-12-02 00:08:55 +0100falafel__(~falafel@pool-71-182-130-97.pitbpa.fios.verizon.net) (Remote host closed the connection)
2020-12-02 00:09:36 +0100falafel(~falafel@pool-71-182-130-97.pitbpa.fios.verizon.net)
2020-12-02 00:10:32 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-12-02 00:10:50 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-12-02 00:13:54 +0100threadlock(~threadloc@s91904426.blix.com) (Remote host closed the connection)
2020-12-02 00:14:57 +0100neiluj(~jco@91-167-203-101.subs.proxad.net) (Quit: leaving)
2020-12-02 00:15:27 +0100xff0x(~fox@2001:1a81:52c4:e700:436e:8766:c72f:980) (Ping timeout: 260 seconds)
2020-12-02 00:15:31 +0100urek(~urek@2804:7f1:e10a:9644:710f:7948:6aa6:d2da) (Quit: urek)
2020-12-02 00:16:03 +0100xff0x(~fox@2001:1a81:52c4:e700:de91:e102:2d9b:dc8d)
2020-12-02 00:16:31 +0100conal(~conal@64.71.133.70)
2020-12-02 00:20:45 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-02 00:21:21 +0100ph88_(~ph88@2a02:8109:9e00:7e5c:51c4:aed6:17c7:3978) (Ping timeout: 272 seconds)
2020-12-02 00:25:31 +0100o1lo01ol1o(~o1lo01ol1@bl11-140-216.dsl.telepac.pt)
2020-12-02 00:25:37 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 256 seconds)
2020-12-02 00:27:40 +0100ChaiTRex(~ChaiTRex@gateway/tor-sasl/chaitrex) (Remote host closed the connection)
2020-12-02 00:28:33 +0100ChaiTRex(~ChaiTRex@gateway/tor-sasl/chaitrex)
2020-12-02 00:32:19 +0100gnu-linuxera(~kvirc@185.228.155.198)
2020-12-02 00:32:48 +0100tromp_(~tromp@dhcp-077-249-230-040.chello.nl)
2020-12-02 00:32:48 +0100oish(~charlie@228.25.169.217.in-addr.arpa)
2020-12-02 00:32:59 +0100conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2020-12-02 00:33:24 +0100SquidDev3(~SquidDev@autoclave.squiddev.cc)
2020-12-02 00:33:44 +0100SquidDev(~SquidDev@autoclave.squiddev.cc) (Read error: Connection reset by peer)
2020-12-02 00:33:44 +0100SquidDev3SquidDev
2020-12-02 00:33:55 +0100dopplergange(~dop@195.158.249.53) (Quit: ZNC 1.7.5 - https://znc.in)
2020-12-02 00:34:25 +0100Dykam(Dykam@dykam.nl) (Ping timeout: 240 seconds)
2020-12-02 00:34:25 +0100stiell(~stian@fsf/member/stiell) (Ping timeout: 240 seconds)
2020-12-02 00:34:26 +0100d_ed1(~d_ed@185.163.110.116)
2020-12-02 00:34:28 +0100solonarv(~solonarv@anancy-651-1-197-136.w109-217.abo.wanadoo.fr) (Ping timeout: 256 seconds)
2020-12-02 00:34:45 +0100tlaxkit(~kvirc@185.228.155.198) (Ping timeout: 240 seconds)
2020-12-02 00:34:45 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 240 seconds)
2020-12-02 00:35:21 +0100oish(~charlie@228.25.169.217.in-addr.arpa) (Read error: Connection reset by peer)
2020-12-02 00:35:33 +0100Dykam(Dykam@dykam.nl)
2020-12-02 00:35:39 +0100elfets_(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Quit: Leaving)
2020-12-02 00:35:56 +0100stiell(~stian@fsf/member/stiell)
2020-12-02 00:38:11 +0100chenshen(~chenshen@2620:10d:c090:400::5:368c)
2020-12-02 00:38:11 +0100chenshen(~chenshen@2620:10d:c090:400::5:368c) (Client Quit)
2020-12-02 00:41:29 +0100falafel(~falafel@pool-71-182-130-97.pitbpa.fios.verizon.net) (Ping timeout: 256 seconds)
2020-12-02 00:41:29 +0100frdg(~nick@pool-71-184-143-249.bstnma.fios.verizon.net) (Ping timeout: 256 seconds)
2020-12-02 00:43:00 +0100conal(~conal@64.71.133.70)
2020-12-02 00:44:47 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
2020-12-02 00:44:53 +0100frdg(~nick@pool-71-184-143-249.bstnma.fios.verizon.net)
2020-12-02 00:45:01 +0100frdg(~nick@pool-71-184-143-249.bstnma.fios.verizon.net) ()
2020-12-02 00:46:50 +0100jonatanb_(jonatanb@gateway/vpn/protonvpn/jonatanb)
2020-12-02 00:49:59 +0100jonatanb(jonatanb@gateway/vpn/protonvpn/jonatanb) (Ping timeout: 256 seconds)
2020-12-02 00:50:45 +0100Rudd0(~Rudd0@185.189.115.103) (Ping timeout: 240 seconds)
2020-12-02 00:51:24 +0100dhil(~dhil@openvpn-125-1006.inf.ed.ac.uk) (Ping timeout: 240 seconds)
2020-12-02 00:51:35 +0100hekkaidekapus_(~tchouri@gateway/tor-sasl/hekkaidekapus)
2020-12-02 00:51:47 +0100mivael(c16e4caa@193.110.76.170)
2020-12-02 00:53:23 +0100hekkaidekapus(~tchouri@gateway/tor-sasl/hekkaidekapus) (Ping timeout: 240 seconds)
2020-12-02 00:54:16 +0100Stanley00(~stanley00@unaffiliated/stanley00)
2020-12-02 00:54:47 +0100 <mivael> hello! I'm in doubt, please can someone help? Is it a right thing to say that Prelude.interact function IS NOT for (i.e. can not be used for) interactive input/output?
2020-12-02 00:56:23 +0100 <glguy> no
2020-12-02 00:56:52 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2020-12-02 00:57:54 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-02 00:58:22 +0100cosimone_(~cosimone@5.170.116.30)
2020-12-02 00:58:36 +0100hiroaki(~hiroaki@ip4d168e73.dynamic.kabel-deutschland.de) (Ping timeout: 240 seconds)
2020-12-02 00:59:28 +0100Stanley00(~stanley00@unaffiliated/stanley00) (Ping timeout: 272 seconds)
2020-12-02 01:01:25 +0100cosimone(~cosimone@93-47-228-249.ip115.fastwebnet.it) (Ping timeout: 240 seconds)
2020-12-02 01:01:25 +0100cosimone_cosimone
2020-12-02 01:02:16 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 240 seconds)
2020-12-02 01:02:40 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-12-02 01:04:04 +0100vfaronov(5f54d24e@broadband-95-84-210-78.ip.moscow.rt.ru) (Remote host closed the connection)
2020-12-02 01:04:47 +0100 <justsomeguy> interact is pretty useful for text filter utilities.
2020-12-02 01:05:01 +0100 <justsomeguy> I think that's the main intended use case.
2020-12-02 01:05:36 +0100anhydrite(~anhydrite@4e69b241.skybroadband.com) (Ping timeout: 240 seconds)
2020-12-02 01:07:43 +0100srk(~sorki@gateway/tor-sasl/sorki) (Ping timeout: 240 seconds)
2020-12-02 01:08:08 +0100DirefulSalt(DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt)
2020-12-02 01:09:10 +0100 <glguy> It can be used interactively, but it's not a great idea or easy to do
2020-12-02 01:09:20 +0100ihopeyoudieokfinesangy
2020-12-02 01:09:43 +0100DavidEichmann(~david@62.110.198.146.dyn.plus.net) (Ping timeout: 260 seconds)
2020-12-02 01:10:32 +0100 <glguy> mivael: https://paste.tomsmeding.com/M4WoY6OQ
2020-12-02 01:10:53 +0100rprije(~rprije@194-193-160-114.tpgi.com.au) (Ping timeout: 260 seconds)
2020-12-02 01:16:05 +0100bergey`(~user@107.181.19.30) (Ping timeout: 240 seconds)
2020-12-02 01:16:36 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-12-02 01:19:25 +0100triteraflops(~triterafl@host-208-96-90-136.public.eastlink.ca) (Ping timeout: 264 seconds)
2020-12-02 01:21:21 +0100srk(~sorki@gateway/tor-sasl/sorki)
2020-12-02 01:21:25 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2020-12-02 01:21:37 +0100da39a3ee5e6b4b0d(~da39a3ee5@mx-ll-171.5.161-165.dynamic.3bb.co.th)
2020-12-02 01:26:03 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 260 seconds)
2020-12-02 01:27:09 +0100zebrag(~inkbottle@aaubervilliers-654-1-77-32.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!)
2020-12-02 01:27:09 +0100chkno(~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer)
2020-12-02 01:27:19 +0100chkno(~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net)
2020-12-02 01:27:47 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-12-02 01:29:28 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 246 seconds)
2020-12-02 01:30:55 +0100cosimone(~cosimone@5.170.116.30) (Quit: cosimone)
2020-12-02 01:31:21 +0100zebrag(~inkbottle@aaubervilliers-654-1-77-32.w86-212.abo.wanadoo.fr)
2020-12-02 01:31:49 +0100balbirs(~balbirs__@bilbo.ozlabs.org) (Quit: ZNC 1.8.2+deb1 - https://znc.in)
2020-12-02 01:34:03 +0100jpds(~jpds@gateway/tor-sasl/jpds) (Ping timeout: 240 seconds)
2020-12-02 01:34:43 +0100gehmehgeh(~ircuser1@gateway/tor-sasl/gehmehgeh) (Ping timeout: 240 seconds)
2020-12-02 01:34:54 +0100da39a3ee5e6b4b0d(~da39a3ee5@mx-ll-171.5.161-165.dynamic.3bb.co.th) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-12-02 01:35:08 +0100jpds(~jpds@gateway/tor-sasl/jpds)
2020-12-02 01:35:20 +0100 <monochrom> I wonder what motivates the question. Is it an online exam question? I can only think of low-quality exams to ask such naïve black-and-white questions.
2020-12-02 01:36:49 +0100borne(~fritjof@200116b864506b008cdf581d4c1cc02f.dip.versatel-1u1.de) (Ping timeout: 244 seconds)
2020-12-02 01:39:26 +0100 <mivael> monochrom: no, that was mine. I was stuck, forgot to use (unlines), used (show) instead. I was not used (interact) for really interactive things, so started to question my knowledge :)
2020-12-02 01:39:28 +0100jmchael(~Chi1thang@87.112.60.168) (Ping timeout: 260 seconds)
2020-12-02 01:40:06 +0100 <monochrom> Then you did not question yourself enough.
2020-12-02 01:40:09 +0100 <mivael> glguy: thank you! sorry for the delay as well
2020-12-02 01:40:44 +0100alp_(~alp@88.126.45.36) (Remote host closed the connection)
2020-12-02 01:41:03 +0100 <monochrom> Your program mentioned "show", "interact", and I'm sure a dozen other functions.
2020-12-02 01:41:19 +0100 <monochrom> Why pick on interact? Why not pick on every one of them?
2020-12-02 01:41:25 +0100cheater1(~user@unaffiliated/cheater)
2020-12-02 01:41:33 +0100cheater(~user@unaffiliated/cheater) (Ping timeout: 256 seconds)
2020-12-02 01:41:39 +0100cheater1cheater
2020-12-02 01:41:51 +0100 <monochrom> "Is show suitable for output?" is as legit a question as "is interact suitable for I/O?"
2020-12-02 01:42:25 +0100 <monochrom> I respect questioning, I just can't respect biases.
2020-12-02 01:42:30 +0100 <mivael> monochrom: yes, I did not question myself enough, sorry for that
2020-12-02 01:42:37 +0100gehmehgeh(~ircuser1@gateway/tor-sasl/gehmehgeh)
2020-12-02 01:42:43 +0100superstar64(6ccefa7c@108-206-250-124.lightspeed.miamfl.sbcglobal.net)
2020-12-02 01:43:34 +0100 <superstar64> is there any way to derive the free monoid from the monoid laws, and if so can someone link me to some resources that do that?
2020-12-02 01:46:06 +0100 <mivael> monochrom: it was not a bias, it was a statement on which I hoped to get a "no" answer. But, indeed, I was too fast to ask without checking harder.
2020-12-02 01:48:06 +0100inkbottle(~inkbottle@aaubervilliers-654-1-157-224.w86-212.abo.wanadoo.fr)
2020-12-02 01:49:05 +0100zebrag(~inkbottle@aaubervilliers-654-1-77-32.w86-212.abo.wanadoo.fr) (Ping timeout: 240 seconds)
2020-12-02 01:50:05 +0100gehmehgeh(~ircuser1@gateway/tor-sasl/gehmehgeh) (Quit: Leaving)
2020-12-02 01:50:14 +0100 <mivael> monochrom: but I really checked the docs (and a couple of web search attempts) before asking -- and I could not find a clear statement about usage of (interact) except for non-interactive text filters
2020-12-02 01:50:51 +0100 <monochrom> If there were one, I wouldn't trust it. As always, the correct answer is "it depends". All other answers are wrong.
2020-12-02 01:51:12 +0100 <mivael> well, okay :)
2020-12-02 01:51:55 +0100stree_(~stree@50-108-92-113.adr01.mskg.mi.frontiernet.net)
2020-12-02 01:52:19 +0100z0k(~user@101.50.127.33) (Ping timeout: 256 seconds)
2020-12-02 01:52:44 +0100 <mivael> (unlines) is a key point for simple interactive use cases, as I understood it now
2020-12-02 01:53:14 +0100z0k(~user@101.50.127.33)
2020-12-02 01:53:14 +0100stree(~stree@50-108-97-52.adr01.mskg.mi.frontiernet.net) (Ping timeout: 256 seconds)
2020-12-02 01:53:33 +0100sleblanc(~sleblanc@unaffiliated/sebleblanc) (Quit: Leaving)
2020-12-02 01:53:51 +0100CMCDragonkai2(~Thunderbi@120.17.186.107) (Read error: Connection reset by peer)
2020-12-02 01:55:43 +0100Amras(~Amras@unaffiliated/amras) (Ping timeout: 272 seconds)
2020-12-02 01:56:10 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-12-02 01:57:13 +0100mputz(~Thunderbi@dslb-084-058-211-084.084.058.pools.vodafone-ip.de) (Ping timeout: 264 seconds)
2020-12-02 02:00:31 +0100jollygood2(~bc8165ab@217.29.117.252) (Quit: http://www.okay.uz/ (Session timeout))
2020-12-02 02:02:15 +0100Feuermagier_(~Feuermagi@213.178.26.41) (Quit: Leaving)
2020-12-02 02:03:46 +0100Deide(~Deide@217.155.19.23) (Quit: Seeee yaaaa)
2020-12-02 02:06:05 +0100jonatanb_(jonatanb@gateway/vpn/protonvpn/jonatanb) (Ping timeout: 240 seconds)
2020-12-02 02:07:20 +0100Aquazi(uid312403@gateway/web/irccloud.com/x-upkmxhtxsvcjopkm) (Quit: Connection closed for inactivity)
2020-12-02 02:09:13 +0100ezzieyguywuf(~wolfie@unaffiliated/ezzieyguywuf) (Remote host closed the connection)
2020-12-02 02:09:43 +0100mounty(~mounty@2001:8000:2f59:0:c056:3de3:d9b3:22a8)
2020-12-02 02:12:23 +0100Tuplanolla(~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.)
2020-12-02 02:13:10 +0100gnu-linuxera(~kvirc@185.228.155.198) (Quit: KVIrc 5.0.0 Aria http://www.kvirc.net/)
2020-12-02 02:17:35 +0100rcdilorenzo(~rcdiloren@cpe-76-182-87-188.nc.res.rr.com)
2020-12-02 02:19:32 +0100da39a3ee5e6b4b0d(~da39a3ee5@171.5.161.165)
2020-12-02 02:22:45 +0100rcdilorenzo(~rcdiloren@cpe-76-182-87-188.nc.res.rr.com) (Quit: rcdilorenzo)
2020-12-02 02:23:02 +0100rcdilorenzo(~rcdiloren@cpe-76-182-87-188.nc.res.rr.com)
2020-12-02 02:23:49 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2020-12-02 02:26:37 +0100cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 264 seconds)
2020-12-02 02:27:17 +0100rcdilorenzo(~rcdiloren@cpe-76-182-87-188.nc.res.rr.com) (Client Quit)
2020-12-02 02:27:32 +0100rcdilorenzo(~rcdiloren@cpe-76-182-87-188.nc.res.rr.com)
2020-12-02 02:29:56 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2020-12-02 02:42:34 +0100mivael(c16e4caa@193.110.76.170) (Ping timeout: 245 seconds)
2020-12-02 02:42:42 +0100Lord_of_Life(~Lord@unaffiliated/lord-of-life/x-0885362) (Ping timeout: 272 seconds)
2020-12-02 02:43:05 +0100Lord_of_Life(~Lord@46.217.220.157)
2020-12-02 02:45:18 +0100Wuzzy(~Wuzzy@p549c9976.dip0.t-ipconnect.de) (Remote host closed the connection)
2020-12-02 02:46:48 +0100cr3(~cr3@192-222-143-195.qc.cable.ebox.net) (Quit: leaving)
2020-12-02 02:51:05 +0100falafel(~falafel@pool-71-182-130-97.pitbpa.fios.verizon.net)
2020-12-02 02:52:08 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:690b:f4aa:bb1f:cfec) (Remote host closed the connection)
2020-12-02 02:54:00 +0100wei2912(~wei2912@unaffiliated/wei2912)
2020-12-02 02:54:13 +0100 <iqubic> Anyone know the time complexity of IntSet.fromList on an unsorted list?
2020-12-02 02:55:17 +0100miguel_clean(~Miguel@89-72-187-203.dynamic.chello.pl) (Quit: Leaving.)
2020-12-02 02:56:07 +0100anhydrite(~anhydrite@4e69b241.skybroadband.com)
2020-12-02 02:58:35 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-02 03:00:06 +0100 <koz_> O(n*min(n,W))
2020-12-02 03:00:15 +0100 <koz_> Where W is the word size of the platform in bits.
2020-12-02 03:00:52 +0100 <iqubic> Weird.
2020-12-02 03:00:58 +0100 <iqubic> That's so bizarre.
2020-12-02 03:01:12 +0100 <koz_> Why?
2020-12-02 03:01:16 +0100 <nshepperd> which doesn't really make sense as an asymptotic bound
2020-12-02 03:01:58 +0100 <nshepperd> i bet if you benchmark it on realistic values of n you get something else
2020-12-02 03:02:25 +0100 <ephemient> nah, I think it makes sense
2020-12-02 03:02:30 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-12-02 03:02:38 +0100andreas303(~andreas@gateway/tor-sasl/andreas303) (Remote host closed the connection)
2020-12-02 03:03:10 +0100 <iqubic> Well, I have a solution to part 1 of yesterday's Advent of Code that's O(n), if you already have an IntSet of the input, and something else if you don't.
2020-12-02 03:03:14 +0100 <ephemient> the patricia tree is somewhat fancier, but just imagine if you built a binary tree from each bit, MSB to LSB
2020-12-02 03:03:16 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 240 seconds)
2020-12-02 03:03:38 +0100 <koz_> It makes sense. Insert bound is min(n,W), and you've got n-many inserts.
2020-12-02 03:03:49 +0100 <koz_> It's maybe not as tight as it could be, but it's O, not Theta.
2020-12-02 03:05:23 +0100ericsagn1(~ericsagne@2405:6580:0:5100:ad64:8506:64d2:1c94) (Ping timeout: 272 seconds)
2020-12-02 03:07:18 +0100andreas303(~andreas@gateway/tor-sasl/andreas303)
2020-12-02 03:07:25 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2020-12-02 03:08:08 +0100tdammers(~tdammers@unaffiliated/tdammers) (Ping timeout: 260 seconds)
2020-12-02 03:08:12 +0100 <int-e> . o O ( W is constant )
2020-12-02 03:08:27 +0100tdammers(~tdammers@unaffiliated/tdammers)
2020-12-02 03:09:32 +0100 <ephemient> I mean, in some sense everything that terminates is O(number of states your physical hardware can be in), which is a finite number
2020-12-02 03:09:57 +0100 <ephemient> not super useful though
2020-12-02 03:10:23 +0100pieguy128(~pieguy128@bras-base-mtrlpq5031w-grc-39-70-27-244-102.dsl.bell.ca) (Read error: Connection reset by peer)
2020-12-02 03:10:28 +0100 <int-e> O(n*min(n,W)) looks like an abuse of big O to me, trying to convey more information than it rightfully can.
2020-12-02 03:10:55 +0100pieguy128(~pieguy128@bras-base-mtrlpq5031w-grc-39-70-27-244-102.dsl.bell.ca)
2020-12-02 03:12:16 +0100 <nshepperd2> nobody uses computers with asymptotically large values of W
2020-12-02 03:12:16 +0100 <koz_> int-e: Abuse of big-O is pretty much standard practice among algorithm analysis folks. :P
2020-12-02 03:12:42 +0100 <koz_> (they're even kind enough to admit it sometimes)
2020-12-02 03:12:46 +0100 <koz_> (thanks Fredkin trie)
2020-12-02 03:13:09 +0100 <iqubic> Wish me luck, as I'm going to be trying out the Haskell LSP.
2020-12-02 03:13:44 +0100 <int-e> koz_: I know. The sad thing is that I'm trying to convince myself that O(n*min(n,W)) should be replaced by O(n) and I can't. :P
2020-12-02 03:14:15 +0100 <koz_> int-e: I mean, I don't think it's _that_ bad, honestly. Taking W as a parameter that _isn't_ a constant is somewhat justifiable.
2020-12-02 03:14:39 +0100 <koz_> Yeah, it's not gonna grow without bound, fair.
2020-12-02 03:15:04 +0100thc202(~thc202@unaffiliated/thc202) (Ping timeout: 240 seconds)
2020-12-02 03:15:05 +0100 <int-e> Yeah it kind of is, and it conveys some information about the internal behavior.
2020-12-02 03:15:16 +0100falafel(~falafel@pool-71-182-130-97.pitbpa.fios.verizon.net) (Ping timeout: 260 seconds)
2020-12-02 03:15:50 +0100triteraflops(~triterafl@host-208-96-90-136.public.eastlink.ca)
2020-12-02 03:15:50 +0100 <int-e> anyway... maybe I can find another bikeshed to choose a color for.
2020-12-02 03:16:04 +0100 <koz_> What bothers me more is that we have IntSet and not EnumSet. Although I guess _that_ would require Enum to not be a tyre fire.
2020-12-02 03:16:16 +0100 <koz_> (see also IntMap versus EnumMap)
2020-12-02 03:16:21 +0100 <int-e> koz_: I give you... Floats.
2020-12-02 03:16:41 +0100 <koz_> int-e: What of them? The fact they have instances that lie to your face isn't unique to Enum.
2020-12-02 03:16:46 +0100 <koz_> (assuming they have one)
2020-12-02 03:17:11 +0100drbean(~drbean@TC210-63-209-208.static.apol.com.tw)
2020-12-02 03:17:15 +0100 <ephemient> > 0/0 == 0/0
2020-12-02 03:17:17 +0100 <lambdabot> False
2020-12-02 03:17:30 +0100ericsagn1(~ericsagne@2405:6580:0:5100:d83e:9e9c:25a6:e9a5)
2020-12-02 03:17:33 +0100 <int-e> koz_: Somehow, Ix is perhaps the better class for this purpose.
2020-12-02 03:17:39 +0100rprije(~rprije@203.214.94.91)
2020-12-02 03:17:50 +0100 <int-e> (The Data.Array one)
2020-12-02 03:18:19 +0100 <koz_> int-e: Except Ix is no saint either.
2020-12-02 03:18:30 +0100 <koz_> (look at 'index')
2020-12-02 03:18:31 +0100 <int-e> better != perfect
2020-12-02 03:19:10 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8)
2020-12-02 03:19:17 +0100 <koz_> I honestly dislike them both intensely.
2020-12-02 03:19:26 +0100 <koz_> They could both be better both in design and in implementation.
2020-12-02 03:19:34 +0100koz_looks at Enum instance for Word and sighs.
2020-12-02 03:19:42 +0100 <int-e> Wat about index? Oh you're one of those people who dislike partial functions.
2020-12-02 03:19:48 +0100koz_then also notes the Ix instance for Word has the same problem.
2020-12-02 03:20:02 +0100 <koz_> Uhh, yeah, I don't think disliking partiality is _that_ controversial.
2020-12-02 03:20:11 +0100 <Vulfe> partial functions aren't even functions at all >:~(
2020-12-02 03:20:21 +0100 <koz_> Vulfe: Abuse of nomenclature, yes. :P
2020-12-02 03:21:07 +0100 <int-e> koz_: Doesn't change the fact that I had to sit back and think for a moment to figure out what the issue is.
2020-12-02 03:21:19 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-12-02 03:21:29 +0100 <koz_> int-e: Sorry if I wasn't specific - it practically leaps at my face and tries to eat it.
2020-12-02 03:21:40 +0100Jonkimi727406120(~Jonkimi@119.123.243.225)
2020-12-02 03:22:33 +0100 <int-e> koz_: And I do think it is controversial... the controversy is not about whether partial functions can be dangerous, but about the amount of inconvenience people are willing to accept in order to avoid it.
2020-12-02 03:23:06 +0100 <int-e> I also hardly ever use Ix methods directly.
2020-12-02 03:23:57 +0100bitmagie(~Thunderbi@200116b806cac600055ef8926da547c5.dip.versatel-1u1.de)
2020-12-02 03:24:14 +0100 <koz_> If you don't give me a total alternative, inconvenience or none, I'm calling shenanigans.
2020-12-02 03:24:48 +0100 <koz_> If you want to have unsafeCanExplodeInYourFaceDoWhatever, you can - just give us the option to use something which won't.
2020-12-02 03:25:03 +0100superstar64(6ccefa7c@108-206-250-124.lightspeed.miamfl.sbcglobal.net) (Remote host closed the connection)
2020-12-02 03:25:49 +0100drbean(~drbean@TC210-63-209-208.static.apol.com.tw) (Ping timeout: 256 seconds)
2020-12-02 03:26:21 +0100xff0x(~fox@2001:1a81:52c4:e700:de91:e102:2d9b:dc8d) (Ping timeout: 244 seconds)
2020-12-02 03:28:17 +0100xff0x(~fox@2001:1a81:5348:9f00:6dc0:7df:3cf:92d4)
2020-12-02 03:28:38 +0100dyeplexer(~lol@unaffiliated/terpin)
2020-12-02 03:29:43 +0100srk(~sorki@gateway/tor-sasl/sorki) (Ping timeout: 240 seconds)
2020-12-02 03:33:27 +0100 <justsomeguy> How do you avoid partial functions? Do you just know which ones in Prelude are partial by heart, or use an alternate Prelude, or...?
2020-12-02 03:33:55 +0100 <int-e> justsomeguy: You just work in the Maybe applicative at all times
2020-12-02 03:34:22 +0100 <int-e> Or you define dozens of new types to capture various properties of the values.
2020-12-02 03:34:29 +0100BlackCapCoder(~blackcap@48.80-203-23.nextgentel.com)
2020-12-02 03:34:31 +0100 <koz_> justsomeguy: More seriously, you can have alternatives to the partials, depending on the partial.
2020-12-02 03:34:42 +0100 <koz_> It's not a one-size-fits-all solution.
2020-12-02 03:35:51 +0100 <koz_> There are cases where partiality is hard, inefficient or awkward to avoid though.
2020-12-02 03:37:03 +0100 <int-e> koz_: fwiw, I do agree that there should be a Maybe version of index in Data.Array, probably in the Ix class itself.
2020-12-02 03:37:26 +0100 <int-e> (even though you can implement it using inRange and index)
2020-12-02 03:37:39 +0100 <koz_> int-e: And FWIW, I don't think paranoid evasion of all partiality under all circumstances is a worthwhile thing.
2020-12-02 03:37:46 +0100 <koz_> It seems nuance _does_ exist, lol. :P
2020-12-02 03:38:11 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-12-02 03:38:43 +0100 <int-e> I suspect Ix was designed for efficiency in a context where people felt that Bool can get special treatment to be cheap... while pattern matching a Maybe result was awkward.
2020-12-02 03:39:09 +0100 <koz_> Does Bool get special treatment to be cheap in that setting though?
2020-12-02 03:39:12 +0100 <int-e> (That's speculation, of course. But it seems plausible to me.)
2020-12-02 03:39:24 +0100 <koz_> I mean, yeah, it _could_ I guess, but I don't think that ever happened.
2020-12-02 03:39:46 +0100 <int-e> For ghc, pattern matchin a Maybe or a Bool shouldn't make much of a difference.
2020-12-02 03:40:30 +0100 <int-e> No clue what the story was for hugs, which was still relevant when Ix was designed.
2020-12-02 03:40:50 +0100 <int-e> (And probably nhc as well.)
2020-12-02 03:40:52 +0100triteraflops(~triterafl@host-208-96-90-136.public.eastlink.ca) (Quit: Lost terminal)
2020-12-02 03:40:56 +0100 <koz_> Also, is there any particular reason why indexes are Int everywhere in Haskell?
2020-12-02 03:41:25 +0100 <int-e> Well when you index an Array...
2020-12-02 03:41:53 +0100 <int-e> It's efficiency again; the overhead for big integers is real.
2020-12-02 03:42:01 +0100 <ephemient> if you're indexing in-memory data structures, you're not going to be able to use indices larger than it anyway… so might as well use Int, I guess
2020-12-02 03:42:06 +0100 <int-e> And yes, that means we have overflows.
2020-12-02 03:42:32 +0100 <koz_> The thing is, negative indexes don't make much sense - why not Word?
2020-12-02 03:42:47 +0100 <int-e> Did we have Word?
2020-12-02 03:42:57 +0100 <iqubic> In the beginning there was the Word.
2020-12-02 03:42:58 +0100srk(~sorki@gateway/tor-sasl/sorki)
2020-12-02 03:43:02 +0100 <ephemient> Word doesn't exist in Haskell 98
2020-12-02 03:43:12 +0100 <koz_> ephemient: What about 2010?
2020-12-02 03:43:41 +0100 <ephemient> 2010, yes
2020-12-02 03:44:06 +0100 <int-e> 1998: Numeric types: Int, Integer, Float, Double. The semantics of these instances is given next.
2020-12-02 03:44:32 +0100 <koz_> So, hysterical raisins. Got it. :D
2020-12-02 03:44:34 +0100 <int-e> Ix is a Haskell 98 class and nobody changed it in the meantime.
2020-12-02 03:44:37 +0100 <monochrom> Indexes also participate in subtractions in which sometimes an intemediate negative number makes sense.
2020-12-02 03:44:39 +0100Stanley00(~stanley00@unaffiliated/stanley00)
2020-12-02 03:45:05 +0100 <monochrom> I mean in the rest of a program.
2020-12-02 03:45:12 +0100 <int-e> (Possibly even older?)
2020-12-02 03:45:32 +0100 <koz_> monochrom: Is this like size_t versus ptrdiff_t in C?
2020-12-02 03:45:36 +0100 <monochrom> This I learned from geekosaur or glguy, I forgot which.
2020-12-02 03:45:37 +0100 <int-e> Yeah, I'd agree that subtracting indices is common.
2020-12-02 03:45:43 +0100jollygood2(~bc8165ab@217.29.117.252)
2020-12-02 03:45:52 +0100 <int-e> And we don't have implicit conversions to make that bearable. :P
2020-12-02 03:46:53 +0100 <int-e> But the fact that we didn't have Word in Haskell 98 is quite interesting :)
2020-12-02 03:48:12 +0100 <monochrom> and that after we have Word, it took another decade before the symmetry Int : Word :: Integer : Natural was completed.
2020-12-02 03:48:50 +0100m0rphism(~m0rphism@HSI-KBW-095-208-098-207.hsi5.kabel-badenwuerttemberg.de) (Ping timeout: 256 seconds)
2020-12-02 03:48:51 +0100 <monochrom> It's like someone really needed a larger collider to finally nail the Higgs boson.
2020-12-02 03:49:11 +0100 <dminuoso> What does `Int : Word :: Integer : Natural` denote?
2020-12-02 03:49:13 +0100 <monochrom> and so late that when it was done, no one cared any more.
2020-12-02 03:49:29 +0100 <monochrom> analogical symmetry
2020-12-02 03:49:42 +0100 <dminuoso> As in "Int is to Word as Integer is to Natural"?
2020-12-02 03:49:42 +0100 <ephemient> nat is unbounded non-negative, word is bounded non-negative
2020-12-02 03:49:48 +0100 <monochrom> yes
2020-12-02 03:49:56 +0100zebrag(~inkbottle@aaubervilliers-654-1-118-216.w86-198.abo.wanadoo.fr)
2020-12-02 03:50:06 +0100 <int-e> ...so Integer has half the positive range of Natural...
2020-12-02 03:50:24 +0100 <monochrom> I think you worded that wrong :)
2020-12-02 03:50:38 +0100 <dminuoso> Speaking of that.. I see very little use of Word or Natural around..
2020-12-02 03:50:42 +0100 <monochrom> Also Hilbert's Hotel taught us that it's tricky to say "half"...
2020-12-02 03:51:09 +0100 <int-e> monochrom: no, it's really easy :)
2020-12-02 03:51:11 +0100 <monochrom> I am dirty-minded, I use Hilbert's Brothel instead.
2020-12-02 03:51:18 +0100 <int-e> monochrom: it just doesn't affect the cardinality
2020-12-02 03:51:18 +0100inkbottle(~inkbottle@aaubervilliers-654-1-157-224.w86-212.abo.wanadoo.fr) (Ping timeout: 260 seconds)
2020-12-02 03:51:41 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2020-12-02 03:51:54 +0100 <monochrom> Oh haha I now get your joke.
2020-12-02 03:51:56 +0100 <int-e> . o O ( actually it's super easy, barely an inconvenience )
2020-12-02 03:52:12 +0100 <koz_> What Hilbert's Hospitality Establishment taught us is 'infinity is one hell of a drug'.
2020-12-02 03:55:14 +0100joaj(~joaj@2001:818:e326:8200:5273:55b7:3a86:e6ca) (Ping timeout: 264 seconds)
2020-12-02 03:55:42 +0100falafel(~falafel@pool-71-182-130-97.pitbpa.fios.verizon.net)
2020-12-02 03:55:43 +0100 <BlackCapCoder> Is Unfoldable related to Traversable? https://gist.github.com/BlackCapCoder/4e33bd44bd01b5c99535712bfdaeb4d4
2020-12-02 03:55:51 +0100joaj(~joaj@2001:818:e326:8200:9fc:6bde:c18a:1771)
2020-12-02 03:56:08 +0100iqubic(~user@2601:602:9500:4870:d783:bda7:f9aa:ba36) (Remote host closed the connection)
2020-12-02 03:56:34 +0100 <koz_> Only in the way Foldable is.
2020-12-02 03:56:46 +0100 <dminuoso> BlackCapCoder: Yes.
2020-12-02 03:57:10 +0100 <BlackCapCoder> How? Is it weaker or stronger?
2020-12-02 03:57:17 +0100 <dminuoso> Different.
2020-12-02 03:57:46 +0100 <koz_> dminuoso: I wonder what an Untraversable (or some better name) would look like.
2020-12-02 03:58:43 +0100 <BlackCapCoder> Foldr has a traversable instance (basically just []), so Foldable + Unfoldable => Traversable
2020-12-02 03:59:43 +0100 <koz_> BlackCapCoder: Can you implement a lawful traverse method given Foldable and Unfoldable only? What would it look like?
2020-12-02 03:59:44 +0100iqubic(~user@2601:602:9500:4870:d783:bda7:f9aa:ba36)
2020-12-02 03:59:50 +0100 <dminuoso> BlackCapCoder: It's hard to reason about Unfoldable, it doesn't seem to come with any laws. At least none are listed.
2020-12-02 04:01:51 +0100 <BlackCapCoder> hold on, let me try to extract that from my spagetti
2020-12-02 04:02:51 +0100 <dminuoso> BlackCapCoder: The thing is, there's this notion how Traversable lets you fill an existing structure from a list.
2020-12-02 04:03:14 +0100jonatanb(jonatanb@gateway/vpn/protonvpn/jonatanb)
2020-12-02 04:03:33 +0100 <dminuoso> (This thinking brings you into lens-land)
2020-12-02 04:04:39 +0100 <BlackCapCoder> koz_: http://termbin.com/0p4k
2020-12-02 04:05:38 +0100 <BlackCapCoder> (the traversable instance is copy/paste from [] in base)
2020-12-02 04:06:26 +0100 <koz_> BlackCapCoder: That's not quite what I meant. As I read your claim, you say that for any 'f', Foldable f and Unfoldable f imply Traversable f.
2020-12-02 04:06:31 +0100 <koz_> Did I misunderstand?
2020-12-02 04:07:18 +0100 <dminuoso> Id say that holds true
2020-12-02 04:07:21 +0100 <dminuoso> given what I just said
2020-12-02 04:07:25 +0100jonatanb(jonatanb@gateway/vpn/protonvpn/jonatanb) (Ping timeout: 240 seconds)
2020-12-02 04:07:42 +0100 <BlackCapCoder> right, but we can freely convert from/to Foldr
2020-12-02 04:07:51 +0100 <BlackCapCoder> tail = unfold . foldrTail . unfold
2020-12-02 04:08:02 +0100 <BlackCapCoder> This is going through Foldr
2020-12-02 04:08:39 +0100 <dminuoso> So in lens the idea is that a `Traversal s t a b` is handwavingly equivalent to a pair of functions `contents :: S -> A^n` and `fill :: S*B^n -> T`
2020-12-02 04:08:56 +0100 <dminuoso> With some constraints on the n, namely that it must match the length of the container
2020-12-02 04:09:26 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-12-02 04:09:32 +0100 <dminuoso> That justified van Laarhovens representation of `data FunList a b t = Done t | More a (FunList a b (b -> t))`
2020-12-02 04:09:49 +0100 <dminuoso> BlackCapCoder: Does that make any sense?
2020-12-02 04:10:26 +0100darjeeling_(~darjeelin@115.215.41.204) (Ping timeout: 256 seconds)
2020-12-02 04:10:40 +0100adm_(~adm@117.230.23.38)
2020-12-02 04:11:05 +0100 <BlackCapCoder> It makes some sence
2020-12-02 04:11:14 +0100 <BlackCapCoder> I never got into lens
2020-12-02 04:11:33 +0100 <dminuoso> % :i Traversal
2020-12-02 04:11:34 +0100 <yahb> dminuoso: type role ReifiedTraversal representational nominal representational nominal; type ReifiedTraversal :: * -> * -> * -> * -> *; newtype ReifiedTraversal s t a b = Traversal {...}; -- Defined in `Control.Lens.Reified'; type Traversal :: * -> * -> * -> * -> *; type Traversal s t a b = forall (f :: * -> *). Applicative f => (a -> f b) -> s -> f t; -- Defined in `Control.Lens.Type'
2020-12-02 04:11:52 +0100 <dminuoso> So the term Traversal really is the same as a given traverse
2020-12-02 04:11:55 +0100 <dminuoso> % :t traverse
2020-12-02 04:11:56 +0100 <yahb> dminuoso: (Traversable t, Applicative f) => (a -> f b) -> t a -> f (t b)
2020-12-02 04:12:05 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2020-12-02 04:12:07 +0100 <dminuoso> Almost
2020-12-02 04:12:27 +0100 <dminuoso> Well not quite the same, but traverse is a valid Traversal
2020-12-02 04:12:57 +0100revprez_anzio(~revprez_a@pool-108-49-213-40.bstnma.fios.verizon.net) (Read error: Connection reset by peer)
2020-12-02 04:13:07 +0100revprez_anzio(~revprez_a@pool-108-49-213-40.bstnma.fios.verizon.net)
2020-12-02 04:13:33 +0100 <dminuoso> So to say a structure is Traversable means there exists a canonical Traversal for it. IOWs we can pack it to a list, modify it it and fill it back
2020-12-02 04:13:56 +0100 <dminuoso> And indeed, we can do
2020-12-02 04:14:38 +0100adm_(~adm@117.230.23.38) (Remote host closed the connection)
2020-12-02 04:16:01 +0100 <dminuoso> % traverse %~ (+1) $ [1,2,3]
2020-12-02 04:16:01 +0100 <yahb> dminuoso: [2,3,4]
2020-12-02 04:16:04 +0100 <dminuoso> Doing just that
2020-12-02 04:16:19 +0100urodna(~urodna@unaffiliated/urodna) (Quit: urodna)
2020-12-02 04:16:35 +0100 <dminuoso> % traverse.traverse %~ (+1) $ [[1,2,3],[10,20,30]]
2020-12-02 04:16:35 +0100 <yahb> dminuoso: [[2,3,4],[11,21,31]]
2020-12-02 04:16:47 +0100 <dminuoso> BlackCapCoder: Does that example help?
2020-12-02 04:20:05 +0100 <BlackCapCoder> There's a functional perl that implements a zipper for any traversable. I think lens is like that
2020-12-02 04:23:08 +0100 <BlackCapCoder> and that is indeed very similar to what I am doing with my Unfoldable
2020-12-02 04:24:33 +0100jonatanb(jonatanb@gateway/vpn/protonvpn/jonatanb)
2020-12-02 04:25:01 +0100 <dminuoso> BlackCapCoder: Mmm the relationship between zippers and traversals is not immediately obvious to me.
2020-12-02 04:25:05 +0100 <dminuoso> What did you have in mind exactly?
2020-12-02 04:26:14 +0100 <BlackCapCoder> http://okmij.org/ftp/continuations/zipper.html
2020-12-02 04:26:22 +0100 <dminuoso> I understand what a zipper is
2020-12-02 04:27:00 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2020-12-02 04:27:03 +0100 <dminuoso> I guess it makes sense when you think of a zipper as a suspended traversal
2020-12-02 04:27:14 +0100 <BlackCapCoder> data FunList a b t = Done t | More a (FunList a b (b -> t))
2020-12-02 04:27:19 +0100 <BlackCapCoder> data Zipper t a = ZDone (t a) | Z a (Maybe a -> Zipper t a)
2020-12-02 04:27:27 +0100vg(~vg@139.59.59.230) (Quit: vg)
2020-12-02 04:27:43 +0100vg(~vg@139.59.59.230)
2020-12-02 04:27:51 +0100 <dminuoso> BlackCapCoder: These types are subtly different here.
2020-12-02 04:27:51 +0100Gurkenglas(~Gurkengla@unaffiliated/gurkenglas)
2020-12-02 04:27:57 +0100vg(~vg@139.59.59.230) (Remote host closed the connection)
2020-12-02 04:27:59 +0100 <dminuoso> Note that FunList is an irregular type?
2020-12-02 04:28:08 +0100vg(~vg@139.59.59.230)
2020-12-02 04:28:50 +0100 <dminuoso> Although there is a striking resemblence.
2020-12-02 04:29:06 +0100jonatanb(jonatanb@gateway/vpn/protonvpn/jonatanb) (Ping timeout: 272 seconds)
2020-12-02 04:29:42 +0100 <BlackCapCoder> What do you mean by irregular?
2020-12-02 04:29:59 +0100 <dminuoso> data FunList a b t = Done t | More a (FunList a b (b -> t))
2020-12-02 04:30:08 +0100 <dminuoso> See how the third parameter changes at each depth?
2020-12-02 04:31:36 +0100falafel_(~falafel@pool-71-182-130-97.pitbpa.fios.verizon.net)
2020-12-02 04:33:17 +0100 <siraben> Is there a foldr/scanl fusion law?
2020-12-02 04:33:18 +0100 <siraben> `bar l = foldr (\a b -> max (process a) b) 0 (scanl go (0, 0, head l, 0, Flat) (tail l))`
2020-12-02 04:33:51 +0100 <BlackCapCoder> so we are building up a list by consing functions essentially
2020-12-02 04:34:23 +0100falafel(~falafel@pool-71-182-130-97.pitbpa.fios.verizon.net) (Ping timeout: 256 seconds)
2020-12-02 04:34:32 +0100 <dminuoso> BlackCapCoder: the length of the list defines the final function
2020-12-02 04:34:41 +0100 <BlackCapCoder> got it
2020-12-02 04:34:44 +0100dopplergange(~dop@195.158.249.53)
2020-12-02 04:35:06 +0100lagothrixGuest5268
2020-12-02 04:35:07 +0100Guest5268(~lagothrix@unaffiliated/lagothrix) (Killed (card.freenode.net (Nickname regained by services)))
2020-12-02 04:35:12 +0100lagothrix(~lagothrix@unaffiliated/lagothrix)
2020-12-02 04:35:25 +0100 <dminuoso> let x1 = Done 'c'; x2 = More 'c' (Done toUpper); etc..
2020-12-02 04:37:52 +0100theDon(~td@94.134.91.186) (Ping timeout: 260 seconds)
2020-12-02 04:39:14 +0100argent0(~argent0@168.227.97.23)
2020-12-02 04:39:34 +0100theDon(~td@94.134.91.130)
2020-12-02 04:41:40 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-12-02 04:42:41 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-12-02 04:42:57 +0100 <sshine> siraben, as in, if it can exist or if it's embedded in base?
2020-12-02 04:43:56 +0100 <siraben> Found it, it's in "Algebra Identities for Program Calculation"
2020-12-02 04:44:03 +0100 <siraben> sshine: I just forgot the law and hlint doesn't appear to suggest it
2020-12-02 04:44:10 +0100 <siraben> Very useful law
2020-12-02 04:44:30 +0100zaquest(~notzaques@5.128.210.178) (Quit: Leaving)
2020-12-02 04:46:48 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-02 04:48:13 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds)
2020-12-02 04:48:27 +0100vg(~vg@139.59.59.230) (Quit: vg)
2020-12-02 04:48:33 +0100 <siraben> HECK YES, after a long calculation, managed to derive the efficient linear time solution from the naive one
2020-12-02 04:48:42 +0100vg(~vg@139.59.59.230)
2020-12-02 04:48:59 +0100vg(~vg@139.59.59.230) (Remote host closed the connection)
2020-12-02 04:49:09 +0100vg(~vg@139.59.59.230)
2020-12-02 04:50:26 +0100Alleria_(~AllahuAkb@2604:2000:1484:26:9189:9740:2cd9:fac9) (Ping timeout: 264 seconds)
2020-12-02 04:51:13 +0100zaquest(~notzaques@5.128.210.178)
2020-12-02 04:51:55 +0100olligobber(olligobber@gateway/vpn/privateinternetaccess/olligobber)
2020-12-02 04:51:56 +0100 <jle`> heck yeaaa
2020-12-02 04:53:44 +0100bitmagie(~Thunderbi@200116b806cac600055ef8926da547c5.dip.versatel-1u1.de) (Quit: bitmagie)
2020-12-02 04:54:27 +0100vg(~vg@139.59.59.230) (Quit: vg)
2020-12-02 04:54:43 +0100vg(~vg@139.59.59.230)
2020-12-02 04:54:58 +0100vg(~vg@139.59.59.230) (Remote host closed the connection)
2020-12-02 04:55:00 +0100howdoi(uid224@gateway/web/irccloud.com/x-ynxizjcdcvtgzlrl) (Quit: Connection closed for inactivity)
2020-12-02 04:55:13 +0100vg(~vg@139.59.59.230)
2020-12-02 04:56:15 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2020-12-02 04:56:40 +0100conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2020-12-02 04:57:48 +0100Jonkimi727406120(~Jonkimi@119.123.243.225) (Ping timeout: 260 seconds)
2020-12-02 04:58:31 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-12-02 05:00:26 +0100Rudd0(~Rudd0@185.189.115.108)
2020-12-02 05:00:27 +0100vg(~vg@139.59.59.230) (Quit: vg)
2020-12-02 05:00:38 +0100joaj(~joaj@2001:818:e326:8200:9fc:6bde:c18a:1771) (Ping timeout: 264 seconds)
2020-12-02 05:00:44 +0100vg(~vg@139.59.59.230)
2020-12-02 05:00:57 +0100vg(~vg@139.59.59.230) (Remote host closed the connection)
2020-12-02 05:01:08 +0100vg(~vg@139.59.59.230)
2020-12-02 05:01:18 +0100vg(~vg@139.59.59.230) (Remote host closed the connection)
2020-12-02 05:01:39 +0100vg(~vg@139.59.59.230)
2020-12-02 05:01:58 +0100Stanley00(~stanley00@unaffiliated/stanley00) (Remote host closed the connection)
2020-12-02 05:02:23 +0100srk(~sorki@gateway/tor-sasl/sorki) (Remote host closed the connection)
2020-12-02 05:03:04 +0100srk(~sorki@gateway/tor-sasl/sorki)
2020-12-02 05:05:45 +0100 <siraben> note to self, useful theorems for program calculation: foldr/map fusion, Horner's rule, scanl/foldl fusion, scan lemmas, foldr -> foldl if binop is associative, and of course the usual list functor laws
2020-12-02 05:07:02 +0100vg(~vg@139.59.59.230) (Quit: vg)
2020-12-02 05:07:03 +0100 <siraben> Some of these are in hlint but only in one direction (e.g. map f . map g → map (f . g))
2020-12-02 05:07:18 +0100vg(~vg@139.59.59.230)
2020-12-02 05:07:33 +0100vg(~vg@139.59.59.230) (Remote host closed the connection)
2020-12-02 05:07:44 +0100vg(~vg@139.59.59.230)
2020-12-02 05:07:45 +0100rcdilorenzo(~rcdiloren@cpe-76-182-87-188.nc.res.rr.com) (Quit: rcdilorenzo)
2020-12-02 05:07:56 +0100vg(~vg@139.59.59.230) (Remote host closed the connection)
2020-12-02 05:08:03 +0100rcdilorenzo(~rcdiloren@cpe-76-182-87-188.nc.res.rr.com)
2020-12-02 05:11:22 +0100jonatanb(jonatanb@gateway/vpn/protonvpn/jonatanb)
2020-12-02 05:11:52 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2020-12-02 05:12:17 +0100rcdilorenzo(~rcdiloren@cpe-76-182-87-188.nc.res.rr.com) (Client Quit)
2020-12-02 05:12:34 +0100rcdilorenzo(~rcdiloren@cpe-76-182-87-188.nc.res.rr.com)
2020-12-02 05:14:47 +0100 <iqubic> What's Horner's rule?
2020-12-02 05:15:25 +0100 <iqubic> I know what a Horner form is for a polynomial, but I fail to see how that's useful here.
2020-12-02 05:15:52 +0100 <koz_> siraben: In the case of that _particular_ rule, it's not commonly useful to 'un-fuse' versus 'fuse'.
2020-12-02 05:15:58 +0100jonatanb(jonatanb@gateway/vpn/protonvpn/jonatanb) (Ping timeout: 272 seconds)
2020-12-02 05:16:35 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-12-02 05:16:43 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
2020-12-02 05:17:07 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-02 05:17:28 +0100 <iqubic> Yeah, going from "map (f . g)" to "map f . map g" isn't too useful.
2020-12-02 05:17:42 +0100 <iqubic> Does this rule hold for all functors, if you switch to fmap?
2020-12-02 05:17:47 +0100conal(~conal@64.71.133.70)
2020-12-02 05:18:02 +0100 <iqubic> Yes. This is a basic functor law.
2020-12-02 05:18:25 +0100 <koz_> It's actually implied by parametricity from 'fmap id = id'.
2020-12-02 05:18:33 +0100EyalSK(~EyalSK@bzq-84-109-128-227.red.bezeqint.net)
2020-12-02 05:18:39 +0100EyalSK(~EyalSK@bzq-84-109-128-227.red.bezeqint.net) (Remote host closed the connection)
2020-12-02 05:18:47 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-12-02 05:18:59 +0100 <iqubic> Oh, is this one of the theorems for free type things?
2020-12-02 05:20:37 +0100plutoniix(~q@ppp-223-24-162-25.revip6.asianet.co.th)
2020-12-02 05:22:12 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 260 seconds)
2020-12-02 05:22:44 +0100jchia(~jchia@58.32.35.67) (Read error: Connection reset by peer)
2020-12-02 05:24:33 +0100Saukk(~Saukk@2001:998:f9:2914:1c59:9bb5:b94c:4)
2020-12-02 05:24:43 +0100conal_(~conal@107.181.166.176)
2020-12-02 05:24:49 +0100conal(~conal@64.71.133.70) (Ping timeout: 264 seconds)
2020-12-02 05:24:52 +0100jchia(~jchia@58.32.35.67)
2020-12-02 05:25:29 +0100rprije(~rprije@203.214.94.91) (Quit: Leaving)
2020-12-02 05:25:31 +0100Jonkimi727406120(~Jonkimi@119.123.243.225)
2020-12-02 05:26:33 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-02 05:26:37 +0100polyphem(~p0lyph3m@2a02:810d:640:776c:76d7:55f6:f85b:c889) (Ping timeout: 272 seconds)
2020-12-02 05:27:16 +0100falafel_(~falafel@pool-71-182-130-97.pitbpa.fios.verizon.net) (Ping timeout: 240 seconds)
2020-12-02 05:29:55 +0100Jonkimi727406120(~Jonkimi@119.123.243.225) (Ping timeout: 246 seconds)
2020-12-02 05:35:06 +0100blankhart(~blankhart@c-71-232-98-152.hsd1.ma.comcast.net)
2020-12-02 05:35:15 +0100darjeeling_(~darjeelin@112.16.171.8)
2020-12-02 05:36:38 +0100iqubic(~user@2601:602:9500:4870:d783:bda7:f9aa:ba36) (Ping timeout: 264 seconds)
2020-12-02 05:36:56 +0100iqubic(~user@c-67-171-38-72.hsd1.wa.comcast.net)
2020-12-02 05:42:44 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2020-12-02 05:46:05 +0100xelxebar(~xelxebar@gateway/tor-sasl/xelxebar) (Remote host closed the connection)
2020-12-02 05:46:42 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2020-12-02 05:46:58 +0100xelxebar(~xelxebar@gateway/tor-sasl/xelxebar)
2020-12-02 05:50:48 +0100electricityZZZZ(~electrici@108-216-157-17.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 272 seconds)
2020-12-02 05:53:29 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-12-02 05:54:48 +0100hexfive(~hexfive@50-47-142-195.evrt.wa.frontiernet.net) (Quit: i must go. my people need me.)
2020-12-02 05:56:54 +0100Sheilong(uid293653@gateway/web/irccloud.com/x-awydjlcjvlqxqotf) ()
2020-12-02 05:57:45 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
2020-12-02 05:58:10 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-02 05:58:49 +0100Jonkimi727406120(~Jonkimi@119.123.243.225)
2020-12-02 06:01:27 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) (Remote host closed the connection)
2020-12-02 06:02:09 +0100Stanley00(~stanley00@unaffiliated/stanley00)
2020-12-02 06:02:59 +0100boxscape(54a35f37@gateway/web/cgi-irc/kiwiirc.com/ip.84.163.95.55)
2020-12-02 06:03:00 +0100Saukk(~Saukk@2001:998:f9:2914:1c59:9bb5:b94c:4) (Remote host closed the connection)
2020-12-02 06:03:05 +0100Jonkimi727406120(~Jonkimi@119.123.243.225) (Ping timeout: 240 seconds)
2020-12-02 06:03:13 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 264 seconds)
2020-12-02 06:06:24 +0100 <siraben> iqubic: indeed
2020-12-02 06:06:38 +0100 <siraben> theorems for free is a great paper, I read it recently
2020-12-02 06:07:19 +0100pfurla(~pfurla@ool-182ed2e2.dyn.optonline.net) (Ping timeout: 256 seconds)
2020-12-02 06:08:25 +0100Maxdamantus(~Maxdamant@unaffiliated/maxdamantus) (Ping timeout: 240 seconds)
2020-12-02 06:08:40 +0100pfurla(~pfurla@216.151.180.165)
2020-12-02 06:09:43 +0100ezzieyguywuf(~Unknown@unaffiliated/ezzieyguywuf)
2020-12-02 06:10:28 +0100Maxdamantus(~Maxdamant@unaffiliated/maxdamantus)
2020-12-02 06:10:29 +0100rayyyy(~nanoz@gateway/tor-sasl/nanoz)
2020-12-02 06:10:33 +0100rayyyy(~nanoz@gateway/tor-sasl/nanoz) (Remote host closed the connection)
2020-12-02 06:11:01 +0100rayyyy(~nanoz@gateway/tor-sasl/nanoz)
2020-12-02 06:13:08 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-12-02 06:16:03 +0100livvy(~livvy@gateway/tor-sasl/livvy) (Ping timeout: 240 seconds)
2020-12-02 06:18:18 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2020-12-02 06:19:50 +0100tsrt^(tsrt@ip98-184-89-2.mc.at.cox.net)
2020-12-02 06:21:16 +0100blankhart(~blankhart@c-71-232-98-152.hsd1.ma.comcast.net) (Ping timeout: 240 seconds)
2020-12-02 06:23:11 +0100falafel_(~falafel@pool-71-182-130-97.pitbpa.fios.verizon.net)
2020-12-02 06:24:10 +0100elliott_(~elliott@pool-108-51-141-12.washdc.fios.verizon.net)
2020-12-02 06:25:55 +0100justsomeguy(~justsomeg@unaffiliated/--/x-3805311) ()
2020-12-02 06:27:51 +0100 <glguy> If you're doing AoC this year in Haskell, jump on the leaderboard in the topic, and join us in ##adentofcode to compare notes
2020-12-02 06:28:08 +0100 <glguy> (of course haskell aoc questions are still welcome here)
2020-12-02 06:31:31 +0100Lycurgus(~niemand@cpe-45-46-137-210.buffalo.res.rr.com)
2020-12-02 06:36:05 +0100ddellacosta(dd@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 240 seconds)
2020-12-02 06:37:55 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-02 06:38:51 +0100rcdilorenzo(~rcdiloren@cpe-76-182-87-188.nc.res.rr.com) (Quit: rcdilorenzo)
2020-12-02 06:40:01 +0100doct0rhu[m](doct0rhumo@gateway/shell/matrix.org/x-aytbanrbppvolhap)
2020-12-02 06:41:06 +0100argent0(~argent0@168.227.97.23) (Remote host closed the connection)
2020-12-02 06:41:33 +0100evanjs(~evanjs@075-129-098-007.res.spectrum.com) (Ping timeout: 260 seconds)
2020-12-02 06:42:49 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 264 seconds)
2020-12-02 06:45:04 +0100Tario(~Tario@201.192.165.173) (Ping timeout: 256 seconds)
2020-12-02 06:45:27 +0100 <siraben> Ooh
2020-12-02 06:45:39 +0100 <siraben> glguy: adentofcode or adventofcode?
2020-12-02 06:46:01 +0100 <aoei> probably adventofcode lol
2020-12-02 06:46:06 +0100 <glguy> Advent
2020-12-02 06:47:36 +0100sord937(~sord937@gateway/tor-sasl/sord937)
2020-12-02 06:47:40 +0100 <koz_> Yep, it's full on AoC fever round here.
2020-12-02 06:47:53 +0100 <aoei> well its #haskell on freenode
2020-12-02 06:47:56 +0100 <aoei> what do you expect :D
2020-12-02 06:47:59 +0100 <koz_> Sometimes, I think I'm the only one _not_ participating. :P
2020-12-02 06:48:24 +0100 <aoei> i haven't commited anything to code yet but ive been participating by trying to work out a solution to day 1 part 1 that isn't O(n^2)
2020-12-02 06:48:27 +0100 <dsal> Thank you for being an exception to the rule.
2020-12-02 06:48:34 +0100 <aoei> plus i did also sign up
2020-12-02 06:48:36 +0100 <aoei> so
2020-12-02 06:48:38 +0100 <aoei> there's that
2020-12-02 06:48:39 +0100 <glguy> Yes, the only one. We just need you to join for 100% participation
2020-12-02 06:48:45 +0100 <aoei> glguy: XD
2020-12-02 06:48:46 +0100 <koz_> glguy: Not gonna happen, sorry.
2020-12-02 06:49:05 +0100 <glguy> Ok, then I guess we change the denominator
2020-12-02 06:49:22 +0100 <glguy> :nod: time to misuse my op powers
2020-12-02 06:49:28 +0100 <koz_> Lol.
2020-12-02 06:49:43 +0100 <dsal> I always spend too much time trying to write a parser or something to do the puzzles. I'll eventually get better at megaparsec.
2020-12-02 06:50:36 +0100 <koz_> dsal: Megaparsec parsers (and parser combinators in general) in my experience go something like this: 5 minutes to write, 5 hours to debug.
2020-12-02 06:50:43 +0100rayyyy(~nanoz@gateway/tor-sasl/nanoz) (Quit: Leaving)
2020-12-02 06:50:58 +0100 <dminuoso> *parsers
2020-12-02 06:50:58 +0100 <dsal> heh. There are always edge cases I don't quite get.
2020-12-02 06:51:20 +0100 <dminuoso> Ever tried debugging a bison parser?
2020-12-02 06:51:22 +0100 <koz_> dminuoso: ... I spelled it correctly?
2020-12-02 06:51:28 +0100 <dminuoso> koz_: No that was not the joke.
2020-12-02 06:51:31 +0100 <koz_> dminuoso: No, because I value braincells and don't use C.
2020-12-02 06:51:38 +0100 <dminuoso> The problem is not C.
2020-12-02 06:51:40 +0100evanjs(~evanjs@075-129-098-007.res.spectrum.com)
2020-12-02 06:51:54 +0100 <dminuoso> Im not quite sure why, but it seems debugging parsers in general is complicated.
2020-12-02 06:51:58 +0100 <koz_> dminuoso: I still value braincells, and if you're _not_ using C, why use bison?
2020-12-02 06:52:11 +0100 <koz_> Like, 100% there are better options in other languages, surely.
2020-12-02 06:52:22 +0100 <dminuoso> Im sure happy has similar problems
2020-12-02 06:52:23 +0100plutoniix(~q@ppp-223-24-162-25.revip6.asianet.co.th) (Quit: Leaving)
2020-12-02 06:52:37 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-12-02 06:52:50 +0100 <koz_> dminuoso: I've never tried happy or alex, mostly because I don't think it's easier than using {mega,atto,whatever}parsec.
2020-12-02 06:52:54 +0100 <koz_> (or faster for that matter)
2020-12-02 06:53:17 +0100 <glguy> Happy and Alex are worth learning
2020-12-02 06:53:34 +0100 <koz_> Also, I just realized the 'mega-' and 'atto-' prefix both indicate multiples, but one's really big, and the other really small.
2020-12-02 06:53:34 +0100Jonkimi727406120(~Jonkimi@119.123.243.225)
2020-12-02 06:53:44 +0100 <koz_> glguy: Why do you reckon?
2020-12-02 06:53:52 +0100 <int-e> koz_: maybe if you spent more time writing them you wouldn't spend so much time debugging them? :)
2020-12-02 06:54:03 +0100 <koz_> int-e: Yeah, but I can only type so slow. :P
2020-12-02 06:54:08 +0100 <glguy> You do get a faster parser, and you get a much more recognizable grammar
2020-12-02 06:54:09 +0100inja(~inja@pd9f82e18.dip0.t-ipconnect.de)
2020-12-02 06:54:15 +0100 <dminuoso> koz_: LALR parser generators tend to perform rather well, and they give you static analyzability like shift/reduce conflicts
2020-12-02 06:54:16 +0100 <koz_> Maybe if I was like Axman6?
2020-12-02 06:54:20 +0100 <dminuoso> But that comes at the cost of diagnostics
2020-12-02 06:54:34 +0100 <glguy> Parser combinators make it too easy to make a mess of things
2020-12-02 06:54:38 +0100 <dminuoso> Happy generates blazing fast parsers. GHC is a prominent example why
2020-12-02 06:54:46 +0100 <int-e> AoC is starting out with really easy problems this year
2020-12-02 06:54:46 +0100 <koz_> dminuoso: Diagnostics means 'errors'?
2020-12-02 06:54:49 +0100 <dminuoso> koz_: Yeah
2020-12-02 06:55:00 +0100 <glguy> And you still have to rearrange your grammar to fit in them
2020-12-02 06:55:01 +0100 <koz_> Are *parsec parsers better in this regard?
2020-12-02 06:55:02 +0100 <dminuoso> If the parser chokes on grammar, LALR parsers tend to give horrible errors
2020-12-02 06:55:14 +0100 <dminuoso> *choke on input
2020-12-02 06:55:48 +0100 <dminuoso> glguy: Indeed. With parser combinators you (should) end up writing something that loosely resembles BNF anyway
2020-12-02 06:55:48 +0100 <glguy> You can add error productions to help
2020-12-02 06:57:05 +0100elliott_(~elliott@pool-108-51-141-12.washdc.fios.verizon.net) (Ping timeout: 240 seconds)
2020-12-02 06:57:51 +0100doct0rhu(~orctarorg@pool-72-88-158-154.nwrknj.fios.verizon.net)
2020-12-02 06:59:57 +0100 <dminuoso> Btw, when I write `f "foo"` where f is an external library and has type `f :: ByteString -> T`, then with OverloadedStrings this compiles even if bytestring is not in my build-depends
2020-12-02 07:00:13 +0100 <dminuoso> That seems strange, I keep expecting this should fail. Why doesn't it?
2020-12-02 07:02:09 +0100 <dolio> Because IsString is from base, and the instance is in scope from any module that transitively depends on the one that defines the ByteString instance.
2020-12-02 07:02:20 +0100 <koz_> I guess it's because it treats "foo" as having type IsString s => s, and given that f's type forces it to ByteString, and that fits.... dolio ninja'd me.
2020-12-02 07:03:18 +0100remby(~remby@2607:fea8:2c40:307::18d9)
2020-12-02 07:03:26 +0100 <remby> is there a book for haskell like sicp?
2020-12-02 07:04:46 +0100 <koz_> remby: There are several, but I don't think any of them are specifically aiming at the same space SICP is.
2020-12-02 07:05:09 +0100 <koz_> . o O (Structure and Interpretation of Haskell Programs - SIHP?)
2020-12-02 07:05:28 +0100 <koz_> (SIFP maybe?)
2020-12-02 07:05:40 +0100 <jle`> Structure and Interpretation of Matlab Programs = ?
2020-12-02 07:06:02 +0100 <jle`> or i guess i should have used Miranda since this is a Haskell channel
2020-12-02 07:06:08 +0100BlackCapCoder(~blackcap@48.80-203-23.nextgentel.com) (Ping timeout: 260 seconds)
2020-12-02 07:06:18 +0100 <koz_> jle`: ROFLLLLLL
2020-12-02 07:06:24 +0100 <koz_> That's topos-level humour.
2020-12-02 07:07:56 +0100 <topos> i approve
2020-12-02 07:08:27 +0100 <int-e> Structure and Interpretation of Low-Level Yak
2020-12-02 07:08:52 +0100 <dminuoso> dolio: Ah. That is somewhat unfortunate.
2020-12-02 07:08:52 +0100 <koz_> :D
2020-12-02 07:09:02 +0100ericsagn1(~ericsagne@2405:6580:0:5100:d83e:9e9c:25a6:e9a5) (Ping timeout: 264 seconds)
2020-12-02 07:09:19 +0100 <koz_> topos: If your first book doesn't have a similar initialism, I will be disappoint.
2020-12-02 07:09:33 +0100 <doct0rhu> Hi I have a question about `haddock`. Is it possible to document private items?
2020-12-02 07:09:50 +0100mounty(~mounty@2001:8000:2f59:0:c056:3de3:d9b3:22a8) (Quit: Konversation terminated!)
2020-12-02 07:10:53 +0100remby(~remby@2607:fea8:2c40:307::18d9) (Quit: remby)
2020-12-02 07:12:13 +0100d_ed1(~d_ed@185.163.110.116) (Ping timeout: 264 seconds)
2020-12-02 07:13:41 +0100 <int-e> doct0rhu: does the `ignore-exports` attribute do what you want? https://www.haskell.org/haddock/doc/html/module-attributes.html
2020-12-02 07:14:16 +0100machinedgod(~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 240 seconds)
2020-12-02 07:14:38 +0100 <doct0rhu> I've found this attribute. But is it possible to use this as a CLI flag?
2020-12-02 07:15:19 +0100 <int-e> there's --ignore-all-exports
2020-12-02 07:15:25 +0100 <doct0rhu> `cabal new-haddock --haddock-all` only build public items. `--haddock-internal` crashes..
2020-12-02 07:16:08 +0100Tario(~Tario@201.192.165.173)
2020-12-02 07:16:28 +0100 <int-e> (that's a haddock option, should be --haddock-option=--ignore-all-exports for cabal)
2020-12-02 07:16:31 +0100hekkaidekapus_hekkaidekapus
2020-12-02 07:16:55 +0100 <doct0rhu> let me see
2020-12-02 07:17:19 +0100guest122(~user@49.5.6.87)
2020-12-02 07:17:42 +0100 <doct0rhu> > cabal: renderBuildTargetProblem: unexpected status (TargetDisabledByUser,Nothing)
2020-12-02 07:17:42 +0100 <doct0rhu> CallStack (from HasCallStack):
2020-12-02 07:17:42 +0100 <doct0rhu> error, called at ./Distribution/Client/CmdErrorMessages.hs:331:14 in main:Distribution.Client.CmdErrorMessages
2020-12-02 07:17:44 +0100 <lambdabot> error: Variable not in scope: cabalerror:
2020-12-02 07:17:44 +0100 <lambdabot> Variable not in scope: renderBuildTargetProblemerror:
2020-12-02 07:17:44 +0100 <lambdabot> Variable not in scope: unexpected :: t0 -> (a1, Maybe a0) -> [a]error:
2020-12-02 07:18:39 +0100 <int-e> @where paste
2020-12-02 07:18:39 +0100 <lambdabot> Help us help you: please paste full code, input and/or output at eg https://paste.tomsmeding.com
2020-12-02 07:18:51 +0100 <doct0rhu> That's the same error I saw when I `cabal new-haddock --haddock-internal`
2020-12-02 07:19:24 +0100Tario(~Tario@201.192.165.173) (Read error: Connection reset by peer)
2020-12-02 07:19:38 +0100Tario(~Tario@201.192.165.173)
2020-12-02 07:19:57 +0100 <doct0rhu> https://paste.tomsmeding.com/uKGkFjPc
2020-12-02 07:20:25 +0100Boomerang_(~Boomerang@xd520f68c.cust.hiper.dk)
2020-12-02 07:20:31 +0100ChaiTRex(~ChaiTRex@gateway/tor-sasl/chaitrex) (Remote host closed the connection)
2020-12-02 07:20:37 +0100ericsagn1(~ericsagne@2405:6580:0:5100:5edc:6c03:7218:210e)
2020-12-02 07:21:22 +0100inja(~inja@pd9f82e18.dip0.t-ipconnect.de) (Ping timeout: 272 seconds)
2020-12-02 07:21:22 +0100ChaiTRex(~ChaiTRex@gateway/tor-sasl/chaitrex)
2020-12-02 07:22:54 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Quit: leaving)
2020-12-02 07:23:03 +0100evanjs(~evanjs@075-129-098-007.res.spectrum.com) (Ping timeout: 260 seconds)
2020-12-02 07:23:11 +0100 <int-e> Ah I missed --haddock-internal. That error though...
2020-12-02 07:23:30 +0100 <doct0rhu> I've also tried `stack build <my package> --haddock --haddock-arguments=--ignore-all-exports --open`
2020-12-02 07:23:42 +0100 <int-e> does new-haddock by itself work?
2020-12-02 07:23:42 +0100 <doct0rhu> that doesn't build any doc..
2020-12-02 07:24:01 +0100takuan(~takuan@178-116-218-225.access.telenet.be)
2020-12-02 07:24:38 +0100 <doct0rhu> well.. new-haddock alone also panics with same error
2020-12-02 07:24:48 +0100 <doct0rhu> only new-haddock --haddock-all works
2020-12-02 07:25:02 +0100texasmynsted(~texasmyns@212.102.45.123) (Remote host closed the connection)
2020-12-02 07:25:12 +0100 <int-e> let me guess, it's an executable... so you need --haddock-executables ?
2020-12-02 07:25:34 +0100 <int-e> And then --haddock-internal as well to get the internal symbols
2020-12-02 07:25:56 +0100 <doct0rhu> FYI, I've 2 executables. So --haddock-executables and --haddock-all both work
2020-12-02 07:26:10 +0100 <int-e> (--haddock-all implies --haddock-executables)
2020-12-02 07:26:36 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2020-12-02 07:26:57 +0100 <int-e> But the "all" refers to targets (executables, benchmarks, testsuites), not to symbols; it doesn't imply --haddock-internal.
2020-12-02 07:28:05 +0100 <doct0rhu> you're right, but `--haddock-all --haddock-internal` crashes too
2020-12-02 07:28:18 +0100 <doct0rhu> `--haddock-executables --haddock-internal` worked just now, but no internal items
2020-12-02 07:28:31 +0100 <doct0rhu> now i'm trying to add that ignore-all-exports too
2020-12-02 07:28:37 +0100 <doct0rhu> it's building now
2020-12-02 07:28:59 +0100shinobi__(~shinobi@c-24-147-48-162.hsd1.ma.comcast.net)
2020-12-02 07:29:34 +0100JohninLex(~JohninLex@185.204.1.185)
2020-12-02 07:29:56 +0100 <doct0rhu> oh finally that worked..
2020-12-02 07:30:15 +0100 <int-e> The crashes are bugs, of course (maybe fixed in a newer version of cabal-install?)
2020-12-02 07:30:31 +0100 <doct0rhu> I actually have global ghc-options `--haddock` set in my stack config but it never worked.. now I figured out why
2020-12-02 07:30:36 +0100vicfred(~vicfred@unaffiliated/vicfred) (Remote host closed the connection)
2020-12-02 07:31:46 +0100shinobi_(~shinobi@c-24-147-48-162.hsd1.ma.comcast.net) (Ping timeout: 240 seconds)
2020-12-02 07:31:54 +0100 <doct0rhu> is it possible to have stack build it then..
2020-12-02 07:32:29 +0100vicfred(~vicfred@unaffiliated/vicfred)
2020-12-02 07:32:41 +0100 <doct0rhu> what `stack haddock` did is building docs for all my dependencies except my own package..
2020-12-02 07:33:06 +0100vicfred(~vicfred@unaffiliated/vicfred) (Max SendQ exceeded)
2020-12-02 07:36:07 +0100dave_uy(~david@108.61.193.26) (Quit: The Lounge - https://thelounge.chat)
2020-12-02 07:38:01 +0100Iceland_jack(~user@31.124.48.169)
2020-12-02 07:38:32 +0100dave_uy(~david@108.61.193.26)
2020-12-02 07:42:01 +0100evanjs(~evanjs@075-129-098-007.res.spectrum.com)
2020-12-02 07:43:33 +0100Sose(~sose@2a01:4f9:c010:e5da::1)
2020-12-02 07:45:53 +0100Buggys(buggy@charger.kire.net)
2020-12-02 07:46:07 +0100Buggys(buggy@charger.kire.net) ("Textual IRC Client: www.textualapp.com")
2020-12-02 07:47:24 +0100Buggys(buggy@charger.kire.net)
2020-12-02 07:52:27 +0100doct0rhu(~orctarorg@pool-72-88-158-154.nwrknj.fios.verizon.net) (Quit: Leaving)
2020-12-02 07:53:38 +0100Lycurgus(~niemand@cpe-45-46-137-210.buffalo.res.rr.com) (Quit: Exeunt)
2020-12-02 07:54:04 +0100conal_(~conal@107.181.166.176) (Quit: Computer has gone to sleep.)
2020-12-02 07:54:05 +0100philopsos(~caecilius@gateway/tor-sasl/caecilius) (Quit: leaving)
2020-12-02 07:55:32 +0100BlackCapCoder(~blackcap@48.80-203-23.nextgentel.com)
2020-12-02 07:56:41 +0100Jonkimi727406120(~Jonkimi@119.123.243.225) (Ping timeout: 256 seconds)
2020-12-02 07:59:00 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-12-02 07:59:29 +0100Younder(~john@33.51-174-155.customer.lyse.net) (Quit: Leaving)
2020-12-02 08:03:56 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2020-12-02 08:07:25 +0100ggole(~ggole@2001:8003:8119:7200:485d:ac18:c2cb:d77f)
2020-12-02 08:10:21 +0100Jonkimi727406120(~Jonkimi@119.123.243.225)
2020-12-02 08:11:11 +0100julm(~julm@revolt129.abo.ilico.org)
2020-12-02 08:11:30 +0100cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
2020-12-02 08:12:49 +0100adm_(~adm@117.208.22.42)
2020-12-02 08:13:41 +0100shinobi(~shinobi@c-24-147-48-162.hsd1.ma.comcast.net)
2020-12-02 08:15:57 +0100jonatanb(jonatanb@gateway/vpn/protonvpn/jonatanb)
2020-12-02 08:16:52 +0100shinobi__(~shinobi@c-24-147-48-162.hsd1.ma.comcast.net) (Ping timeout: 256 seconds)
2020-12-02 08:17:06 +0100boxscape(54a35f37@gateway/web/cgi-irc/kiwiirc.com/ip.84.163.95.55) (Quit: Connection closed)
2020-12-02 08:17:28 +0100boxscape(54a35f37@gateway/web/cgi-irc/kiwiirc.com/ip.84.163.95.55)
2020-12-02 08:20:16 +0100jespada(~jespada@90.254.245.49) (Ping timeout: 240 seconds)
2020-12-02 08:23:31 +0100jespada(~jespada@90.254.245.49)
2020-12-02 08:24:02 +0100toorevitimirp(~tooreviti@117.182.183.16)
2020-12-02 08:27:29 +0100adm__(~adm@117.208.22.42)
2020-12-02 08:28:14 +0100xff0x(~fox@2001:1a81:5348:9f00:6dc0:7df:3cf:92d4) (Remote host closed the connection)
2020-12-02 08:28:30 +0100alp(~alp@2a01:e0a:58b:4920:6494:ebf2:fc26:3786)
2020-12-02 08:28:32 +0100xff0x(~fox@2001:1a81:5348:9f00:4aad:b7c8:6288:cb49)
2020-12-02 08:29:54 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-12-02 08:30:49 +0100adm_(~adm@117.208.22.42) (Ping timeout: 264 seconds)
2020-12-02 08:31:09 +0100inja(~inja@pd9f82e18.dip0.t-ipconnect.de)
2020-12-02 08:31:17 +0100Mathmoose(~mathias@31-208-78-204.cust.bredband2.com)
2020-12-02 08:32:45 +0100philopsos(~caecilius@gateway/tor-sasl/caecilius)
2020-12-02 08:32:45 +0100philopsos(~caecilius@gateway/tor-sasl/caecilius) (Client Quit)
2020-12-02 08:33:08 +0100philopsos(~caecilius@gateway/tor-sasl/caecilius)
2020-12-02 08:34:16 +0100hiroaki(~hiroaki@ip4d168e73.dynamic.kabel-deutschland.de)
2020-12-02 08:37:20 +0100 <carbolymer> well, realworldhaskell domain expired and the book is gone: https://book.realworldhaskell.org/ :/
2020-12-02 08:37:35 +0100funkatronixxx(~funkatron@2001:981:f73:1:b048:68d2:a9f5:c605)
2020-12-02 08:38:35 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2020-12-02 08:38:49 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-02 08:39:33 +0100dhouthoo(~dhouthoo@ptr-eitgbj2w0uu6delkbrh.18120a2.ip6.access.telenet.be)
2020-12-02 08:42:48 +0100Lord_of_Life(~Lord@46.217.220.157) (Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine)
2020-12-02 08:43:54 +0100dhouthoo(~dhouthoo@ptr-eitgbj2w0uu6delkbrh.18120a2.ip6.access.telenet.be) (Client Quit)
2020-12-02 08:44:36 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 240 seconds)
2020-12-02 08:44:42 +0100ziman(~ziman@c25-5.condornet.sk) (Ping timeout: 256 seconds)
2020-12-02 08:45:08 +0100 <int-e> carbolymer: nah, the domain is fine. http://book.realworldhaskell.org/ works. the SSL certificate is broken though
2020-12-02 08:45:11 +0100Lord_of_Life(~Lord@46.217.220.157)
2020-12-02 08:46:04 +0100ziman(~ziman@c25-5.condornet.sk)
2020-12-02 08:46:05 +0100 <carbolymer> int-e, it wasn't a 10 mins ago
2020-12-02 08:46:37 +0100 <carbolymer> int-e, oh, someone has borked http server configuration
2020-12-02 08:46:43 +0100 <carbolymer> int-e, click on link I've posted
2020-12-02 08:47:28 +0100dhouthoo(~dhouthoo@ptr-eitgbj2w0uu6delkbrh.18120a2.ip6.access.telenet.be)
2020-12-02 08:48:36 +0100jollygood2(~bc8165ab@217.29.117.252) (Quit: http://www.okay.uz/ (Session timeout))
2020-12-02 08:49:02 +0100 <boxscape> but the book is still gone?
2020-12-02 08:49:41 +0100 <int-e> http works.
2020-12-02 08:49:46 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-12-02 08:50:05 +0100 <boxscape> yeah but http://book.realworldhaskell.org/read 404s
2020-12-02 08:50:46 +0100 <int-e> no
2020-12-02 08:50:56 +0100 <boxscape> huh
2020-12-02 08:50:57 +0100 <int-e> are you sure the browser isn't automatically switching to https
2020-12-02 08:51:02 +0100 <boxscape> ohh it is
2020-12-02 08:51:22 +0100 <boxscape> why does it direct me to red bean software
2020-12-02 08:51:26 +0100 <int-e> (which I agree is broken)
2020-12-02 08:51:31 +0100 <int-e> because they host that contents
2020-12-02 08:51:32 +0100Varis(~Tadas@unaffiliated/varis) (Remote host closed the connection)
2020-12-02 08:51:35 +0100 <boxscape> I see
2020-12-02 08:52:05 +0100 <int-e> book.realworldhaskell.org. 86400 IN CNAME www.red-bean.com.
2020-12-02 08:53:08 +0100 <int-e> all the links I've found are http, so presumably https never worked.
2020-12-02 08:53:44 +0100 <int-e> Which is a bit of a pity these days, of course.
2020-12-02 08:56:36 +0100Neuromancer(~Neuromanc@unaffiliated/neuromancer)
2020-12-02 08:56:51 +0100coot(~coot@37.30.53.191.nat.umts.dynamic.t-mobile.pl)
2020-12-02 09:01:22 +0100knupfer(~Thunderbi@200116b82c334300a5d4e0f98230f991.dip.versatel-1u1.de)
2020-12-02 09:01:25 +0100 <boxscape> I guess the real problem then is that the server accepts https connections at all?
2020-12-02 09:01:37 +0100adm___(~adm@117.208.22.42)
2020-12-02 09:01:41 +0100 <boxscape> otherwise firefox wouldn't redirect to https
2020-12-02 09:02:50 +0100adm__(~adm@117.208.22.42) (Ping timeout: 256 seconds)
2020-12-02 09:03:13 +0100 <int-e> boxscape: why wouldn't it accept https connections? on that level it can't distinguish whether it's for its main website, www.red-bean.com, or for the second class citizen that is book.realworldhaskell.org
2020-12-02 09:03:55 +0100 <boxscape> ah, I didn't know you can't control that on a domain level
2020-12-02 09:04:27 +0100 <opqdonut> well the https port is open on that IP
2020-12-02 09:04:28 +0100plakband(~plakband@113x43x242x146.ap113.ftth.arteria-hikari.net)
2020-12-02 09:04:32 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2020-12-02 09:04:36 +0100 <int-e> Yeah the DNS only resolves names to IP addresses, it doesn't care about ports.
2020-12-02 09:04:38 +0100 <opqdonut> there's no domains or urls when the TCP SYN gets done
2020-12-02 09:04:52 +0100 <boxscape> that makes sense
2020-12-02 09:08:44 +0100vg(~vg@139.59.59.230)
2020-12-02 09:08:59 +0100vg(~vg@139.59.59.230) (Remote host closed the connection)
2020-12-02 09:09:02 +0100pavonia(~user@unaffiliated/siracusa) (Read error: Connection reset by peer)
2020-12-02 09:09:13 +0100vg(~vg@139.59.59.230)
2020-12-02 09:10:19 +0100whald(~trem@2a02:810a:8100:11a6:6dd2:b8f3:b9d4:9820) (Remote host closed the connection)
2020-12-02 09:10:26 +0100 <plakband> I have a library with two modules (both exposed), but cabal new-repl only imports 1 at startup for some reason. I can manually import it, but I need it to load both at startup for ghcid. Anybody here know how to make it load all modules?
2020-12-02 09:11:11 +0100adm_(~adm@117.208.22.42)
2020-12-02 09:11:12 +0100adm__(~adm@117.208.22.42)
2020-12-02 09:13:20 +0100mbomba(~mbomba@bras-base-toroon2719w-grc-49-142-114-9-241.dsl.bell.ca) (Quit: WeeChat 3.0)
2020-12-02 09:13:39 +0100 <iqubic> May I just say that the Haskell LSP is the best thing ever.
2020-12-02 09:14:19 +0100inja(~inja@pd9f82e18.dip0.t-ipconnect.de) (Ping timeout: 256 seconds)
2020-12-02 09:14:28 +0100adm___(~adm@117.208.22.42) (Ping timeout: 260 seconds)
2020-12-02 09:14:29 +0100vg(~vg@139.59.59.230) (Quit: vg)
2020-12-02 09:15:14 +0100vg(~vg@139.59.59.230)
2020-12-02 09:16:00 +0100adm_(~adm@117.208.22.42) (Ping timeout: 272 seconds)
2020-12-02 09:16:24 +0100jollygood2(~bc8165ab@217.29.117.252)
2020-12-02 09:16:53 +0100 <int-e> boxscape: FWIW I'm not sure about whether the book is intended to be "second class" like this... it may just be an oversight by the admins.
2020-12-02 09:17:21 +0100britva(~britva@31-10-157-156.cgn.dynamic.upc.ch)
2020-12-02 09:17:22 +0100knupfer(~Thunderbi@200116b82c334300a5d4e0f98230f991.dip.versatel-1u1.de) (Ping timeout: 260 seconds)
2020-12-02 09:17:33 +0100 <boxscape> to be fair any website that doesn't support https deserves to be second class ;)
2020-12-02 09:17:46 +0100 <boxscape> unless
2020-12-02 09:17:50 +0100 <boxscape> is that also the admins' fault?
2020-12-02 09:18:34 +0100pavonia(~user@unaffiliated/siracusa)
2020-12-02 09:18:38 +0100knupfer(~Thunderbi@i59F7FFB7.versanet.de)
2020-12-02 09:19:05 +0100jonatanb(jonatanb@gateway/vpn/protonvpn/jonatanb) (Ping timeout: 240 seconds)
2020-12-02 09:19:41 +0100inja(~inja@pd9f82e18.dip0.t-ipconnect.de)
2020-12-02 09:19:51 +0100Varis(~Tadas@unaffiliated/varis)
2020-12-02 09:27:40 +0100contiver_(~contiver@84-115-64-113.wifi.dynamic.surfer.at)
2020-12-02 09:27:54 +0100 <int-e> boxscape: Well it's up to the web server and the management of the server certificate... so all in the admin's power. But somebody has to tweak the right knobs and test the result. And looking at red-bean this looks like a small community hobby project.
2020-12-02 09:29:53 +0100 <boxscape> hm, yeah
2020-12-02 09:30:54 +0100sreudianflip(~textual@2a02:c7f:677:da00:61e2:aa76:22fc:3cd7)
2020-12-02 09:31:22 +0100 <tomsmeding> plakband: 'cabal new-repl' without further arguments does that? that is very strange, is there a reproducing example you can share?
2020-12-02 09:33:03 +0100philopsos(~caecilius@gateway/tor-sasl/caecilius) (Ping timeout: 240 seconds)
2020-12-02 09:34:14 +0100mputz(~Thunderbi@dslb-084-058-211-084.084.058.pools.vodafone-ip.de)
2020-12-02 09:34:52 +0100 <int-e> confusingly, www.realworldhaskell.org (which was hosted elsewhere by one of the authors) *is* gone.
2020-12-02 09:36:22 +0100Amras(~Amras@unaffiliated/amras)
2020-12-02 09:38:44 +0100danvet(~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa)
2020-12-02 09:39:13 +0100mputz(~Thunderbi@dslb-084-058-211-084.084.058.pools.vodafone-ip.de) (Ping timeout: 264 seconds)
2020-12-02 09:39:27 +0100sreudianflip(~textual@2a02:c7f:677:da00:61e2:aa76:22fc:3cd7) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-12-02 09:41:10 +0100sreudianflip(~textual@2a02:c7f:677:da00:61e2:aa76:22fc:3cd7)
2020-12-02 09:42:30 +0100adm__(~adm@117.208.22.42) (Ping timeout: 256 seconds)
2020-12-02 09:42:48 +0100 <plakband> tomsmeding: https://github.com/jonascarpay/cabal-new-repl-example
2020-12-02 09:43:04 +0100ph88_(~ph88@2a02:8109:9e00:7e5c:51c4:aed6:17c7:3978)
2020-12-02 09:44:59 +0100 <tomsmeding> oh, right, only _imports_ one module. Why do you need both for ghcid? ghcid works for me even if not all modules get imported, because all _do_ get compiled
2020-12-02 09:44:59 +0100chkno(~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer)
2020-12-02 09:45:04 +0100 <tomsmeding> plakband: ^
2020-12-02 09:45:19 +0100chkno(~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net)
2020-12-02 09:45:21 +0100DavidEichmann(~david@62.110.198.146.dyn.plus.net)
2020-12-02 09:46:50 +0100 <tomsmeding> plakband: in particular, if I run ghcid in a clone of your repo, warnings in both modules show up in ghcid
2020-12-02 09:47:03 +0100miguel_clean(~Miguel@89-72-187-203.dynamic.chello.pl)
2020-12-02 09:47:11 +0100 <plakband> tomsmeding: because --test=expr only works with imported modules
2020-12-02 09:47:12 +0100chkno(~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer)
2020-12-02 09:47:25 +0100sreudianflip(~textual@2a02:c7f:677:da00:61e2:aa76:22fc:3cd7) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-12-02 09:47:56 +0100 <plakband> it's not a huge deal, but it feels kinda dumb
2020-12-02 09:48:13 +0100 <plakband> I need to reorder my modules based on what test I want to run
2020-12-02 09:48:21 +0100adm_(~adm@117.208.22.42)
2020-12-02 09:48:34 +0100mputz(~Thunderbi@dslb-084-058-211-084.084.058.pools.vodafone-ip.de)
2020-12-02 09:50:29 +0100chkno(~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net)
2020-12-02 09:50:31 +0100 <tomsmeding> plakband: and passing the wanted module name to ghcid doesn't work?
2020-12-02 09:50:46 +0100 <tomsmeding> also I can't seem to make --test work at all, but that's probably just my unfamiliarity with ghcid
2020-12-02 09:52:12 +0100chkno(~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer)
2020-12-02 09:52:20 +0100 <tomsmeding> oh I see, I indeed get the behaviour you describe
2020-12-02 09:52:56 +0100 <plakband> tomsmeding: afaict not, it only seems to accept actual components..
2020-12-02 09:54:43 +0100 <tomsmeding> plakband: what seems to work for me is pass the names of all modules as command-line parameters, with the one you want imported (containing your test function) listed first
2020-12-02 09:55:30 +0100chkno(~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net)
2020-12-02 09:55:38 +0100 <plakband> tomsmeding: oh hey, how did I miss that.. thanks, that'll do!
2020-12-02 09:55:50 +0100adm__(~adm@117.208.22.42)
2020-12-02 09:55:53 +0100nik0(~niko@freenode/staff/ubuntu.member.niko)
2020-12-02 09:56:04 +0100 <tomsmeding> awesome :)
2020-12-02 09:56:27 +0100 <tomsmeding> (listing all modules seems to be necessary to load them all)
2020-12-02 09:56:32 +0100britva(~britva@31-10-157-156.cgn.dynamic.upc.ch) (Quit: This computer has gone to sleep)
2020-12-02 09:58:19 +0100alp(~alp@2a01:e0a:58b:4920:6494:ebf2:fc26:3786) (Ping timeout: 272 seconds)
2020-12-02 09:58:56 +0100da39a3ee5e6b4b0d(~da39a3ee5@171.5.161.165) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-12-02 09:59:04 +0100adm_(~adm@117.208.22.42) (Ping timeout: 272 seconds)
2020-12-02 09:59:25 +0100knupfer(~Thunderbi@i59F7FFB7.versanet.de) (Ping timeout: 246 seconds)
2020-12-02 09:59:36 +0100niko(~niko@freenode/staff/ubuntu.member.niko) (Ping timeout: 600 seconds)
2020-12-02 10:01:49 +0100Aquazi(uid312403@gateway/web/irccloud.com/x-zwjlkmtgfeptdpkc)
2020-12-02 10:01:58 +0100oish(~charlie@228.25.169.217.in-addr.arpa)
2020-12-02 10:02:11 +0100 <plakband> tomsmeding: hmmm looks like I celebrated too early, it does still get picked up in the order specified in the cabal file on my end. Does swapping them change the imported module for you?
2020-12-02 10:02:19 +0100sreudianflip(~textual@2a02:c7f:677:da00:61e2:aa76:22fc:3cd7)
2020-12-02 10:02:47 +0100 <tomsmeding> it did for me, but I tried it on an executable; perhaps it's different for a library, let's see
2020-12-02 10:03:00 +0100bliminse(~bliminse@host86-134-63-68.range86-134.btcentralplus.com) (Quit: leaving)
2020-12-02 10:03:09 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2020-12-02 10:03:43 +0100solonarv(~solonarv@anancy-651-1-197-136.w109-217.abo.wanadoo.fr)
2020-12-02 10:03:56 +0100contiver_(~contiver@84-115-64-113.wifi.dynamic.surfer.at) (Ping timeout: 240 seconds)
2020-12-02 10:04:43 +0100borne(~fritjof@200116b864cc28008cdf581d4c1cc02f.dip.versatel-1u1.de)
2020-12-02 10:04:45 +0100darjeeling_(~darjeelin@112.16.171.8) (Ping timeout: 256 seconds)
2020-12-02 10:04:48 +0100 <tomsmeding> plakband: yes I put 'a :: Int; a = 1' in Module1.hs and 'b :: Int; b = 2' in Module2.hs, and 'ghcid --test a' works, 'ghcid --test b' does not, but 'ghcid Module2 Module1 --test b' does work for me
2020-12-02 10:05:02 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-12-02 10:06:26 +0100 <tomsmeding> plakband: try 'ghcid --test yourthing --setup ":l YourModule"'
2020-12-02 10:06:42 +0100bliminse(~bliminse@host86-134-63-68.range86-134.btcentralplus.com)
2020-12-02 10:06:43 +0100 <tomsmeding> that seems like the correct way to do this, lesson: RTFM :)
2020-12-02 10:07:11 +0100 <tomsmeding> (penultimate faq item on https://github.com/ndmitchell/ghcid)
2020-12-02 10:09:05 +0100kritzefitz(~kritzefit@p2e5a5f99.dip0.t-ipconnect.de)
2020-12-02 10:09:44 +0100Sgeo(~Sgeo@ool-18b98aa4.dyn.optonline.net) (Read error: Connection reset by peer)
2020-12-02 10:09:49 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 264 seconds)
2020-12-02 10:09:59 +0100kuribas(~user@ptr-25vy0i9ut9m296caj2d.18120a2.ip6.access.telenet.be)
2020-12-02 10:10:29 +0100vg(~vg@139.59.59.230) (Quit: vg)
2020-12-02 10:10:30 +0100Franciman(~francesco@host-212-171-88-43.pool212171.interbusiness.it)
2020-12-02 10:10:44 +0100vg(~vg@139.59.59.230)
2020-12-02 10:11:04 +0100vg(~vg@139.59.59.230) (Remote host closed the connection)
2020-12-02 10:11:13 +0100whatisRT(~whatisRT@2002:5b41:6a33:0:c1d9:9eec:f1:1d14)
2020-12-02 10:11:35 +0100zatwai(~zatwai@80.211.175.241)
2020-12-02 10:11:58 +0100vg(~vg@139.59.59.230)
2020-12-02 10:12:09 +0100vg(~vg@139.59.59.230) (Remote host closed the connection)
2020-12-02 10:12:15 +0100 <plakband> tomsmeding: Even better, Module.test works fine. Definitely should've R'd the FM. Thanks again!
2020-12-02 10:12:20 +0100contiver_(~contiver@84-115-65-109.wifi.dynamic.surfer.at)
2020-12-02 10:12:25 +0100vg(~vg@139.59.59.230)
2020-12-02 10:12:42 +0100vg(~vg@139.59.59.230) (Remote host closed the connection)
2020-12-02 10:12:55 +0100vg(~vg@139.59.59.230)
2020-12-02 10:12:55 +0100vg(~vg@139.59.59.230) (Remote host closed the connection)
2020-12-02 10:13:12 +0100jonathanx(~jonathan@dyn-8-sc.cdg.chalmers.se)
2020-12-02 10:15:34 +0100sh9(~sh9@softbank060116136158.bbtec.net)
2020-12-02 10:16:37 +0100hnOsmium0001(uid453710@gateway/web/irccloud.com/x-rqemnoiqazmaxvua) (Quit: Connection closed for inactivity)
2020-12-02 10:17:00 +0100kritzefitz(~kritzefit@p2e5a5f99.dip0.t-ipconnect.de) (Ping timeout: 256 seconds)
2020-12-02 10:17:18 +0100kritzefitz(~kritzefit@2003:5b:203b:200::10:49)
2020-12-02 10:17:24 +0100sreudianflip(~textual@2a02:c7f:677:da00:61e2:aa76:22fc:3cd7) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-12-02 10:18:31 +0100Lord_of_Life(~Lord@46.217.220.157) (Changing host)
2020-12-02 10:18:31 +0100Lord_of_Life(~Lord@unaffiliated/lord-of-life/x-0885362)
2020-12-02 10:18:56 +0100funkatronixxx(~funkatron@2001:981:f73:1:b048:68d2:a9f5:c605) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-12-02 10:20:28 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2020-12-02 10:23:01 +0100day(~Unknown@unaffiliated/day)
2020-12-02 10:24:52 +0100wei2912(~wei2912@unaffiliated/wei2912) (Remote host closed the connection)
2020-12-02 10:28:22 +0100Boomerang_(~Boomerang@xd520f68c.cust.hiper.dk) (Quit: Leaving)
2020-12-02 10:29:07 +0100chkno(~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds)
2020-12-02 10:31:02 +0100chkno(~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net)
2020-12-02 10:31:28 +0100brown121407(~brown1214@fsf/member/brown121407) (Ping timeout: 260 seconds)
2020-12-02 10:31:56 +0100sreudianflip(~textual@2a02:c7f:677:da00:61e2:aa76:22fc:3cd7)
2020-12-02 10:32:02 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-12-02 10:32:05 +0100thc202(~thc202@unaffiliated/thc202)
2020-12-02 10:34:01 +0100toorevitimirp(~tooreviti@117.182.183.16) (Remote host closed the connection)
2020-12-02 10:34:27 +0100toorevitimirp(~tooreviti@117.182.183.16)
2020-12-02 10:38:50 +0100shangxiao(~davids@101.181.159.140)
2020-12-02 10:38:56 +0100adm_(~adm@117.208.22.42)
2020-12-02 10:40:14 +0100__monty__(~toonn@unaffiliated/toonn)
2020-12-02 10:40:54 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-02 10:41:13 +0100jonn(~sweater@206.81.18.26) (Quit: WeeChat 2.8)
2020-12-02 10:42:09 +0100adm__(~adm@117.208.22.42) (Ping timeout: 256 seconds)
2020-12-02 10:42:13 +0100plutoniix(~q@ppp-223-24-162-25.revip6.asianet.co.th)
2020-12-02 10:43:48 +0100Lonias(58c54083@88.197.64.131)
2020-12-02 10:44:06 +0100alp(~alp@2a01:e0a:58b:4920:6494:ebf2:fc26:3786)
2020-12-02 10:44:46 +0100contiver_(~contiver@84-115-65-109.wifi.dynamic.surfer.at) (Ping timeout: 256 seconds)
2020-12-02 10:45:49 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 264 seconds)
2020-12-02 10:46:27 +0100a3f(~a3f@chimeria.ext.pengutronix.de) (Ping timeout: 272 seconds)
2020-12-02 10:49:18 +0100Iceland_jack(~user@31.124.48.169) (Ping timeout: 256 seconds)
2020-12-02 10:49:19 +0100sreudianflip(~textual@2a02:c7f:677:da00:61e2:aa76:22fc:3cd7) (Quit: Textual IRC Client: www.textualapp.com)
2020-12-02 10:49:53 +0100ubert(~Thunderbi@p200300ecdf1e533ee6b318fffe838f33.dip0.t-ipconnect.de)
2020-12-02 10:53:31 +0100watt799(~watt799@124.123.106.149)
2020-12-02 10:54:08 +0100Xnuk(~xnuk@45.76.202.58) (Quit: ZNC - https://znc.in)
2020-12-02 10:54:14 +0100shatriff(~vitaliish@176.52.219.10) (Remote host closed the connection)
2020-12-02 10:54:23 +0100Xnuk(~xnuk@vultr.xnu.kr)
2020-12-02 10:55:35 +0100niko(~niko@freenode/staff/ubuntu.member.niko)
2020-12-02 10:56:55 +0100rayyyy(~nanoz@gateway/tor-sasl/nanoz)
2020-12-02 10:57:45 +0100nik0(~niko@freenode/staff/ubuntu.member.niko) (Ping timeout: 260 seconds)
2020-12-02 10:58:48 +0100niko(~niko@freenode/staff/ubuntu.member.niko) (Client Quit)
2020-12-02 10:59:24 +0100joaoh82(~joaoh82@157-131-134-210.dedicated.static.sonic.net)
2020-12-02 10:59:50 +0100berberman_(~berberman@unaffiliated/berberman)
2020-12-02 11:00:05 +0100darjeeling_(~darjeelin@115.215.41.204)
2020-12-02 11:01:01 +0100berberman(~berberman@unaffiliated/berberman) (Ping timeout: 272 seconds)
2020-12-02 11:01:37 +0100niko(~niko@freenode/staff/ubuntu.member.niko)
2020-12-02 11:02:32 +0100rayyyy(~nanoz@gateway/tor-sasl/nanoz) (Remote host closed the connection)
2020-12-02 11:02:56 +0100CMCDragonkai2(~Thunderbi@124.19.3.250)
2020-12-02 11:05:52 +0100graf_blutwurst(~user@2001:171b:226e:adc0:5d47:81b7:1f45:39a6)
2020-12-02 11:07:33 +0100oish(~charlie@228.25.169.217.in-addr.arpa) (Ping timeout: 260 seconds)
2020-12-02 11:09:52 +0100xiinotulp(~q@ppp-27-55-79-72.revip3.asianet.co.th)
2020-12-02 11:13:10 +0100oish(~charlie@228.25.169.217.in-addr.arpa)
2020-12-02 11:13:19 +0100plutoniix(~q@ppp-223-24-162-25.revip6.asianet.co.th) (Ping timeout: 256 seconds)
2020-12-02 11:15:01 +0100cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 246 seconds)
2020-12-02 11:15:38 +0100jonatanb(jonatanb@gateway/vpn/protonvpn/jonatanb)
2020-12-02 11:18:02 +0100whatisRT(~whatisRT@2002:5b41:6a33:0:c1d9:9eec:f1:1d14) (Quit: ZNC 1.7.5 - https://znc.in)
2020-12-02 11:18:10 +0100adm_(~adm@117.208.22.42) (Ping timeout: 246 seconds)
2020-12-02 11:18:20 +0100nados(~dan@69-165-210-185.cable.teksavvy.com) (Quit: Leaving)
2020-12-02 11:18:56 +0100adm__(~adm@117.208.22.42)
2020-12-02 11:19:12 +0100mbomba(~mbomba@bras-base-toroon2719w-grc-49-142-114-9-241.dsl.bell.ca)
2020-12-02 11:19:31 +0100fendor(~fendor@178.165.131.152.wireless.dyn.drei.com)
2020-12-02 11:20:07 +0100jonatanb(jonatanb@gateway/vpn/protonvpn/jonatanb) (Ping timeout: 256 seconds)
2020-12-02 11:20:40 +0100danza(~francesco@151.74.103.112)
2020-12-02 11:21:57 +0100 <merijn> Man...megaparsec haddocks are a mess
2020-12-02 11:25:45 +0100guest122(~user@49.5.6.87) (Remote host closed the connection)
2020-12-02 11:26:04 +0100son0p(~son0p@181.58.39.182)
2020-12-02 11:26:23 +0100atralheaven(~atralheav@37.48.90.208)
2020-12-02 11:29:17 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-02 11:29:47 +0100 <atralheaven> Hi, I watched this talk recently (https://www.youtube.com/watch?v=03mUs5NlT6U) it's about "correct by construction" software, I couldn't thought of something like this even in my dreams, I really liked the idea.
2020-12-02 11:30:49 +0100oish(~charlie@228.25.169.217.in-addr.arpa) (Ping timeout: 264 seconds)
2020-12-02 11:31:33 +0100 <atralheaven> The thing is, I'm not familiar with the technical stuff, I know nothing about them, but it looked like something that haskell might be able to do, although I also know nothing about haskell
2020-12-02 11:33:36 +0100pavonia(~user@unaffiliated/siracusa) (Quit: Bye!)
2020-12-02 11:35:09 +0100 <tdammers> atralheaven: "correct by construction" is always going to be a relative/partial effort, but for reasonable degrees of it, Haskell is an excellent tool
2020-12-02 11:35:09 +0100 <atralheaven> so I wanted to ask, does haskell support something like this? that thing is so good that if I can have that in haskell, I will learn haskell with all the category theory and monads and monoids for it
2020-12-02 11:36:04 +0100 <tdammers> also, you absolutely do not need to learn any category theory for haskell
2020-12-02 11:36:36 +0100 <atralheaven> that's really good
2020-12-02 11:36:47 +0100 <tdammers> an informal grasp of set theory may be helpful for reasoning about types, but even that isn't strictly required
2020-12-02 11:36:50 +0100jonatanb(jonatanb@gateway/vpn/protonvpn/jonatanb)
2020-12-02 11:37:07 +0100geowiesnot(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 256 seconds)
2020-12-02 11:37:17 +0100 <atralheaven> can I know specifically which parts of my code can be CbC and which parts can go wrong?
2020-12-02 11:37:35 +0100 <tdammers> generally mostly yes, though there are a few subtleties
2020-12-02 11:37:58 +0100 <__monty__> Is there a hackage url I can browse to that will either land me on a package page or search results? Currently I can either search then click or try a package url then click "search instead" if it doesn't exist.
2020-12-02 11:38:45 +0100shatriff(~vitaliish@176.52.219.10)
2020-12-02 11:38:59 +0100 <tdammers> a big caveat (though it doesn't actually matter a lot in practice) is that there are "backdoors" for bypassing type safety and purity, and that there's this thing called "bottom"
2020-12-02 11:39:16 +0100 <__monty__> merijn: What makes them hard to read for me is many of the useful combinators come from other more general libraries. Nice conceptually but makes discovery hard if you don't know about them yet.
2020-12-02 11:39:24 +0100 <atralheaven> tdammers: great, should I use a tool or library with haskell for it or it's just how haskell is?
2020-12-02 11:39:36 +0100 <merijn> __monty__: The organisation is a mess
2020-12-02 11:39:39 +0100 <tdammers> it's a way of writing code more than anything
2020-12-02 11:39:42 +0100 <merijn> __monty__: No logical grouping
2020-12-02 11:40:10 +0100DirefulSalt(DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt) (Remote host closed the connection)
2020-12-02 11:40:13 +0100Jonkimi727406120(~Jonkimi@119.123.243.225) (Ping timeout: 260 seconds)
2020-12-02 11:40:26 +0100 <tdammers> the most important feature to help you with "correct by construction" in Haskell is the type system, which allows you to narrow down the things a function can accept and produce
2020-12-02 11:40:43 +0100DirefulSalt(DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt)
2020-12-02 11:41:05 +0100jonatanb(jonatanb@gateway/vpn/protonvpn/jonatanb) (Ping timeout: 240 seconds)
2020-12-02 11:41:43 +0100 <tdammers> e.g., if you write a function that is typed as Int -> String, then the compiler will make sure that this function 1) will only ever be fed integers as inputs, 2) can only ever produce strings as its output, and 3) cannot have any side effects, such as touching the file system, making network requests, manipulating mutable variables, or introducing randomness
2020-12-02 11:42:56 +0100 <tdammers> trying to call such a function with an argument that isn't an Int is a compiler error. implementing its body such that it tries to do things with the argument that cannot be done on integers is a compiler error. trying to make it return something that isn't a String (including Nothing, a rough equivalent of NULL in other languages) is a compiler error. etc.
2020-12-02 11:43:16 +0100 <merijn> ffs
2020-12-02 11:43:19 +0100 <tdammers> so the "correct by construction" approach in Haskell boils down to designing your functions and data structures such that they can only represent "valid" or "desirable" states
2020-12-02 11:43:25 +0100britva(~britva@31-10-157-156.cgn.dynamic.upc.ch)
2020-12-02 11:43:49 +0100merijnresets the "It has been N days since I was screwed over by Map having the wrong Monoid instance"-counter back to 0
2020-12-02 11:44:00 +0100 <atralheaven> I do prefer compiler errors to runtime errors
2020-12-02 11:44:01 +0100 <merijn> A pox upon the house of whoever decided on the current monoid
2020-12-02 11:44:40 +0100da39a3ee5e6b4b0d(~da39a3ee5@171.5.161.165)
2020-12-02 11:45:26 +0100 <atralheaven> do you know a good video course for haskell? right now I'm familiar with python and elixir
2020-12-02 11:45:28 +0100 <tdammers> atralheaven: preaching to the choir :D
2020-12-02 11:46:50 +0100adm_(~adm@117.208.22.42)
2020-12-02 11:47:15 +0100alp(~alp@2a01:e0a:58b:4920:6494:ebf2:fc26:3786) (Ping timeout: 272 seconds)
2020-12-02 11:47:33 +0100 <AWizzArd> Emacs users: is there a code formatter that will format a marked region vs the whole file?
2020-12-02 11:47:34 +0100mputz(~Thunderbi@dslb-084-058-211-084.084.058.pools.vodafone-ip.de) (Ping timeout: 246 seconds)
2020-12-02 11:49:35 +0100adm__(~adm@117.208.22.42) (Ping timeout: 256 seconds)
2020-12-02 11:50:22 +0100Franciman(~francesco@host-212-171-88-43.pool212171.interbusiness.it) (Quit: Leaving)
2020-12-02 11:51:04 +0100adm_(~adm@117.208.22.42) (Ping timeout: 246 seconds)
2020-12-02 11:52:48 +0100britva(~britva@31-10-157-156.cgn.dynamic.upc.ch) (Quit: This computer has gone to sleep)
2020-12-02 11:54:14 +0100britva(~britva@31-10-157-156.cgn.dynamic.upc.ch)
2020-12-02 11:57:09 +0100 <tomsmeding> merijn: what did you want <> to do? unionWith (<>) ?
2020-12-02 11:57:26 +0100 <merijn> tomsmeding: Obviously >.>
2020-12-02 11:57:41 +0100 <merijn> That's so *infinitely* more useful then this nonsense
2020-12-02 11:57:58 +0100 <tomsmeding> isn't the current behaviour unionWith (flip const)?
2020-12-02 11:58:18 +0100 <merijn> It keeps the left most one, so it's just "unionWith const"
2020-12-02 11:58:24 +0100 <tomsmeding> ah
2020-12-02 11:58:47 +0100adm_(~adm@117.208.22.42)
2020-12-02 11:59:01 +0100 <tomsmeding> I believe I've actually used the current monoid instance correctly in the past where, but then I would have been perfectly okay with writing 'unionWith const'
2020-12-02 11:59:15 +0100 <tomsmeding> also my mistake just now probably indicates why unionWith (<>) is better
2020-12-02 11:59:37 +0100 <merijn> "Map key (Sum Int)" is such a useful pattern
2020-12-02 11:59:43 +0100 <merijn> And completely ruined by this >.>
2020-12-02 11:59:51 +0100tomsmedingshould use the monoid wrappers more
2020-12-02 12:00:04 +0100 <merijn> I've literally never wanted the left-biased union :\
2020-12-02 12:00:29 +0100geowiesnot(~user@87-89-181-157.abo.bbox.fr)
2020-12-02 12:00:29 +0100geowiesnot(~user@87-89-181-157.abo.bbox.fr) (Excess Flood)
2020-12-02 12:00:34 +0100 <__monty__> Haskell doesn't have comparison operator chaining, does it? I.e., `a < b < c` being shorthand for `a < b && b < c`.
2020-12-02 12:00:48 +0100 <merijn> Which, incidentally is just "Map key (First val)"
2020-12-02 12:00:52 +0100 <merijn> __monty__: no
2020-12-02 12:01:56 +0100aoeusnth(7458bdce@116.88.189.206)
2020-12-02 12:02:06 +0100 <tdammers> unionWith (<>) would require an additional Monoid constraint on the values
2020-12-02 12:02:18 +0100 <merijn> tdammers: only Semigroup
2020-12-02 12:02:21 +0100aoeusnth(7458bdce@116.88.189.206) ()
2020-12-02 12:02:25 +0100aoeusnth(7458bdce@116.88.189.206)
2020-12-02 12:02:27 +0100 <tdammers> right, yes, ofc
2020-12-02 12:02:41 +0100 <tdammers> still, it would need an additional constraint, and so not all Maps would have a Monoid instance
2020-12-02 12:02:47 +0100 <merijn> tdammers: which can be trivially recovered via First
2020-12-02 12:03:07 +0100 <merijn> tdammers: THere's always just union/unions
2020-12-02 12:03:15 +0100 <tdammers> fwiw, I've found the existing one useful more often than not
2020-12-02 12:03:34 +0100geowiesnot(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr)
2020-12-02 12:03:35 +0100 <tdammers> we can of course argue whether left or right biasing would be better
2020-12-02 12:03:38 +0100 <merijn> tdammers: Accumulating by key is so useful it's a shame to sacrifice with 0 gained power
2020-12-02 12:03:53 +0100 <tdammers> you can still do it, just not via the monoid instance
2020-12-02 12:03:55 +0100 <tdammers> vOv
2020-12-02 12:04:01 +0100 <merijn> tdammers: My proposal is strictly more powerful
2020-12-02 12:04:08 +0100 <merijn> tdammers: It is *incredibly* inconvenient, though
2020-12-02 12:04:23 +0100 <merijn> tdammers: Can't use foldMap to easily aggregate
2020-12-02 12:04:39 +0100 <tdammers> idk, newtype it then?
2020-12-02 12:04:42 +0100 <merijn> tdammers: Gotta do a separate map, followed by "fromListWith
2020-12-02 12:04:52 +0100CMCDragonkai2(~Thunderbi@124.19.3.250) (Quit: CMCDragonkai2)
2020-12-02 12:05:00 +0100 <merijn> tdammers: Assuming you have a list, else you first have to convert to a list
2020-12-02 12:05:05 +0100funkatronixxx(~funkatron@2001:981:f73:1:b048:68d2:a9f5:c605)
2020-12-02 12:05:45 +0100 <merijn> tdammers: newtype means none of the functions work, so you'd have to re-export the entire containers API to get anything useful (which I might just do if I get annoyed/bit by this again with actual spare time)
2020-12-02 12:06:16 +0100 <tdammers> hmhm
2020-12-02 12:06:57 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-12-02 12:08:16 +0100 <tomsmeding> -package containers-but-then-with-useful-monoids
2020-12-02 12:08:24 +0100zatwai(~zatwai@80.211.175.241) ("Leaving")
2020-12-02 12:09:02 +0100 <tdammers> again, I've found the existing instance useful more than once
2020-12-02 12:09:48 +0100 <tdammers> e.g., a pattern I use quite a bit is building multiple maps of configuration options, one map per source (e.g., environment, config file, arguments), and then merge them with mconcat
2020-12-02 12:10:11 +0100 <idnar> merijn: https://hackage.haskell.org/package/appendmap
2020-12-02 12:10:14 +0100 <merijn> tdammers: "s/mconcat/unions/" patched your code ;)
2020-12-02 12:10:41 +0100 <tdammers> sure
2020-12-02 12:11:04 +0100 <tdammers> oh, but yeah, I can see what the unionsWith (<>) implementation buys you when you start nesting maps
2020-12-02 12:11:15 +0100 <merijn> idnar: That exports none of the API of containers
2020-12-02 12:11:29 +0100 <merijn> idnar: So you can actually write anything useful without continuously wrapping/unwrapping
2020-12-02 12:11:41 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds)
2020-12-02 12:11:47 +0100 <idnar> merijn: yeah :/
2020-12-02 12:12:24 +0100 <merijn> tdammers: For nested maps it's less bad, then the overhead of writing some wrappers disappears
2020-12-02 12:13:20 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
2020-12-02 12:13:21 +0100carlomagno1(~cararell@148.87.23.8) (Remote host closed the connection)
2020-12-02 12:13:48 +0100 <merijn> tdammers: Especially for the simple case of, like "foldMap (\k -> M.singleton k (Sum 1))" it's annoyting that it breaks and you have to awkwardly "M.fromListWith mappend . map (\k -> (k,Sum 1)) . F.toList"
2020-12-02 12:13:57 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-02 12:14:44 +0100Tesseraction(~Tesseract@unaffiliated/tesseraction) (Read error: Connection reset by peer)
2020-12-02 12:15:03 +0100 <tdammers> can't you just fmap succ?
2020-12-02 12:15:14 +0100Tesseraction(~Tesseract@unaffiliated/tesseraction)
2020-12-02 12:15:24 +0100seanparsons(~sean@cpc145088-gill21-2-0-cust281.20-1.cable.virginm.net) (Quit: ZNC 1.8.1 - https://znc.in)
2020-12-02 12:15:28 +0100 <merijn> ?
2020-12-02 12:16:13 +0100 <idnar> AWizzArd: ormolu.el has ormolu-format-region, lsp has lsp-format-region
2020-12-02 12:16:19 +0100theorb(~theorb@cpc81822-swin19-2-0-cust3.3-1.cable.virginm.net)
2020-12-02 12:17:24 +0100aoeusnthhydroxon1um
2020-12-02 12:18:47 +0100seanparsons(~sean@cpc145088-gill21-2-0-cust281.20-1.cable.virginm.net)
2020-12-02 12:19:07 +0100Franciman(~francesco@host-212-171-88-43.pool212171.interbusiness.it)
2020-12-02 12:19:44 +0100xff0x(~fox@2001:1a81:5348:9f00:4aad:b7c8:6288:cb49) (Ping timeout: 240 seconds)
2020-12-02 12:19:52 +0100funkatronixxx(~funkatron@2001:981:f73:1:b048:68d2:a9f5:c605) (Quit: Textual IRC Client: www.textualapp.com)
2020-12-02 12:19:53 +0100 <AWizzArd> idnar: okay thanks, will have a look at this!
2020-12-02 12:20:44 +0100xff0x(~fox@port-92-195-73-58.dynamic.as20676.net)
2020-12-02 12:20:56 +0100theorbtwo(~theorb@cpc81822-swin19-2-0-cust3.3-1.cable.virginm.net) (Ping timeout: 272 seconds)
2020-12-02 12:21:48 +0100carlomagno(~cararell@148.87.23.6)
2020-12-02 12:23:35 +0100son0p(~son0p@181.58.39.182) (Quit: leaving)
2020-12-02 12:24:09 +0100Mathmoose(~mathias@31-208-78-204.cust.bredband2.com) (Ping timeout: 256 seconds)
2020-12-02 12:24:37 +0100a3f(~a3f@chimeria.ext.pengutronix.de)
2020-12-02 12:25:16 +0100geowiesnot(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 240 seconds)
2020-12-02 12:25:18 +0100apoc(~apoc@bridge.mattzq.com) (Quit: WeeChat 2.8)
2020-12-02 12:27:06 +0100m0rphism(~m0rphism@HSI-KBW-095-208-098-207.hsi5.kabel-badenwuerttemberg.de)
2020-12-02 12:29:15 +0100takuan(~takuan@178-116-218-225.access.telenet.be) (Ping timeout: 256 seconds)
2020-12-02 12:33:37 +0100jpds(~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
2020-12-02 12:34:08 +0100jpds(~jpds@gateway/tor-sasl/jpds)
2020-12-02 12:36:01 +0100Lonias(58c54083@88.197.64.131) (Remote host closed the connection)
2020-12-02 12:36:19 +0100Franciman(~francesco@host-212-171-88-43.pool212171.interbusiness.it) (Quit: Leaving)
2020-12-02 12:40:08 +0100Franciman(~francesco@host-212-171-88-43.retail.telecomitalia.it)
2020-12-02 12:42:06 +0100alp(~alp@2a01:e0a:58b:4920:55c0:89ee:e596:d875)
2020-12-02 12:42:36 +0100gehmehgeh(~ircuser1@gateway/tor-sasl/gehmehgeh)
2020-12-02 12:43:35 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
2020-12-02 12:43:52 +0100Mathmoose(~mathias@31-208-78-204.cust.bredband2.com)
2020-12-02 12:43:59 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-02 12:44:16 +0100oab(~oab@214.92-220-221.customer.lyse.net)
2020-12-02 12:45:24 +0100Franciman(~francesco@host-212-171-88-43.retail.telecomitalia.it) (Quit: Leaving)
2020-12-02 12:46:25 +0100oab(~oab@214.92-220-221.customer.lyse.net) (Client Quit)
2020-12-02 12:48:36 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 240 seconds)
2020-12-02 12:52:38 +0100xiinotulp(~q@ppp-27-55-79-72.revip3.asianet.co.th) (Quit: Leaving)
2020-12-02 12:56:36 +0100Mathmoose(~mathias@31-208-78-204.cust.bredband2.com) (Ping timeout: 240 seconds)
2020-12-02 12:56:48 +0100pja(~phil@2a02:8010:6098:0:f2de:f1ff:fe2c:3d9)
2020-12-02 12:58:22 +0100Franciman(~francesco@host-212-171-88-43.retail.telecomitalia.it)
2020-12-02 12:58:49 +0100SupaYoshi(~supayoshi@213-10-140-13.fixed.kpn.net) (Quit: Goodbye!)
2020-12-02 13:00:05 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds)
2020-12-02 13:00:31 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2020-12-02 13:00:53 +0100dnlkrgr(~dnlkrgr@HSI-KBW-046-005-005-080.hsi8.kabel-badenwuerttemberg.de)
2020-12-02 13:03:16 +0100darjeeling_(~darjeelin@115.215.41.204) (Ping timeout: 240 seconds)
2020-12-02 13:04:35 +0100joaoh82_(~joaoh82@ip-213-127-88-241.ip.prioritytelecom.net)
2020-12-02 13:05:29 +0100elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
2020-12-02 13:06:44 +0100hexfive(~hexfive@50-47-142-195.evrt.wa.frontiernet.net)
2020-12-02 13:07:24 +0100mounty(~mounty@210.1.196.133)
2020-12-02 13:07:25 +0100joaoh82(~joaoh82@157-131-134-210.dedicated.static.sonic.net) (Ping timeout: 240 seconds)
2020-12-02 13:07:39 +0100plakband(~plakband@113x43x242x146.ap113.ftth.arteria-hikari.net) (Quit: WeeChat 2.9)
2020-12-02 13:09:07 +0100SupaYoshi(~supayoshi@213-10-140-13.fixed.kpn.net)
2020-12-02 13:11:43 +0100 <tomsmeding> tdammers: intent was a histogram of a foldable, I think
2020-12-02 13:15:38 +0100Stanley00(~stanley00@unaffiliated/stanley00) (Remote host closed the connection)
2020-12-02 13:16:27 +0100Jonkimi727406120(~Jonkimi@115.44.7.41)
2020-12-02 13:16:36 +0100mounty(~mounty@210.1.196.133) (Ping timeout: 240 seconds)
2020-12-02 13:16:52 +0100LKoen(~LKoen@105.175.9.109.rev.sfr.net)
2020-12-02 13:17:52 +0100inja(~inja@pd9f82e18.dip0.t-ipconnect.de) (Ping timeout: 246 seconds)
2020-12-02 13:20:28 +0100 <tomsmeding> I'd have written that with M.fromListWith (+) . map (,1) . F.toList, but same
2020-12-02 13:21:07 +0100 <merijn> tomsmeding: The monoid generalises better, though
2020-12-02 13:21:34 +0100darjeeling_(~darjeelin@115.215.41.204)
2020-12-02 13:21:52 +0100ct2034(uid362550@gateway/web/irccloud.com/x-gyohlvwnnexqaalu)
2020-12-02 13:23:18 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-02 13:24:59 +0100thevishy(~Nishant@103.210.43.249)
2020-12-02 13:27:23 +0100adm__(~adm@117.208.22.42)
2020-12-02 13:27:45 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 240 seconds)
2020-12-02 13:31:21 +0100adm_(~adm@117.208.22.42) (Ping timeout: 265 seconds)
2020-12-02 13:31:36 +0100adm__(~adm@117.208.22.42) (Ping timeout: 240 seconds)
2020-12-02 13:32:03 +0100skiold(~skiold@gateway/tor-sasl/skiold) (Remote host closed the connection)
2020-12-02 13:32:04 +0100tomboy64(~tomboy64@gateway/tor-sasl/tomboy64) (Remote host closed the connection)
2020-12-02 13:32:33 +0100skiold(~skiold@gateway/tor-sasl/skiold)
2020-12-02 13:33:37 +0100Franciman(~francesco@host-212-171-88-43.retail.telecomitalia.it) (Quit: Leaving)
2020-12-02 13:34:03 +0100skiold_(~skiold@gateway/tor-sasl/skiold)
2020-12-02 13:34:16 +0100skiold(~skiold@gateway/tor-sasl/skiold) (Remote host closed the connection)
2020-12-02 13:34:44 +0100tomboy64(~tomboy64@gateway/tor-sasl/tomboy64)
2020-12-02 13:35:20 +0100LKoen(~LKoen@105.175.9.109.rev.sfr.net) (Read error: Connection reset by peer)
2020-12-02 13:35:33 +0100shutdown_-h_now(~arjan@2001:1c06:2d0b:2312:4c42:47db:3d8a:3c9a) (Ping timeout: 272 seconds)
2020-12-02 13:35:50 +0100LKoen(~LKoen@105.175.9.109.rev.sfr.net)
2020-12-02 13:39:15 +0100Franciman(~francesco@host-212-171-88-43.pool212171.interbusiness.it)
2020-12-02 13:40:27 +0100JohninLex(~JohninLex@185.204.1.185) (Remote host closed the connection)
2020-12-02 13:42:20 +0100shutdown_-h_now(~arjan@2001:1c06:2d0b:2312:3da6:b84a:a587:6e3b)
2020-12-02 13:44:13 +0100kupi(uid212005@gateway/web/irccloud.com/x-dtrdarsxnfpkpogi)
2020-12-02 13:44:26 +0100kori(~kori@arrowheads/kori) (Quit: WeeChat 2.8)
2020-12-02 13:46:07 +0100 <lortabac> is there a function that flips the keys and the values of a Map?
2020-12-02 13:47:57 +0100mbomba(~mbomba@bras-base-toroon2719w-grc-49-142-114-9-241.dsl.bell.ca) (Quit: WeeChat 3.0)
2020-12-02 13:49:38 +0100tensegrist(~swann@106.51.72.39)
2020-12-02 13:49:47 +0100 <tensegrist> is there a way i can get hie to use -O0
2020-12-02 13:49:51 +0100 <tensegrist> or, well, hls now
2020-12-02 13:49:59 +0100 <merijn> tensegrist: Pretty sure it already does by default?
2020-12-02 13:51:02 +0100hseg(~gesh@IGLD-84-228-238-34.inter.net.il)
2020-12-02 13:51:28 +0100 <tensegrist> merijn: i have a simple hie.yaml that just names the components of the project
2020-12-02 13:51:40 +0100 <tensegrist> and it seems to be calling ghc with -O1
2020-12-02 13:52:32 +0100 <tensegrist> https://i.imgur.com/adixDXb.png
2020-12-02 13:52:35 +0100 <solonarv> does it also pass -fno-code? there's little reason to generate code at all in hie/hls, so it seems like that should be the default
2020-12-02 13:52:44 +0100 <hseg> what are the restricted analogues of Functor/Applicative/Monad used for containers? e.g. am encoding multisets as Map k Int, these should really have all three instances except for an Ord k constraint
2020-12-02 13:53:05 +0100dopplergange(~dop@195.158.249.53) (Ping timeout: 240 seconds)
2020-12-02 13:53:07 +0100shangxiao(~davids@101.181.159.140) (Ping timeout: 256 seconds)
2020-12-02 13:53:19 +0100 <tensegrist> i don't think it does?
2020-12-02 13:53:32 +0100 <tensegrist> but is there a way to tell hie to pass -O0 explicitly
2020-12-02 13:53:34 +0100philopsos(~caecilius@gateway/tor-sasl/caecilius)
2020-12-02 13:53:43 +0100 <tensegrist> this is a huge project by my standards and it would help a lot
2020-12-02 13:53:45 +0100 <hseg> i ended up monomorphising, but it's annoying and general enough i suppose it's come up before
2020-12-02 13:53:54 +0100 <merijn> hseg: eh, you can really sensibly traverse keys without basically serialising the Map into a list and going back
2020-12-02 13:54:00 +0100 <tensegrist> idk if the direct cradle is the right idea
2020-12-02 13:54:14 +0100 <hseg> you mean "can't"?
2020-12-02 13:54:17 +0100 <merijn> tensegrist: It's weird that you notice, tbh
2020-12-02 13:54:35 +0100 <merijn> tensegrist: I have a huge project that takes ages to build, but HIE is pretty snappy
2020-12-02 13:55:03 +0100 <tensegrist> it's about the first run
2020-12-02 13:55:19 +0100 <tensegrist> it's been running for ages and this is an 8-core machine with what seems like enough memory
2020-12-02 13:55:40 +0100 <hseg> and yeah, this isn't a savings, but the semantics are better fit than quotienting [] by order
2020-12-02 13:56:23 +0100 <hseg> (though it unnecessarily forces me to distinguish bw empty and fromList [(k,0)], but i can live with that)
2020-12-02 13:58:27 +0100 <tensegrist> i don't think 50 kloc across 300ish files is that much either
2020-12-02 13:58:48 +0100 <tensegrist> but since the way i test my code is always with -O0 this is taking a while
2020-12-02 13:58:58 +0100 <tensegrist> finally got done building deps
2020-12-02 13:59:56 +0100shangxiao(~davids@101.181.159.140)
2020-12-02 14:00:30 +0100threadlock(~threadloc@195.140.213.38)
2020-12-02 14:01:18 +0100jonatanb(jonatanb@gateway/vpn/protonvpn/jonatanb)
2020-12-02 14:02:03 +0100benjamingr__(uid23465@gateway/web/irccloud.com/x-syalagemfhhmznuu) (Quit: Connection closed for inactivity)
2020-12-02 14:03:16 +0100 <hseg> so am i to understand that rmonad, supermonad, free-functors, and the like are all theoretical solutions only at the moment?
2020-12-02 14:04:54 +0100urodna(~urodna@unaffiliated/urodna)
2020-12-02 14:05:28 +0100jonatanb(jonatanb@gateway/vpn/protonvpn/jonatanb) (Ping timeout: 246 seconds)
2020-12-02 14:07:01 +0100texasmynsted(~texasmyns@212.102.44.36)
2020-12-02 14:07:10 +0100joaj(~joaj@2001:690:2100:110:cceb:227c:edbc:592c)
2020-12-02 14:08:33 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-12-02 14:12:22 +0100Mathmoose(~mathias@31-208-78-204.cust.bredband2.com)
2020-12-02 14:12:49 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 246 seconds)
2020-12-02 14:13:22 +0100shangxiao(~davids@101.181.159.140) (Ping timeout: 256 seconds)
2020-12-02 14:15:26 +0100adm_(~adm@117.208.22.42)
2020-12-02 14:16:17 +0100geekosaur(82659a09@host154-009.vpn.uakron.edu)
2020-12-02 14:18:21 +0100vg(~vg@139.59.59.230)
2020-12-02 14:18:38 +0100vg(~vg@139.59.59.230) (Remote host closed the connection)
2020-12-02 14:18:53 +0100vg(~vg@139.59.59.230)
2020-12-02 14:20:33 +0100adm___(~adm@117.208.22.42)
2020-12-02 14:20:37 +0100AlterEgo-(~ladew@124-198-158-163.dynamic.caiway.nl)
2020-12-02 14:20:53 +0100inja(~inja@pd9f82e18.dip0.t-ipconnect.de)
2020-12-02 14:23:41 +0100hseg(~gesh@IGLD-84-228-238-34.inter.net.il) (Quit: WeeChat 2.9)
2020-12-02 14:23:57 +0100gehmehgeh(~ircuser1@gateway/tor-sasl/gehmehgeh) (Remote host closed the connection)
2020-12-02 14:24:04 +0100adm_(~adm@117.208.22.42) (Ping timeout: 256 seconds)
2020-12-02 14:24:29 +0100cosimone(~cosimone@93-47-228-249.ip115.fastwebnet.it)
2020-12-02 14:25:22 +0100shangxiao(~davids@101.181.52.104)
2020-12-02 14:25:58 +0100Jonkimi727406120(~Jonkimi@115.44.7.41) (Ping timeout: 260 seconds)
2020-12-02 14:27:16 +0100da39a3ee5e6b4b0d(~da39a3ee5@171.5.161.165) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-12-02 14:27:39 +0100gehmehgeh(~ircuser1@gateway/tor-sasl/gehmehgeh)
2020-12-02 14:28:47 +0100 <__monty__> Hmm, running into this "TODO: add support for multiple packages in a directory" with ghcid. What's the easiest way around this?
2020-12-02 14:28:52 +0100alp(~alp@2a01:e0a:58b:4920:55c0:89ee:e596:d875) (Ping timeout: 260 seconds)
2020-12-02 14:29:05 +0100vg(~vg@139.59.59.230) (Quit: vg)
2020-12-02 14:29:10 +0100Sheilong(uid293653@gateway/web/irccloud.com/x-djudanwmexelqxja)
2020-12-02 14:29:17 +0100mputz(~Thunderbi@dslb-084-058-211-084.084.058.pools.vodafone-ip.de)
2020-12-02 14:29:22 +0100vg(~vg@139.59.59.230)
2020-12-02 14:29:40 +0100vg(~vg@139.59.59.230) (Remote host closed the connection)
2020-12-02 14:29:51 +0100vg(~vg@139.59.59.230)
2020-12-02 14:30:08 +0100vg(~vg@139.59.59.230) (Remote host closed the connection)
2020-12-02 14:30:22 +0100vg(~vg@139.59.59.230)
2020-12-02 14:30:29 +0100vg(~vg@139.59.59.230) (Remote host closed the connection)
2020-12-02 14:30:43 +0100vg(~vg@139.59.59.230)
2020-12-02 14:35:18 +0100 <tomsmeding> lortabac: `M.fromList . map (\(x,y) -> (y,x)) . M.toList` :p
2020-12-02 14:36:04 +0100 <lortabac> tomsmeding: thanks
2020-12-02 14:36:10 +0100 <tomsmeding> tensegrist: in my experience building the project first makes ghcide load the thing faster, but that's perhaps dependent on the project
2020-12-02 14:36:25 +0100 <tomsmeding> lortabac: no library function AFAIK
2020-12-02 14:36:46 +0100 <lortabac> tomsmeding: I was wondering if it was already defined somewhere, but in fact it's so simple it doesn't matter
2020-12-02 14:37:11 +0100 <tomsmeding> mind that you probably want fromListWith with a suitable combination function
2020-12-02 14:37:36 +0100 <lortabac> there was a bidirectional map library somewhere on Hackage, it's probably better in these cases
2020-12-02 14:37:37 +0100 <tomsmeding> because this just throws away values if you have duplicates
2020-12-02 14:41:03 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-02 14:41:22 +0100 <danza> tomsmeding, the function (a, b) -> (b, a) is Data.Tuple.swap
2020-12-02 14:42:59 +0100 <tomsmeding> lortabac: ^; danza: right, I knew it was somewhere but was too lazy to try to recall where exactly. In this case, although "map swap" rhymes nicely, I'm not sure whether the import is worth it, but YMMV
2020-12-02 14:43:28 +0100watt799(~watt799@124.123.106.149) (Ping timeout: 260 seconds)
2020-12-02 14:44:05 +0100Alleria(~AllahuAkb@mskresolve-a.mskcc.org)
2020-12-02 14:44:28 +0100AlleriaGuest81223
2020-12-02 14:45:11 +0100 <danza> lortabac, tomsmeding this seems a bit ill-defined though. Values can be duplicated thus when turning them to key you might want to use Map.fromListWith
2020-12-02 14:45:37 +0100 <tomsmeding> hence my remark about fromListWith above :p
2020-12-02 14:45:51 +0100 <danza> sorry i lost it :)
2020-12-02 14:46:04 +0100vg(~vg@139.59.59.230) (Quit: vg)
2020-12-02 14:46:07 +0100 <tomsmeding> also "map swap" doesn't actually rhyme in english I realise, only with a bad Dutch accent in which both 'a's become the 'a' from "bar"
2020-12-02 14:46:20 +0100vg(~vg@139.59.59.230)
2020-12-02 14:46:24 +0100 <danza> :D
2020-12-02 14:46:34 +0100vg(~vg@139.59.59.230) (Remote host closed the connection)
2020-12-02 14:46:48 +0100 <lortabac> haha don't worry it rhymes in my accent too :P
2020-12-02 14:46:49 +0100vg(~vg@139.59.59.230)
2020-12-02 14:46:55 +0100vg(~vg@139.59.59.230) (Remote host closed the connection)
2020-12-02 14:46:56 +0100hyperisco(~hyperisco@d192-186-117-226.static.comm.cgocable.net)
2020-12-02 14:48:00 +0100vg(~vg@139.59.59.230)
2020-12-02 14:48:25 +0100vg(~vg@139.59.59.230) (Remote host closed the connection)
2020-12-02 14:48:38 +0100 <tensegrist> tomsmeding: yeah like i said i build with -O0 but i've never used ghcide on it
2020-12-02 14:48:39 +0100vg(~vg@139.59.59.230)
2020-12-02 14:49:01 +0100vg(~vg@139.59.59.230) (Remote host closed the connection)
2020-12-02 14:49:02 +0100 <tensegrist> and i have no idea how to make ghcide use -O0 and not -O1
2020-12-02 14:49:16 +0100mputz(~Thunderbi@dslb-084-058-211-084.084.058.pools.vodafone-ip.de) (Ping timeout: 240 seconds)
2020-12-02 14:50:51 +0100LKoen(~LKoen@105.175.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.”)
2020-12-02 14:51:23 +0100da39a3ee5e6b4b0d(~da39a3ee5@mx-ll-171.5.161-165.dynamic.3bb.co.th)
2020-12-02 14:52:54 +0100kawzeg(~kawzeg@li2046-66.members.linode.com)
2020-12-02 14:53:38 +0100alp(~alp@2a01:e0a:58b:4920:f89e:9d82:8ae1:cb84)
2020-12-02 14:55:17 +0100apoc(~apoc@bridge.mattzq.com)
2020-12-02 14:56:44 +0100geekosaur(82659a09@host154-009.vpn.uakron.edu) (Ping timeout: 245 seconds)
2020-12-02 14:58:08 +0100hydroxon1um(7458bdce@116.88.189.206) (Remote host closed the connection)
2020-12-02 14:59:13 +0100mputz(~Thunderbi@dslb-084-058-211-084.084.058.pools.vodafone-ip.de)
2020-12-02 14:59:16 +0100mputz(~Thunderbi@dslb-084-058-211-084.084.058.pools.vodafone-ip.de) (Client Quit)
2020-12-02 15:03:55 +0100Tario(~Tario@201.192.165.173) (Ping timeout: 246 seconds)
2020-12-02 15:05:57 +0100shangxia1(~davids@1.143.59.92)
2020-12-02 15:06:00 +0100shangxiao(~davids@101.181.52.104) (Ping timeout: 256 seconds)
2020-12-02 15:07:46 +0100pfurla(~pfurla@216.151.180.165) (Ping timeout: 256 seconds)
2020-12-02 15:09:46 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-12-02 15:10:12 +0100knupfer(~Thunderbi@200116b82c870c00080eacfffe9e47cb.dip.versatel-1u1.de)
2020-12-02 15:10:12 +0100knupfer(~Thunderbi@200116b82c870c00080eacfffe9e47cb.dip.versatel-1u1.de) (Client Quit)
2020-12-02 15:10:26 +0100pfurla(~pfurla@ool-182ed2e2.dyn.optonline.net)
2020-12-02 15:10:29 +0100knupfer(~Thunderbi@i59F7FFB7.versanet.de)
2020-12-02 15:10:57 +0100AlonzoC(~user@2a00:23c4:9010:3d01:d94:1358:c8c9:fd4c)
2020-12-02 15:14:04 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 246 seconds)
2020-12-02 15:15:49 +0100 <eedgit> Is there a good place to search for basic examples
2020-12-02 15:16:12 +0100 <eedgit> I'm having trouble storing / passing data - so the ghci examples aren't much use
2020-12-02 15:16:17 +0100Stanley00(~stanley00@unaffiliated/stanley00)
2020-12-02 15:17:56 +0100dhil(~dhil@195.213.192.34)
2020-12-02 15:21:12 +0100AlonzoC(~user@2a00:23c4:9010:3d01:d94:1358:c8c9:fd4c) (Remote host closed the connection)
2020-12-02 15:21:26 +0100Stanley00(~stanley00@unaffiliated/stanley00) (Ping timeout: 272 seconds)
2020-12-02 15:21:45 +0100geekosaur(82659a09@host154-009.vpn.uakron.edu)
2020-12-02 15:21:55 +0100AlonzoC(~user@2a00:23c4:9010:3d01:d94:1358:c8c9:fd4c)
2020-12-02 15:24:43 +0100sondr3(~sondr3@cm-84.211.56.132.getinternet.no)
2020-12-02 15:25:18 +0100AlonzoC(~user@2a00:23c4:9010:3d01:d94:1358:c8c9:fd4c) (Remote host closed the connection)
2020-12-02 15:25:34 +0100 <[exa]> eedgit: docs on hackage usually contain tiny microexamples, but just asking here is pretty useful too :]
2020-12-02 15:25:45 +0100 <[exa]> (where do you store the data?)
2020-12-02 15:26:27 +0100 <merijn> eedgit: Basic examples of what?
2020-12-02 15:27:45 +0100petersen(~petersen@redhat/juhp)
2020-12-02 15:29:34 +0100 <eedgit> [exa] yeah that's the ghci example tho :(
2020-12-02 15:29:38 +0100shangxiao(~davids@101.181.45.166)
2020-12-02 15:29:44 +0100mlugg(c3c2162d@195.194.22.45)
2020-12-02 15:30:01 +0100 <eedgit> merijn Just in general, at the moment I'm struggling with returning/printing IsInfixOf
2020-12-02 15:30:10 +0100shangxia1(~davids@1.143.59.92) (Ping timeout: 246 seconds)
2020-12-02 15:30:49 +0100 <eedgit> https://dpaste.org/ui1o returning `Couldn't match type ‘[Char]’ with ‘Char’`
2020-12-02 15:31:33 +0100ct2034(uid362550@gateway/web/irccloud.com/x-gyohlvwnnexqaalu) (Quit: Connection closed for inactivity)
2020-12-02 15:31:40 +0100 <eedgit> Also confused about the difference between isInfixOf and `isInfixOf` - which isn't the easiest thing to google :(
2020-12-02 15:32:02 +0100mlugg(c3c2162d@195.194.22.45) (Remote host closed the connection)
2020-12-02 15:32:39 +0100 <[exa]> eedgit: backticks` are used for making operators out of normal functions
2020-12-02 15:32:52 +0100 <eedgit> ah, ty
2020-12-02 15:32:54 +0100 <[exa]> eedgit: mod 5 1 is the same as 5 `mod` 1
2020-12-02 15:33:06 +0100 <[exa]> reverse way: 5 + 1 is the same as (+) 5 1
2020-12-02 15:33:40 +0100danza(~francesco@151.74.103.112) (Ping timeout: 246 seconds)
2020-12-02 15:33:57 +0100 <eedgit> Ahhh right, yeh I did learn that actually. I thought it was something specific to isInfixOf
2020-12-02 15:34:43 +0100cr3(~cr3@192-222-143-195.qc.cable.ebox.net)
2020-12-02 15:34:55 +0100 <[exa]> anyway your error might be that you are confusing letters (Char) with strings ([Char]) somewhere
2020-12-02 15:35:18 +0100Vulfe_(~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8)
2020-12-02 15:39:04 +0100coot(~coot@37.30.53.191.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
2020-12-02 15:40:13 +0100day(~Unknown@unaffiliated/day) (Ping timeout: 256 seconds)
2020-12-02 15:40:22 +0100rcdilorenzo(~rcdiloren@cpe-76-182-87-188.nc.res.rr.com)
2020-12-02 15:40:25 +0100drincruz(~adriancru@ool-44c748be.dyn.optonline.net)
2020-12-02 15:41:12 +0100cheater(~user@unaffiliated/cheater) (Remote host closed the connection)
2020-12-02 15:43:06 +0100tungki(~tungki@subs31-116-206-15-6.three.co.id)
2020-12-02 15:43:49 +0100rcdilorenzo(~rcdiloren@cpe-76-182-87-188.nc.res.rr.com) (Client Quit)
2020-12-02 15:44:07 +0100rcdilorenzo(~rcdiloren@cpe-76-182-87-188.nc.res.rr.com)
2020-12-02 15:45:24 +0100jonatanb(jonatanb@gateway/vpn/protonvpn/jonatanb)
2020-12-02 15:45:42 +0100cheater(~user@unaffiliated/cheater)
2020-12-02 15:46:07 +0100 <kuribas> `view` does a right based mappend, no?
2020-12-02 15:46:37 +0100 <kuribas> isn't there a foldOf' which does left based mappend?
2020-12-02 15:46:42 +0100danza(~francesco@151.53.79.66)
2020-12-02 15:46:56 +0100inja(~inja@pd9f82e18.dip0.t-ipconnect.de) (Quit: WeeChat 2.9)
2020-12-02 15:48:03 +0100machinedgod(~machinedg@135-23-192-217.cpe.pppoe.ca)
2020-12-02 15:49:23 +0100adm___(~adm@117.208.22.42) (Ping timeout: 260 seconds)
2020-12-02 15:50:59 +0100jonatanb(jonatanb@gateway/vpn/protonvpn/jonatanb) (Ping timeout: 256 seconds)
2020-12-02 15:51:24 +0100kritzefitz(~kritzefit@2003:5b:203b:200::10:49) (Ping timeout: 240 seconds)
2020-12-02 15:53:02 +0100elfets_(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
2020-12-02 15:53:23 +0100motherfsck(~motherfsc@unaffiliated/motherfsck) (Quit: quit)
2020-12-02 15:53:23 +0100rcdilorenzo(~rcdiloren@cpe-76-182-87-188.nc.res.rr.com) (Quit: rcdilorenzo)
2020-12-02 15:53:40 +0100rcdilorenzo(~rcdiloren@cpe-76-182-87-188.nc.res.rr.com)
2020-12-02 15:54:01 +0100motherfsck(~motherfsc@unaffiliated/motherfsck)
2020-12-02 15:54:45 +0100roesl__(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
2020-12-02 15:55:41 +0100 <kuribas> is there a Monoid newtype that turns a right fold into a left fold?
2020-12-02 15:56:21 +0100falafel_(~falafel@pool-71-182-130-97.pitbpa.fios.verizon.net) (Ping timeout: 265 seconds)
2020-12-02 15:56:39 +0100elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 256 seconds)
2020-12-02 15:56:59 +0100elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
2020-12-02 15:57:25 +0100stree_(~stree@50-108-92-113.adr01.mskg.mi.frontiernet.net) (Ping timeout: 240 seconds)
2020-12-02 15:58:21 +0100elfets_(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 256 seconds)
2020-12-02 15:58:42 +0100bitmapper(uid464869@gateway/web/irccloud.com/x-dgdxieqqfmttuoeu) (Quit: Connection closed for inactivity)
2020-12-02 15:58:45 +0100elfets_(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
2020-12-02 15:58:45 +0100stree(~stree@50-108-78-9.adr01.mskg.mi.frontiernet.net)
2020-12-02 15:58:49 +0100rcdilorenzo(~rcdiloren@cpe-76-182-87-188.nc.res.rr.com) (Quit: rcdilorenzo)
2020-12-02 15:59:06 +0100rcdilorenzo(~rcdiloren@cpe-76-182-87-188.nc.res.rr.com)
2020-12-02 15:59:29 +0100roesl__(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 256 seconds)
2020-12-02 16:02:05 +0100elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 240 seconds)
2020-12-02 16:03:46 +0100 <kuribas> Endo maybe...
2020-12-02 16:04:29 +0100 <kuribas> and why do we have foldMap', but not fold'?
2020-12-02 16:04:32 +0100 <kuribas> :t foldMap'
2020-12-02 16:04:34 +0100 <lambdabot> (Foldable t, Monoid m) => (a -> m) -> t a -> m
2020-12-02 16:04:36 +0100 <kuribas> :t fold'
2020-12-02 16:04:38 +0100 <lambdabot> error:
2020-12-02 16:04:38 +0100 <lambdabot> • Variable not in scope: fold'
2020-12-02 16:04:38 +0100 <lambdabot> • Perhaps you meant one of these:
2020-12-02 16:06:45 +0100 <kuribas> :t foldOf
2020-12-02 16:06:48 +0100 <lambdabot> Getting a s a -> s -> a
2020-12-02 16:06:50 +0100 <kuribas> :t foldOf'
2020-12-02 16:06:53 +0100 <lambdabot> error:
2020-12-02 16:06:53 +0100 <lambdabot> • Variable not in scope: foldOf'
2020-12-02 16:06:53 +0100 <lambdabot> • Perhaps you meant one of these:
2020-12-02 16:07:21 +0100AlonzoC(~user@2a00:23c4:9010:3d01:d94:1358:c8c9:fd4c)
2020-12-02 16:07:28 +0100Gurkenglas(~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 265 seconds)
2020-12-02 16:08:21 +0100rcdilorenzo(~rcdiloren@cpe-76-182-87-188.nc.res.rr.com) (Quit: rcdilorenzo)
2020-12-02 16:08:38 +0100rcdilorenzo(~rcdiloren@cpe-76-182-87-188.nc.res.rr.com)
2020-12-02 16:08:43 +0100 <lyxia> kuribas: Data.Monoid.Dual ?
2020-12-02 16:09:00 +0100 <Taneb> lyxia: I thought foldMap was strictness rather than symmetry
2020-12-02 16:10:16 +0100 <kuribas> foldMap f == foldMap' f
2020-12-02 16:10:25 +0100 <kuribas> for a lawful Monoid
2020-12-02 16:11:36 +0100mputz(~Thunderbi@dslb-084-058-211-084.084.058.pools.vodafone-ip.de)
2020-12-02 16:13:45 +0100tensegrist(~swann@106.51.72.39) (Quit: WeeChat 2.9)
2020-12-02 16:14:25 +0100AlonzoC(~user@2a00:23c4:9010:3d01:d94:1358:c8c9:fd4c) (Remote host closed the connection)
2020-12-02 16:15:28 +0100Sgeo(~Sgeo@ool-18b98aa4.dyn.optonline.net)
2020-12-02 16:19:13 +0100coot(~coot@37.30.53.191.nat.umts.dynamic.t-mobile.pl)
2020-12-02 16:19:14 +0100ubert(~Thunderbi@p200300ecdf1e533ee6b318fffe838f33.dip0.t-ipconnect.de) (Ping timeout: 264 seconds)
2020-12-02 16:20:26 +0100vicfred(~vicfred@unaffiliated/vicfred)
2020-12-02 16:22:10 +0100da39a3ee5e6b4b0d(~da39a3ee5@mx-ll-171.5.161-165.dynamic.3bb.co.th) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-12-02 16:22:17 +0100Moyst(~moyst@212-149-213-144.bb.dnainternet.fi) (Read error: Connection reset by peer)
2020-12-02 16:24:07 +0100 <kuribas> maybe (Endo (<>))?
2020-12-02 16:24:46 +0100 <kuribas> flip appEndo f $ foldMap (Endo (<>)) [a, b, c, d, e]
2020-12-02 16:24:51 +0100 <kuribas> > flip appEndo f $ foldMap (Endo (<>)) [a, b, c, d, e]
2020-12-02 16:24:54 +0100 <lambdabot> error:
2020-12-02 16:24:54 +0100 <lambdabot> • Couldn't match expected type ‘Expr -> Endo c’
2020-12-02 16:24:54 +0100 <lambdabot> with actual type ‘Endo (a0 -> a0)’
2020-12-02 16:24:58 +0100Moyst(~moyst@212-149-213-144.bb.dnainternet.fi)
2020-12-02 16:25:09 +0100 <kuribas> > ($f) $ appEndo $ foldMap (Endo (<>)) [a, b, c, d, e]
2020-12-02 16:25:12 +0100 <lambdabot> error:
2020-12-02 16:25:12 +0100 <lambdabot> • Couldn't match expected type ‘Expr -> Endo b’
2020-12-02 16:25:12 +0100 <lambdabot> with actual type ‘Endo (a0 -> a0)’
2020-12-02 16:25:24 +0100jamm_(~jamm@unaffiliated/jamm)
2020-12-02 16:26:34 +0100ystael(~ystael@209.6.50.55) (Quit: Lost terminal)
2020-12-02 16:26:41 +0100b`exarkun`exarkun
2020-12-02 16:27:57 +0100dirediresalt(DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt)
2020-12-02 16:28:00 +0100 <kuribas> flip appEndo z $ foldMap (Endo . flip (<>)) [a, b, c, d, e]
2020-12-02 16:28:02 +0100 <kuribas> > flip appEndo z $ foldMap (Endo . flip (<>)) [a, b, c, d, e]
2020-12-02 16:28:05 +0100 <lambdabot> ((((z <> e) <> d) <> c) <> b) <> a
2020-12-02 16:28:18 +0100DirefulSalt(DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt) (Remote host closed the connection)
2020-12-02 16:28:57 +0100jollygood2(~bc8165ab@217.29.117.252) (Quit: http://www.okay.uz/ (Session timeout))
2020-12-02 16:29:00 +0100ystael(~ystael@209.6.50.55)
2020-12-02 16:30:36 +0100 <kuribas> > flip (appEndo . getDual) z $ foldMap (Dual . Endo . flip (<>)) [a, b, c, d, e]
2020-12-02 16:30:39 +0100 <lambdabot> ((((z <> a) <> b) <> c) <> d) <> e
2020-12-02 16:30:53 +0100 <kuribas> that's it :)
2020-12-02 16:31:05 +0100elfets_(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 240 seconds)
2020-12-02 16:32:35 +0100kuribas(~user@ptr-25vy0i9ut9m296caj2d.18120a2.ip6.access.telenet.be) ("ERC (IRC client for Emacs 26.3)")
2020-12-02 16:33:10 +0100geowiesnot(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr)
2020-12-02 16:33:39 +0100kuribas(~user@ptr-25vy0i9ut9m296caj2d.18120a2.ip6.access.telenet.be)
2020-12-02 16:33:49 +0100rcdilorenzo(~rcdiloren@cpe-76-182-87-188.nc.res.rr.com) (Quit: rcdilorenzo)
2020-12-02 16:34:06 +0100rcdilorenzo(~rcdiloren@cpe-76-182-87-188.nc.res.rr.com)
2020-12-02 16:35:58 +0100 <Vulfe_> I can't not read 'appEndo' as 'appendo'
2020-12-02 16:36:08 +0100 <Vulfe_> like it's some kind of incantation for putting lists together
2020-12-02 16:37:29 +0100olligobber(olligobber@gateway/vpn/privateinternetaccess/olligobber) (Ping timeout: 260 seconds)
2020-12-02 16:38:45 +0100Tario(~Tario@201.192.165.173)
2020-12-02 16:42:25 +0100chkno(~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer)
2020-12-02 16:42:57 +0100toorevitimirp(~tooreviti@117.182.183.16) (Remote host closed the connection)
2020-12-02 16:43:21 +0100rcdilorenzo(~rcdiloren@cpe-76-182-87-188.nc.res.rr.com) (Quit: rcdilorenzo)
2020-12-02 16:43:36 +0100rcdilorenzo(~rcdiloren@cpe-76-182-87-188.nc.res.rr.com)
2020-12-02 16:45:14 +0100petersen(~petersen@redhat/juhp) (Quit: petersen)
2020-12-02 16:45:40 +0100chkno(~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net)
2020-12-02 16:45:47 +0100 <merijn> Vulfe_: Same :p
2020-12-02 16:48:49 +0100rcdilorenzo(~rcdiloren@cpe-76-182-87-188.nc.res.rr.com) (Quit: rcdilorenzo)
2020-12-02 16:49:02 +0100rcdilorenzo(~rcdiloren@cpe-76-182-87-188.nc.res.rr.com)
2020-12-02 16:49:48 +0100 <exarkun> is there a better maintained GitHub client library than https://github.com/phadej/github ? The docs are incomplete and most of the examples are broken.
2020-12-02 16:50:19 +0100jchia__(~jchia@58.32.37.146) (Quit: Leaving.)
2020-12-02 16:51:26 +0100polyphem(~p0lyph3m@2a02:810d:640:776c:76d7:55f6:f85b:c889)
2020-12-02 16:53:20 +0100jamm_(~jamm@unaffiliated/jamm) (Remote host closed the connection)
2020-12-02 16:53:21 +0100rcdilorenzo(~rcdiloren@cpe-76-182-87-188.nc.res.rr.com) (Client Quit)
2020-12-02 16:53:35 +0100lpy(~nyd@unaffiliated/elysian)
2020-12-02 16:53:35 +0100rcdilorenzo(~rcdiloren@cpe-76-182-87-188.nc.res.rr.com)
2020-12-02 16:54:15 +0100jamm_(~jamm@unaffiliated/jamm)
2020-12-02 16:58:13 +0100flatmap(~flatmap@p5b05a978.dip0.t-ipconnect.de)
2020-12-02 16:58:47 +0100jamm_(~jamm@unaffiliated/jamm) (Ping timeout: 260 seconds)
2020-12-02 16:59:20 +0100ph88_(~ph88@2a02:8109:9e00:7e5c:51c4:aed6:17c7:3978) (Ping timeout: 246 seconds)
2020-12-02 17:00:15 +0100Gurkenglas(~Gurkengla@unaffiliated/gurkenglas)
2020-12-02 17:03:23 +0100ph88_(~ph88@2a02:8109:9e00:7e5c:51c4:aed6:17c7:3978)
2020-12-02 17:03:59 +0100 <Axman6> I'm genuinely surprised there is no function with this type in ByteString: fromFunction :: Int -> (Int -> Word8) -> ByteString. had to hack together some nonsense using unfoldrN
2020-12-02 17:05:53 +0100tlaxkit(~kvirc@185.228.155.198)
2020-12-02 17:06:26 +0100 <merijn> Axman6: That seems awfully specific, though?
2020-12-02 17:06:56 +0100 <kuribas> Axman6: Int is an index in the bytestring?
2020-12-02 17:07:20 +0100 <Axman6> well unlike packing a list, the bytestring can be allocated immediately at the correct size
2020-12-02 17:07:29 +0100 <merijn> Axman6: Also, isn't that simply "BS.pack (map f (take n [0..]))"
2020-12-02 17:07:41 +0100 <Axman6> yes, but more efficient
2020-12-02 17:07:59 +0100 <merijn> Axman6: Sure, but my point was more "that seems like a rather unusual usecase"
2020-12-02 17:08:18 +0100 <merijn> Axman6: I can't really think of many cases where I'd want a bytestring with contents based on an index?
2020-12-02 17:08:26 +0100 <merijn> (or really, any case)
2020-12-02 17:08:29 +0100 <Axman6> it's exactly the same as generate in vector
2020-12-02 17:09:03 +0100 <Axman6> I'm creating a bytestring from the contents of a vector of (notionally) Word16
2020-12-02 17:09:50 +0100conal_(~conal@198.8.81.86)
2020-12-02 17:09:53 +0100 <Axman6> where elem i of the bytestring is elem i/2 or elem i/1 >> 1 (roughly)
2020-12-02 17:10:24 +0100 <Axman6> i/2*
2020-12-02 17:10:25 +0100adm_(~adm@117.208.22.42)
2020-12-02 17:11:10 +0100 <merijn> Axman6: If you care about efficiency, just rip the bytestring out of the vector directly?
2020-12-02 17:11:19 +0100 <merijn> Axman6: That's much more efficient :p
2020-12-02 17:11:44 +0100 <Axman6> well it's a unboxed Vector Int64 (representing a vector of Word16)
2020-12-02 17:11:51 +0100 <merijn> Axman6: Make sure you've got a Storable vector and done :p
2020-12-02 17:11:54 +0100boxscape87(54a35f37@gateway/web/cgi-irc/kiwiirc.com/ip.84.163.95.55)
2020-12-02 17:11:58 +0100boxscape87(54a35f37@gateway/web/cgi-irc/kiwiirc.com/ip.84.163.95.55) (Client Quit)
2020-12-02 17:12:29 +0100 <merijn> Axman6: Use vector's convert to convert to Storable vector, that's linear and copies data of fixed size once, and *then* rip the ByteString out :p
2020-12-02 17:12:45 +0100halbGefressen(~halbGefre@2a02:810d:f40:2a9c:40b2:2308:84bd:8b9b)
2020-12-02 17:12:51 +0100 <merijn> Probably more efficient then your suggestion to begin with :p
2020-12-02 17:13:14 +0100 <merijn> Axman6: I've even got the code figured out for you: https://github.com/merijn/Belewitte/blob/master/benchmark-analysis/src/Utils/Vector.hs :p
2020-12-02 17:13:35 +0100 <halbGefressen> Is there any way, without using other libraries, but with using language extensions, to evaluate Haskell Code from a String?
2020-12-02 17:13:51 +0100alp(~alp@2a01:e0a:58b:4920:f89e:9d82:8ae1:cb84) (Remote host closed the connection)
2020-12-02 17:13:52 +0100 <Axman6> everyone loves debugging endianess problems right? :)
2020-12-02 17:14:06 +0100 <geekosaur> halbGefressen, no
2020-12-02 17:14:11 +0100alp(~alp@2a01:e0a:58b:4920:71b4:c750:be0a:d3b3)
2020-12-02 17:14:13 +0100 <merijn> halbGefressen: Eh, yes, but I'm guessing "by writing an interpreter in Haskell" doesn't count :p
2020-12-02 17:14:16 +0100 <geekosaur> haskell is like C, not like Python
2020-12-02 17:14:20 +0100 <merijn> geekosaur: Pfft, that's a blatant lie ;)
2020-12-02 17:14:34 +0100 <merijn> geekosaur: All you have to do is reimplement GHC using just base :)
2020-12-02 17:14:36 +0100knupfer(~Thunderbi@i59F7FFB7.versanet.de) (Ping timeout: 240 seconds)
2020-12-02 17:14:45 +0100 <halbGefressen> I found https://hackage.haskell.org/package/plugins-1.5.3.0/docs/System-Eval-Haskell.html
2020-12-02 17:14:47 +0100 <Axman6> bs[0] = fromIntegral v[0]; bs[1] = fromIntegral (v[0] `unsafeShiftR` 8) etc.
2020-12-02 17:15:03 +0100 <merijn> Axman6: Oh, I have an easy solution for that
2020-12-02 17:15:30 +0100 <geekosaur> note also that, n matter what, you aren't able to access your current program, only a new unrelated evaluation context
2020-12-02 17:15:32 +0100 <merijn> Axman6: It's called "everyone on a different architecture can go f themselves, because I don't get paid enough to deal with that" :D
2020-12-02 17:15:33 +0100 <Axman6> where v :: Vector Int64, not Vector Word16
2020-12-02 17:15:52 +0100 <Axman6> halbGefressen: call ghci? :)
2020-12-02 17:16:24 +0100 <merijn> halbGefressen: More generally, it's impossible to give you a useful answer without knowing what you're trying to do
2020-12-02 17:16:28 +0100 <Axman6> system "ghci" ["-e", myArbitraryHaskellCodeNothingCouldGoWrongHereRight]
2020-12-02 17:16:43 +0100 <Axman6> probably ghc -e actualy
2020-12-02 17:16:54 +0100opFez(~opFez@31.7.59.226)
2020-12-02 17:17:38 +0100 <halbGefressen> It will be fine if it is something like a macro that just expands my string to the haskell code and then compiles it
2020-12-02 17:17:49 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
2020-12-02 17:18:13 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-02 17:18:21 +0100 <merijn> halbGefressen: See, *that* sounds much more like you want Quasiquoters and/or Template Haskell :)
2020-12-02 17:18:51 +0100tungki(~tungki@subs31-116-206-15-6.three.co.id) (Read error: Connection reset by peer)
2020-12-02 17:18:53 +0100 <halbGefressen> My uni has a competition where we have to write some form of watered down XML parser and I wondered if I could just cheese my way through with having like 5 tokens
2020-12-02 17:19:32 +0100 <merijn> halbGefressen: See here: https://www.schoolofhaskell.com/user/marcin/quasiquotation-101 (although note you probably need the preceding Template Haskell article to full get what's going on)
2020-12-02 17:19:43 +0100brown121407(~brown1214@2001:19f0:6c01:2b9c:3c66:4201:22f3:3ebc)
2020-12-02 17:19:43 +0100brown121407(~brown1214@2001:19f0:6c01:2b9c:3c66:4201:22f3:3ebc) (Changing host)
2020-12-02 17:19:43 +0100brown121407(~brown1214@fsf/member/brown121407)
2020-12-02 17:19:51 +0100 <opFez> Is there any good resources for learning how to make parsers in Haskell?
2020-12-02 17:20:07 +0100tungki(~tungki@subs31-116-206-15-60.three.co.id)
2020-12-02 17:20:30 +0100 <merijn> opFez: The Real World Haskell chapter is pretty good. The examples are somewhat bitrotted, but the high level approach shown applies to all the various parser combinator libraries
2020-12-02 17:21:30 +0100tungki(~tungki@subs31-116-206-15-60.three.co.id) (Remote host closed the connection)
2020-12-02 17:21:30 +0100 <merijn> opFez: https://github.com/tssm/up-to-date-real-world-haskell/blob/master/14-using-parsec.org
2020-12-02 17:21:53 +0100tungki(~tungki@subs31-116-206-15-60.three.co.id)
2020-12-02 17:21:58 +0100 <merijn> I think megaparsec also had a semi in-depth tutorial?
2020-12-02 17:22:11 +0100 <merijn> https://markkarpov.com/tutorial/megaparsec.html
2020-12-02 17:22:11 +0100 <opFez> thanks! on book.realworldhaskell.org/read it's chapter 16, is your link a more up to date version?
2020-12-02 17:22:13 +0100s00pcan(~chris@075-133-056-178.res.spectrum.com) (Ping timeout: 256 seconds)
2020-12-02 17:22:15 +0100nrdmn01(~nrdmn@95.129.53.118)
2020-12-02 17:22:45 +0100 <opFez> thanks, gtg
2020-12-02 17:23:36 +0100 <merijn> opFez: The link is an updated version, but the original should be fine (as long as you don't assume the examples to compile as-is)
2020-12-02 17:23:40 +0100s00pcan(~chris@107.181.165.217)
2020-12-02 17:23:49 +0100rcdilorenzo(~rcdiloren@cpe-76-182-87-188.nc.res.rr.com) (Quit: rcdilorenzo)
2020-12-02 17:24:06 +0100rcdilorenzo(~rcdiloren@cpe-76-182-87-188.nc.res.rr.com)
2020-12-02 17:24:21 +0100jonathanx(~jonathan@dyn-8-sc.cdg.chalmers.se) (Remote host closed the connection)
2020-12-02 17:28:24 +0100rcdilorenzo(~rcdiloren@cpe-76-182-87-188.nc.res.rr.com) (Client Quit)
2020-12-02 17:28:38 +0100rcdilorenzo(~rcdiloren@cpe-76-182-87-188.nc.res.rr.com)
2020-12-02 17:31:57 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
2020-12-02 17:32:09 +0100geekosaur(82659a09@host154-009.vpn.uakron.edu) (Ping timeout: 245 seconds)
2020-12-02 17:32:21 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-02 17:32:53 +0100chris8142(~chris8142@srvnet-01-071.ikbnet.co.at)
2020-12-02 17:33:03 +0100bitmapper(uid464869@gateway/web/irccloud.com/x-azvgqwppafppryvm)
2020-12-02 17:33:07 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-12-02 17:33:35 +0100Vulfe_(~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) (Read error: Connection reset by peer)
2020-12-02 17:38:30 +0100nados(~dan@69-165-210-185.cable.teksavvy.com)
2020-12-02 17:39:01 +0100jonatanb(jonatanb@gateway/vpn/protonvpn/jonatanb)
2020-12-02 17:39:20 +0100thallada(~thallada@fsf/member/thallada)
2020-12-02 17:39:49 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8)
2020-12-02 17:39:52 +0100chris8142(~chris8142@srvnet-01-071.ikbnet.co.at) ("WeeChat 3.0")
2020-12-02 17:40:35 +0100chris8142(~chris8142@srvnet-01-071.ikbnet.co.at)
2020-12-02 17:41:19 +0100shangxiao(~davids@101.181.45.166) (Quit: WeeChat 3.0)
2020-12-02 17:42:10 +0100jmchael(~Chi1thang@87.112.60.168)
2020-12-02 17:42:49 +0100cr3(~cr3@192-222-143-195.qc.cable.ebox.net) (Ping timeout: 260 seconds)
2020-12-02 17:42:53 +0100hnOsmium0001(uid453710@gateway/web/irccloud.com/x-lkwbhxlzvzytbqoi)
2020-12-02 17:43:05 +0100jonatanb(jonatanb@gateway/vpn/protonvpn/jonatanb) (Ping timeout: 240 seconds)
2020-12-02 17:43:10 +0100Mathmoose(~mathias@31-208-78-204.cust.bredband2.com) (Remote host closed the connection)
2020-12-02 17:43:20 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2020-12-02 17:46:19 +0100cr3(~cr3@192-222-143-195.qc.cable.ebox.net)
2020-12-02 17:49:10 +0100adm_(~adm@117.208.22.42) (Remote host closed the connection)
2020-12-02 17:49:18 +0100ubert(~Thunderbi@p200300ecdf1e533ee6b318fffe838f33.dip0.t-ipconnect.de)
2020-12-02 17:49:37 +0100tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
2020-12-02 17:50:54 +0100adm_(~adm@117.208.22.42)
2020-12-02 17:51:13 +0100fendor_(~fendor@178.115.131.244.wireless.dyn.drei.com)
2020-12-02 17:53:49 +0100rcdilorenzo(~rcdiloren@cpe-76-182-87-188.nc.res.rr.com) (Quit: rcdilorenzo)
2020-12-02 17:54:02 +0100rcdilorenzo(~rcdiloren@cpe-76-182-87-188.nc.res.rr.com)
2020-12-02 17:54:13 +0100fendor(~fendor@178.165.131.152.wireless.dyn.drei.com) (Ping timeout: 264 seconds)
2020-12-02 17:54:43 +0100tungki(~tungki@subs31-116-206-15-60.three.co.id) (Ping timeout: 246 seconds)
2020-12-02 17:55:05 +0100s00pcan(~chris@107.181.165.217) (Ping timeout: 256 seconds)
2020-12-02 17:55:39 +0100ubert1(~Thunderbi@p200300ecdf1e5330e6b318fffe838f33.dip0.t-ipconnect.de)
2020-12-02 17:55:57 +0100ubert(~Thunderbi@p200300ecdf1e533ee6b318fffe838f33.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2020-12-02 17:55:58 +0100ubert1ubert
2020-12-02 17:56:49 +0100s00pcan(~chris@075-133-056-178.res.spectrum.com)
2020-12-02 17:57:12 +0100jonatanb(jonatanb@gateway/vpn/protonvpn/jonatanb)
2020-12-02 17:58:20 +0100rcdilorenzo(~rcdiloren@cpe-76-182-87-188.nc.res.rr.com) (Client Quit)
2020-12-02 17:58:35 +0100rcdilorenzo(~rcdiloren@cpe-76-182-87-188.nc.res.rr.com)
2020-12-02 18:01:25 +0100jonatanb(jonatanb@gateway/vpn/protonvpn/jonatanb) (Ping timeout: 240 seconds)
2020-12-02 18:01:42 +0100Ariakenom(~Ariakenom@h-98-128-229-53.NA.cust.bahnhof.se)
2020-12-02 18:03:21 +0100ChaiTRex(~ChaiTRex@gateway/tor-sasl/chaitrex) (Remote host closed the connection)
2020-12-02 18:03:23 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-12-02 18:03:26 +0100boxscape(54a35f37@gateway/web/cgi-irc/kiwiirc.com/ip.84.163.95.55) (Quit: Ping timeout (120 seconds))
2020-12-02 18:03:46 +0100ChaiTRex(~ChaiTRex@gateway/tor-sasl/chaitrex)
2020-12-02 18:04:36 +0100arw_(~arw@impulse.informatik.uni-erlangen.de) (Ping timeout: 240 seconds)
2020-12-02 18:04:44 +0100 <ezzieyguywuf> I want to change my package name. I renamed the project directory, renamed the cabal file, and tried 'cabal build', but now it's failing
2020-12-02 18:05:19 +0100 <dminuoso> ezzieyguywuf: Nuke your dist-newstyle/ directory for good measure
2020-12-02 18:05:55 +0100 <tomsmeding> ezzieyguywuf: also changed the name _in_ the cabal file?
2020-12-02 18:06:04 +0100 <ezzieyguywuf> dminuoso: I did, but this could be an unrelated issue actually, I recently moved my system off an hdd onto an ssd, including my home directory and all the ~/.cabal etc.
2020-12-02 18:06:16 +0100 <ezzieyguywuf> is it enough to just copy it over, or is there anything else that I need to do?
2020-12-02 18:06:26 +0100 <ezzieyguywuf> tomsmeding: yes changed in there as well
2020-12-02 18:06:34 +0100 <tomsmeding> are the paths the same, just different disk?
2020-12-02 18:06:40 +0100 <ezzieyguywuf> tomsmeding: yes
2020-12-02 18:06:40 +0100 <tomsmeding> or is .cabal really in a different location
2020-12-02 18:07:07 +0100urek(~urek@2804:7f1:e10a:9644:7811:1b7:2d76:35f4)
2020-12-02 18:07:13 +0100 <tomsmeding> if the paths are the same it should work, assuming that cabal isn't using hard links, which would be exceedingly strange
2020-12-02 18:07:30 +0100 <tomsmeding> also you can delete (well, backup first) ~/.cabal if you want :p
2020-12-02 18:07:53 +0100alp(~alp@2a01:e0a:58b:4920:71b4:c750:be0a:d3b3) (Ping timeout: 272 seconds)
2020-12-02 18:07:55 +0100 <tomsmeding> also, "it's failing" -- what is failing?
2020-12-02 18:08:24 +0100 <ezzieyguywuf> https://dpaste.com/CGTEBFYBE
2020-12-02 18:09:21 +0100 <tomsmeding> your package's setup script somehow produces a constraint Cabal < 1.25, wtf
2020-12-02 18:10:01 +0100 <ezzieyguywuf> here's my cabal file https://dpaste.com/E5374CYJL
2020-12-02 18:10:33 +0100 <tomsmeding> is there a Setup.hs?
2020-12-02 18:11:01 +0100arw(~arw@impulse.informatik.uni-erlangen.de)
2020-12-02 18:11:11 +0100 <ezzieyguywuf> https://dpaste.com/6SXEWMXNB
2020-12-02 18:11:20 +0100 <ezzieyguywuf> setup.hs, autogenerated by cabal init i believe
2020-12-02 18:11:27 +0100 <tomsmeding> I always remove that file :p
2020-12-02 18:11:33 +0100 <tomsmeding> has never not worked yet
2020-12-02 18:12:16 +0100 <tomsmeding> but yeah try 'mv ~/.cabal ~/.cabal-backup; rm -rf dist-newstyle/; cabal build' :p
2020-12-02 18:13:57 +0100 <ezzieyguywuf> tomsmeding: I don't even know why it's there, I just assume cabal needs it
2020-12-02 18:14:10 +0100 <tomsmeding> it doesn't
2020-12-02 18:15:13 +0100st8less(~st8less@inet-167-224-197-181.isp.ozarksgo.net) (Ping timeout: 260 seconds)
2020-12-02 18:15:15 +0100 <ezzieyguywuf> dang, still fail after nuking ~/.cabal
2020-12-02 18:15:16 +0100 <ezzieyguywuf> https://dpaste.com/BVCTVKH44
2020-12-02 18:15:25 +0100 <ezzieyguywuf> I know the nuke worked b/c it asked me to "cabal update"
2020-12-02 18:16:17 +0100st8less(~st8less@2603:a060:11fd:0:3c0a:a808:d920:6dc7)
2020-12-02 18:16:49 +0100 <tomsmeding> no dist/ folder or .ghc* file?
2020-12-02 18:16:58 +0100 <tomsmeding> also in ~
2020-12-02 18:17:06 +0100 <ezzieyguywuf> hmm, I'll check
2020-12-02 18:17:18 +0100 <ezzieyguywuf> ~/.distcc, but that's different
2020-12-02 18:17:24 +0100 <tomsmeding> also wtf, reproducing example please :p
2020-12-02 18:17:29 +0100 <ezzieyguywuf> yes ~/.ghc
2020-12-02 18:17:36 +0100 <tomsmeding> file?
2020-12-02 18:17:47 +0100 <tomsmeding> I'm talking about a file like .ghc-environment-* or something
2020-12-02 18:17:57 +0100 <tomsmeding> directory is fine
2020-12-02 18:18:43 +0100ni638629(u749750@ppp046176251103.access.hol.gr)
2020-12-02 18:18:49 +0100rcdilorenzo(~rcdiloren@cpe-76-182-87-188.nc.res.rr.com) (Quit: rcdilorenzo)
2020-12-02 18:19:02 +0100ni638629(u749750@ppp046176251103.access.hol.gr) ()
2020-12-02 18:19:02 +0100rcdilorenzo(~rcdiloren@cpe-76-182-87-188.nc.res.rr.com)
2020-12-02 18:20:13 +0100 <ezzieyguywuf> tomsmeding: to reproduce, `git clone https://gitlab.com/ezzieyguywuf/csv_processor/ jali; cd jali; cabal build`
2020-12-02 18:20:24 +0100Saukk(~Saukk@2001:998:f9:2914:1c59:9bb5:b94c:4)
2020-12-02 18:20:32 +0100 <ezzieyguywuf> tomsmeding: no I don't see any of those folders
2020-12-02 18:20:44 +0100geekosaur(82659a09@host154-009.vpn.uakron.edu)
2020-12-02 18:20:59 +0100 <tomsmeding> hah I get the same error, so it's really something in the project, not in your configuration
2020-12-02 18:21:50 +0100 <ezzieyguywuf> lol all I did was change the name, and add a licence and description and stuff
2020-12-02 18:22:29 +0100 <tomsmeding> ezzieyguywuf: I think those are the problem
2020-12-02 18:22:38 +0100 <sm[m]> something in the cabal file syntax that puts cabal into "old cabal" mode ?
2020-12-02 18:23:05 +0100 <tomsmeding> if I remove the description: field, which overruns! (how does that even parse), then cabal starts complaining about the license (it doesn't understand MPL2.0 apparently)
2020-12-02 18:23:11 +0100 <tomsmeding> sm[m]: probably the parse error then?
2020-12-02 18:23:16 +0100 <merijn> sm[m]: That still makes no sense
2020-12-02 18:23:20 +0100 <tomsmeding> if I remove also the license: field, then it makes a build plan
2020-12-02 18:23:23 +0100rcdilorenzo(~rcdiloren@cpe-76-182-87-188.nc.res.rr.com) (Client Quit)
2020-12-02 18:23:31 +0100 <merijn> sm[m]: Because that wouldn't incur a "Cabal < 1.25" constraint
2020-12-02 18:23:33 +0100kupi(uid212005@gateway/web/irccloud.com/x-dtrdarsxnfpkpogi) (Quit: Connection closed for inactivity)
2020-12-02 18:23:40 +0100rcdilorenzo(~rcdiloren@cpe-76-182-87-188.nc.res.rr.com)
2020-12-02 18:23:47 +0100 <merijn> sm[m]: Cabal is backwards compatible across all previous versions
2020-12-02 18:23:55 +0100 <merijn> (modulo bug, obviously)
2020-12-02 18:24:24 +0100 <sm[m]> just a direction to explore.. easy enough to test (does minimizing the cabal file changes change things)
2020-12-02 18:24:28 +0100Moyst(~moyst@212-149-213-144.bb.dnainternet.fi) (Read error: Connection reset by peer)
2020-12-02 18:24:32 +0100 <tomsmeding> https://tomsmeding.com/vang/Zt6i75 with this diff it builds ezzieyguywuf
2020-12-02 18:24:48 +0100 <tomsmeding> or, well, it _start_ building; I didn't let it finish
2020-12-02 18:24:50 +0100 <ezzieyguywuf> sm[m]: yea, like tomsmeding points out there's some syntax errors in my cabal file
2020-12-02 18:25:01 +0100 <ezzieyguywuf> tomsmeding: I'll let you know if it finishes.
2020-12-02 18:25:13 +0100 <ezzieyguywuf> but shouldn't cabal have told me "dude, parse error on description. and licence."
2020-12-02 18:25:18 +0100 <sm[m]> There we go
2020-12-02 18:25:33 +0100howdoi(uid224@gateway/web/irccloud.com/x-lajkqzxuizaoleyn)
2020-12-02 18:25:38 +0100 <merijn> ezzieyguywuf: oh
2020-12-02 18:25:40 +0100 <tomsmeding> well license it does, but somehow because of those second and third line of the description, cabal goes haywire
2020-12-02 18:25:46 +0100 <merijn> You have MPL2.0, not MPL-2.0
2020-12-02 18:26:07 +0100 <merijn> (although even that is legacy, I think)
2020-12-02 18:26:22 +0100 <merijn> https://cabal.readthedocs.io/en/latest/cabal-package.html#pkg-field-license
2020-12-02 18:26:22 +0100chkno(~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer)
2020-12-02 18:26:30 +0100texasmynsted(~texasmyns@212.102.44.36) ()
2020-12-02 18:26:30 +0100chkno(~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net)
2020-12-02 18:27:01 +0100 <tomsmeding> ah it seems cabal just stops reading the file on that description line
2020-12-02 18:27:11 +0100 <tomsmeding> if you remove everything after the description: field, the same error occurs
2020-12-02 18:27:40 +0100 <tomsmeding> this feels like it's the classic "forgot the 'eof' after my parsec parser", but it's probably not that simple
2020-12-02 18:27:41 +0100 <merijn> oh
2020-12-02 18:27:45 +0100 <merijn> No
2020-12-02 18:27:51 +0100 <merijn> The description field is a syntax error
2020-12-02 18:28:01 +0100 <merijn> Albeit poorly detected
2020-12-02 18:28:04 +0100 <tomsmeding> yes but why does not not report that!
2020-12-02 18:28:10 +0100 <tomsmeding> it just stops parsing and goes with what it has
2020-12-02 18:28:17 +0100 <ezzieyguywuf> +1 tomsmeding
2020-12-02 18:28:23 +0100 <ezzieyguywuf> also, merijn thank you for the link
2020-12-02 18:28:30 +0100 <tomsmeding> ezzieyguywuf: name++ please, ircbrowse picks that up
2020-12-02 18:28:31 +0100 <ezzieyguywuf> spdx, great another standard to know about :-P
2020-12-02 18:28:33 +0100 <tomsmeding> for questionable benefit
2020-12-02 18:28:38 +0100 <ezzieyguywuf> tomsmeding++
2020-12-02 18:28:43 +0100tomsmedingbows
2020-12-02 18:28:43 +0100 <ezzieyguywuf> lol
2020-12-02 18:28:52 +0100 <ezzieyguywuf> !karma tomsmeding
2020-12-02 18:28:56 +0100 <merijn> it should be indented
2020-12-02 18:28:57 +0100 <merijn> https://github.com/merijn/broadcast-chan/blob/master/broadcast-chan/broadcast-chan.cabal#L26-L71
2020-12-02 18:28:58 +0100 <ezzieyguywuf> is that the thing? hrm *shrug*
2020-12-02 18:29:08 +0100 <ezzieyguywuf> something something tomsmeding++
2020-12-02 18:29:28 +0100 <ezzieyguywuf> oh, "it should be indented" meaning the description
2020-12-02 18:29:36 +0100 <tomsmeding> now see? I already have a karma of 2 https://ircbrowse.tomsmeding.com/nick/tomsmeding
2020-12-02 18:30:00 +0100 <geekosaur> doesn't lambdabot also track karma?
2020-12-02 18:30:03 +0100 <ezzieyguywuf> tomsmeding: 🤣
2020-12-02 18:30:14 +0100 <merijn> tomsmeding: Because the old cabal format wasn't very specified and tried to be forwards compatible
2020-12-02 18:30:23 +0100 <merijn> ezzieyguywuf: Can you try something for me?
2020-12-02 18:30:33 +0100 <ezzieyguywuf> merijn: sure, anything for you pal.
2020-12-02 18:30:38 +0100 <geekosaur> @list karma
2020-12-02 18:30:38 +0100 <lambdabot> karma provides: karma karma+ karma- karma-all
2020-12-02 18:30:40 +0100 <merijn> ezzieyguywuf: Take the broken .cabal file, change "cabal-version" and set it to 2.0
2020-12-02 18:30:51 +0100 <merijn> ezzieyguywuf: Do you get a similar bad non-error or a more useful one?
2020-12-02 18:30:52 +0100 <ezzieyguywuf> merijn: ok just a sec.
2020-12-02 18:31:23 +0100 <tomsmeding> @karma-all
2020-12-02 18:31:24 +0100 <lambdabot> blah 31337
2020-12-02 18:31:24 +0100 <lambdabot> egrep 31337
2020-12-02 18:31:24 +0100 <lambdabot> zgrep 31337
2020-12-02 18:31:24 +0100 <lambdabot> c/c 2171
2020-12-02 18:31:24 +0100 <lambdabot> nobody 2000
2020-12-02 18:31:26 +0100 <lambdabot> [6768 @more lines]
2020-12-02 18:31:26 +0100 <merijn> At this point there's *really* no reason to write new cabal files with cabal-version prior to 2.0 (or even 3.0, really)
2020-12-02 18:31:35 +0100skiwould prefer seeing `karma' removed
2020-12-02 18:31:43 +0100 <tomsmeding> that 31337 looks suspicious
2020-12-02 18:32:03 +0100Tuplanolla(~Tuplanoll@91-159-68-239.elisa-laajakaista.fi)
2020-12-02 18:32:07 +0100 <ezzieyguywuf> merijn: seems the same https://cabal.readthedocs.io/en/latest/cabal-package.html#pkg-field-license
2020-12-02 18:32:17 +0100 <ezzieyguywuf> merijn: although I did ">=2.0", should I try with plain "2.0"?
2020-12-02 18:32:34 +0100 <merijn> ezzieyguywuf: >=2.0 is a syntax error
2020-12-02 18:32:41 +0100 <merijn> Or should be, anyway :p
2020-12-02 18:32:50 +0100 <merijn> Did it not complain about that?
2020-12-02 18:32:54 +0100 <ezzieyguywuf> really? it said >=1.10 before
2020-12-02 18:32:59 +0100 <ezzieyguywuf> no it did not, I pasted the output
2020-12-02 18:33:01 +0100 <merijn> ezzieyguywuf: Yes, for legacy reasons
2020-12-02 18:33:15 +0100 <sm[m]> Yes, see https://cabal.readthedocs.io/en/3.4/cabal-package.html#pkg-field-cabal-version
2020-12-02 18:33:18 +0100 <ezzieyguywuf> changed to 2.0, same error
2020-12-02 18:33:46 +0100 <merijn> hmm, unfortunate
2020-12-02 18:33:49 +0100LKoen(~LKoen@105.175.9.109.rev.sfr.net)
2020-12-02 18:34:28 +0100 <merijn> oh, hah ">= 2.0" is the last that still allows that
2020-12-02 18:34:43 +0100 <ezzieyguywuf> "it is strongly recommended to avoid the legacy syntax", and yet this is what cabal init produces...
2020-12-02 18:35:08 +0100Moyst(~moyst@212-149-213-144.bb.dnainternet.fi)
2020-12-02 18:35:22 +0100 <tomsmeding> strongly recommended _with newer versions_ I'd assume
2020-12-02 18:35:43 +0100 <merijn> ezzieyguywuf: Only old versions of cabal-install :p
2020-12-02 18:35:46 +0100 <ezzieyguywuf> my cabal version is 3.2
2020-12-02 18:35:49 +0100 <merijn> really?
2020-12-02 18:35:56 +0100 <merijn> I'm pretty sure it defaults to 2.4 now
2020-12-02 18:35:57 +0100 <ezzieyguywuf> yea I just checked
2020-12-02 18:35:57 +0100urek(~urek@2804:7f1:e10a:9644:7811:1b7:2d76:35f4) (Quit: urek)
2020-12-02 18:36:42 +0100 <ezzieyguywuf> just ran it again, it produced >=1.10
2020-12-02 18:36:57 +0100 <merijn> ah, need --cabal-version to change that version, I think phadej recently fixed it to produce a more reasonable default
2020-12-02 18:37:24 +0100 <ezzieyguywuf> lol, I came to cabal (from stack) b/c I was ttold it works!
2020-12-02 18:37:55 +0100 <merijn> ezzieyguywuf: Well, it does work :p
2020-12-02 18:38:04 +0100 <ezzieyguywuf> lol, yea yea, I'm just being facetious
2020-12-02 18:38:09 +0100 <merijn> ezzieyguywuf: It's just defaulting to a stupid old default
2020-12-02 18:38:16 +0100 <ezzieyguywuf> indeed.
2020-12-02 18:38:36 +0100jmchael(~Chi1thang@87.112.60.168) (Ping timeout: 240 seconds)
2020-12-02 18:38:42 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2020-12-02 18:38:44 +0100 <ezzieyguywuf> but the main issue here is the parsing issue, which remained regardless of the cabal-version number
2020-12-02 18:38:47 +0100 <ezzieyguywuf> heck let me try 3.2
2020-12-02 18:38:49 +0100 <sm[m]> stack is the one more likely to just work ezzieyguywuf, despite what you may hear in here
2020-12-02 18:38:55 +0100 <merijn> I mean, 2.0 was released 3 years ago. There's really no reason to bother supporting cabal-install 1.10 :p
2020-12-02 18:39:38 +0100 <merijn> sm[m]: That's disingenous. "Both stack and cabal-install may be more likely to work depending on an incredibly complex and nuanced set of circumstances that are nearly impossible to judge"
2020-12-02 18:40:06 +0100 <merijn> There's plenty of workflows and things where stack sucks balls. And there's a bunch of place where cabal-install still has warts.
2020-12-02 18:40:13 +0100 <merijn> This just in, no silver bullets for packaging
2020-12-02 18:40:30 +0100 <sm[m]> "More likely"
2020-12-02 18:41:11 +0100flatmap(~flatmap@p5b05a978.dip0.t-ipconnect.de) (Quit: Textual IRC Client: www.textualapp.com)
2020-12-02 18:41:12 +0100 <sm[m]> it's just my observation over many years of supporting both. I know you won't agree, that's fine :)
2020-12-02 18:41:19 +0100 <ezzieyguywuf> hrm, so 'cabal-version 3.0' actually builds
2020-12-02 18:41:26 +0100 <ezzieyguywuf> it identifies the error, and just skips past it
2020-12-02 18:41:39 +0100 <ezzieyguywuf> and produces a nice warning
2020-12-02 18:41:42 +0100 <merijn> Progress \o/
2020-12-02 18:42:15 +0100 <merijn> So when 3.4 releases and actually defaults to 3.0 (or 3.2 or 3.4, whatever) we'll be in business :p
2020-12-02 18:42:32 +0100 <ezzieyguywuf> now, it does not re-display the warning when I rebuild, unless I `cabal clean` first, but I suppose that's ok?
2020-12-02 18:42:59 +0100 <merijn> ezzieyguywuf: That's because it won't rebuild unless something changed :p
2020-12-02 18:43:07 +0100 <ezzieyguywuf> key takeaway: I'll be using `cabal-version 3.0` from here on out.
2020-12-02 18:43:18 +0100 <ezzieyguywuf> merijn: but it should still re-parse the cabal file shouldn't it?
2020-12-02 18:43:37 +0100 <merijn> ezzieyguywuf: It only bothers reparsing if the cabal file changed since the last run
2020-12-02 18:43:52 +0100 <ezzieyguywuf> I mean, I get it, "why re-parse if the file hasn't changed", but here we see a good reason to do so - to make sure the user still knows there's something to be warned about
2020-12-02 18:43:57 +0100 <ezzieyguywuf> lol jynx
2020-12-02 18:44:25 +0100 <merijn> ezzieyguywuf: You can always run "cabal check" :)
2020-12-02 18:44:35 +0100 <ezzieyguywuf> merijn: woah didn't know that one
2020-12-02 18:44:41 +0100chris8142(~chris8142@srvnet-01-071.ikbnet.co.at) ("WeeChat 3.0")
2020-12-02 18:45:08 +0100 <merijn> Which is, effectively "cabal file linting/hackage requirement check" :p
2020-12-02 18:45:09 +0100iteratee(~kyle@162.211.154.4) (Read error: Connection reset by peer)
2020-12-02 18:45:31 +0100 <merijn> Pretty sure "cabal sdist" will also rewarn
2020-12-02 18:45:42 +0100iteratee(~kyle@162.211.154.4)
2020-12-02 18:45:55 +0100 <ezzieyguywuf> what does sdist do?
2020-12-02 18:46:28 +0100 <merijn> ezzieyguywuf: Creates a standalone .tar.gz of all sources and files for distribution s(ource)dist(tribution)
2020-12-02 18:46:36 +0100 <ezzieyguywuf> oh neat
2020-12-02 18:46:38 +0100 <merijn> for upload to, say, hackage or whatever
2020-12-02 18:47:26 +0100ggole(~ggole@2001:8003:8119:7200:485d:ac18:c2cb:d77f) (Quit: Leaving)
2020-12-02 18:47:40 +0100jonatanb(jonatanb@gateway/vpn/protonvpn/jonatanb)
2020-12-02 18:49:11 +0100 <ezzieyguywuf> should I even use "cabal init"? or is there a newer/better way to set up a new project dir?
2020-12-02 18:49:32 +0100dopplergange(~dop@195.158.249.47)
2020-12-02 18:49:49 +0100 <merijn> ezzieyguywuf: "cabal init --interactive --cabal-version=3.0" (those flags should be default in 3.4 iirc) is fine. Personally I just copy one of my existing ones and edit it :p
2020-12-02 18:50:07 +0100 <koz_> I have a cookiecutter template.
2020-12-02 18:50:15 +0100 <ezzieyguywuf> yum, cookies
2020-12-02 18:50:16 +0100 <koz_> (which also sets up everything else)
2020-12-02 18:50:50 +0100 <ezzieyguywuf> merijn: maybe I have something over-riding the defaults? where would I check?
2020-12-02 18:51:17 +0100 <merijn> ezzieyguywuf: You don't have 3.4, because it's not released yet ;)
2020-12-02 18:51:34 +0100 <merijn> It's in alpha until GHC 9.0 comes out
2020-12-02 18:51:46 +0100 <ezzieyguywuf> lol ok
2020-12-02 18:52:00 +0100 <ezzieyguywuf> I can edit my ~/.cabal/config it looks like
2020-12-02 18:52:05 +0100Saukk(~Saukk@2001:998:f9:2914:1c59:9bb5:b94c:4) (Remote host closed the connection)
2020-12-02 18:52:09 +0100 <maerwald> 3.4 works great though
2020-12-02 18:52:13 +0100 <merijn> ezzieyguywuf: yeah
2020-12-02 18:52:17 +0100jonatanb(jonatanb@gateway/vpn/protonvpn/jonatanb) (Ping timeout: 265 seconds)
2020-12-02 18:52:24 +0100 <merijn> ezzieyguywuf: Also, wanna get your mind blown further wrt cabal? :p
2020-12-02 18:52:51 +0100 <ezzieyguywuf> merijn: lol, sure shoot
2020-12-02 18:52:51 +0100 <maerwald> merijn: that's easy... run `cabal build --help` -> mind blown :D
2020-12-02 18:53:01 +0100 <ezzieyguywuf> maerwald: nice.
2020-12-02 18:53:04 +0100 <merijn> ezzieyguywuf: Try "cabal user-config diff" and "cabal user-config update" for updating to the latest version while keeping your local edits to the default :p
2020-12-02 18:53:50 +0100 <merijn> Pretty sure, like, 5 people are aware of "user-config diff" :p
2020-12-02 18:54:10 +0100conal_(~conal@198.8.81.86) (Quit: Computer has gone to sleep.)
2020-12-02 18:54:15 +0100 <ezzieyguywuf> what did the diff even do?
2020-12-02 18:54:31 +0100 <merijn> It just reports which settings you have set to something *other* than the default
2020-12-02 18:54:41 +0100 <ezzieyguywuf> hrm interesting, so it pulled down from the cloud the latest defaults, but kept anything that I had hand-changed?
2020-12-02 18:54:56 +0100 <ezzieyguywuf> merijn: it was blank, does that mean I just have defaults?
2020-12-02 18:55:05 +0100 <ezzieyguywuf> b/c I totally like 2 seconds ago changed the init defaults, lol.
2020-12-02 18:55:22 +0100 <merijn> Pretty much (except I think the config format is embedded in cabal executable)
2020-12-02 18:55:23 +0100 <ezzieyguywuf> yea and now it changed it back
2020-12-02 18:55:33 +0100 <ezzieyguywuf> mind blown: "Hey this didn't work"
2020-12-02 18:55:34 +0100 <merijn> ezzieyguywuf: Which setting was that?
2020-12-02 18:55:44 +0100 <ezzieyguywuf> merijn: -- interactive.....
2020-12-02 18:55:45 +0100 <ezzieyguywuf> oh wait
2020-12-02 18:55:48 +0100 <ezzieyguywuf> -- = comment
2020-12-02 18:55:50 +0100 <merijn> :)
2020-12-02 18:55:56 +0100 <ezzieyguywuf> I can't keep track of all these different config formats
2020-12-02 18:55:57 +0100britva(~britva@31-10-157-156.cgn.dynamic.upc.ch) (Quit: This computer has gone to sleep)
2020-12-02 18:56:55 +0100 <ezzieyguywuf> neat! where does it store the diff?
2020-12-02 18:56:58 +0100 <ezzieyguywuf> somewhere in ~/.cabal?
2020-12-02 18:57:04 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-12-02 18:57:37 +0100 <merijn> It just output the diff to stdout
2020-12-02 18:58:10 +0100 <ezzieyguywuf> ah, so I don't really need to run diff
2020-12-02 18:58:16 +0100dyeplexer(~lol@unaffiliated/terpin) (Remote host closed the connection)
2020-12-02 18:58:16 +0100 <ezzieyguywuf> I could just run update and it will "do its thing'
2020-12-02 18:58:17 +0100 <monochrom> Hell, cabal-install has a whole lot of FOSS licenses embedded. :)
2020-12-02 18:58:27 +0100 <ezzieyguywuf> monochrom: ?
2020-12-02 18:58:37 +0100 <merijn> ezzieyguywuf: Correct, but usually you prefer not blindly crush your existing files ;)
2020-12-02 18:58:43 +0100Tario(~Tario@201.192.165.173) (Read error: Connection reset by peer)
2020-12-02 18:58:52 +0100Tario(~Tario@201.192.165.173)
2020-12-02 18:59:39 +0100geekosaur(82659a09@host154-009.vpn.uakron.edu) (Ping timeout: 245 seconds)
2020-12-02 18:59:54 +0100ubert(~Thunderbi@p200300ecdf1e5330e6b318fffe838f33.dip0.t-ipconnect.de) (Remote host closed the connection)
2020-12-02 19:01:53 +0100 <monochrom> I think usually "cabal user-config update" is harmless.
2020-12-02 19:02:34 +0100 <merijn> monochrom: Sure
2020-12-02 19:02:53 +0100 <merijn> monochrom: Compiling with GHC is also usually harmless. Except when it deletes files with type errors ;)
2020-12-02 19:03:17 +0100 <jle`> yours is only deleting the ones *with* type errors? :O
2020-12-02 19:03:45 +0100 <merijn> Well, guys, wish me luck
2020-12-02 19:04:05 +0100 <merijn> I'm diving into the hell that is "poorly documented YAML for CI configuration"
2020-12-02 19:04:13 +0100 <Sonolin> is there a function of `(Monad m, k) => m (k a) -> k (m a)` ?
2020-12-02 19:04:15 +0100 <jle`> thoughts and prayers
2020-12-02 19:04:17 +0100 <merijn> Tell my family I loved them
2020-12-02 19:04:21 +0100ezzieyguywufprays for merijn
2020-12-02 19:04:28 +0100 <merijn> :t sequence -- Sonolin
2020-12-02 19:04:29 +0100 <ezzieyguywuf> merijn: which CI?
2020-12-02 19:04:30 +0100 <lambdabot> (Traversable t, Monad m) => t (m a) -> m (t a)
2020-12-02 19:04:31 +0100 <jle`> Sonolin: i think that's a kind error?
2020-12-02 19:04:45 +0100 <ezzieyguywuf> lol, as opposed to a mean error
2020-12-02 19:04:55 +0100 <merijn> ezzieyguywuf: GitHub Actions
2020-12-02 19:04:57 +0100 <jle`> errors can be rough
2020-12-02 19:04:57 +0100conal(~conal@198.8.81.86)
2020-12-02 19:04:58 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) (Remote host closed the connection)
2020-12-02 19:05:14 +0100 <jle`> is k a constraint?
2020-12-02 19:05:16 +0100 <Sonolin> perfect thanks merijn
2020-12-02 19:05:22 +0100 <Sonolin> jle` yea not exactly my type signature
2020-12-02 19:05:32 +0100 <monochrom> Oh here is how harmless it is: "Renaming /home/trebla/.cabal/config to /home/trebla/.cabal/config.backup"
2020-12-02 19:05:33 +0100 <Sonolin> but I was looking for something that spec. works for maybe
2020-12-02 19:05:37 +0100 <ezzieyguywuf> dang, didn't know github had built-in ci, I thought everyone just used travis
2020-12-02 19:05:41 +0100 <merijn> ezzieyguywuf: I ran out of Travis minutes for the months in like half a day. But GitHub Actions' YAML is equally poorly specified as Travis
2020-12-02 19:05:53 +0100 <jle`> Sonolin: ah, so like m (Maybe a) -> Maybe (m a) ?
2020-12-02 19:05:59 +0100 <monochrom> So you won't lose your old config file in case "update" isn't what you want.
2020-12-02 19:06:11 +0100 <merijn> ezzieyguywuf: Travis has been going down the drain for ~2 years and now limits the free minutes to something unreasonably short
2020-12-02 19:06:29 +0100 <Sonolin> jle` other way around but yea
2020-12-02 19:06:42 +0100 <Sonolin> sequence works since maybe is traversable
2020-12-02 19:06:47 +0100 <jle`> ah, Maybe (m a) -> m (Maybe a)
2020-12-02 19:07:20 +0100 <Sonolin> yea I should really make a custom type/exceptions or something for this instead of maybe but it works for now
2020-12-02 19:07:28 +0100 <merijn> Sonolin: Other people who looked at "sequence" were also interested in:
2020-12-02 19:07:31 +0100 <merijn> :t traverse
2020-12-02 19:07:31 +0100opFez(~opFez@31.7.59.226) ()
2020-12-02 19:07:32 +0100 <lambdabot> (Traversable t, Applicative f) => (a -> f b) -> t a -> f (t b)
2020-12-02 19:07:44 +0100 <merijn> </Amazon recommendation"
2020-12-02 19:07:50 +0100 <merijn> s/"/>/
2020-12-02 19:07:59 +0100 <jle`> does that come with haskell prime?
2020-12-02 19:08:00 +0100 <monochrom> Oh w00t there is an "init" section that has the defaults for "cabal init". If you hate the default "cabal-version: 1.10", you can change it there.
2020-12-02 19:08:21 +0100 <merijn> monochrom: "iz fixd in head"
2020-12-02 19:08:32 +0100 <ezzieyguywuf> if I have `n :: Int`, how can I produce a stringe of n spaces?
2020-12-02 19:08:43 +0100 <jle`> > replicate 10 ' '
2020-12-02 19:08:43 +0100fresheyeball(~isaac@c-71-237-105-37.hsd1.co.comcast.net)
2020-12-02 19:08:45 +0100 <lambdabot> " "
2020-12-02 19:08:49 +0100 <ezzieyguywuf> jle`: dope thanks
2020-12-02 19:08:49 +0100rcdilorenzo(~rcdiloren@cpe-76-182-87-188.nc.res.rr.com) (Quit: rcdilorenzo)
2020-12-02 19:08:58 +0100 <merijn> monochrom: https://lambdacats.github.io/fixed-in-head/
2020-12-02 19:09:02 +0100rcdilorenzo(~rcdiloren@cpe-76-182-87-188.nc.res.rr.com)
2020-12-02 19:09:26 +0100rayyyy(~nanoz@gateway/tor-sasl/nanoz)
2020-12-02 19:09:42 +0100 <monochrom> Oh hey I have been looking for lambdacats since the last lambdacats was gone!
2020-12-02 19:12:10 +0100Tario(~Tario@201.192.165.173) (Read error: Connection reset by peer)
2020-12-02 19:12:52 +0100fresheyeball(~isaac@c-71-237-105-37.hsd1.co.comcast.net) (Client Quit)
2020-12-02 19:13:01 +0100 <Sonolin> merijn that works even better! One less fmap, thanks :)
2020-12-02 19:13:20 +0100rcdilorenzo(~rcdiloren@cpe-76-182-87-188.nc.res.rr.com) (Client Quit)
2020-12-02 19:13:36 +0100rcdilorenzo(~rcdiloren@cpe-76-182-87-188.nc.res.rr.com)
2020-12-02 19:14:48 +0100Tario(~Tario@201.192.165.173)
2020-12-02 19:14:54 +0100alp(~alp@2a01:e0a:58b:4920:71b4:c750:be0a:d3b3)
2020-12-02 19:15:27 +0100 <merijn> monochrom: Fear not, I already updated my lambdacats.org forward to the right place :p
2020-12-02 19:16:25 +0100 <monochrom> aliased lambdacats
2020-12-02 19:16:47 +0100robotmay(~beepboop@2001:8b0:7af0:2580:888:72a9:4a8e:aea0) (Remote host closed the connection)
2020-12-02 19:17:24 +0100 <merijn> lambdacats iz robust modulo teh alpha-renaming!
2020-12-02 19:17:38 +0100 <monochrom> haha
2020-12-02 19:17:39 +0100p-core(~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515)
2020-12-02 19:18:05 +0100robotmay(~beepboop@2001:8b0:7af0:2580:9de5:991:bf07:8253)
2020-12-02 19:18:05 +0100elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
2020-12-02 19:18:19 +0100 <merijn> And I just noticed all my domains were still registered to my mom's house, 3 addresses ago >.>
2020-12-02 19:18:26 +0100 <xerox_> which version of ghc corresponds to base-4.9.0.0 ?
2020-12-02 19:18:49 +0100 <koz_> 8.0 I think?
2020-12-02 19:19:10 +0100 <monochrom> "ghcup list" reports 8.0.2 -> 4.9.1.0
2020-12-02 19:19:15 +0100 <xerox_> appreciate it
2020-12-02 19:19:17 +0100Tario(~Tario@201.192.165.173) (Read error: Connection reset by peer)
2020-12-02 19:19:20 +0100 <merijn> @where ghc-base
2020-12-02 19:19:20 +0100 <lambdabot> I know nothing about ghc-base.
2020-12-02 19:19:26 +0100 <merijn> @where+ ghc-base https://wiki.haskell.org/Base_package
2020-12-02 19:19:26 +0100 <lambdabot> It is stored.
2020-12-02 19:19:33 +0100Tario(~Tario@201.192.165.173)
2020-12-02 19:19:59 +0100 <merijn> Hot take: GHC 9.0 should switch to "base-9.0" so we can forget about this nonsense
2020-12-02 19:20:00 +0100 <maerwald> merijn: there's a better page on gitlab
2020-12-02 19:20:03 +0100Buggys(buggy@charger.kire.net) ()
2020-12-02 19:20:24 +0100 <koz_> merijn: That's a rather lukewarm take. Sensible even!
2020-12-02 19:20:25 +0100 <maerwald> https://gitlab.haskell.org/ghc/ghc/-/wikis/commentary/libraries/version-history
2020-12-02 19:20:25 +0100 <merijn> I mean, nobody else is using base right now and if someone wants to start using it a version bump is hardly going to kill that
2020-12-02 19:20:27 +0100 <xerox_> nice even got a date, my buddy got a 2016 ghc from his distribution, yikes!
2020-12-02 19:20:43 +0100 <koz_> xerox_: Use ghcup, not your distro.
2020-12-02 19:20:46 +0100 <monochrom> Hotter take: stack LTS version numbers should be GHC version numbers too.
2020-12-02 19:20:54 +0100 <xerox_> koz_: I'm steering him into that direction yes
2020-12-02 19:20:54 +0100 <koz_> This counts double on Debian and Arch.
2020-12-02 19:21:07 +0100 <koz_> monochrom: That's also tepid at best.
2020-12-02 19:21:17 +0100 <koz_> It's not like consistency is a good thing or anything...
2020-12-02 19:21:17 +0100geekosaur(82659a09@host154-009.vpn.uakron.edu)
2020-12-02 19:21:32 +0100 <koz_> It's only hot because Snoyman would want your head on a pike for daring to suggest such a sensible thing.
2020-12-02 19:21:38 +0100 <maerwald> haha
2020-12-02 19:22:48 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-12-02 19:23:08 +0100 <xerox_> how is this possible: https://www.stackage.org/haddock/lts-16.24/base-4.13.0.0/Prelude.html says (<>) was introduced in 4.9.0.0 and the Base_package page says "8.0.1 (May 2016) 4.9.0.0", buddy has got 8.0.2 and there is no (<>)
2020-12-02 19:23:43 +0100 <jle`> maybe -XNoImplicitPrelude ?
2020-12-02 19:23:59 +0100 <koz_> xerox_: Yeah, some context.
2020-12-02 19:24:04 +0100 <jle`> er also (<>) was only "recently"-ish added into Prelude
2020-12-02 19:24:08 +0100 <monochrom> Perhaps (<>) was not in Prelude back then?
2020-12-02 19:24:29 +0100 <xerox_> then what does it mean when the Prelude haddock page there says it was introduced in that version
2020-12-02 19:24:29 +0100 <geekosaur> right it used to be Data.Monoid
2020-12-02 19:24:33 +0100lambdaman(~lambdaman@d23-16-215-123.bchsia.telus.net)
2020-12-02 19:24:41 +0100 <jle`> xerox_: that annotation is with the Semigroup typeclass
2020-12-02 19:25:01 +0100 <monochrom> "in base" could mean "in Data.Monoid.Not.In.Prelude.Utilities.Hairsplit"
2020-12-02 19:25:18 +0100 <jle`> but also that just says when the semigroup typeclass was defined at all, not necessarily where it was exported from
2020-12-02 19:25:21 +0100 <xerox_> that's my favorite module
2020-12-02 19:25:22 +0100 <jle`> it's actually a manual annotation
2020-12-02 19:25:27 +0100 <jle`> which may be kind of un-ideal
2020-12-02 19:25:49 +0100 <jle`> you can basically think of it as words someone manually added to the documentation of the SEmigroup typeclass, which was originally not in Prelude
2020-12-02 19:26:02 +0100 <jle`> but once you export something from a module, it displays the documentation body as-is
2020-12-02 19:26:20 +0100 <jle`> the "The class of semigroups ..." text, that is
2020-12-02 19:26:23 +0100 <monochrom> Hottest take: Demolish the institution of modules.
2020-12-02 19:26:57 +0100 <koz_> monochrom: Now we're getting warmer. :P
2020-12-02 19:27:01 +0100 <jle`> though it looks special, it's basically text someone manually added to that body. so haddock doesn't know enough about it to realize that it actually means something
2020-12-02 19:27:11 +0100 <merijn> monochrom: I like information hiding!
2020-12-02 19:27:16 +0100 <merijn> monochrom: Except when I don't
2020-12-02 19:27:30 +0100 <unclechu> hey. i’m trying to convert Nat to Symbol, defined this type family instance:
2020-12-02 19:27:30 +0100 <unclechu> type instance TShow (x ∷ Nat) = If (CmpNat x 10 ≡ 'LT) (TShowNat x) (TShow (Div x 10) ⋄ TShowNat (Mod x 10))
2020-12-02 19:27:36 +0100 <unclechu> for some reason recursive call of TShow gives an infinite recursion. i used separate type family to overcome this:
2020-12-02 19:27:36 +0100 <unclechu> type family TShowNat' (α ∷ Nat) (β ∷ Ordering) ∷ Symbol
2020-12-02 19:27:42 +0100 <merijn> unclechu: oof...
2020-12-02 19:27:43 +0100 <unclechu> and just calling it like this: TShowNat' x (CmpNat x 10)
2020-12-02 19:27:53 +0100 <merijn> RIP your sanity :p
2020-12-02 19:27:55 +0100 <unclechu> does anyone know why is it happening?
2020-12-02 19:28:23 +0100cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
2020-12-02 19:28:31 +0100 <unclechu> merijn: did i do something wrong? is there any simpler way to convert Nat to Symbol?
2020-12-02 19:28:48 +0100 <jle`> unclechu: what are you calling it with?
2020-12-02 19:28:50 +0100 <unclechu> i just wrote TShowNat that has patterns from 0 to 9
2020-12-02 19:28:54 +0100 <merijn> unclechu: Well, what you appear to be doing wrong is attempting to write Idris in Haskell :p
2020-12-02 19:28:59 +0100electricityZZZZ(~electrici@108-216-157-17.lightspeed.sntcca.sbcglobal.net)
2020-12-02 19:29:19 +0100 <jle`> oh i just saw
2020-12-02 19:29:27 +0100 <monochrom> I wanted to say that too, but I guess it is unwelcome.
2020-12-02 19:29:48 +0100 <monochrom> The "helpfulness" police gives me trauma.
2020-12-02 19:31:08 +0100 <merijn> monochrom: https://i.imgur.com/2VaBYJ1.png
2020-12-02 19:31:32 +0100 <unclechu> merijn: about “writing Idris in Haskell”, may i tell you a secret that idris was originally written in haskell?
2020-12-02 19:31:36 +0100ba(znc@fsf/interns/bandali)
2020-12-02 19:31:46 +0100 <merijn> unclechu: I am well aware of this
2020-12-02 19:31:47 +0100 <monochrom> and Hugs, C
2020-12-02 19:32:08 +0100Franciman(~francesco@host-212-171-88-43.pool212171.interbusiness.it) (Quit: Leaving)
2020-12-02 19:32:11 +0100 <merijn> unclechu: But the Idris compiler was written in Haskell without Idris style type level programming
2020-12-02 19:32:20 +0100bandali(znc@fsf/interns/bandali) (Ping timeout: 256 seconds)
2020-12-02 19:32:26 +0100whatisRT(~whatisRT@2002:5b41:6a33:0:7903:e9c9:42a2:c7c5)
2020-12-02 19:32:26 +0100 <merijn> monochrom: Sometimes helpfulness is telling people to stop jamming a fork in their eye :)
2020-12-02 19:32:52 +0100 <unclechu> merijn: okay then, buy is it illegal to have some fun?
2020-12-02 19:33:01 +0100 <geekosaur> you call this fun?
2020-12-02 19:33:09 +0100 <merijn> unclechu: Depends, are you having fun debugging this? :)
2020-12-02 19:33:15 +0100 <monochrom> I know right? That's why I don't call them helpfulness police, I call them "helpfulness" police, they use the wrong definition.
2020-12-02 19:33:16 +0100 <merijn> If yes, by all means go ahead
2020-12-02 19:33:33 +0100 <merijn> But there's probably like 5 people who understand the behaviour of what you're doing :)
2020-12-02 19:33:49 +0100 <unclechu> merijn: i just wrote another type family in a next minute i found out this “bug” and solved it for me
2020-12-02 19:33:50 +0100 <merijn> So not many people can help you figure out why it's going wrong
2020-12-02 19:34:00 +0100 <unclechu> just asking whether i’m missing something
2020-12-02 19:34:23 +0100joaj(~joaj@2001:690:2100:110:cceb:227c:edbc:592c) (Ping timeout: 246 seconds)
2020-12-02 19:34:32 +0100vfaronov(~vfaronov@broadband-95-84-210-78.ip.moscow.rt.ru)
2020-12-02 19:34:39 +0100alp(~alp@2a01:e0a:58b:4920:71b4:c750:be0a:d3b3) (Ping timeout: 272 seconds)
2020-12-02 19:34:39 +0100vfaronov(~vfaronov@broadband-95-84-210-78.ip.moscow.rt.ru) (Client Quit)
2020-12-02 19:34:49 +0100electricityZZZZ(~electrici@108-216-157-17.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer)
2020-12-02 19:34:56 +0100kuribas(~user@ptr-25vy0i9ut9m296caj2d.18120a2.ip6.access.telenet.be) (Remote host closed the connection)
2020-12-02 19:35:08 +0100vfaronov(~vfaronov@broadband-95-84-210-78.ip.moscow.rt.ru)
2020-12-02 19:35:45 +0100 <monochrom> I just want to point out that "the Idris compiler was written in Haskell" is irrelevant.
2020-12-02 19:36:04 +0100 <dolio> Lean is written in C++.
2020-12-02 19:36:20 +0100 <monochrom> In principle an Idris compiler could have been written in Javascript.
2020-12-02 19:36:21 +0100 <merijn> Haskell is written in Lazy ML!
2020-12-02 19:36:22 +0100 <geekosaur> that's misparsing what merijn said
2020-12-02 19:36:29 +0100 <merijn> Oh wait, it's no longer 1989
2020-12-02 19:36:41 +0100 <unclechu> monochrom: it was a joke anyway, don’t take this argument serious
2020-12-02 19:36:47 +0100 <monochrom> The type system of Javascript would have nothing to do with the type system of Idris, even when using this compiler.
2020-12-02 19:36:57 +0100 <monochrom> Ah then sorry! Hahahaha
2020-12-02 19:38:58 +0100 <monochrom> ObOnTopicButOffTopic I read that someone wrote a virtual machine in javascript and ran Windows 95 in a web browser.
2020-12-02 19:39:25 +0100Neuromancer(~Neuromanc@unaffiliated/neuromancer) (Ping timeout: 240 seconds)
2020-12-02 19:40:24 +0100 <Rembane> monochrom: How many times can you do that recursively before the computer grinds to a halt?
2020-12-02 19:40:50 +0100 <merijn> monochrom: pfft, who cares about Windows 95 when C&C runs in the browser?
2020-12-02 19:41:16 +0100 <monochrom> haha
2020-12-02 19:41:52 +0100kupi(uid212005@gateway/web/irccloud.com/x-uzfuhbaegjptzqnv)
2020-12-02 19:42:36 +0100 <monochrom> I think more likely the first bottleneck is which web browser compatible with Windows 95 understands the version of javascript used in writing that virtual machine.
2020-12-02 19:43:57 +0100 <kupi> if both a and b and c is >0 then a `div` (b * c) == a `div` b `div` c is always true?
2020-12-02 19:44:09 +0100ph88_(~ph88@2a02:8109:9e00:7e5c:51c4:aed6:17c7:3978) (Ping timeout: 272 seconds)
2020-12-02 19:44:29 +0100 <monochrom> Perhaps you could ask Quickcheck to try?
2020-12-02 19:44:37 +0100adm__(~adm@117.208.17.37)
2020-12-02 19:45:24 +0100whatisRT(~whatisRT@2002:5b41:6a33:0:7903:e9c9:42a2:c7c5) (Read error: Connection reset by peer)
2020-12-02 19:46:03 +0100Neuromancer(~Neuromanc@unaffiliated/neuromancer)
2020-12-02 19:46:32 +0100vfaronov(~vfaronov@broadband-95-84-210-78.ip.moscow.rt.ru) (Quit: vfaronov)
2020-12-02 19:46:48 +0100vfaronov(~vfaronov@broadband-95-84-210-78.ip.moscow.rt.ru)
2020-12-02 19:48:07 +0100adm_(~adm@117.208.22.42) (Ping timeout: 246 seconds)
2020-12-02 19:49:17 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8)
2020-12-02 19:49:56 +0100vicfred(~vicfred@unaffiliated/vicfred) (Ping timeout: 240 seconds)
2020-12-02 19:50:25 +0100graf_blutwurst(~user@2001:171b:226e:adc0:5d47:81b7:1f45:39a6) (Remote host closed the connection)
2020-12-02 19:51:03 +0100vfaronov(~vfaronov@broadband-95-84-210-78.ip.moscow.rt.ru) (Client Quit)
2020-12-02 19:51:05 +0100adm__(~adm@117.208.17.37) (Remote host closed the connection)
2020-12-02 19:51:14 +0100Iceland_jack(~user@31.124.48.169)
2020-12-02 19:51:20 +0100vfaronov(~vfaronov@broadband-95-84-210-78.ip.moscow.rt.ru)
2020-12-02 19:51:58 +0100takuan(~takuan@178-116-218-225.access.telenet.be)
2020-12-02 19:52:28 +0100 <jle`> @check \x y z -> (a > 0 && b > 0 && c > 0) ==> (a `div` (b * c) == a `div` b `div` c)
2020-12-02 19:52:30 +0100 <lambdabot> *** Failed! Falsifiable (after 1 test):
2020-12-02 19:52:31 +0100 <lambdabot> () () ()
2020-12-02 19:52:38 +0100 <jle`> heh
2020-12-02 19:52:40 +0100 <jle`> wait what
2020-12-02 19:52:43 +0100 <jle`> oh
2020-12-02 19:52:52 +0100 <jle`> @check \a b c -> (a > 0 && b > 0 && c > 0) ==> (a `div` (b * c) == a `div` b `div` c)
2020-12-02 19:52:55 +0100 <lambdabot> +++ OK, passed 100 tests.
2020-12-02 19:53:02 +0100 <jle`> i say ship it
2020-12-02 19:54:08 +0100vicfred(~vicfred@unaffiliated/vicfred)
2020-12-02 19:54:17 +0100shf(~sheaf@2a01:cb19:80cc:7e00:39e8:c690:7735:f5ef) (Read error: Connection reset by peer)
2020-12-02 19:57:15 +0100 <monochrom> Now why would that be true?
2020-12-02 19:57:22 +0100htmnc(~James@2600:1700:4ca1:7640:58de:2da5:48ed:ebde)
2020-12-02 19:57:49 +0100jonatanb(jonatanb@gateway/vpn/protonvpn/jonatanb)
2020-12-02 19:58:11 +0100joaj(~joaj@2001:818:e326:8200:5273:55b7:3a86:e6ca)
2020-12-02 19:58:32 +0100pavonia(~user@unaffiliated/siracusa)
2020-12-02 19:59:10 +0100vicfred(~vicfred@unaffiliated/vicfred) (Quit: Leaving)
2020-12-02 20:01:04 +0100borne(~fritjof@200116b864cc28008cdf581d4c1cc02f.dip.versatel-1u1.de) (Ping timeout: 240 seconds)
2020-12-02 20:02:05 +0100jonatanb(jonatanb@gateway/vpn/protonvpn/jonatanb) (Ping timeout: 240 seconds)
2020-12-02 20:02:11 +0100lambdaman(~lambdaman@d23-16-215-123.bchsia.telus.net) (Remote host closed the connection)
2020-12-02 20:02:44 +0100berberman_(~berberman@unaffiliated/berberman) (Ping timeout: 246 seconds)
2020-12-02 20:03:27 +0100berberman(~berberman@unaffiliated/berberman)
2020-12-02 20:03:51 +0100tlaxkit(~kvirc@185.228.155.198) (Quit: KVIrc 5.0.0 Aria http://www.kvirc.net/)
2020-12-02 20:04:19 +0100AlonzoC(~user@2a00:23c4:9010:3d01:d94:1358:c8c9:fd4c)
2020-12-02 20:04:24 +0100AlonzoC(~user@2a00:23c4:9010:3d01:d94:1358:c8c9:fd4c) (Remote host closed the connection)
2020-12-02 20:04:39 +0100acarrico(~acarrico@dhcp-68-142-39-249.greenmountainaccess.net) (Quit: Leaving.)
2020-12-02 20:05:14 +0100 <monochrom> Ah I see now. "It is obvious."
2020-12-02 20:05:36 +0100 <monochrom> If you're interested, let me know.
2020-12-02 20:06:32 +0100vfaronov(~vfaronov@broadband-95-84-210-78.ip.moscow.rt.ru) (Quit: vfaronov)
2020-12-02 20:06:40 +0100Tops2(~Tobias@dyndsl-095-033-092-058.ewe-ip-backbone.de)
2020-12-02 20:06:48 +0100vfaronov(~vfaronov@broadband-95-84-210-78.ip.moscow.rt.ru)
2020-12-02 20:07:22 +0100 <idnar> monochrom: I'm interested
2020-12-02 20:07:52 +0100Aquazi(uid312403@gateway/web/irccloud.com/x-zwjlkmtgfeptdpkc) (Quit: Connection closed for inactivity)
2020-12-02 20:07:53 +0100SupaYoshi(~supayoshi@213-10-140-13.fixed.kpn.net) (Quit: Goodbye!)
2020-12-02 20:08:02 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2020-12-02 20:08:17 +0100 <kupi> me too
2020-12-02 20:09:09 +0100lambdaman(~lambdaman@d23-16-215-123.bchsia.telus.net)
2020-12-02 20:09:28 +0100 <Vulfe> Is there a particularly idiomatic way of writing FromJSON instances for Aeson where you're just matching a handful of strings? this feels like a very common use case, so I suspect I'm missing something
2020-12-02 20:10:01 +0100 <Vulfe> e.g. I write something like parseJSON = withText "MyType" $ \t -> case t of "a" -> pure A ...
2020-12-02 20:10:01 +0100chkno(~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer)
2020-12-02 20:10:11 +0100xcmw(~textual@cpe-69-133-55-43.cinci.res.rr.com)
2020-12-02 20:10:20 +0100chkno(~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net)
2020-12-02 20:10:22 +0100sh9(~sh9@softbank060116136158.bbtec.net) (Quit: WeeChat 2.8)
2020-12-02 20:10:34 +0100is_null(~jpic@pdpc/supporter/professional/is-null)
2020-12-02 20:10:40 +0100 <idnar> > 5 `div` 2
2020-12-02 20:10:43 +0100 <lambdabot> 2
2020-12-02 20:10:45 +0100Rudd0(~Rudd0@185.189.115.108) (Ping timeout: 260 seconds)
2020-12-02 20:11:03 +0100vfaronov(~vfaronov@broadband-95-84-210-78.ip.moscow.rt.ru) (Client Quit)
2020-12-02 20:11:17 +0100vfaronov(~vfaronov@broadband-95-84-210-78.ip.moscow.rt.ru)
2020-12-02 20:11:17 +0100vfaronov(~vfaronov@broadband-95-84-210-78.ip.moscow.rt.ru) (Client Quit)
2020-12-02 20:11:36 +0100SupaYoshi(~supayoshi@213-10-140-13.fixed.kpn.net)
2020-12-02 20:12:11 +0100Varis(~Tadas@unaffiliated/varis) (Remote host closed the connection)
2020-12-02 20:13:12 +0100shf(~sheaf@2a01:cb19:80cc:7e00:bd72:6c13:4bde:b40f)
2020-12-02 20:15:51 +0100lpy(~nyd@unaffiliated/elysian) (Remote host closed the connection)
2020-12-02 20:16:16 +0100lpy(~nyd@unaffiliated/elysian)
2020-12-02 20:16:44 +0100 <monochrom> idnar, kupi: https://paste.tomsmeding.com/YABx7oIp
2020-12-02 20:17:31 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de) (Ping timeout: 246 seconds)
2020-12-02 20:18:18 +0100Varis(~Tadas@unaffiliated/varis)
2020-12-02 20:19:16 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de)
2020-12-02 20:20:06 +0100o1lo01ol1o(~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Remote host closed the connection)
2020-12-02 20:20:24 +0100Ariakenom_(~Ariakenom@h-98-128-229-53.NA.cust.bahnhof.se)
2020-12-02 20:20:44 +0100o1lo01ol1o(~o1lo01ol1@bl11-140-216.dsl.telepac.pt)
2020-12-02 20:21:46 +0100ClaudiusMaximus(~claude@unaffiliated/claudiusmaximus) (Quit: ...zzzZZZ)
2020-12-02 20:21:59 +0100babandali
2020-12-02 20:22:18 +0100 <idnar> monochrom: aha!
2020-12-02 20:22:43 +0100cr3(~cr3@192-222-143-195.qc.cable.ebox.net) (Quit: leaving)
2020-12-02 20:22:59 +0100 <monochrom> It is not obvious. But it works out pleasantly.
2020-12-02 20:22:59 +0100chkno(~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer)
2020-12-02 20:23:07 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 246 seconds)
2020-12-02 20:23:20 +0100chkno(~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net)
2020-12-02 20:23:21 +0100 <monochrom> The remainders fit together so nicely. Who would have thought of that.
2020-12-02 20:23:58 +0100gawen(~gawen@movzbl.root.sx) (Remote host closed the connection)
2020-12-02 20:25:01 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-12-02 20:25:15 +0100mputz(~Thunderbi@dslb-084-058-211-084.084.058.pools.vodafone-ip.de) (Ping timeout: 256 seconds)
2020-12-02 20:25:25 +0100o1lo01ol1o(~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Ping timeout: 264 seconds)
2020-12-02 20:25:33 +0100 <Vulfe> didn't expect to learn something new about the Euclidean algorithm today, but here we are
2020-12-02 20:26:03 +0100gawen(~gawen@movzbl.root.sx)
2020-12-02 20:26:07 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) (Remote host closed the connection)
2020-12-02 20:26:13 +0100xcmw(~textual@cpe-69-133-55-43.cinci.res.rr.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-12-02 20:26:21 +0100vicfred(~vicfred@unaffiliated/vicfred)
2020-12-02 20:27:17 +0100 <kupi> thanks a lot
2020-12-02 20:28:05 +0100jneira(5127ade4@gateway/web/cgi-irc/kiwiirc.com/ip.81.39.173.228)
2020-12-02 20:28:17 +0100Jesin(~Jesin@pool-72-66-101-18.washdc.fios.verizon.net) (Quit: Leaving)
2020-12-02 20:30:44 +0100 <tomsmeding> alternative way to see the same thing: if 'a' is a mixed-base number in base [infty, b, c], then "clearly" the result holds
2020-12-02 20:30:52 +0100 <tomsmeding> but that's dependent on knowing that mixed-base numbers work :p
2020-12-02 20:32:13 +0100mputz(~Thunderbi@dslb-084-058-211-084.084.058.pools.vodafone-ip.de)
2020-12-02 20:32:46 +0100 <jle`> a/(b*c) = a * 1/b * 1/c = (a/b) * 1/c = (a/b)/c
2020-12-02 20:33:15 +0100xcmw(~textual@cpe-69-133-55-43.cinci.res.rr.com)
2020-12-02 20:33:31 +0100 <jle`> my joke landed flat because i forgot to pseudo-justify a/(b*c) = a * 1/(b*c)
2020-12-02 20:34:07 +0100Lycurgus(~niemand@cpe-45-46-137-210.buffalo.res.rr.com)
2020-12-02 20:35:04 +0100Jesin(~Jesin@pool-72-66-101-18.washdc.fios.verizon.net)
2020-12-02 20:36:21 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8)
2020-12-02 20:38:08 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 260 seconds)
2020-12-02 20:40:24 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) (Ping timeout: 240 seconds)
2020-12-02 20:40:50 +0100benjamin-l(~benjamin@2601:1c0:8800:67e0:fa16:54ff:febc:2e60) (Ping timeout: 264 seconds)
2020-12-02 20:42:23 +0100conal(~conal@198.8.81.86) (Quit: Computer has gone to sleep.)
2020-12-02 20:43:15 +0100alp(~alp@2a01:e0a:58b:4920:24d2:a57:d7c5:214c)
2020-12-02 20:44:17 +0100conal(~conal@198.8.81.86)
2020-12-02 20:46:38 +0100Ariakenom(~Ariakenom@h-98-128-229-53.NA.cust.bahnhof.se) (Ping timeout: 256 seconds)
2020-12-02 20:46:42 +0100danso(~dan@69-165-210-185.cable.teksavvy.com) (Read error: Connection reset by peer)
2020-12-02 20:46:56 +0100danso(~dan@69-165-210-185.cable.teksavvy.com)
2020-12-02 20:47:03 +0100htmnc(~James@2600:1700:4ca1:7640:58de:2da5:48ed:ebde) (Quit: Leaving)
2020-12-02 20:47:41 +0100jmchael(~Chi1thang@87.112.60.168)
2020-12-02 20:48:38 +0100ircbrowse_tom(~ircbrowse@64.225.78.177)
2020-12-02 20:48:38 +0100Server+CLnt
2020-12-02 20:50:26 +0100mivael(c16e4caa@193.110.76.170)
2020-12-02 20:51:35 +0100adm_(~adm@117.208.17.37)
2020-12-02 20:52:31 +0100AlterEgo-(~ladew@124-198-158-163.dynamic.caiway.nl) (Quit: Leaving)
2020-12-02 20:54:38 +0100cosimone(~cosimone@93-47-228-249.ip115.fastwebnet.it) (Quit: cosimone)
2020-12-02 20:56:01 +0100adm_(~adm@117.208.17.37) (Ping timeout: 260 seconds)
2020-12-02 20:56:31 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
2020-12-02 20:56:56 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-02 21:00:16 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-12-02 21:01:33 +0100jonatanb(jonatanb@gateway/vpn/protonvpn/jonatanb)
2020-12-02 21:01:52 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 256 seconds)
2020-12-02 21:02:26 +0100acarrico(~acarrico@dhcp-68-142-39-249.greenmountainaccess.net)
2020-12-02 21:02:48 +0100ski. o O ( <https://haskell-channel-logs.blogspot.com/> )
2020-12-02 21:03:29 +0100 <monochrom> haha IRC->blogosphere gateway
2020-12-02 21:04:07 +0100 <monochrom> Will someone also attach a speech synthesizer and make a podcast? >:)
2020-12-02 21:04:59 +0100 <monochrom> Hottest take: Twitch.
2020-12-02 21:05:48 +0100 <koz_> 'some' is 'one or more' right?
2020-12-02 21:05:54 +0100 <monochrom> yes
2020-12-02 21:06:08 +0100darjeeling_(~darjeelin@115.215.41.204) (Ping timeout: 260 seconds)
2020-12-02 21:06:12 +0100 <dminuoso> I cant seem to remember every time.
2020-12-02 21:06:17 +0100 <monochrom> many (char 'x') = x* , some (char 'x') = x+
2020-12-02 21:06:20 +0100 <dminuoso> It's hoogle every time I want to use some/many.
2020-12-02 21:06:22 +0100o1lo01ol1o(~o1lo01ol1@bl11-140-216.dsl.telepac.pt)
2020-12-02 21:06:41 +0100juuandyy(~juuandyy@90.166.144.65)
2020-12-02 21:06:53 +0100 <monochrom> Applicative is awesome, Alternative is manysome.
2020-12-02 21:07:04 +0100 <dminuoso> I have an idea
2020-12-02 21:07:08 +0100 <dminuoso> "some" sounds a bit like "one"
2020-12-02 21:07:23 +0100 <monochrom> "for some x" is at least one x
2020-12-02 21:07:31 +0100 <dminuoso> and "for many x"?
2020-12-02 21:07:38 +0100jonatanb(jonatanb@gateway/vpn/protonvpn/jonatanb) (Remote host closed the connection)
2020-12-02 21:07:53 +0100 <monochrom> I don't have a nice story for many.
2020-12-02 21:07:54 +0100 <jle`> many sounds like more than some
2020-12-02 21:08:15 +0100 <xerox_> s/m//
2020-12-02 21:08:23 +0100 <monochrom> Except that I rote-memorize "there are two of them, many and some, I know what some means, so the other possibility must be many"
2020-12-02 21:08:23 +0100 <dminuoso> jle`: but that "more" is rather on the upper bound of things, right?
2020-12-02 21:08:33 +0100 <jle`> yeah
2020-12-02 21:08:45 +0100 <jle`> i was sort of making an argument about why the names don't fit for me :|
2020-12-02 21:09:01 +0100 <koz_> Honestly, those names confuse me constantly.
2020-12-02 21:09:13 +0100 <monochrom> If I had my say I would call it "Kleene star" or "star".
2020-12-02 21:09:20 +0100 <dminuoso> I'll just try to remember "someone"
2020-12-02 21:09:34 +0100 <xerox_> kleene 'x'
2020-12-02 21:09:36 +0100 <monochrom> As usual, intuitive names are meaningless, mathematical terminology is meaningful.
2020-12-02 21:09:42 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8)
2020-12-02 21:10:10 +0100 <dminuoso> Is there a corresponding name for +?
2020-12-02 21:10:13 +0100xcmw(~textual@cpe-69-133-55-43.cinci.res.rr.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-12-02 21:10:32 +0100 <koz_> dminuoso: kleene+
2020-12-02 21:10:41 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-02 21:10:44 +0100 <jle`> xerox_: kleenex
2020-12-02 21:10:50 +0100 <koz_> LOL
2020-12-02 21:10:50 +0100 <monochrom> hahaha
2020-12-02 21:10:54 +0100 <xerox_> exactly (:
2020-12-02 21:10:58 +0100 <koz_> So much wordplay.
2020-12-02 21:11:00 +0100benjamin-l(~benjamin@2601:1c0:8800:67e0:fa16:54ff:febc:2e60)
2020-12-02 21:11:01 +0100 <koz_> Very Edward.
2020-12-02 21:11:03 +0100 <jle`> oh that was your joke
2020-12-02 21:11:08 +0100 <jle`> nice heh heh
2020-12-02 21:11:16 +0100 <monochrom> I haven't heard of a mathematical name. But "some" is a pretty good name in this case.
2020-12-02 21:11:18 +0100 <dminuoso> koz_: I found it confusing.
2020-12-02 21:11:19 +0100Lycurgus(~niemand@cpe-45-46-137-210.buffalo.res.rr.com) (Quit: Exeunt)
2020-12-02 21:11:23 +0100 <dminuoso> :>
2020-12-02 21:11:53 +0100 <monochrom> "plus" is not bad either.
2020-12-02 21:11:53 +0100 <xerox_> ah right 'any' is taken, another way to go to get the meaning of 'many'
2020-12-02 21:12:14 +0100xcmw(~textual@cpe-69-133-55-43.cinci.res.rr.com)
2020-12-02 21:12:23 +0100 <monochrom> And guess what, "any" means some.
2020-12-02 21:12:25 +0100 <dminuoso> monochrom: plus 'a' `mplus` x
2020-12-02 21:12:31 +0100 <jle`> kleenet = one or more kleenex
2020-12-02 21:12:52 +0100lpy(~nyd@unaffiliated/elysian) (Quit: lpy)
2020-12-02 21:13:03 +0100 <monochrom> To Hell with English.
2020-12-02 21:13:09 +0100 <dminuoso> What about the common idiom of just suffixing with 1.. it's common enough in parser combinators
2020-12-02 21:13:13 +0100 <dminuoso> with things like sepBy and sepBy1
2020-12-02 21:13:38 +0100 <dminuoso> Could have some and some1, giving us a nice pun as well
2020-12-02 21:13:41 +0100 <monochrom> +1
2020-12-02 21:13:51 +0100 <mivael> hello all! Is there a web resource for pasting code/errors to #haskell which would not require registration? (please correct me if I'm wrong, it seems that gist.github.com mentioned in topic does require registration to create a new gist)
2020-12-02 21:13:59 +0100 <dminuoso> @where paste -- mivael
2020-12-02 21:13:59 +0100 <lambdabot> Help us help you: please paste full code, input and/or output at eg https://paste.tomsmeding.com
2020-12-02 21:14:01 +0100chaosmasttter(~chaosmast@p200300c4a708ba01f588eef3670cf8ef.dip0.t-ipconnect.de)
2020-12-02 21:14:16 +0100 <mivael> thans
2020-12-02 21:14:26 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) (Ping timeout: 264 seconds)
2020-12-02 21:15:35 +0100 <dminuoso> I guess the only unreasonable thing about my proposition is that it would break code left and right. So `many` and `many1` would be more reasonable
2020-12-02 21:15:46 +0100 <dminuoso> But that has no pun. :(
2020-12-02 21:15:57 +0100 <dminuoso> any and any1 would have been nice
2020-12-02 21:16:26 +0100 <dminuoso> In unrelated news, would you oppose to Data.Traversable re-exporting traverse_?
2020-12-02 21:16:44 +0100 <dminuoso> I feel annoyed every time. :(
2020-12-02 21:17:20 +0100 <jle`> but is it not a lie
2020-12-02 21:17:30 +0100 <lortabac> honestly I think they are both common enough to deserve a place in Prelude
2020-12-02 21:17:51 +0100 <dminuoso> jle`: Is it? Traversable is a superclass of Foldable, I dont mind it re-exporting it a few Foldable primitives.
2020-12-02 21:17:52 +0100xcmw(~textual@cpe-69-133-55-43.cinci.res.rr.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-12-02 21:17:59 +0100 <dminuoso> Or. Subclass I guess.
2020-12-02 21:18:02 +0100benjamingr__(uid23465@gateway/web/irccloud.com/x-jvjqyyvaxiprykpx)
2020-12-02 21:18:17 +0100 <monochrom> See also: <monochrom> Hottest take: Demolish the institution of modules.
2020-12-02 21:18:29 +0100 <dminuoso> Put everything into Prelude?
2020-12-02 21:19:02 +0100Stanley00(~stanley00@unaffiliated/stanley00)
2020-12-02 21:19:37 +0100 <monochrom> More seriously and feasibly, I am OK with Data.Traversable re-exporting traverse_ and generally Foldable stuff.
2020-12-02 21:19:55 +0100 <monochrom> But I use mapM_ anyway, which is in Prelude.
2020-12-02 21:20:04 +0100 <koz_> jle`: Does your all-singing, all-dancing non-empty container library have some equivalent of '(findMin nes, deleteMin s)'?
2020-12-02 21:20:25 +0100 <dminuoso> Oh wait. mapM_ is in prelude? Strange that traverse_ is not then
2020-12-02 21:20:33 +0100 <merijn> dminuoso: Historical artifact
2020-12-02 21:20:39 +0100 <koz_> dminuoso: Yeah, it's my biggest Data.Foldable import.
2020-12-02 21:20:48 +0100 <monochrom> I support traverse_ going into Prelude too.
2020-12-02 21:20:48 +0100 <merijn> koz_: You mean just containers?
2020-12-02 21:21:09 +0100thevishy(~Nishant@103.210.43.249) (Quit: Leaving)
2020-12-02 21:21:24 +0100darjeeling_(~darjeelin@115.215.41.204)
2020-12-02 21:21:37 +0100 <koz_> merijn: I meant specifically jle's library for non-empty containers.
2020-12-02 21:21:56 +0100 <jle`> i think it's the same as for containers
2020-12-02 21:21:57 +0100MrSalt(DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt)
2020-12-02 21:22:14 +0100 <jle`> but it depends on what you want the relationship between nes and s to be
2020-12-02 21:22:19 +0100hidedagger(~nate@unaffiliated/hidedagger)
2020-12-02 21:22:23 +0100 <koz_> jle`: Spelling.
2020-12-02 21:22:27 +0100 <koz_> I meant something of type
2020-12-02 21:22:35 +0100 <koz_> NESet a -> (a, Set a)
2020-12-02 21:22:46 +0100 <jle`> deleteFindMin i think
2020-12-02 21:22:54 +0100 <koz_> Oh, nice, thank you!
2020-12-02 21:22:58 +0100 <koz_> That's perfect.
2020-12-02 21:23:24 +0100 <jle`> np! yeah when i can i try to keep the same name as containers has
2020-12-02 21:23:58 +0100Stanley00(~stanley00@unaffiliated/stanley00) (Ping timeout: 256 seconds)
2020-12-02 21:24:08 +0100gremax(znc@torba.club) (Quit: Bye)
2020-12-02 21:24:27 +0100gremax(znc@torba.club)
2020-12-02 21:24:32 +0100 <monochrom> The Haskell Library Committee is a bicarmeral, multiple-party, pertually minority-government governing body that takes hairsplitting to the next level. It will take another 30 years before it reaches a consensus to add traverse_ to Prelude. This is not strange. >:)
2020-12-02 21:24:45 +0100dirediresalt(DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt) (Ping timeout: 240 seconds)
2020-12-02 21:25:06 +0100geowiesnot(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 256 seconds)
2020-12-02 21:25:26 +0100doct0rhu(~orctarorg@pool-72-88-158-154.nwrknj.fios.verizon.net)
2020-12-02 21:25:41 +0100 <dminuoso> monochrom: So what you mean by that is, if the automotive industry has some vast interest in that happening, it will happen silently
2020-12-02 21:25:53 +0100 <monochrom> haha
2020-12-02 21:26:24 +0100 <maerwald> Add traverse_ to 26262
2020-12-02 21:26:42 +0100star_cloud(~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Remote host closed the connection)
2020-12-02 21:27:00 +0100star_cloud(~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com)
2020-12-02 21:27:09 +0100 <maerwald> Only if the government forces them, it will eventually land in Prelude
2020-12-02 21:27:52 +0100juuandyy(~juuandyy@90.166.144.65) (Quit: Konversation terminated!)
2020-12-02 21:27:57 +0100 <pie_> are there possibly more obscure alternative designs to REST APIs that I should look at?
2020-12-02 21:28:18 +0100 <maerwald> gRPC
2020-12-02 21:28:21 +0100 <monochrom> CGI
2020-12-02 21:28:26 +0100 <doct0rhu> Greetings, I asked about how to make docs of private items last night/(earlier this morning?)
2020-12-02 21:28:27 +0100 <dminuoso> lol
2020-12-02 21:28:48 +0100 <doct0rhu> I later found a solution to make this a bit easier
2020-12-02 21:28:49 +0100 <doct0rhu> https://paste.tomsmeding.com/siEaStgC
2020-12-02 21:29:34 +0100 <doct0rhu> I'm new to haskell and it's my first project. (configuring xmonad)
2020-12-02 21:29:42 +0100 <dminuoso> pie_: You want more obscure, you could just go plain RPC.
2020-12-02 21:30:19 +0100 <doct0rhu> I want to contribute to `xmoand-contrib` but sadly it doesn't work with my version of `haskell-language-server`.
2020-12-02 21:31:53 +0100 <doct0rhu> It complained that `ghcide` was compiled with a different `ghc` version...
2020-12-02 21:32:13 +0100 <koz_> pie_: Also XMPRPC is a thing.
2020-12-02 21:32:19 +0100 <doct0rhu> > ghcide compiled against GHC 8.8.2 but currently using 8.8.4
2020-12-02 21:32:19 +0100 <doct0rhu> This is unsupported, ghcide must be compiled with the same GHC version as the project.
2020-12-02 21:32:22 +0100 <koz_> s/XMP/XML/
2020-12-02 21:32:22 +0100 <lambdabot> error:
2020-12-02 21:32:22 +0100 <lambdabot> Variable not in scope: ghcide :: t0 -> t1 -> t2 -> t3 -> b0 -> cerror: V...
2020-12-02 21:32:22 +0100 <lambdabot> • Variable not in scope: against
2020-12-02 21:32:23 +0100rayyyy(~nanoz@gateway/tor-sasl/nanoz) (Ping timeout: 240 seconds)
2020-12-02 21:32:48 +0100 <dminuoso> doct0rhu: Yes, you must use the same GHC version.
2020-12-02 21:33:00 +0100 <doct0rhu> I actually have installed GHC 8.8.2
2020-12-02 21:33:04 +0100 <pie_> dminuoso: not obscure is also fine :p
2020-12-02 21:33:29 +0100 <dminuoso> pie_: It depends on what you do, really.
2020-12-02 21:33:40 +0100 <dminuoso> You could write a wireprotocol directly ontop of TCP
2020-12-02 21:34:11 +0100 <dminuoso> The main benefit of going through HTTP (say via JSON in HTTP or gRPC) is that session/authentication is mostly done for you already.
2020-12-02 21:34:12 +0100 <pie_> that doest give me any design principles though
2020-12-02 21:34:21 +0100 <dminuoso> At the cost of shoving your protocol through a different semantic protocol
2020-12-02 21:34:28 +0100cosimone(~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd)
2020-12-02 21:34:30 +0100 <pie_> (well im not sure REST does eitherm, i just started looking around)
2020-12-02 21:34:32 +0100 <mivael> Could anyone give me 'some' (not 'many') hints in troubleshooting this? https://paste.tomsmeding.com/KQAIlolF Why it fails with 'lines' but works with 'const'? (I'm not in control of the managing program, I submit this code to them, get my stderr and their replies to my output. I'm pretty sure that their inputs do not change from run to run.)
2020-12-02 21:34:42 +0100 <doct0rhu> I probably didn't configure something right because when I run `haskell-language-server-8.8.2` I saw things like `> Build profile: -w ghc-8.8.4 -O1
2020-12-02 21:34:43 +0100 <doct0rhu> `
2020-12-02 21:35:54 +0100jneira(5127ade4@gateway/web/cgi-irc/kiwiirc.com/ip.81.39.173.228) (Ping timeout: 260 seconds)
2020-12-02 21:36:00 +0100 <dminuoso> pie_: design principles.. not sure what you are looking for example
2020-12-02 21:36:06 +0100jespada(~jespada@90.254.245.49) (Ping timeout: 256 seconds)
2020-12-02 21:36:27 +0100 <dminuoso> But if you want cool and sleek ideas, check out typed-protocols.
2020-12-02 21:36:48 +0100star_cloud(~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Excess Flood)
2020-12-02 21:36:50 +0100 <koz_> dminuoso: Link?
2020-12-02 21:36:56 +0100 <koz_> mivael: Is this, perchance, homework?
2020-12-02 21:36:56 +0100 <dminuoso> https://input-output-hk.github.io/ouroboros-network/typed-protocols/Network-TypedProtocol.html
2020-12-02 21:38:04 +0100star_cloud(~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com)
2020-12-02 21:38:41 +0100 <mivael> koz_: not a homework, just a hobby thing (thhis one, if you are interested: https://www.codingame.com/multiplayer/optimization/search-race)
2020-12-02 21:38:46 +0100jneira(5127ade4@gateway/web/cgi-irc/kiwiirc.com/ip.81.39.173.228)
2020-12-02 21:38:47 +0100 <doct0rhu> well you know what.. I solved this with `ghcup set 8.8.2`....
2020-12-02 21:38:58 +0100 <koz_> mivael: OK, thanks. Had to ask.
2020-12-02 21:39:09 +0100jespada(~jespada@90.254.245.49)
2020-12-02 21:39:47 +0100 <dminuoso> mivael: I cant quite decipher what the comments denote exactly.
2020-12-02 21:40:37 +0100britva(~britva@31-10-157-156.cgn.dynamic.upc.ch)
2020-12-02 21:42:17 +0100xcmw(~textual@cpe-69-133-55-43.cinci.res.rr.com)
2020-12-02 21:42:51 +0100 <mivael> dminuoso: in short, my code works fine but it gets a timeout with f1... in f2 I just const-ed the input I get from the managing program
2020-12-02 21:43:12 +0100 <mivael> * works fine with f2
2020-12-02 21:44:42 +0100 <geekosaur> I'm going to guess the problem is buffering
2020-12-02 21:44:52 +0100 <geekosaur> look up hSetBuffering
2020-12-02 21:45:59 +0100 <mivael> geekosaur, thanks!
2020-12-02 21:46:20 +0100 <pie_> dminuoso: a'ight
2020-12-02 21:46:40 +0100christo(~chris@81.96.113.213)
2020-12-02 21:48:24 +0100jneira(5127ade4@gateway/web/cgi-irc/kiwiirc.com/ip.81.39.173.228) (Ping timeout: 272 seconds)
2020-12-02 21:49:20 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-12-02 21:51:36 +0100jneira(5127ade4@gateway/web/cgi-irc/kiwiirc.com/ip.81.39.173.228)
2020-12-02 21:53:17 +0100aoei(aoei@2a01:7e01::f03c:92ff:fe4f:e85a) (Quit: ZNC 1.7.5 - https://znc.in)
2020-12-02 21:55:46 +0100 <doct0rhu> well.. having "ghcup set 8.8.2" is not good enough for me. I tried to use `cabal.project.local` to set project ghc to 8.8.2 instead but haskell-language-server doesn't respect that setting
2020-12-02 21:56:30 +0100aoei(~aoei@li2174-104.members.linode.com)
2020-12-02 21:56:38 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 272 seconds)
2020-12-02 21:57:29 +0100_xor(~xor@74.215.46.133) (Ping timeout: 260 seconds)
2020-12-02 21:57:53 +0100dhil(~dhil@195.213.192.34) (Ping timeout: 265 seconds)
2020-12-02 21:58:52 +0100jollygood2(~bc8165ab@217.29.117.252)
2020-12-02 21:59:16 +0100 <monochrom> <Vent> Gosh, one bug report attempt leads to another, with non-tail recursion, no?
2020-12-02 21:59:55 +0100 <monochrom> I found out that "ghcup install cabal" makes the cabal-install exe world-writable, so I want to report that.
2020-12-02 22:00:14 +0100 <merijn> doct0rhu: haskell-langague-server is tied to a specific GHC it's compiled with
2020-12-02 22:00:17 +0100 <monochrom> gitlab.haskell.org offers "sign in with github", so I try that.
2020-12-02 22:00:27 +0100geowiesnot(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr)
2020-12-02 22:00:38 +0100 <monochrom> It results in "500". So now I also have a bug report for gitlab.haskell.org...
2020-12-02 22:00:46 +0100 <monochrom> </Vent>
2020-12-02 22:00:57 +0100alp(~alp@2a01:e0a:58b:4920:24d2:a57:d7c5:214c) (Ping timeout: 272 seconds)
2020-12-02 22:01:26 +0100 <doct0rhu> @merijn, thanks I know that. I installed hls via ghcup and it's supposed to install hls for various ghc versions
2020-12-02 22:01:27 +0100 <lambdabot> Unknown command, try @list
2020-12-02 22:01:56 +0100 <maerwald> monochrom: yeah, that's software...
2020-12-02 22:02:12 +0100 <doct0rhu> merijn, thanks I know that. I installed hls via ghcup and it's supposed to install hls for various ghc versions
2020-12-02 22:02:56 +0100 <maerwald> with cabal, hls fails to pick the correct ghc version. I haven't seen this problem with stack
2020-12-02 22:03:26 +0100 <doct0rhu> but actually `xmonad-contrib` supports stack too
2020-12-02 22:03:42 +0100 <monochrom> I guess I'll fall back to registering on gitlab.haskell.org independent of my github.com account. It makes more sense in the long term anyway. But after afternoon tea.
2020-12-02 22:03:49 +0100 <maerwald> I use (if ever) hls via stack cradle and use cabal for my normal workflow
2020-12-02 22:04:15 +0100cosimone(~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd) (Remote host closed the connection)
2020-12-02 22:04:38 +0100cosimone(~cosimone@93-47-228-249.ip115.fastwebnet.it)
2020-12-02 22:04:40 +0100 <doct0rhu> the .gitignore has cabal.project.local and cable.config so I think they are the only two files I can specify a ghc version
2020-12-02 22:04:45 +0100DavidEichmann(~david@62.110.198.146.dyn.plus.net) (Remote host closed the connection)
2020-12-02 22:05:52 +0100 <maerwald> monochrom: what happens with oauth, when github locks your account?
2020-12-02 22:05:53 +0100 <doct0rhu> and I've both of them specified ghc-8.8.2 but hls still cannot get the right ghc version..
2020-12-02 22:05:53 +0100 <monochrom> Someone once asked me "why don't you install hls" like I committed a crime. I now know why I didn't install hls.
2020-12-02 22:06:17 +0100 <doct0rhu> even after I use haskell-language-server-8.8.2 instead of haskell-language-server-wrapper
2020-12-02 22:07:25 +0100knupfer(~Thunderbi@200116b82c870c0040a81efffe6ee436.dip.versatel-1u1.de)
2020-12-02 22:08:04 +0100Deide(~Deide@217.155.19.23)
2020-12-02 22:08:16 +0100knupfer(~Thunderbi@200116b82c870c0040a81efffe6ee436.dip.versatel-1u1.de) (Remote host closed the connection)
2020-12-02 22:08:25 +0100knupfer(~Thunderbi@200116b82c870c000d3c5f9e8cecb967.dip.versatel-1u1.de)
2020-12-02 22:08:41 +0100 <maerwald> monochrom: and before you ask "why"... that's the reason ghcup is now on gitlab and not github
2020-12-02 22:08:43 +0100 <maerwald> :D
2020-12-02 22:09:06 +0100 <monochrom> Don't worry, I don't mind where it's hosted.
2020-12-02 22:09:29 +0100 <monochrom> It's just one of those rare murphy-law days.
2020-12-02 22:09:35 +0100 <maerwald> (they have a spam detection that sometimes triggers and will get your account locked and ALL your repos and comments hidden everywhere)
2020-12-02 22:10:47 +0100orion(~orion@unaffiliated/orion) (Quit: "")
2020-12-02 22:10:47 +0100chkno(~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer)
2020-12-02 22:11:07 +0100 <monochrom> I hate humanity.
2020-12-02 22:11:15 +0100chkno(~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net)
2020-12-02 22:11:16 +0100borne(~fritjof@200116b864cc28008cdf581d4c1cc02f.dip.versatel-1u1.de)
2020-12-02 22:11:35 +0100 <monochrom> https://www.smbc-comics.com/comic/like-2
2020-12-02 22:12:33 +0100geowiesnot(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 260 seconds)
2020-12-02 22:12:34 +0100conal(~conal@198.8.81.86) (Quit: Computer has gone to sleep.)
2020-12-02 22:12:57 +0100britva(~britva@31-10-157-156.cgn.dynamic.upc.ch) (Quit: This computer has gone to sleep)
2020-12-02 22:13:12 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-12-02 22:13:21 +0100conal(~conal@198.8.81.86)
2020-12-02 22:13:44 +0100conal(~conal@198.8.81.86) (Client Quit)
2020-12-02 22:15:12 +0100conal(~conal@198.8.81.86)
2020-12-02 22:15:19 +0100conal(~conal@198.8.81.86) (Client Quit)
2020-12-02 22:18:02 +0100alp(~alp@2a01:e0a:58b:4920:dc54:a0f8:3325:44d9)
2020-12-02 22:22:02 +0100cosimone_(~cosimone@93-47-228-249.ip115.fastwebnet.it)
2020-12-02 22:22:21 +0100 <tomsmeding> "it's obvious"
2020-12-02 22:22:33 +0100 <hekkaidekapus> doct0rhu: Take a look at #haskell-ide-engine
2020-12-02 22:22:46 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2020-12-02 22:22:54 +0100_xor(~xor@74.215.46.133)
2020-12-02 22:23:00 +0100cosimone_(~cosimone@93-47-228-249.ip115.fastwebnet.it) (Remote host closed the connection)
2020-12-02 22:23:06 +0100coot(~coot@37.30.53.191.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
2020-12-02 22:23:54 +0100 <doct0rhu> hekkaidekapus, thanks!!
2020-12-02 22:24:10 +0100 <hekkaidekapus> np
2020-12-02 22:25:29 +0100cosimone(~cosimone@93-47-228-249.ip115.fastwebnet.it) (Ping timeout: 260 seconds)
2020-12-02 22:25:35 +0100 <mivael> geekosaur, it works! Thanks again! As monochrom suggested yesterday, I was so concerned with laziness that missed the obvious buffering things... https://paste.tomsmeding.com/jaZxQWNb
2020-12-02 22:25:47 +0100zebrag(~inkbottle@aaubervilliers-654-1-118-216.w86-198.abo.wanadoo.fr) (Quit: Konversation terminated!)
2020-12-02 22:26:07 +0100zebrag(~inkbottle@aaubervilliers-654-1-118-216.w86-198.abo.wanadoo.fr)
2020-12-02 22:27:30 +0100conal(~conal@198.8.81.86)
2020-12-02 22:27:41 +0100cosimone(~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd)
2020-12-02 22:28:02 +0100xcmw(~textual@cpe-69-133-55-43.cinci.res.rr.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-12-02 22:28:15 +0100texasmynsted(~texasmyns@212.102.44.36)
2020-12-02 22:30:07 +0100knupfer(~Thunderbi@200116b82c870c000d3c5f9e8cecb967.dip.versatel-1u1.de) (Ping timeout: 260 seconds)
2020-12-02 22:31:06 +0100hidedagger(~nate@unaffiliated/hidedagger) (Quit: WeeChat 2.9)
2020-12-02 22:31:58 +0100xcmw(~textual@cpe-69-133-55-43.cinci.res.rr.com)
2020-12-02 22:33:10 +0100philopsos(~caecilius@gateway/tor-sasl/caecilius) (Quit: leaving)
2020-12-02 22:33:44 +0100xff0x(~fox@port-92-195-73-58.dynamic.as20676.net) (Ping timeout: 256 seconds)
2020-12-02 22:33:59 +0100is7s(d4a14e54@212.161.78.84)
2020-12-02 22:34:14 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 256 seconds)
2020-12-02 22:34:59 +0100cptwunderlich(d4ba391c@gateway/web/cgi-irc/kiwiirc.com/ip.212.186.57.28)
2020-12-02 22:35:08 +0100dhouthoo(~dhouthoo@ptr-eitgbj2w0uu6delkbrh.18120a2.ip6.access.telenet.be) (Quit: WeeChat 2.9)
2020-12-02 22:35:29 +0100cosimone(~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd) (Remote host closed the connection)
2020-12-02 22:35:35 +0100dhil(~dhil@195.213.192.34)
2020-12-02 22:35:53 +0100cosimone(~cosimone@93-47-228-249.ip115.fastwebnet.it)
2020-12-02 22:36:59 +0100cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Quit: Goodbye)
2020-12-02 22:37:50 +0100Yumasi(~guillaume@2a01:e0a:5cb:4430:6448:a1be:2d68:fad7) (Ping timeout: 264 seconds)
2020-12-02 22:37:59 +0100 <monochrom> I think you can safely use LineBuffering, which is a good middle ground between efficiency and responsiveness.
2020-12-02 22:38:03 +0100xff0x(~fox@2001:1a81:5348:9f00:a33e:b10d:3d9:e994)
2020-12-02 22:39:31 +0100 <geekosaur> given use of lines/unlines, yes, I figured LineBuffering was appropriate
2020-12-02 22:39:34 +0100cr3(~cr3@192-222-143-195.qc.cable.ebox.net)
2020-12-02 22:40:36 +0100geekosaur(82659a09@host154-009.vpn.uakron.edu) (Remote host closed the connection)
2020-12-02 22:42:53 +0100Codaraxis_(~Codaraxis@ip68-5-90-227.oc.oc.cox.net)
2020-12-02 22:43:48 +0100is7s(d4a14e54@212.161.78.84) ()
2020-12-02 22:45:18 +0100sord937(~sord937@gateway/tor-sasl/sord937) (Quit: sord937)
2020-12-02 22:45:54 +0100Codaraxis(~Codaraxis@ip68-5-90-227.oc.oc.cox.net) (Ping timeout: 260 seconds)
2020-12-02 22:46:16 +0100 <monochrom> OK, registering on gitlab the manual way is a 500 too.
2020-12-02 22:46:27 +0100 <monochrom> s/gitlab/gitlab.haskell.org/
2020-12-02 22:46:32 +0100 <merijn> monochrom: Sign from the gods :p
2020-12-02 22:46:41 +0100 <monochrom> Does #haskell-infrastructure exist?
2020-12-02 22:47:02 +0100 <monochrom> Bah I'll just try.
2020-12-02 22:47:35 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8)
2020-12-02 22:49:09 +0100 <zgrep> <tomsmeding> that 31337 looks suspicious <-- Yes, I am suspicious.
2020-12-02 22:49:49 +0100 <monochrom> 31337 is a prime number.
2020-12-02 22:50:53 +0100Ariakenom(~Ariakenom@h-98-128-229-53.NA.cust.bahnhof.se)
2020-12-02 22:51:10 +0100Ariakenom_(~Ariakenom@h-98-128-229-53.NA.cust.bahnhof.se) (Read error: Connection reset by peer)
2020-12-02 22:51:26 +0100 <tomsmeding> aeson requiring more than 2GB to build wasn't a bug, right? no it wasn't
2020-12-02 22:51:44 +0100 <monochrom> Not a bug.
2020-12-02 22:53:45 +0100revprez_anzio(~revprez_a@pool-108-49-213-40.bstnma.fios.verizon.net) (Ping timeout: 240 seconds)
2020-12-02 22:53:56 +0100DataComputist(~lumeng@static-50-43-26-251.bvtn.or.frontiernet.net) (Ping timeout: 240 seconds)
2020-12-02 22:54:18 +0100DataComputist(~lumeng@static-50-43-26-251.bvtn.or.frontiernet.net)
2020-12-02 22:54:41 +0100revprez_anzio(~revprez_a@pool-108-49-213-40.bstnma.fios.verizon.net)
2020-12-02 22:55:54 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-12-02 22:57:51 +0100p-core(~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515) (Remote host closed the connection)
2020-12-02 23:00:22 +0100Rudd0(~Rudd0@185.189.115.103)
2020-12-02 23:01:45 +0100mivael(c16e4caa@193.110.76.170) (Ping timeout: 245 seconds)
2020-12-02 23:03:03 +0100takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2020-12-02 23:03:28 +0100cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
2020-12-02 23:03:43 +0100is7s(~is7s@212.161.78.84)
2020-12-02 23:04:17 +0100lollerloller_
2020-12-02 23:04:45 +0100loller_loller
2020-12-02 23:06:13 +0100llagi1234(~llagi1234@200.78.173.253)
2020-12-02 23:06:20 +0100 <llagi1234> Hi
2020-12-02 23:06:33 +0100Ariakenom_(~Ariakenom@h-98-128-229-53.NA.cust.bahnhof.se)
2020-12-02 23:07:17 +0100llagi1234(~llagi1234@200.78.173.253) (Quit: Quit)
2020-12-02 23:07:35 +0100llagi1234(~llagi1234@200.78.173.253)
2020-12-02 23:07:48 +0100justsomeguy(~justsomeg@216.186.218.241)
2020-12-02 23:07:48 +0100justsomeguy(~justsomeg@216.186.218.241) (Changing host)
2020-12-02 23:07:48 +0100justsomeguy(~justsomeg@unaffiliated/--/x-3805311)
2020-12-02 23:08:17 +0100llagi1234(~llagi1234@200.78.173.253) (Client Quit)
2020-12-02 23:08:31 +0100 <cptwunderlich> Hi everyone! I'm in a bit of a pickle, maybe someone can help:
2020-12-02 23:08:46 +0100llagi1234(~llagi1234@200.78.173.253)
2020-12-02 23:09:01 +0100 <llagi1234> Bye
2020-12-02 23:09:04 +0100 <cptwunderlich> I have a function `Something -> [Foo a]` that is used with other, similar functions. I would like to add a concrete element for a
2020-12-02 23:09:13 +0100llagi1234(~llagi1234@200.78.173.253) (Client Quit)
2020-12-02 23:09:20 +0100 <cptwunderlich> e.g., [Foo Bar]
2020-12-02 23:09:21 +0100Vq(~vq@90-227-195-41-no77.tbcn.telia.com) (Ping timeout: 272 seconds)
2020-12-02 23:09:29 +0100Ariakenom(~Ariakenom@h-98-128-229-53.NA.cust.bahnhof.se) (Ping timeout: 260 seconds)
2020-12-02 23:09:29 +0100Moyst(~moyst@212-149-213-144.bb.dnainternet.fi) (Ping timeout: 260 seconds)
2020-12-02 23:09:43 +0100 <cptwunderlich> And I get an error bc. "rigit type variable" etc
2020-12-02 23:09:52 +0100mbomba(~mbomba@bras-base-toroon2719w-grc-49-142-114-9-241.dsl.bell.ca)
2020-12-02 23:09:56 +0100Vq(~vq@90-227-195-41-no77.tbcn.telia.com)
2020-12-02 23:10:03 +0100 <c_wraith> that sounds like you're trying to make them concrete in a context where they are required to be polymorphic
2020-12-02 23:10:08 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
2020-12-02 23:10:08 +0100 <cptwunderlich> Does anyone know any way to remedy this? (shady is ok, it's for debugging)
2020-12-02 23:10:09 +0100 <monochrom> Perhaps your function type should be Something -> [Foo Bar]
2020-12-02 23:10:33 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-02 23:10:42 +0100 <cptwunderlich> It is a polymorphic function, a bunch of them, operating on a list. I Know the concrete type and I would like to inject a few elements for debugging only
2020-12-02 23:10:57 +0100Moyst(~moyst@212-149-213-144.bb.dnainternet.fi)
2020-12-02 23:11:01 +0100 <cptwunderlich> so maybe something with "coerce" would do, but I have never touched that stuff
2020-12-02 23:11:02 +0100 <ski> cptwunderlich : `foo :: Something -> [Foo a]' promises to the caller to work for all types `a'. not just `Bar'. so if caller picks `a' to be `Bool', then your `Foo Bar' elements doesn't have type `Foo Bool', doesn't work
2020-12-02 23:11:22 +0100mounty(~mounty@2001:8000:2f59:0:348e:496f:dd83:259f)
2020-12-02 23:11:38 +0100 <cptwunderlich> Yes, I realized that.
2020-12-02 23:11:46 +0100 <ski> perhaps you can pass in the debug element, or a list of them, as separate parameter(s) ?
2020-12-02 23:11:48 +0100 <cptwunderlich> I'm asking for an emergency loop-hole ^^ For one time debugging only
2020-12-02 23:11:51 +0100 <monochrom> I don't understand "debug by injecting elements" if the production version would never inject similar elements.
2020-12-02 23:12:07 +0100conal(~conal@198.8.81.86) (Quit: Computer has gone to sleep.)
2020-12-02 23:12:07 +0100chkno(~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer)
2020-12-02 23:12:14 +0100mbomba(~mbomba@bras-base-toroon2719w-grc-49-142-114-9-241.dsl.bell.ca) (Client Quit)
2020-12-02 23:12:21 +0100chkno(~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net)
2020-12-02 23:12:22 +0100 <cptwunderlich> It's a code generator, that can emit code for different platforms - but I know It's x86_64 bc. that's what I'm using and working on
2020-12-02 23:12:23 +0100 <c_wraith> cptwunderlich: unsafeCoerce is the only emergency loophole
2020-12-02 23:12:35 +0100 <cptwunderlich> great, I will check it out. thanks
2020-12-02 23:12:36 +0100 <monochrom> I can understand debugging messages. I don't understand fictional debugging data that has no chance of happening in reality.
2020-12-02 23:12:49 +0100conal(~conal@198.8.81.86)
2020-12-02 23:12:50 +0100 <cptwunderlich> I want to emit ASM COMMENT instructions
2020-12-02 23:12:55 +0100 <cptwunderlich> But they are platform specific
2020-12-02 23:12:57 +0100 <c_wraith> cptwunderlich: it *will* break your program. you can be assured of that.
2020-12-02 23:13:09 +0100 <monochrom> I am not telepathic.
2020-12-02 23:13:10 +0100 <cptwunderlich> It will not be commitet or make it into production
2020-12-02 23:13:13 +0100 <cptwunderlich> Promised ;)
2020-12-02 23:13:31 +0100elfets_(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
2020-12-02 23:13:45 +0100 <cptwunderlich> monochrom Didn't assume that, tried to ask a question with minimal context. You asked, I gave more details.
2020-12-02 23:13:47 +0100 <c_wraith> It's the bad kind of unsafe, where things seem to work, right up until you get corrupted data at runtime in seemingly-unrelated places
2020-12-02 23:13:54 +0100elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 260 seconds)
2020-12-02 23:13:58 +0100 <merijn> See, the problem is that there is no emergency "loophole"
2020-12-02 23:14:37 +0100 <merijn> There's unsafeCoerce, but that's not so much "opening an emergency loophole" and more "opening an emergency wormhole the size of the galaxy and letting Lovecraftian eldritch horrors into your address space"
2020-12-02 23:14:56 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 240 seconds)
2020-12-02 23:15:24 +0100 <monochrom> The type Something->[Foo a] is problematic in the first place. Unless Foo a has some data constructors that are independent of a.
2020-12-02 23:15:32 +0100 <c_wraith> a crash is the *good* case when using unsafeCoerce
2020-12-02 23:15:33 +0100hyperisco(~hyperisco@d192-186-117-226.static.comm.cgocable.net) (Ping timeout: 260 seconds)
2020-12-02 23:16:46 +0100 <monochrom> For example if I promise "xxx :: [Maybe a]" then you can be pretty sure that here are the only non-trolling possibilities: [], [Nothing], [Nothing, Nothing], [Nothing, Nothing, Nothing], ..., [Nothing, Nothing, ... infinite list]
2020-12-02 23:17:15 +0100 <monochrom> It cannot possibly be [Just 1]. It cannot possibly be [Just True].
2020-12-02 23:17:52 +0100is7s(~is7s@212.161.78.84) ()
2020-12-02 23:17:53 +0100 <monochrom> Since in production code it cannot be [Just 1], what good is "testing" with [Just 1]? What would you learn that would be relevant to reality?
2020-12-02 23:17:59 +0100 <cptwunderlich> Thanks, it works (well compiles). I realize that this is a big no-no, that's why I have never touched the unsafe stuff so far, but in this case it's justified, promise ;)
2020-12-02 23:18:26 +0100 <merijn> RIP your sanity
2020-12-02 23:18:27 +0100 <c_wraith> unsafeCoerce tends to always compile. that's the problem with it. :)
2020-12-02 23:18:53 +0100 <monochrom> And if you're open to trolling, here are some trolling possibilities: [Just undefined], [Just undefined, Just undefined], ...
2020-12-02 23:19:14 +0100gioyik(~gioyik@186.118.250.147)
2020-12-02 23:19:45 +0100 <merijn> cptwunderlich: Well...at least the rest of your evening will be...interesting :)
2020-12-02 23:20:09 +0100 <monochrom> This is why I'm against "Haskell needs more evangelism and adoption".
2020-12-02 23:20:29 +0100 <cptwunderlich> merijn I've been trying to debug this for 3 days, so it can only get better ;)
2020-12-02 23:20:40 +0100 <monochrom> No, I don't what the hacky-clutchy people to adopt Haskell. They would ruin everything.
2020-12-02 23:20:58 +0100 <merijn> cptwunderlich: hah
2020-12-02 23:21:01 +0100 <cptwunderlich> If I can have some COMMENT pseudo-instructions instead of staring at a see of assembly, that might clarify some things
2020-12-02 23:21:01 +0100 <monochrom> I want people who respect parametric polymorphism to adopt Haskell.
2020-12-02 23:21:08 +0100 <merijn> cptwunderlich: You're about to get a bad awakening I fear :)
2020-12-02 23:21:35 +0100MrSalt(DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt) (Remote host closed the connection)
2020-12-02 23:21:40 +0100conal(~conal@198.8.81.86) (Quit: Computer has gone to sleep.)
2020-12-02 23:21:58 +0100o1lo01ol1o(~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Remote host closed the connection)
2020-12-02 23:22:00 +0100MrSalt(DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt)
2020-12-02 23:22:11 +0100conal(~conal@198.8.81.86)
2020-12-02 23:22:28 +0100conal(~conal@198.8.81.86) (Client Quit)
2020-12-02 23:23:05 +0100lassulus(~lassulus@NixOS/user/lassulus) (Remote host closed the connection)
2020-12-02 23:23:22 +0100DataComputist(~lumeng@static-50-43-26-251.bvtn.or.frontiernet.net) (Ping timeout: 246 seconds)
2020-12-02 23:23:28 +0100Unicorn_Princess(~Unicorn_P@89-212-115-169.static.t-2.net)
2020-12-02 23:23:32 +0100lassulus(~lassulus@NixOS/user/lassulus)
2020-12-02 23:26:20 +0100conal(~conal@198.8.81.86)
2020-12-02 23:26:49 +0100 <Unicorn_Princess> are https://github.com/timbod7/haskell-chart/wiki and https://diagrams.github.io/ still the recommended ways to do basic graphics/plotting in haskell, or should i be using something else? and if you happen to know of something comparable for c++ or rust, i'd also be interested. no specific application in mind however.
2020-12-02 23:28:14 +0100 <ski> cptwunderlich : perhaps your `Something' type actually involved `a' as well ..
2020-12-02 23:28:29 +0100 <monochrom> or the Foo type should not.
2020-12-02 23:28:38 +0100chaosmasttter(~chaosmast@p200300c4a708ba01f588eef3670cf8ef.dip0.t-ipconnect.de) (Quit: WeeChat 2.9)
2020-12-02 23:28:46 +0100 <ski> (or perhaps `Foo a' involved `a' contravariantly, or perhaps involving a GADT where the index involved `a')
2020-12-02 23:28:52 +0100 <monochrom> What is polymorphism doing here for code generation anyway.
2020-12-02 23:28:54 +0100 <cptwunderlich> Well, something is not working bc. I can't see it in my output. Gah
2020-12-02 23:29:01 +0100DataComputist(~lumeng@static-50-43-26-251.bvtn.or.frontiernet.net)
2020-12-02 23:29:15 +0100 <cptwunderlich> > What is polymorphism doing here for code generation anyway.
2020-12-02 23:29:17 +0100 <lambdabot> <hint>:1:60: error:
2020-12-02 23:29:18 +0100 <lambdabot> <hint>:1:60: error:
2020-12-02 23:29:18 +0100 <lambdabot> parse error (possibly incorrect indentation or mismatched brackets)
2020-12-02 23:29:23 +0100 <cptwunderlich> To reuse parts of the backend
2020-12-02 23:29:45 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-12-02 23:29:49 +0100elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
2020-12-02 23:30:02 +0100 <monochrom> That was a rhetorical quesiton.
2020-12-02 23:31:42 +0100elfets_(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 256 seconds)
2020-12-02 23:32:22 +0100 <merijn> Unicorn_Princess: I wish I did
2020-12-02 23:32:53 +0100 <merijn> Unicorn_Princess: I have two projects doing plotting, one calls gnuplot as external process, the other matplotlib >.>
2020-12-02 23:36:34 +0100conal(~conal@198.8.81.86) (Quit: Computer has gone to sleep.)
2020-12-02 23:38:59 +0100 <shapr> Has anyone used haskell LDAP libraries to talk to Red Hat IDM?
2020-12-02 23:41:44 +0100conal(~conal@198.8.81.86)
2020-12-02 23:44:37 +0100joaoh82_(~joaoh82@ip-213-127-88-241.ip.prioritytelecom.net) (Remote host closed the connection)
2020-12-02 23:44:58 +0100mputz(~Thunderbi@dslb-084-058-211-084.084.058.pools.vodafone-ip.de) (Quit: mputz)
2020-12-02 23:45:11 +0100joaoh82(~joaoh82@ip-213-127-88-241.ip.prioritytelecom.net)
2020-12-02 23:47:00 +0100infinity0(~infinity0@freenet/developer/infinity0) (Remote host closed the connection)
2020-12-02 23:50:01 +0100joaoh82(~joaoh82@ip-213-127-88-241.ip.prioritytelecom.net) (Ping timeout: 265 seconds)
2020-12-02 23:50:04 +0100Ariakenom_(~Ariakenom@h-98-128-229-53.NA.cust.bahnhof.se) (Quit: Leaving)
2020-12-02 23:50:36 +0100infinity0(~infinity0@freenet/developer/infinity0)
2020-12-02 23:50:47 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-02 23:53:53 +0100fendor_(~fendor@178.115.131.244.wireless.dyn.drei.com) (Remote host closed the connection)
2020-12-02 23:54:49 +0100sondr3(~sondr3@cm-84.211.56.132.getinternet.no) (Quit: Leaving)
2020-12-02 23:55:07 +0100ddellacosta(dd@gateway/vpn/mullvad/ddellacosta)
2020-12-02 23:55:11 +0100philopsos(~caecilius@gateway/tor-sasl/caecilius)
2020-12-02 23:58:51 +0100cosimone(~cosimone@93-47-228-249.ip115.fastwebnet.it) (Quit: cosimone)