2020/10/19

2020-10-19 00:01:41 +0200fendor(~fendor@77.119.130.12.wireless.dyn.drei.com) (Remote host closed the connection)
2020-10-19 00:02:30 +0200__monty__(~toonn@unaffiliated/toonn) (Quit: leaving)
2020-10-19 00:03:31 +0200Psycomic(~Phi@2a01:e0a:18:d0a0:ec74:a9c1:d5eb:2ab6) (Ping timeout: 272 seconds)
2020-10-19 00:06:03 +0200danvet_(~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) (Ping timeout: 272 seconds)
2020-10-19 00:06:46 +0200solonarv(~solonarv@anancy-651-1-202-101.w109-217.abo.wanadoo.fr) (Read error: Connection reset by peer)
2020-10-19 00:07:39 +0200solonarv(~solonarv@anancy-651-1-202-101.w109-217.abo.wanadoo.fr)
2020-10-19 00:09:27 +0200geowiesnot(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 260 seconds)
2020-10-19 00:09:45 +0200dhil(~dhil@195.213.192.122) (Ping timeout: 240 seconds)
2020-10-19 00:11:01 +0200rnat2(uid73555@gateway/web/irccloud.com/x-yzboehgctiytendp)
2020-10-19 00:11:27 +0200chaosmasttter(~chaosmast@p200300c4a710fa01f8ce4354cf8ba13b.dip0.t-ipconnect.de) (Quit: WeeChat 2.9)
2020-10-19 00:12:05 +0200wroathe(~wroathe@c-73-24-27-54.hsd1.mn.comcast.net)
2020-10-19 00:12:15 +0200supercoven(~Supercove@dsl-hkibng32-54fb54-166.dhcp.inet.fi) (Ping timeout: 260 seconds)
2020-10-19 00:14:05 +0200tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2020-10-19 00:15:02 +0200DavidEichmann(~david@43.240.198.146.dyn.plus.net) (Ping timeout: 272 seconds)
2020-10-19 00:15:25 +0200novium(4e46a930@78-70-169-48-no110.tbcn.telia.com) (Remote host closed the connection)
2020-10-19 00:17:30 +0200invaser(~Thunderbi@31.148.23.125) (Ping timeout: 256 seconds)
2020-10-19 00:19:28 +0200geowiesnot(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr)
2020-10-19 00:20:53 +0200djellemah(~djellemah@2601:5c2:100:96c:e008:b638:39fe:6a54)
2020-10-19 00:22:30 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-10-19 00:22:39 +0200GyroW(~GyroW@unaffiliated/gyrow) (Remote host closed the connection)
2020-10-19 00:22:56 +0200GyroW(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be)
2020-10-19 00:22:56 +0200GyroW(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) (Changing host)
2020-10-19 00:22:56 +0200GyroW(~GyroW@unaffiliated/gyrow)
2020-10-19 00:26:55 +0200dirediresalt(DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt) (Remote host closed the connection)
2020-10-19 00:27:43 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2020-10-19 00:33:26 +0200ephemera_(~E@122.34.1.187) (Read error: Connection reset by peer)
2020-10-19 00:34:19 +0200ensyde(~ensyde@2600:1702:2e30:1a40:e4b3:9206:daf1:55c1)
2020-10-19 00:34:35 +0200ephemera_(~E@122.34.1.187)
2020-10-19 00:38:28 +0200tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Remote host closed the connection)
2020-10-19 00:42:25 +0200seanvert(~user@177.84.244.242)
2020-10-19 00:47:42 +0200GyroW(~GyroW@unaffiliated/gyrow) (Remote host closed the connection)
2020-10-19 00:48:01 +0200GyroW(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be)
2020-10-19 00:48:01 +0200GyroW(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) (Changing host)
2020-10-19 00:48:01 +0200GyroW(~GyroW@unaffiliated/gyrow)
2020-10-19 00:49:25 +0200ransom(~c4264035@75-166-195-170.hlrn.qwest.net) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-19 00:51:29 +0200texasmynsted(688c3593@104.140.53.147)
2020-10-19 00:53:12 +0200conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2020-10-19 00:53:37 +0200 <texasmynsted> I am reading a `tsv` file to get my good/bad URLs into a List of pairs. This looks awkward, especially in the redirectMapToPair bit.
2020-10-19 00:54:07 +0200 <texasmynsted> The `main` I simply have it printing the list that I want so I can see if it is what I expect...
2020-10-19 00:54:27 +0200 <texasmynsted> Any suggestions on how to improve this? https://gist.github.com/mmynsted/bc2fc5c083c5d27ebfd5aab8bb8bc6c3
2020-10-19 00:55:54 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-10-19 00:57:28 +0200olligobber(olligobber@gateway/vpn/privateinternetaccess/olligobber) (Ping timeout: 272 seconds)
2020-10-19 00:57:44 +0200 <texasmynsted> I am leaving TH for another day.
2020-10-19 00:57:55 +0200 <texasmynsted> I am sure it would be a better solution.
2020-10-19 01:03:40 +0200theelous3(~theelous3@unaffiliated/theelous3) (Read error: Connection reset by peer)
2020-10-19 01:03:41 +0200conal(~conal@64.71.133.70)
2020-10-19 01:04:13 +0200nbloomf(~nbloomf@2600:1700:ad14:3020:706d:285c:8b0:9b3d) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-19 01:05:00 +0200 <texasmynsted> Is anybody here?
2020-10-19 01:05:43 +0200 <koz_> texasmynsted: People are, but might be unresponsive.
2020-10-19 01:05:51 +0200 <texasmynsted> heh
2020-10-19 01:05:55 +0200 <koz_> It varies by time of day, and also by what you're asking.
2020-10-19 01:05:56 +0200 <texasmynsted> I can relate to that
2020-10-19 01:07:31 +0200hnOsmium0001(uid453710@gateway/web/irccloud.com/x-uekbwohrzbmaorkq) (Quit: Connection closed for inactivity)
2020-10-19 01:08:07 +0200alp(~alp@2a01:e0a:58b:4920:3c60:f5ab:1cfc:cd5) (Ping timeout: 272 seconds)
2020-10-19 01:08:46 +0200 <texasmynsted> One thing that bothers me is there feels like there must be a better way to transform a data to a tuple
2020-10-19 01:08:46 +0200conal_(~conal@66.115.157.49)
2020-10-19 01:08:47 +0200 <texasmynsted> example
2020-10-19 01:08:50 +0200nados(~dan@69-165-210-185.cable.teksavvy.com)
2020-10-19 01:08:57 +0200 <texasmynsted> (RedirectMap bad good) = (,) bad good
2020-10-19 01:09:51 +0200 <koz_> You have a FromRecord instance for tuples.
2020-10-19 01:09:54 +0200 <texasmynsted> where data RedirectMap= RedirectMap { badUrl :: String, goodUrl :: String }
2020-10-19 01:09:55 +0200 <koz_> So you can just use that.
2020-10-19 01:10:02 +0200 <koz_> It'd be like
2020-10-19 01:10:11 +0200 <koz_> (,) <$> parseField <*> parseField
2020-10-19 01:10:12 +0200 <texasmynsted> oh. Thank you. I will check it out
2020-10-19 01:11:03 +0200conal(~conal@64.71.133.70) (Ping timeout: 260 seconds)
2020-10-19 01:12:45 +0200olligobber(olligobber@gateway/vpn/privateinternetaccess/olligobber)
2020-10-19 01:15:01 +0200tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2020-10-19 01:15:30 +0200ephemera_(~E@122.34.1.187) (Remote host closed the connection)
2020-10-19 01:16:47 +0200ephemera_(~E@122.34.1.187)
2020-10-19 01:20:01 +0200tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 264 seconds)
2020-10-19 01:21:18 +0200Tuplanolla(~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Ping timeout: 258 seconds)
2020-10-19 01:23:19 +0200ericsagnes(~ericsagne@2405:6580:0:5100:8084:b111:4aaf:f484) (Ping timeout: 272 seconds)
2020-10-19 01:29:06 +0200conal_(~conal@66.115.157.49) (Quit: Computer has gone to sleep.)
2020-10-19 01:29:33 +0200seanvert`(~user@177.84.244.242)
2020-10-19 01:29:48 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
2020-10-19 01:30:03 +0200karanlikmadde(~karanlikm@2a01:c22:ac16:a100:a874:6bad:ee0e:3b97) (Quit: karanlikmadde)
2020-10-19 01:31:33 +0200conal(~conal@66.115.157.49)
2020-10-19 01:31:53 +0200christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-10-19 01:32:16 +0200nbloomf(~nbloomf@2600:1700:ad14:3020:706d:285c:8b0:9b3d)
2020-10-19 01:32:18 +0200seanvert(~user@177.84.244.242) (Ping timeout: 272 seconds)
2020-10-19 01:34:57 +0200christo(~chris@81.96.113.213)
2020-10-19 01:35:52 +0200christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-10-19 01:36:06 +0200ericsagnes(~ericsagne@2405:6580:0:5100:a53c:4941:44e2:1e75)
2020-10-19 01:36:15 +0200elliott_(~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) (Ping timeout: 260 seconds)
2020-10-19 01:37:00 +0200elliott_(~elliott_@pool-108-51-141-12.washdc.fios.verizon.net)
2020-10-19 01:45:54 +0200solonarv(~solonarv@anancy-651-1-202-101.w109-217.abo.wanadoo.fr) (Ping timeout: 256 seconds)
2020-10-19 01:46:15 +0200christo(~chris@81.96.113.213)
2020-10-19 01:48:07 +0200mirrorbird(~psutcliff@2a00:801:42b:7891:16b1:e53f:55b2:15e1)
2020-10-19 01:48:50 +0200Deide(~Deide@217.155.19.23) (Quit: Seeee yaaaa)
2020-10-19 01:49:39 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2020-10-19 01:50:03 +0200thir(~thir@p200300f27f2f0100d058ed1e9e148e98.dip0.t-ipconnect.de)
2020-10-19 01:52:09 +0200irc_user(uid423822@gateway/web/irccloud.com/x-wddvdkxotqakcvrc)
2020-10-19 01:52:41 +0200xerox_(~xerox@unaffiliated/xerox)
2020-10-19 01:54:19 +0200jedws(~jedws@121.209.161.98) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-19 01:54:24 +0200geowiesnot(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 256 seconds)
2020-10-19 01:54:25 +0200thir(~thir@p200300f27f2f0100d058ed1e9e148e98.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2020-10-19 01:54:53 +0200justanotheruser(~justanoth@unaffiliated/justanotheruser)
2020-10-19 01:57:30 +0200da39a3ee5e6b4b0d(~textual@n11211935170.netvigator.com)
2020-10-19 01:58:03 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-10-19 01:59:05 +0200hnOsmium0001(uid453710@gateway/web/irccloud.com/x-bbbnvzthyixtprkj)
2020-10-19 01:59:32 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-19 02:00:02 +0200eam1(~eam@185.244.214.216) ()
2020-10-19 02:00:06 +0200atk(~Arch-TK@ircpuzzles/staff/Arch-TK) (Quit: Well this is unexpected.)
2020-10-19 02:00:57 +0200atk(~Arch-TK@ircpuzzles/staff/Arch-TK)
2020-10-19 02:01:00 +0200 <cheater> or use arrow
2020-10-19 02:01:01 +0200 <cheater> s
2020-10-19 02:01:21 +0200wroathe_(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-10-19 02:01:25 +0200wroathe(~wroathe@c-73-24-27-54.hsd1.mn.comcast.net) (Ping timeout: 264 seconds)
2020-10-19 02:02:56 +0200christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-10-19 02:03:24 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2020-10-19 02:04:15 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds)
2020-10-19 02:05:35 +0200LKoen(~LKoen@81.255.219.130) (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-10-19 02:05:51 +0200polyrain(~polyrain@2001:8003:e501:6901:fd69:4af9:af31:f884)
2020-10-19 02:09:27 +0200christo(~chris@81.96.113.213)
2020-10-19 02:10:13 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-19 02:10:24 +0200christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-10-19 02:14:48 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds)
2020-10-19 02:15:02 +0200conal(~conal@66.115.157.49) (Quit: Computer has gone to sleep.)
2020-10-19 02:15:16 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-19 02:15:40 +0200lkurusa(~lkurusa@fedora/Levex) (Remote host closed the connection)
2020-10-19 02:15:59 +0200 <texasmynsted> or use arrows?
2020-10-19 02:16:19 +0200 <koz_> Yeah, from Control.Arrow. However, in this case, I think that's a bit overkill.
2020-10-19 02:16:28 +0200conal(~conal@66.115.157.49)
2020-10-19 02:17:26 +0200 <monochrom> Total distraction.
2020-10-19 02:17:27 +0200ensyde(~ensyde@2600:1702:2e30:1a40:e4b3:9206:daf1:55c1) (Quit: WeeChat 2.9)
2020-10-19 02:17:37 +0200ystael(~ystael@209.6.50.55) (Ping timeout: 264 seconds)
2020-10-19 02:17:40 +0200ensyde(~ensyde@2600:1702:2e30:1a40:e4b3:9206:daf1:55c1)
2020-10-19 02:18:52 +0200christo(~chris@81.96.113.213)
2020-10-19 02:21:15 +0200tvn(~tvn@178.239.168.171)
2020-10-19 02:21:42 +0200christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-10-19 02:21:56 +0200christo(~chris@81.96.113.213)
2020-10-19 02:24:47 +0200conal(~conal@66.115.157.49) (Quit: Computer has gone to sleep.)
2020-10-19 02:29:55 +0200elliott__(~elliott@pool-108-51-141-12.washdc.fios.verizon.net) (Ping timeout: 260 seconds)
2020-10-19 02:33:24 +0200conal(~conal@64.71.133.70)
2020-10-19 02:33:45 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-10-19 02:35:02 +0200mirrorbird(~psutcliff@2a00:801:42b:7891:16b1:e53f:55b2:15e1) (Quit: Leaving)
2020-10-19 02:35:32 +0200proofofme(~proofofme@184-96-74-65.hlrn.qwest.net)
2020-10-19 02:36:50 +0200klixto(~klixto@130.220.8.132)
2020-10-19 02:37:30 +0200lucasb(uid333435@gateway/web/irccloud.com/x-jgpbbuburcbcxbsy) (Quit: Connection closed for inactivity)
2020-10-19 02:40:05 +0200elliott_(~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) (Ping timeout: 240 seconds)
2020-10-19 02:47:26 +0200seanvert`(~user@177.84.244.242) (Remote host closed the connection)
2020-10-19 02:47:42 +0200ericsagnes(~ericsagne@2405:6580:0:5100:a53c:4941:44e2:1e75) (Ping timeout: 260 seconds)
2020-10-19 02:48:25 +0200nbloomf(~nbloomf@2600:1700:ad14:3020:706d:285c:8b0:9b3d) (Ping timeout: 240 seconds)
2020-10-19 02:52:57 +0200djellemah(~djellemah@2601:5c2:100:96c:e008:b638:39fe:6a54) (Ping timeout: 260 seconds)
2020-10-19 02:54:48 +0200elliott__(~elliott@pool-108-51-141-12.washdc.fios.verizon.net)
2020-10-19 02:58:45 +0200dcoutts_(~duncan@33.14.75.194.dyn.plus.net) (Ping timeout: 240 seconds)
2020-10-19 02:59:10 +0200geowiesnot(~user@87-89-181-157.abo.bbox.fr)
2020-10-19 03:00:32 +0200rnat2(uid73555@gateway/web/irccloud.com/x-yzboehgctiytendp) (Quit: Connection closed for inactivity)
2020-10-19 03:00:46 +0200da39a3ee5e6b4b0d(~textual@n11211935170.netvigator.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-19 03:01:09 +0200ericsagnes(~ericsagne@2405:6580:0:5100:a53c:4941:44e2:1e75)
2020-10-19 03:01:56 +0200jedws(~jedws@121.209.161.98)
2020-10-19 03:01:59 +0200wroathe_(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Quit: leaving)
2020-10-19 03:03:12 +0200tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2020-10-19 03:03:56 +0200elliott__(~elliott@pool-108-51-141-12.washdc.fios.verizon.net) (Ping timeout: 256 seconds)
2020-10-19 03:04:40 +0200howdoi(uid224@gateway/web/irccloud.com/x-mvchipvwhunlklgp)
2020-10-19 03:06:29 +0200isovector1(~isovector@172.103.217.169.cable.tpia.cipherkey.com)
2020-10-19 03:07:56 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
2020-10-19 03:08:34 +0200tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 272 seconds)
2020-10-19 03:09:46 +0200hololeap(~hololeap@unaffiliated/hololeap) (Ping timeout: 256 seconds)
2020-10-19 03:11:24 +0200hololeap(~hololeap@unaffiliated/hololeap)
2020-10-19 03:11:32 +0200son0p(~son0p@181.136.122.143) (Remote host closed the connection)
2020-10-19 03:13:35 +0200et09(~et09@unaffiliated/endolphin)
2020-10-19 03:13:40 +0200djellemah(~djellemah@2601:5c2:100:96c:e008:b638:39fe:6a54)
2020-10-19 03:16:59 +0200nbloomf(~nbloomf@2600:1700:ad14:3020:706d:285c:8b0:9b3d)
2020-10-19 03:18:32 +0200nbloomf_(~nbloomf@76.217.43.73)
2020-10-19 03:18:35 +0200Amras(~Amras@unaffiliated/amras0000) (Ping timeout: 272 seconds)
2020-10-19 03:18:58 +0200conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2020-10-19 03:19:09 +0200da39a3ee5e6b4b0d(~textual@n11211935170.netvigator.com)
2020-10-19 03:19:57 +0200s00pcan(~chris@075-133-056-178.res.spectrum.com)
2020-10-19 03:21:32 +0200nbloomf(~nbloomf@2600:1700:ad14:3020:706d:285c:8b0:9b3d) (Ping timeout: 260 seconds)
2020-10-19 03:24:40 +0200s00pcan(~chris@075-133-056-178.res.spectrum.com) (Ping timeout: 265 seconds)
2020-10-19 03:25:40 +0200s00pcan(~chris@107.181.165.217)
2020-10-19 03:27:26 +0200Whez(~textual@2a01:e0a:21f:1060:45e3:a6ce:25be:e68)
2020-10-19 03:27:30 +0200conal(~conal@64.71.133.70)
2020-10-19 03:30:57 +0200Jesin(~Jesin@pool-72-66-101-18.washdc.fios.verizon.net) (Ping timeout: 265 seconds)
2020-10-19 03:33:15 +0200Sgeo_(~Sgeo@ool-18b982ad.dyn.optonline.net)
2020-10-19 03:34:21 +0200avoandmayo(~textual@122-58-158-238-adsl.sparkbb.co.nz)
2020-10-19 03:34:41 +0200Whez(~textual@2a01:e0a:21f:1060:45e3:a6ce:25be:e68) (Quit: My MacBook Air has gone to sleep. ZZZzzz…)
2020-10-19 03:36:44 +0200Sgeo(~Sgeo@ool-18b982ad.dyn.optonline.net) (Ping timeout: 260 seconds)
2020-10-19 03:38:03 +0200Sgeo__(~Sgeo@ool-18b982ad.dyn.optonline.net)
2020-10-19 03:39:11 +0200conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2020-10-19 03:39:25 +0200acarrico(~acarrico@dhcp-68-142-39-249.greenmountainaccess.net) (Ping timeout: 240 seconds)
2020-10-19 03:41:19 +0200Sgeo_(~Sgeo@ool-18b982ad.dyn.optonline.net) (Ping timeout: 260 seconds)
2020-10-19 03:41:46 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-10-19 03:42:56 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-10-19 03:43:02 +0200GyroW(~GyroW@unaffiliated/gyrow) (Quit: Someone ate my pie)
2020-10-19 03:43:24 +0200GyroW(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be)
2020-10-19 03:43:24 +0200GyroW(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) (Changing host)
2020-10-19 03:43:24 +0200GyroW(~GyroW@unaffiliated/gyrow)
2020-10-19 03:47:13 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2020-10-19 03:48:06 +0200wei2912(~wei2912@unaffiliated/wei2912)
2020-10-19 03:51:31 +0200thir(~thir@p200300f27f2f0100d058ed1e9e148e98.dip0.t-ipconnect.de)
2020-10-19 03:54:18 +0200geowiesnot(~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 256 seconds)
2020-10-19 03:57:44 +0200tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2020-10-19 04:00:03 +0200thir(~thir@p200300f27f2f0100d058ed1e9e148e98.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2020-10-19 04:00:03 +0200xff0x(~fox@2001:1a81:53f8:9f00:7c69:3a05:36cd:a9b4) (Ping timeout: 260 seconds)
2020-10-19 04:01:29 +0200lkurusa(~lkurusa@fedora/Levex)
2020-10-19 04:01:53 +0200xff0x(~fox@2001:1a81:522e:d900:5958:18c9:b577:aea)
2020-10-19 04:02:28 +0200tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 256 seconds)
2020-10-19 04:03:54 +0200 <gnumonik> Is ((LitP . stringL $ "Foo") : [VarP . mkName $ "xs" ]) the TH Pat the corresponds to ("Foo":xs), or am I doing that wrong?
2020-10-19 04:06:37 +0200shatriff(~vitaliish@176.52.219.10) (Remote host closed the connection)
2020-10-19 04:06:57 +0200shatriff(~vitaliish@176.52.219.10)
2020-10-19 04:07:26 +0200shatriff(~vitaliish@176.52.219.10) (Remote host closed the connection)
2020-10-19 04:07:41 +0200shatriff(~vitaliish@176.52.219.10)
2020-10-19 04:07:47 +0200urodna(~urodna@unaffiliated/urodna) (Quit: urodna)
2020-10-19 04:08:12 +0200shatriff(~vitaliish@176.52.219.10) (Remote host closed the connection)
2020-10-19 04:08:30 +0200shatriff(~vitaliish@176.52.219.10)
2020-10-19 04:09:00 +0200shatriff(~vitaliish@176.52.219.10) (Remote host closed the connection)
2020-10-19 04:09:18 +0200shatriff(~vitaliish@176.52.219.10)
2020-10-19 04:09:49 +0200shatriff(~vitaliish@176.52.219.10) (Remote host closed the connection)
2020-10-19 04:12:58 +0200nbloomf_(~nbloomf@76.217.43.73) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-19 04:14:30 +0200thir(~thir@p200300f27f2f0100d058ed1e9e148e98.dip0.t-ipconnect.de)
2020-10-19 04:15:36 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-10-19 04:18:05 +0200 <koz_> gnumonik: No, because that should type as Q Expr, but what you have types as Q [Expr] I believe.
2020-10-19 04:18:10 +0200s00pcan(~chris@107.181.165.217) (Ping timeout: 246 seconds)
2020-10-19 04:19:53 +0200oisdk(~oisdk@2001:bb6:3329:d100:5538:baf2:3212:5e91) (Quit: oisdk)
2020-10-19 04:20:03 +0200Tene(~tene@poipu/supporter/slacker/tene) (Remote host closed the connection)
2020-10-19 04:20:03 +0200ByronJohnson(~bairyn@unaffiliated/bob0) (Remote host closed the connection)
2020-10-19 04:20:16 +0200s00pcan(~chris@075-133-056-178.res.spectrum.com)
2020-10-19 04:20:44 +0200Stanley00(~stanley00@unaffiliated/stanley00)
2020-10-19 04:20:59 +0200theDon(~td@muedsl-82-207-238-112.citykom.de) (Ping timeout: 260 seconds)
2020-10-19 04:21:24 +0200 <gnumonik> er I forgot the ListP at the beginning. But wouldn't it just be a [Pat] as written? If I don't return it, it's not in the Q monad yet right? (Obviously I have to do that eventually to do anything useful with it)
2020-10-19 04:21:54 +0200mirrorbird(~psutcliff@2a00:801:42b:7891:16b1:e53f:55b2:15e1)
2020-10-19 04:21:57 +0200Saukk(~Saukk@2001:998:f9:2914:1c59:9bb5:b94c:4)
2020-10-19 04:21:57 +0200 <koz_> Oh, yeah, good point.
2020-10-19 04:21:59 +0200 <koz_> But you get the idea.
2020-10-19 04:22:11 +0200 <koz_> You want an application of the (:) constructor.
2020-10-19 04:22:19 +0200JordiGH(jordi@octave/developer/JordiGH) ("Leaving")
2020-10-19 04:22:41 +0200theDon(~td@muedsl-82-207-238-239.citykom.de)
2020-10-19 04:23:57 +0200ransom(~c4264035@2601:285:201:6720:b13f:d296:8a17:c389)
2020-10-19 04:26:11 +0200avoandmayo(~textual@122-58-158-238-adsl.sparkbb.co.nz) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-19 04:27:01 +0200plutoniix(~q@node-uhv.pool-125-24.dynamic.totinternet.net)
2020-10-19 04:27:07 +0200texasmynsted(688c3593@104.140.53.147) (Remote host closed the connection)
2020-10-19 04:28:32 +0200avoandmayo(~textual@122-58-158-238-adsl.sparkbb.co.nz)
2020-10-19 04:29:02 +0200lagothrix(~lagothrix@unaffiliated/lagothrix) (Killed (hitchcock.freenode.net (Nickname regained by services)))
2020-10-19 04:29:08 +0200lagothrix(~lagothrix@unaffiliated/lagothrix)
2020-10-19 04:30:05 +0200ephemera_(~E@122.34.1.187) (Ping timeout: 240 seconds)
2020-10-19 04:31:31 +0200ransom(~c4264035@2601:285:201:6720:b13f:d296:8a17:c389) (Quit: Textual IRC Client: www.textualapp.com)
2020-10-19 04:31:46 +0200m0rphism(~m0rphism@HSI-KBW-046-005-177-122.hsi8.kabel-badenwuerttemberg.de) (Ping timeout: 256 seconds)
2020-10-19 04:32:19 +0200ephemera_(~E@122.34.1.187)
2020-10-19 04:39:34 +0200elliott__(~elliott@pool-108-51-141-12.washdc.fios.verizon.net)
2020-10-19 04:41:05 +0200drbean(~drbean@TC210-63-209-157.static.apol.com.tw)
2020-10-19 04:43:56 +0200 <proofofme> `print =<< Streams.toList is` After this portion mentioned in mysql-haskell, how can I grab individual columns? So for example, how could I print just some field called 'field', for example?
2020-10-19 04:44:24 +0200 <koz_> That will dump _everything ever_ to stdout.
2020-10-19 04:44:30 +0200 <koz_> You most probably do _not_ want that.
2020-10-19 04:44:38 +0200 <koz_> It will also materialize your entire stream into memory first.
2020-10-19 04:44:43 +0200 <proofofme> correct, just a couple of fields
2020-10-19 04:44:46 +0200 <koz_> You most probably _also_ do not want _that_.
2020-10-19 04:45:00 +0200 <koz_> So I would suggest looking at the type of stream it returns, and at the io-streams docs.
2020-10-19 04:45:10 +0200 <koz_> If you've dealt with streaming before, it should look familiar.
2020-10-19 04:45:25 +0200 <Squarism> God, im so stuck. I this should be doable with haskell and all its neat libraries / extensions - but I just dont know how. I tried to formulate my problem here : https://paste.ofcode.org/6TcXd6tnxnpqkEaGYNja2M
2020-10-19 04:45:26 +0200 <proofofme> It returns an InputStream
2020-10-19 04:45:36 +0200 <Squarism> I think this.... *
2020-10-19 04:46:00 +0200plutoniix(~q@node-uhv.pool-125-24.dynamic.totinternet.net) (Ping timeout: 258 seconds)
2020-10-19 04:46:06 +0200 <koz_> proofofme: So read the docs around that type in io-streams.
2020-10-19 04:46:10 +0200lortabac(~lortabac@51.158.65.124) (Ping timeout: 246 seconds)
2020-10-19 04:46:42 +0200 <koz_> Squarism: Do you have a list separated by /?
2020-10-19 04:47:15 +0200 <koz_> Also, proofofme, InputStream is _a_ type, but _not_ the type mysql-haskell gives back. From my memory, it's something like a pair of field headers and a stream of vectors of values.
2020-10-19 04:47:25 +0200Tario(~Tario@201.192.165.173) (Read error: Connection reset by peer)
2020-10-19 04:47:30 +0200 <Squarism> koz_, well that should be the address in the end.
2020-10-19 04:47:32 +0200 <koz_> And you want something to represent a list separated by /?
2020-10-19 04:47:36 +0200Tario(~Tario@201.192.165.173)
2020-10-19 04:47:37 +0200 <proofofme> yeah, it gives a column definition and InputStream tuple
2020-10-19 04:48:04 +0200 <koz_> proofofme: So basically, this is what you're dealing with. You'd need to use whatever information is in the column defs to determine what you want.
2020-10-19 04:48:24 +0200 <koz_> Then, for each element in the stream, fish out what you want, and tear apart the MySQLWhateverItIs sum type to get at the actual data.
2020-10-19 04:48:41 +0200 <Squarism> koz: Basicall i want to achive lens libraries (get + map) in "mapLeaf"
2020-10-19 04:49:09 +0200lortabac(~lortabac@51.158.65.124)
2020-10-19 04:49:17 +0200et09(~et09@unaffiliated/endolphin) ()
2020-10-19 04:49:18 +0200 <Squarism> but using textual addresses. Wrong address or empty slot returns Nothing
2020-10-19 04:49:33 +0200 <koz_> Squarism: What's the ultimate goal of this thing?
2020-10-19 04:49:58 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) ()
2020-10-19 04:50:22 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds)
2020-10-19 04:51:49 +0200tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2020-10-19 04:53:42 +0200isovector1(~isovector@172.103.217.169.cable.tpia.cipherkey.com) (Ping timeout: 272 seconds)
2020-10-19 04:53:44 +0200nbloomf(~nbloomf@2600:1700:ad14:3020:e14d:f5f1:4984:f268)
2020-10-19 04:56:12 +0200 <Squarism> the ultimate goal is : 1. A library user defines a datatype A. 2. All "leafs" in a value of the datatype A will yield "addresses" where data can be added using "setLeaf". 3. All "set" leafs (Any "Step a" value) in the datatype A value. So say A is defined as : data Pr1 = Pr1 { a :: Step Int, b :: Maybe (Step Bool) }. A value could be Pr1 { a = Step 11 "foo", b = Nothing }. "b" is an example of an unset value.
2020-10-19 04:56:21 +0200tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 258 seconds)
2020-10-19 04:56:39 +0200olligobber(olligobber@gateway/vpn/privateinternetaccess/olligobber) (Ping timeout: 260 seconds)
2020-10-19 04:57:09 +0200 <koz_> This sounds like something that could be rolled with like, Generic? Or generics-sop maybe?
2020-10-19 04:57:53 +0200plutoniix(~q@ppp-27-55-70-11.revip3.asianet.co.th)
2020-10-19 04:57:57 +0200 <Squarism> so in point 2 above, the address "b/just" will be provided as a valid address. User fills in some data sends data + address to server, updates value of Pr1 with setLeaf
2020-10-19 04:58:08 +0200ephemera_(~E@122.34.1.187) (Ping timeout: 272 seconds)
2020-10-19 04:58:56 +0200 <Squarism> koz_, yeah, im trying to play with Generic instance but i feel the level is quite high for me. I just dont see the end solution playing around with it.
2020-10-19 04:59:31 +0200 <koz_> So you basically want a 'skeleton' of the data type to use as a 'direction' for something to go into an actual value of said data type?
2020-10-19 04:59:38 +0200ephemera_(~E@122.34.1.187)
2020-10-19 04:59:42 +0200 <koz_> This is 100% a job for Generic or generics-sop.
2020-10-19 05:00:02 +0200tvn(~tvn@178.239.168.171) ()
2020-10-19 05:00:07 +0200djellemah(~djellemah@2601:5c2:100:96c:e008:b638:39fe:6a54) (Ping timeout: 260 seconds)
2020-10-19 05:01:09 +0200 <Squarism> Do you know of any library that relies heavily on Generic that might be able to give me inspriation?
2020-10-19 05:01:31 +0200 <koz_> Squarism: generic-lens perhaps?
2020-10-19 05:02:34 +0200 <Squarism> okey. Ill check it out
2020-10-19 05:04:25 +0200machinedgod(~machinedg@24.105.81.50) (Ping timeout: 240 seconds)
2020-10-19 05:06:15 +0200christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-10-19 05:11:08 +0200drbean(~drbean@TC210-63-209-157.static.apol.com.tw) (Quit: ZNC 1.8.2+cygwin1 - https://znc.in)
2020-10-19 05:11:54 +0200christo(~chris@81.96.113.213)
2020-10-19 05:12:45 +0200drbean(~drbean@TC210-63-209-153.static.apol.com.tw)
2020-10-19 05:13:29 +0200olligobber(olligobber@gateway/vpn/privateinternetaccess/olligobber)
2020-10-19 05:15:12 +0200thir(~thir@p200300f27f2f0100d058ed1e9e148e98.dip0.t-ipconnect.de) (Remote host closed the connection)
2020-10-19 05:15:19 +0200polyrain(~polyrain@2001:8003:e501:6901:fd69:4af9:af31:f884) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-19 05:15:41 +0200thir(~thir@pd9e1b01f.dip0.t-ipconnect.de)
2020-10-19 05:20:37 +0200thir(~thir@pd9e1b01f.dip0.t-ipconnect.de) (Ping timeout: 264 seconds)
2020-10-19 05:20:52 +0200ensyde(~ensyde@2600:1702:2e30:1a40:e4b3:9206:daf1:55c1) (Quit: WeeChat 2.9)
2020-10-19 05:21:58 +0200Jarsto1(~Jarsto@185.244.214.216)
2020-10-19 05:23:48 +0200ensyde(~ensyde@2600:1702:2e30:1a40:e4b3:9206:daf1:55c1)
2020-10-19 05:24:37 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-10-19 05:28:06 +0200Jesin(~Jesin@pool-72-66-101-18.washdc.fios.verizon.net)
2020-10-19 05:29:52 +0200falafel(~falafel@71-34-132-121.clsp.qwest.net)
2020-10-19 05:30:03 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2020-10-19 05:30:16 +0200plutoniix(~q@ppp-27-55-70-11.revip3.asianet.co.th) (Ping timeout: 246 seconds)
2020-10-19 05:37:12 +0200codygman(~codygman@2600:380:f900:eb14:1646:9538:6f47:89d5) (Read error: Connection reset by peer)
2020-10-19 05:37:28 +0200Gurkenglas(~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 260 seconds)
2020-10-19 05:37:34 +0200codygman(~codygman@47-184-107-46.dlls.tx.frontiernet.net)
2020-10-19 05:39:48 +0200amir48(3263cbdb@50.99.203.219)
2020-10-19 05:40:38 +0200amir48(3263cbdb@50.99.203.219) (Remote host closed the connection)
2020-10-19 05:41:16 +0200former_ocaml_use(3263cbdb@50.99.203.219)
2020-10-19 05:41:59 +0200 <former_ocaml_use> anyone have trouble compiling using "ghc main.hs" on macos catalina? getting this: Undefined symbols for architecture x86_64: "___darwin_check_fd_set_overflow", referenced from: _awaitEvent in libHSrts.a(Select.o)
2020-10-19 05:43:54 +0200plutoniix(~q@ppp-223-24-94-226.revip6.asianet.co.th)
2020-10-19 05:44:52 +0200abhixec(~abhixec@c-67-169-141-95.hsd1.ca.comcast.net) (Quit: leaving)
2020-10-19 05:45:59 +0200tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2020-10-19 05:46:59 +0200 <dsal> former_ocaml_use: Whatever ghc you've got is probably not right. But that's not a thing people do in general, so something led you down a bad path. Starting with cabal or stack or nix will got you a lot further a lot faster. (I use stack and nix, so I don't know much about cabal, but people like it). In any case, running the compiler directly is uncommon.
2020-10-19 05:48:42 +0200 <former_ocaml_use> same error when using cabal, tried ghc to make it easier to repro for myself
2020-10-19 05:50:13 +0200tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 246 seconds)
2020-10-19 05:50:14 +0200 <dsal> Where do you get the compiler? I don't know The Cabal Way™, but with stack or nix, the platform-appropriate compiler is part of the build specification and it does the right thing for you.
2020-10-19 05:50:33 +0200petersen(~petersen@redhat/juhp)
2020-10-19 05:52:13 +0200proofofme(~proofofme@184-96-74-65.hlrn.qwest.net) (Remote host closed the connection)
2020-10-19 05:53:21 +0200da39a3ee5e6b4b0d(~textual@n11211935170.netvigator.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-19 05:53:47 +0200thir(~thir@p200300f27f2f0100d058ed1e9e148e98.dip0.t-ipconnect.de)
2020-10-19 05:55:28 +0200dyeplexer(~lol@unaffiliated/terpin)
2020-10-19 05:57:20 +0200darjeeli1(~darjeelin@122.245.211.155) (Ping timeout: 256 seconds)
2020-10-19 05:57:45 +0200darjeeli1(~darjeelin@122.245.211.155)
2020-10-19 05:59:12 +0200ddellacosta(~dd@86.106.121.168) (Ping timeout: 256 seconds)
2020-10-19 06:01:38 +0200da39a3ee5e6b4b0d(~textual@n11211935170.netvigator.com)
2020-10-19 06:01:53 +0200Saukk(~Saukk@2001:998:f9:2914:1c59:9bb5:b94c:4) (Remote host closed the connection)
2020-10-19 06:01:55 +0200isovector1(~isovector@172.103.217.169)
2020-10-19 06:02:09 +0200thir(~thir@p200300f27f2f0100d058ed1e9e148e98.dip0.t-ipconnect.de) (Ping timeout: 244 seconds)
2020-10-19 06:04:03 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-10-19 06:04:29 +0200 <former_ocaml_use> hmm I think i got it from haskell-mode
2020-10-19 06:04:45 +0200 <former_ocaml_use> I'll try reinstalling ghc and stuff
2020-10-19 06:07:14 +0200Tario(~Tario@201.192.165.173) (Read error: Connection reset by peer)
2020-10-19 06:07:26 +0200Tario(~Tario@201.192.165.173)
2020-10-19 06:09:43 +0200elliott__(~elliott@pool-108-51-141-12.washdc.fios.verizon.net) (Ping timeout: 260 seconds)
2020-10-19 06:09:44 +0200 <koz_> Basically on Mac, the correct way is ghcup.
2020-10-19 06:09:48 +0200 <koz_> Always and forever.
2020-10-19 06:10:01 +0200 <koz_> This also lets you have multiple GHCs, and manage them individually, as well as update.
2020-10-19 06:10:48 +0200 <dsal> I use both nix and stack on mac. :p
2020-10-19 06:11:09 +0200 <dsal> I've never tried ghcup, though. So many factions we have.
2020-10-19 06:11:18 +0200 <koz_> dsal: I'm trying to get into Nix, but only for three reasons.
2020-10-19 06:11:29 +0200 <koz_> (basically, I want musl-linked fully static 32-bit applications)
2020-10-19 06:11:36 +0200 <koz_> I'm so far not having much luck with that.
2020-10-19 06:11:48 +0200 <koz_> Would you be able to tell me what's up with that dsal?
2020-10-19 06:12:32 +0200 <dsal> nixos itself makes my life much better. I've not really figured out the whole development mentality yet, though. But I do have the ability to build stuff in various places and deploy it in others, so that's nice.
2020-10-19 06:13:26 +0200GyroW(~GyroW@unaffiliated/gyrow) (Quit: Someone ate my pie)
2020-10-19 06:13:33 +0200 <dsal> I don't know anything about musl. (just had to look it up to see what you were talking about). I'd think creating a derivation with just those parts you care about would be more straightforward in nix than anywhere else, but I've not tried. I'm pretty low end on my haskell.
2020-10-19 06:13:36 +0200GyroW(~GyroW@d54C03E98.access.telenet.be)
2020-10-19 06:13:37 +0200GyroW(~GyroW@d54C03E98.access.telenet.be) (Changing host)
2020-10-19 06:13:37 +0200GyroW(~GyroW@unaffiliated/gyrow)
2020-10-19 06:13:47 +0200 <koz_> This is 100% a Nix problem.
2020-10-19 06:14:04 +0200 <koz_> dsal: https://gist.github.com/kozross/73ca7429f23852ba5650a1a67524200a
2020-10-19 06:14:13 +0200wei2912(~wei2912@unaffiliated/wei2912) (Remote host closed the connection)
2020-10-19 06:14:27 +0200 <koz_> Key weirdness: https://gist.github.com/kozross/73ca7429f23852ba5650a1a67524200a#file-error-L159
2020-10-19 06:16:04 +0200plutoniix(~q@ppp-223-24-94-226.revip6.asianet.co.th) (Read error: Connection reset by peer)
2020-10-19 06:16:44 +0200Stanley00(~stanley00@unaffiliated/stanley00) ()
2020-10-19 06:17:13 +0200Stanley00(~stanley00@unaffiliated/stanley00)
2020-10-19 06:17:19 +0200vicfred_(~vicfred@unaffiliated/vicfred)
2020-10-19 06:17:22 +0200patrick1(~tarpk@ool-182dc9b3.dyn.optonline.net)
2020-10-19 06:18:46 +0200renzhi(~renzhi@modemcable070.17-177-173.mc.videotron.ca) (Ping timeout: 258 seconds)
2020-10-19 06:20:01 +0200codygman(~codygman@47-184-107-46.dlls.tx.frontiernet.net) (Read error: Connection reset by peer)
2020-10-19 06:20:26 +0200 <former_ocaml_use> installing with ghcup fixed my problem :O thanks everyone!!
2020-10-19 06:20:27 +0200codygman(~codygman@47-184-107-46.dlls.tx.frontiernet.net)
2020-10-19 06:20:28 +0200vicfred(~vicfred@unaffiliated/vicfred) (Ping timeout: 272 seconds)
2020-10-19 06:20:39 +0200mpiechotka(~mpiechotk@107-203-255-70.lightspeed.sntcca.sbcglobal.net)
2020-10-19 06:20:57 +0200 <koz_> former_ocaml_use: No worries. 'ghcup list' is one thing that you may find helpful. :D
2020-10-19 06:21:38 +0200Jeanne-Kamikaze(~Jeanne-Ka@68.235.43.102) (Ping timeout: 256 seconds)
2020-10-19 06:25:02 +0200isovector1(~isovector@172.103.217.169) (Ping timeout: 256 seconds)
2020-10-19 06:26:33 +0200mpiechotka(~mpiechotk@107-203-255-70.lightspeed.sntcca.sbcglobal.net) (Quit: mpiechotka)
2020-10-19 06:28:59 +0200dftxbs3e(~dftxbs3e@unaffiliated/dftxbs3e) (Remote host closed the connection)
2020-10-19 06:32:38 +0200thir(~thir@p200300f27f2f0100d058ed1e9e148e98.dip0.t-ipconnect.de)
2020-10-19 06:37:54 +0200 <dsal> koz_: My computer's really very slow. I started that a long time ago. Between having an incredibly slow computer and a saturated network connection, it's taking me a while to reproduce your error. I'm very much not an expert, though, so I'll probably just be like "yeah, I got that same error and also don't know what I'm doing."
2020-10-19 06:38:06 +0200 <koz_> OK, don't worry about it then.
2020-10-19 06:38:33 +0200 <dsal> There are folks in #nixos who know things, though. It's a bit hit or miss. I have really obscure questions that people who don't know the answers to helpfully try to answer.
2020-10-19 06:38:39 +0200 <koz_> I found this, which may be somewhat enlightening: https://github.com/srid/neuron/blob/master/static.nix
2020-10-19 06:38:56 +0200Whez(~textual@2a01:e0a:21f:1060:45e3:a6ce:25be:e68)
2020-10-19 06:38:56 +0200Whez(~textual@2a01:e0a:21f:1060:45e3:a6ce:25be:e68) (Client Quit)
2020-10-19 06:39:01 +0200 <koz_> This leans on a fork of nixpkgs, so I might try that and see if it gets me someplace.
2020-10-19 06:39:05 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 258 seconds)
2020-10-19 06:40:05 +0200tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2020-10-19 06:40:27 +0200thir(~thir@p200300f27f2f0100d058ed1e9e148e98.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2020-10-19 06:40:54 +0200Maxdamantus(~Maxdamant@unaffiliated/maxdamantus) (Ping timeout: 265 seconds)
2020-10-19 06:41:04 +0200plutoniix(~q@ppp-27-55-70-11.revip3.asianet.co.th)
2020-10-19 06:42:26 +0200Maxdamantus(~Maxdamant@unaffiliated/maxdamantus)
2020-10-19 06:45:02 +0200day_(~Unknown@unaffiliated/day)
2020-10-19 06:45:10 +0200tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 272 seconds)
2020-10-19 06:45:36 +0200christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-10-19 06:47:15 +0200 <former_ocaml_use> anyone here a haskell-mode user? in ocaml you can check the type by cursoring over it and C-c t is there an equivalent?
2020-10-19 06:47:47 +0200aimee2(~aimee@2605:a601:a671:4a00:443c:12b3:7e6a:e4a9)
2020-10-19 06:47:55 +0200 <aimee2> >
2020-10-19 06:48:08 +0200aimee2damien
2020-10-19 06:48:20 +0200day(~Unknown@unaffiliated/day) (Ping timeout: 256 seconds)
2020-10-19 06:48:21 +0200day_day
2020-10-19 06:49:50 +0200Tario(~Tario@201.192.165.173) (Read error: Connection reset by peer)
2020-10-19 06:50:00 +0200Tario(~Tario@201.192.165.173)
2020-10-19 06:50:47 +0200justsomeguy(~justsomeg@unaffiliated/--/x-3805311)
2020-10-19 06:52:09 +0200christo(~chris@81.96.113.213)
2020-10-19 06:53:07 +0200christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-10-19 06:54:35 +0200da39a3ee5e6b4b0d(~textual@n11211935170.netvigator.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-19 06:55:55 +0200takuan(~takuan@178-116-218-225.access.telenet.be)
2020-10-19 06:56:08 +0200christo(~chris@81.96.113.213)
2020-10-19 06:56:53 +0200mmkarakaya(b0584711@gateway/web/cgi-irc/kiwiirc.com/ip.176.88.71.17)
2020-10-19 06:57:47 +0200former_ocaml_use(3263cbdb@50.99.203.219) (Remote host closed the connection)
2020-10-19 06:58:06 +0200former_ocaml_use(3263cbdb@50.99.203.219)
2020-10-19 06:58:18 +0200da39a3ee5e6b4b0d(~textual@n11211935170.netvigator.com)
2020-10-19 06:59:18 +0200 <former_ocaml_use> uh this might be a dumb question, but does anyone know where cabal puts the executable? I see a main.o file in the project root, but nothing else
2020-10-19 06:59:41 +0200 <koz_> former_ocaml_use: You used cabal new-build I assume? Or cabal build on recent cabal?
2020-10-19 07:01:09 +0200bartemius(~bartemius@109-252-19-142.nat.spd-mgts.ru)
2020-10-19 07:01:24 +0200 <former_ocaml_use> cabal new-build
2020-10-19 07:01:30 +0200 <bartemius> Hi, everyone!)
2020-10-19 07:01:49 +0200 <former_ocaml_use> hi!
2020-10-19 07:01:59 +0200 <koz_> former_ocaml_use: It'll be someplace in dist-newstyle.
2020-10-19 07:02:01 +0200Tario(~Tario@201.192.165.173) (Ping timeout: 264 seconds)
2020-10-19 07:02:10 +0200 <koz_> Named the same way as the name given in the executable stanza in your cabal file.
2020-10-19 07:02:19 +0200 <koz_> bartemius: Yo.
2020-10-19 07:02:25 +0200damien(~aimee@2605:a601:a671:4a00:443c:12b3:7e6a:e4a9) ("WeeChat 2.8")
2020-10-19 07:03:14 +0200mirrorbird(~psutcliff@2a00:801:42b:7891:16b1:e53f:55b2:15e1) (Quit: Leaving)
2020-10-19 07:03:32 +0200da39a3ee5e6b4b0d(~textual@n11211935170.netvigator.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-19 07:06:14 +0200isovector1(~isovector@172.103.216.166)
2020-10-19 07:07:00 +0200bartemiusbartemius2
2020-10-19 07:07:53 +0200cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
2020-10-19 07:08:05 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-10-19 07:08:43 +0200isovector1(~isovector@172.103.216.166) (Client Quit)
2020-10-19 07:09:07 +0200emmanuel_erc(~user@cpe-74-71-187-227.nyc.res.rr.com)
2020-10-19 07:09:38 +0200bartemius2bartemius
2020-10-19 07:11:54 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2020-10-19 07:13:16 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
2020-10-19 07:13:44 +0200bartemius(~bartemius@109-252-19-142.nat.spd-mgts.ru) ()
2020-10-19 07:14:02 +0200bartemius(~bartemius@109.252.19.142)
2020-10-19 07:16:36 +0200xerox_(~xerox@unaffiliated/xerox) (Ping timeout: 256 seconds)
2020-10-19 07:21:20 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-19 07:27:28 +0200kupi(uid212005@gateway/web/irccloud.com/x-gbjfbdizrnfenkgr) (Quit: Connection closed for inactivity)
2020-10-19 07:28:27 +0200klixto(~klixto@130.220.8.132) (Quit: WeeChat 2.9)
2020-10-19 07:30:37 +0200 <sm[m]> cabal exec -- which EXE
2020-10-19 07:30:59 +0200proofofme(~proofofme@184-96-74-65.hlrn.qwest.net)
2020-10-19 07:34:15 +0200tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2020-10-19 07:34:36 +0200polyrain(~polyrain@2001:8003:e501:6901:3dad:26f:cafa:b715)
2020-10-19 07:36:06 +0200ensyde_(~ensyde@2600:1702:2e30:1a40:ec42:dd4:da87:efd)
2020-10-19 07:37:22 +0200nschoe(~quassel@2a01:e0a:3c4:c7b0:6d74:2078:bb8:b17d) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
2020-10-19 07:38:53 +0200ensyde(~ensyde@2600:1702:2e30:1a40:e4b3:9206:daf1:55c1) (Ping timeout: 272 seconds)
2020-10-19 07:38:54 +0200tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 265 seconds)
2020-10-19 07:40:29 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-10-19 07:40:42 +0200nados(~dan@69-165-210-185.cable.teksavvy.com) (Quit: Leaving)
2020-10-19 07:41:20 +0200klixto(~klixto@130.220.8.132)
2020-10-19 07:42:14 +0200 <koz_> sm[m]: TIL
2020-10-19 07:42:28 +0200jsynacek(~jsynacek@ip-185-149-130-112.kmenet.cz)
2020-10-19 07:45:39 +0200 <gnumonik> So just out of curiosity: I'm pretty sure you can't write a function in general :: Monad m => (a -> m b) -> m (a -> b). But could you write one for maybe, such that :: (a -> Maybe b) -> Maybe (a -> b)?
2020-10-19 07:46:00 +0200xff0x(~fox@2001:1a81:522e:d900:5958:18c9:b577:aea) (Ping timeout: 244 seconds)
2020-10-19 07:46:10 +0200 <koz_> gnumonik: Try writing one.
2020-10-19 07:46:22 +0200 <koz_> (namely, try to write a function of that second type)
2020-10-19 07:46:38 +0200darjeeli1(~darjeelin@122.245.211.155) (Ping timeout: 256 seconds)
2020-10-19 07:47:03 +0200xff0x(~fox@2001:1a81:522e:d900:3ca3:6f29:ec50:cd22)
2020-10-19 07:47:05 +0200darjeeli1(~darjeelin@122.245.211.155)
2020-10-19 07:47:52 +0200xerox_(~xerox@unaffiliated/xerox)
2020-10-19 07:53:01 +0200 <proofofme> I understand why this works: `maybe (print "Error") (print) =<< Streams.read is` How can I get something like this to work? `maybe (print "Error") (print "Hi") =<< Streams.read is`
2020-10-19 07:53:21 +0200 <gnumonik> I did, but all the fact that I can't figure it out proves is that I can't figure it out. I managed to do it for... Identity. I guess I'll keep trying.
2020-10-19 07:54:05 +0200ericsagnes(~ericsagne@2405:6580:0:5100:a53c:4941:44e2:1e75) (Ping timeout: 272 seconds)
2020-10-19 07:54:25 +0200alp(~alp@2a01:e0a:58b:4920:3863:dba:5e42:7950)
2020-10-19 07:58:15 +0200 <Maxdamantus> gnumonik: it is possible, but it's just a case of taking some type with quantified variables and replacing one of the variables with a concrete type.
2020-10-19 07:59:46 +0200 <Maxdamantus> gnumonik: eg, in `(a -> b) -> (b -> c) -> (a -> c)`, replacing `c` with `Int` to get `(a -> b) -> (b -> Int) -> (a -> Int)`
2020-10-19 07:59:53 +0200 <Maxdamantus> f x y = 4
2020-10-19 07:59:59 +0200 <Maxdamantus> er
2020-10-19 08:00:02 +0200Jarsto1(~Jarsto@185.244.214.216) ()
2020-10-19 08:00:03 +0200 <Maxdamantus> f x y z = 4
2020-10-19 08:00:51 +0200bairyn(~bairyn@unaffiliated/bob0)
2020-10-19 08:00:55 +0200 <Maxdamantus> You shouldn't actually be able to do what you wrote for `m = Identity`
2020-10-19 08:01:09 +0200 <Maxdamantus> but `m = Maybe` is possible.
2020-10-19 08:01:48 +0200 <Maxdamantus> Wait, nvm, `m = Identity` is also possible.
2020-10-19 08:01:56 +0200 <gnumonik> f = Identity $ \x -> runIdentity $ f x
2020-10-19 08:02:36 +0200 <gnumonik> er screwd up, should be "func f = Identity $ \x -> runIdentity $ f x"
2020-10-19 08:03:26 +0200 <Maxdamantus> The `m = Maybe` solution is a lot simpler.
2020-10-19 08:03:43 +0200former_ocaml_use(3263cbdb@50.99.203.219) (Remote host closed the connection)
2020-10-19 08:05:38 +0200vk3wtf(~doc@14-202-30-62.static.tpgi.com.au) (Quit: WeeChat 2.7.1)
2020-10-19 08:06:06 +0200vk3wtf(~doc@14-202-30-62.static.tpgi.com.au)
2020-10-19 08:06:17 +0200ericsagnes(~ericsagne@2405:6580:0:5100:55fe:9659:6858:494f)
2020-10-19 08:08:39 +0200alp(~alp@2a01:e0a:58b:4920:3863:dba:5e42:7950) (Ping timeout: 272 seconds)
2020-10-19 08:10:48 +0200shatriff(~vitaliish@176.52.219.10)
2020-10-19 08:13:05 +0200 <edwardk> gnumonik: you can write one that just returns Nothing, nbut it isn't canonical.
2020-10-19 08:13:48 +0200thir(~thir@p200300f27f2f0100d058ed1e9e148e98.dip0.t-ipconnect.de)
2020-10-19 08:14:28 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
2020-10-19 08:16:01 +0200chele(~chele@ip5b416ea2.dynamic.kabel-deutschland.de)
2020-10-19 08:16:30 +0200Ariakenom(~Ariakenom@h-82-196-111-189.NA.cust.bahnhof.se)
2020-10-19 08:18:55 +0200polyrain(~polyrain@2001:8003:e501:6901:3dad:26f:cafa:b715) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-19 08:21:33 +0200elsimio(~elsimio@185.204.1.185)
2020-10-19 08:22:24 +0200ephemera_(~E@122.34.1.187) (Ping timeout: 265 seconds)
2020-10-19 08:24:19 +0200ephemera_(~E@122.34.1.187)
2020-10-19 08:28:17 +0200tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2020-10-19 08:30:22 +0200taurux(~taurux@net-130-25-87-42.cust.vodafonedsl.it) (Read error: Connection reset by peer)
2020-10-19 08:31:09 +0200taurux(~taurux@net-93-144-108-52.cust.dsl.teletu.it)
2020-10-19 08:33:04 +0200tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 260 seconds)
2020-10-19 08:33:04 +0200cfricke(~cfricke@unaffiliated/cfricke)
2020-10-19 08:34:48 +0200 <koz_> Does anyone know how to inform Nix about where to find -lgmp and -lffi for a statically-linked Haskell executable?
2020-10-19 08:34:58 +0200 <koz_> I dunno what exact phrase(s) I need in my default.nix for this.
2020-10-19 08:38:09 +0200jonathanx(~jonathan@dyn-8-sc.cdg.chalmers.se)
2020-10-19 08:39:22 +0200 <Ariakenom> koz_, dont u just include them as dependencies?
2020-10-19 08:39:39 +0200jonathanx(~jonathan@dyn-8-sc.cdg.chalmers.se) (Read error: Connection reset by peer)
2020-10-19 08:39:59 +0200 <koz_> Ariakenom: If I pastebin you my default.nix, can you show me how?
2020-10-19 08:40:19 +0200jonathanx(~jonathan@dyn-8-sc.cdg.chalmers.se)
2020-10-19 08:40:32 +0200 <Ariakenom> lets try
2020-10-19 08:41:01 +0200ephemera_(~E@122.34.1.187) (Ping timeout: 264 seconds)
2020-10-19 08:41:04 +0200 <koz_> https://gist.github.com/kozross/6f847d3e70e9641551c786b9d8ff18c9
2020-10-19 08:42:40 +0200ephemera_(~E@122.34.1.187)
2020-10-19 08:47:32 +0200 <Ariakenom> add a "buildInputs = [libffi gmp]" in the mkDerivation dict
2020-10-19 08:48:11 +0200 <koz_> Ariakenom: error: undefined variable 'libffi' at /home/koz/nix-practice/default.nix:17:23
2020-10-19 08:48:14 +0200coot(~coot@37.30.52.68.nat.umts.dynamic.t-mobile.pl)
2020-10-19 08:48:24 +0200falafel(~falafel@71-34-132-121.clsp.qwest.net) (Ping timeout: 260 seconds)
2020-10-19 08:48:57 +0200 <Ariakenom> nixpkgs.libffi nixpkgs.gmp
2020-10-19 08:49:16 +0200 <Ariakenom> do you have 3 different nixpkgs in that .nix? :)
2020-10-19 08:49:34 +0200coot(~coot@37.30.52.68.nat.umts.dynamic.t-mobile.pl) (Client Quit)
2020-10-19 08:49:49 +0200 <koz_> error: anonymous function at /nix/store/77bfgydlx63813nk3d0ac0w2h8rn6da1-source/pkgs/development/haskell-modules/generic-builder.nix:13:1 called with unexpected argument 'buildInputs', at /nix/store/77bfgydlx63813nk3d0ac0w2h8rn6da1-source/lib/customisation.nix:69:16
2020-10-19 08:50:03 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-10-19 08:53:07 +0200 <koz_> Ariakenom: This doesn't vom from nix, but still can't find the libraries: https://gist.github.com/kozross/6f847d3e70e9641551c786b9d8ff18c9
2020-10-19 08:53:25 +0200xff0x(~fox@2001:1a81:522e:d900:3ca3:6f29:ec50:cd22) (Ping timeout: 240 seconds)
2020-10-19 08:54:15 +0200xff0x(~fox@2001:1a81:522e:d900:3da7:5719:198:c125)
2020-10-19 08:57:11 +0200 <Ariakenom> thats too bad. i dont think i can help more
2020-10-19 08:57:12 +0200 <Ariakenom> "nix shell" is useful for testing.
2020-10-19 08:57:16 +0200tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2020-10-19 08:57:50 +0200avoandmayo(~textual@122-58-158-238-adsl.sparkbb.co.nz) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-19 08:58:29 +0200howdoi(uid224@gateway/web/irccloud.com/x-mvchipvwhunlklgp) (Quit: Connection closed for inactivity)
2020-10-19 08:58:31 +0200 <koz_> I'm basing my work on this: https://github.com/srid/neuron/blob/master/static.nix
2020-10-19 08:58:46 +0200 <koz_> I think those --extra-lib-dirs= are needed, but I have no clue how they're being passed.
2020-10-19 09:00:06 +0200bairyn(~bairyn@unaffiliated/bob0) (Remote host closed the connection)
2020-10-19 09:03:07 +0200 <Uniaika> topos: has the CLC received a copy of my email, btw?
2020-10-19 09:04:56 +0200mananamenos(~mananamen@84.122.202.215.dyn.user.ono.com)
2020-10-19 09:05:18 +0200gioyik(~gioyik@190.67.155.46) (Quit: WeeChat 2.9)
2020-10-19 09:05:27 +0200 <remexre> is there a reasonably-standard monad for concurrency that allows labelled + manipulable coroutines, with a "parallel" operator (of the same type as sequence)
2020-10-19 09:06:12 +0200Psycomic(~Phi@2a01:e0a:18:d0a0:a923:9b97:77a2:ce49)
2020-10-19 09:07:44 +0200 <remexre> I'm building... I guess it's kind of like a structural editor for an AST while it's being eval'd, so filling in a hole might cause reductions to be performed
2020-10-19 09:08:01 +0200 <remexre> but I'd like to be able to write the actual eval function in reasonably normal-looking haskell
2020-10-19 09:10:10 +0200ephemera_(~E@122.34.1.187) (Ping timeout: 256 seconds)
2020-10-19 09:10:12 +0200hyiltiz(~quassel@unaffiliated/hyiltiz) (Ping timeout: 272 seconds)
2020-10-19 09:11:35 +0200ephemera_(~E@122.34.1.187)
2020-10-19 09:14:53 +0200danvet_(~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa)
2020-10-19 09:14:58 +0200thir(~thir@p200300f27f2f0100d058ed1e9e148e98.dip0.t-ipconnect.de) (Remote host closed the connection)
2020-10-19 09:15:38 +0200justanotheruser(~justanoth@unaffiliated/justanotheruser) (Ping timeout: 260 seconds)
2020-10-19 09:16:05 +0200DTZUZU(~DTZUZU@S0106bcd165662a4d.vs.shawcable.net) (Ping timeout: 240 seconds)
2020-10-19 09:16:15 +0200proofofme(~proofofme@184-96-74-65.hlrn.qwest.net) (Remote host closed the connection)
2020-10-19 09:16:25 +0200ephemera_(~E@122.34.1.187) (Ping timeout: 240 seconds)
2020-10-19 09:16:30 +0200thir(~thir@p200300f27f2f0100d058ed1e9e148e98.dip0.t-ipconnect.de)
2020-10-19 09:17:01 +0200Sgeo__(~Sgeo@ool-18b982ad.dyn.optonline.net) (Read error: Connection reset by peer)
2020-10-19 09:17:37 +0200danvet(~danvet@2a02:168:57f4:0:5f80:650d:c6e6:3453)
2020-10-19 09:17:56 +0200ephemera_(~E@122.34.1.187)
2020-10-19 09:18:28 +0200DTZUZU(~DTZUZU@S0106bcd165662a4d.vs.shawcable.net)
2020-10-19 09:18:30 +0200jespada(~jespada@90.254.245.15)
2020-10-19 09:21:04 +0200thir(~thir@p200300f27f2f0100d058ed1e9e148e98.dip0.t-ipconnect.de) (Ping timeout: 244 seconds)
2020-10-19 09:22:40 +0200coot(~coot@37.30.52.68.nat.umts.dynamic.t-mobile.pl)
2020-10-19 09:23:24 +0200ephemera_(~E@122.34.1.187) (Quit: No Ping reply in 180 seconds.)
2020-10-19 09:23:46 +0200ephemera_(~E@122.34.1.187)
2020-10-19 09:24:25 +0200 <dminuoso> gnumonik: regarding your initial question, consider this counter example. Imagine this function `general` existed, and you applied it to `putStrLn`, what would that even do?
2020-10-19 09:25:14 +0200 <dminuoso> Remember it can't apply anything to function passed to it to anything, because it's fully polymorphic in `a`
2020-10-19 09:25:28 +0200 <dminuoso> *It cant apply the function passed to it to anything
2020-10-19 09:26:56 +0200nbloomf(~nbloomf@2600:1700:ad14:3020:e14d:f5f1:4984:f268) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-19 09:27:15 +0200 <dminuoso> If it cant apply to it, how can it come up with an arbitrary monadic value? Recall, since it's also polymorphic over *any* Monad m, it can't craft concrete effect values other than through pure.
2020-10-19 09:27:19 +0200 <dminuoso> (Or `return` rather)
2020-10-19 09:27:43 +0200 <dminuoso> But for pure, it'd need some value of `a -> b` for all choices of a and b, again not possible
2020-10-19 09:28:01 +0200rtb(~quassel@ip5f5bce51.dynamic.kabel-deutschland.de)
2020-10-19 09:28:02 +0200 <dminuoso> The most defined implementation possible would be `general _ = pure undefined`
2020-10-19 09:28:49 +0200berberman(~berberman@unaffiliated/berberman) (Ping timeout: 244 seconds)
2020-10-19 09:29:09 +0200berberman(~berberman@unaffiliated/berberman)
2020-10-19 09:31:02 +0200mac10688(~mac10688@c-76-115-116-76.hsd1.or.comcast.net) (Ping timeout: 265 seconds)
2020-10-19 09:31:35 +0200jchia(~jchia@58.32.66.236) (Ping timeout: 258 seconds)
2020-10-19 09:31:47 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2020-10-19 09:32:27 +0200 <merijn> dminuoso: pffft
2020-10-19 09:32:34 +0200 <merijn> dminuoso: "pure unsafeCoerce" :p
2020-10-19 09:35:43 +0200 <dminuoso> Well.
2020-10-19 09:35:51 +0200pingniko
2020-10-19 09:35:56 +0200 <dminuoso> At that point, why not straight unsafeCoerce?
2020-10-19 09:37:29 +0200cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Quit: Goodbye)
2020-10-19 09:37:55 +0200rtb(~quassel@ip5f5bce51.dynamic.kabel-deutschland.de) (Remote host closed the connection)
2020-10-19 09:38:52 +0200jchia(~jchia@58.32.66.236)
2020-10-19 09:39:28 +0200ensyde_(~ensyde@2600:1702:2e30:1a40:ec42:dd4:da87:efd) (Quit: WeeChat 2.9)
2020-10-19 09:39:29 +0200cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
2020-10-19 09:39:42 +0200lep-deleteGuest88073
2020-10-19 09:41:11 +0200alp(~alp@2a01:e0a:58b:4920:8c2d:a3c8:958f:8d3d)
2020-10-19 09:41:45 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-19 09:42:33 +0200AceNovo(~chris@184.101.162.142)
2020-10-19 09:43:23 +0200Unhammer(~Unhammer@gateway/tor-sasl/unhammer) (Ping timeout: 240 seconds)
2020-10-19 09:43:31 +0200 <Ariakenom> koz_, why that one. and not ex https://github.com/nh2/static-haskell-nix
2020-10-19 09:44:09 +0200 <koz_> Ariakenom: Because I have zero idea how that thing works or how to use it. I wanna get things from first principles ideally, and that's just too magical and has too much going on as far as I can tell.
2020-10-19 09:44:10 +0200cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 256 seconds)
2020-10-19 09:44:12 +0200 <dminuoso> Ariakenom: the overlay is quite broken and unstable for starters
2020-10-19 09:44:37 +0200 <koz_> However, your advice helped - I'm closer than I was!
2020-10-19 09:44:41 +0200 <dminuoso> Every few commits on nixpkgs master the overlay breaks
2020-10-19 09:45:01 +0200 <dminuoso> I'd rather use plain nix + dockerTools if I wanted a portable deployment
2020-10-19 09:45:02 +0200 <Ariakenom> ouch
2020-10-19 09:45:07 +0200 <dminuoso> From experience that works much more reliable
2020-10-19 09:45:13 +0200jchia(~jchia@58.32.66.236) (Ping timeout: 264 seconds)
2020-10-19 09:45:45 +0200 <Ariakenom> koz_, in the default.nix in that repo, the option with those library flags is configureFlags
2020-10-19 09:46:12 +0200 <dminuoso> koz_: I can give you a quick guide how to use that overlay
2020-10-19 09:46:26 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds)
2020-10-19 09:46:30 +0200 <dminuoso> (You really want that, as there's many subtleties when building static things in nix)
2020-10-19 09:46:46 +0200jchia(~jchia@45.32.62.73)
2020-10-19 09:46:47 +0200 <koz_> dminuoso: You mean static-haskell-nix?
2020-10-19 09:46:51 +0200 <dminuoso> yes
2020-10-19 09:47:09 +0200 <koz_> dminuoso: That would be good.
2020-10-19 09:48:10 +0200jchia(~jchia@45.32.62.73) (Remote host closed the connection)
2020-10-19 09:48:25 +0200 <dminuoso> koz_: https://gist.github.com/dminuoso/15222b2cb2a8b791525f902fe5beee4e
2020-10-19 09:48:37 +0200Guest88073lep-delete
2020-10-19 09:48:38 +0200jchia(~jchia@45.32.62.73)
2020-10-19 09:48:46 +0200 <dminuoso> (This is in the middle of my emacs buffer, so there might be some very basic but obvious issues)
2020-10-19 09:49:17 +0200 <dminuoso> The json file contains just `{"url": "git://github.com/nh2/static-haskell-nix","ref": "master","rev": "dbce18f4808d27f6a51ce31585078b49c86bd2b5"}`
2020-10-19 09:49:26 +0200 <dminuoso> So you can equivalently use fetchTarball or fetchGitHub
2020-10-19 09:49:38 +0200 <dminuoso> There's really not much to it.
2020-10-19 09:50:35 +0200 <koz_> OK. I'm very new to Nix, so I'm not too sure what's going on here. Specifically, what of this is general across any use of this overlay, as opposed to your specific thing you're working on?
2020-10-19 09:50:46 +0200 <koz_> Like, what's a hello-world default.nix for it?
2020-10-19 09:51:24 +0200GyroW(~GyroW@unaffiliated/gyrow) (Ping timeout: 260 seconds)
2020-10-19 09:51:30 +0200 <dminuoso> koz_: It sets up GHC and libraries up appropriately to support static linking
2020-10-19 09:51:32 +0200GyroW_(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be)
2020-10-19 09:51:32 +0200GyroW_(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) (Changing host)
2020-10-19 09:51:32 +0200GyroW_(~GyroW@unaffiliated/gyrow)
2020-10-19 09:51:35 +0200irc_user(uid423822@gateway/web/irccloud.com/x-wddvdkxotqakcvrc) (Quit: Connection closed for inactivity)
2020-10-19 09:51:42 +0200 <dminuoso> At its core, it boils down to two ideas being married here:
2020-10-19 09:52:02 +0200 <dminuoso> First:
2020-10-19 09:52:09 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-19 09:52:27 +0200 <dminuoso> To build a haskell package, I use callCabal2nix to dynamically generate a derivation that is always up-to-date. This is better than calling cabal2nix manually
2020-10-19 09:52:38 +0200thir(~thir@p200300f27f2f0100d058ed1e9e148e98.dip0.t-ipconnect.de)
2020-10-19 09:52:54 +0200 <koz_> OK, that makes sense.
2020-10-19 09:52:55 +0200 <dminuoso> Then, the derivation gets mixed into haskellPackages using an overlay
2020-10-19 09:53:17 +0200christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-10-19 09:53:20 +0200 <dminuoso> At first that might seem silly, but it ties better into several tools, and it makes it easier if you have other packages that depend on it
2020-10-19 09:53:33 +0200plutoniix(~q@ppp-27-55-70-11.revip3.asianet.co.th) (Read error: Connection reset by peer)
2020-10-19 09:53:34 +0200jchia(~jchia@45.32.62.73) (Ping timeout: 260 seconds)
2020-10-19 09:53:41 +0200 <dminuoso> So you pretend that your derivation sits inside the regular nixpkgs haskellPackages attribute set
2020-10-19 09:54:24 +0200 <dminuoso> Im doing that overlay a bit more elaborate, since I want this to work with any compiler. If you're fine with just the canonical GHC compiler, the overlay is much simpler there.
2020-10-19 09:54:33 +0200mac10688(~mac10688@c-76-115-116-76.hsd1.or.comcast.net)
2020-10-19 09:54:34 +0200borne(~fritjof@200116b864f0110043d332954cf9072f.dip.versatel-1u1.de)
2020-10-19 09:54:45 +0200 <dminuoso> https://gist.github.com/dminuoso/15222b2cb2a8b791525f902fe5beee4e#file-default-nix-L11
2020-10-19 09:55:05 +0200 <dminuoso> This is where I build up the nixpkgs with my own overlay that mixes freyja in
2020-10-19 09:55:20 +0200 <dminuoso> Specifically, I overlay staticPkgs
2020-10-19 09:55:27 +0200 <koz_> OK, so let me see if I understand this correctly.
2020-10-19 09:55:44 +0200 <koz_> Lines 1-9 I need to get the overlay no matter what I'm building.
2020-10-19 09:56:25 +0200 <koz_> Lines 12-26 is a list of a) things I wanna build and b) dependencies.
2020-10-19 09:56:39 +0200 <dminuoso> not dependencies
2020-10-19 09:56:42 +0200 <dminuoso> I just do overrides there
2020-10-19 09:56:43 +0200thir(~thir@p200300f27f2f0100d058ed1e9e148e98.dip0.t-ipconnect.de) (Ping timeout: 244 seconds)
2020-10-19 09:56:54 +0200 <dminuoso> Because some dependencies are sometimes not buildable out the box for some reasons
2020-10-19 09:56:57 +0200 <koz_> Oh, I see.
2020-10-19 09:57:04 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds)
2020-10-19 09:57:07 +0200 <koz_> You have dontChecks and things.
2020-10-19 09:57:09 +0200 <dminuoso> right
2020-10-19 09:57:17 +0200 <dminuoso> *and* that's where I mix in my own derivation
2020-10-19 09:57:21 +0200 <koz_> And callCabal2Nix.
2020-10-19 09:57:24 +0200Unhammer(~Unhammer@gateway/tor-sasl/unhammer)
2020-10-19 09:57:37 +0200 <dminuoso> Indeed, that's what generates my derivatoin
2020-10-19 09:57:51 +0200 <dminuoso> You can still override the cabal or the derivation using standard nix tools if need be
2020-10-19 09:58:02 +0200 <koz_> Now 11, and 28-34, I don't get.
2020-10-19 09:58:03 +0200 <dminuoso> (It really beats callCabal2nix and manually fiddling around)
2020-10-19 09:58:11 +0200 <dminuoso> extendedPkgs = staticPkgs.extend pkgOverlay;
2020-10-19 09:58:13 +0200 <dminuoso> This?
2020-10-19 09:58:20 +0200 <koz_> That.
2020-10-19 09:58:22 +0200GyroW_(~GyroW@unaffiliated/gyrow) (Quit: Someone ate my pie)
2020-10-19 09:58:23 +0200jchia(~jchia@45.32.62.73)
2020-10-19 09:58:35 +0200ephemera_(~E@122.34.1.187) (Ping timeout: 265 seconds)
2020-10-19 09:58:38 +0200GyroW(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be)
2020-10-19 09:58:38 +0200GyroW(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) (Changing host)
2020-10-19 09:58:38 +0200GyroW(~GyroW@unaffiliated/gyrow)
2020-10-19 09:58:56 +0200 <dminuoso> koz_: So look at this first https://gist.github.com/dminuoso/15222b2cb2a8b791525f902fe5beee4e#file-default-nix-L27-L33
2020-10-19 09:59:02 +0200 <dminuoso> The main thing to understand, Im doing something more elaborate
2020-10-19 09:59:07 +0200 <dminuoso> Than strictly needs be
2020-10-19 09:59:29 +0200 <koz_> Ah, right that.
2020-10-19 09:59:32 +0200 <dminuoso> Normally you could just say `haskellPackages.overrides = ...`
2020-10-19 09:59:33 +0200 <koz_> You just explained.
2020-10-19 09:59:37 +0200 <koz_> So technically optional?
2020-10-19 09:59:51 +0200ephemera_(~E@122.34.1.187)
2020-10-19 09:59:58 +0200 <dminuoso> Well that's just the version of haskellPackages.overrides that works for a particular GHC version
2020-10-19 10:00:12 +0200 <dminuoso> You can just straight up copy it, it just does a nested attribute set merge
2020-10-19 10:00:18 +0200avoandmayo(~textual@122-58-158-238-adsl.sparkbb.co.nz)
2020-10-19 10:00:21 +0200 <dminuoso> ${compiler} = super.haskell.packages.${compiler}.override (makeHsOverrides super.haskell.lib);
2020-10-19 10:00:22 +0200 <koz_> Ah, because you want it to work on any compiler, right?
2020-10-19 10:00:31 +0200 <dminuoso> Right, or rather a particular compiler
2020-10-19 10:00:37 +0200 <dminuoso> As opposed to whatever haskellPackages uses
2020-10-19 10:00:49 +0200mac10688(~mac10688@c-76-115-116-76.hsd1.or.comcast.net) (Ping timeout: 246 seconds)
2020-10-19 10:01:11 +0200 <dminuoso> extendedPkgs = staticPkgs.extend pkgOverlay;
2020-10-19 10:01:28 +0200 <dminuoso> Then is the entrypoint that uses the overlay to build up a new nixpkgs attrset with my overlay applied
2020-10-19 10:01:40 +0200 <dminuoso> so inside extendedPkgs you can find:
2020-10-19 10:01:54 +0200 <dminuoso> extendedPkgs.haskell.packages.${compiler}.freyja
2020-10-19 10:01:57 +0200 <dminuoso> extendedPkgs.haskell.packages.${compiler}.freyja-api
2020-10-19 10:02:06 +0200 <dminuoso> https://gist.github.com/dminuoso/15222b2cb2a8b791525f902fe5beee4e#file-default-nix-L35-L39
2020-10-19 10:02:10 +0200 <dminuoso> This is where I reference that then
2020-10-19 10:02:20 +0200 <dminuoso> Then from the outside, you can just say `nix-build -A exe`
2020-10-19 10:02:25 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-19 10:02:39 +0200AceNovo(~chris@184.101.162.142) (Quit: Konversation terminated!)
2020-10-19 10:02:51 +0200 <koz_> OK, that _mostly_ makes sense.
2020-10-19 10:02:59 +0200 <koz_> I'll give it a try tomorrow and see if I can get it building.
2020-10-19 10:03:03 +0200AceNovo(~chris@184.101.162.142)
2020-10-19 10:03:08 +0200 <koz_> (well, modulo what I need, obviously)
2020-10-19 10:03:27 +0200da39a3ee5e6b4b0d(~textual@n11211935170.netvigator.com)
2020-10-19 10:03:33 +0200da39a3ee5e6b4b0d(~textual@n11211935170.netvigator.com) (Client Quit)
2020-10-19 10:03:35 +0200 <dminuoso> koz_: If you get rid of all these dontCheck and overrideCabal things inside makeHsOverrides, then it should be much much more readable and clear :)
2020-10-19 10:04:35 +0200jchia(~jchia@45.32.62.73) (Remote host closed the connection)
2020-10-19 10:04:37 +0200Kaiepi(~Kaiepi@nwcsnbsc03w-47-55-225-82.dhcp-dynamic.fibreop.nb.bellaliant.net) (Remote host closed the connection)
2020-10-19 10:04:47 +0200 <koz_> OK, that makes worlds more sense. I'll give it a go, thanks.
2020-10-19 10:05:07 +0200jchia(~jchia@45.32.62.73)
2020-10-19 10:06:07 +0200AceNovo(~chris@184.101.162.142) (Client Quit)
2020-10-19 10:06:33 +0200 <dminuoso> Just know that the static-haskell-nix overlay is relatively unstable. So if you rely on fast moving targets in nixpkgs, building inside alpine might be much preferrable.
2020-10-19 10:06:34 +0200AceNovo(~chris@184.101.162.142)
2020-10-19 10:06:44 +0200Kaiepi(~Kaiepi@nwcsnbsc03w-47-55-225-82.dhcp-dynamic.fibreop.nb.bellaliant.net)
2020-10-19 10:06:51 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 258 seconds)
2020-10-19 10:07:01 +0200Rudd0^(~Rudd0@185.189.115.98) (Remote host closed the connection)
2020-10-19 10:07:43 +0200Kaiepi(~Kaiepi@nwcsnbsc03w-47-55-225-82.dhcp-dynamic.fibreop.nb.bellaliant.net) (Remote host closed the connection)
2020-10-19 10:08:14 +0200Kaiepi(~Kaiepi@nwcsnbsc03w-47-55-225-82.dhcp-dynamic.fibreop.nb.bellaliant.net)
2020-10-19 10:08:33 +0200 <koz_> dminuoso: Using like, Docker or something?
2020-10-19 10:08:38 +0200 <dminuoso> Yeah
2020-10-19 10:09:06 +0200 <koz_> Noted, thanks!
2020-10-19 10:09:22 +0200 <dminuoso> koz_: Btw, I think there's some bug in there. I was in the middle of refactoring it and stopped because I had some issues with a dependencies.
2020-10-19 10:10:40 +0200jchia(~jchia@45.32.62.73) (Remote host closed the connection)
2020-10-19 10:11:32 +0200jchia(~jchia@58.32.66.236)
2020-10-19 10:11:45 +0200ephemera_(~E@122.34.1.187) (Remote host closed the connection)
2020-10-19 10:12:42 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-19 10:12:59 +0200ephemera_(~E@122.34.1.187)
2020-10-19 10:12:59 +0200jedws(~jedws@121.209.161.98) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-19 10:13:31 +0200kenran(~maier@b2b-37-24-119-190.unitymedia.biz)
2020-10-19 10:14:21 +0200kritzefitz(~kritzefit@p200300ecdf05be00f1ae985ba6d99bb3.dip0.t-ipconnect.de)
2020-10-19 10:14:57 +0200Kaiepi(~Kaiepi@nwcsnbsc03w-47-55-225-82.dhcp-dynamic.fibreop.nb.bellaliant.net) (Read error: No route to host)
2020-10-19 10:15:32 +0200plutoniix(~q@node-uhv.pool-125-24.dynamic.totinternet.net)
2020-10-19 10:16:28 +0200Kaiepi(~Kaiepi@nwcsnbsc03w-47-55-225-82.dhcp-dynamic.fibreop.nb.bellaliant.net)
2020-10-19 10:17:13 +0200thc202(~thc202@unaffiliated/thc202)
2020-10-19 10:17:26 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds)
2020-10-19 10:18:48 +0200plutoniix(~q@node-uhv.pool-125-24.dynamic.totinternet.net) (Client Quit)
2020-10-19 10:22:58 +0200hackagealfred-margaret 1.1.1.0 - Fast Aho-Corasick string searching https://hackage.haskell.org/package/alfred-margaret-1.1.1.0 (rkrzr)
2020-10-19 10:26:26 +0200drbean(~drbean@TC210-63-209-153.static.apol.com.tw) (Ping timeout: 256 seconds)
2020-10-19 10:27:31 +0200hnOsmium0001(uid453710@gateway/web/irccloud.com/x-bbbnvzthyixtprkj) (Quit: Connection closed for inactivity)
2020-10-19 10:27:57 +0200kritzefitz(~kritzefit@p200300ecdf05be00f1ae985ba6d99bb3.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2020-10-19 10:28:20 +0200kritzefitz(~kritzefit@2003:5b:203b:200::10:49)
2020-10-19 10:28:29 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-19 10:29:03 +0200plutoniix(~q@node-uhv.pool-125-24.dynamic.totinternet.net)
2020-10-19 10:31:24 +0200bairyn(~bairyn@unaffiliated/bob0)
2020-10-19 10:33:14 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds)
2020-10-19 10:34:26 +0200ephemera_(~E@122.34.1.187) (Ping timeout: 272 seconds)
2020-10-19 10:34:39 +0200mac10688(~mac10688@c-76-115-116-76.hsd1.or.comcast.net)
2020-10-19 10:35:50 +0200ephemera_(~E@122.34.1.187)
2020-10-19 10:36:28 +0200hackageptr-poker 0.1.1.1 - Pointer poking action construction and composition toolkit https://hackage.haskell.org/package/ptr-poker-0.1.1.1 (NikitaVolkov)
2020-10-19 10:36:28 +0200avoandmayo(~textual@122-58-158-238-adsl.sparkbb.co.nz) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-19 10:36:40 +0200ensyde(~ensyde@2600:1702:2e30:1a40:ec42:dd4:da87:efd)
2020-10-19 10:38:42 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-19 10:38:51 +0200phr0m3indh0v3n(~Android@84.241.205.21)
2020-10-19 10:40:22 +0200coot_(~coot@37.30.52.68.nat.umts.dynamic.t-mobile.pl)
2020-10-19 10:41:21 +0200ephemera_(~E@122.34.1.187) (Ping timeout: 258 seconds)
2020-10-19 10:41:59 +0200ensyde(~ensyde@2600:1702:2e30:1a40:ec42:dd4:da87:efd) (Quit: WeeChat 2.9)
2020-10-19 10:42:45 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
2020-10-19 10:43:49 +0200kuribas(~user@ptr-25vy0i8tnjeny9qrt7n.18120a2.ip6.access.telenet.be)
2020-10-19 10:44:02 +0200coot(~coot@37.30.52.68.nat.umts.dynamic.t-mobile.pl) (Ping timeout: 258 seconds)
2020-10-19 10:44:03 +0200coot_coot
2020-10-19 10:45:01 +0200ephemera_(~E@122.34.1.187)
2020-10-19 10:45:07 +0200avoandmayo(~textual@122-58-158-238-adsl.sparkbb.co.nz)
2020-10-19 10:48:23 +0200knupfer(~Thunderbi@dynamic-046-114-151-029.46.114.pool.telefonica.de)
2020-10-19 10:48:47 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-19 10:49:26 +0200delYsid(~user@zidpc777.tugraz.at)
2020-10-19 10:51:39 +0200 <delYsid> -Wname-shadowing drives me crazy. I guess I have been spoiled by Rust. I find myself often rebinding the same name, and finding new names is a waste of time. Adding the umteenth tick doesnt help with readability. Am I alone, or is -Wname-shadowing a pretty pedantic default?
2020-10-19 10:53:04 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds)
2020-10-19 10:53:59 +0200Aquazi(uid312403@gateway/web/irccloud.com/x-zhrhclsenottifhf)
2020-10-19 10:55:24 +0200plutoniix(~q@node-uhv.pool-125-24.dynamic.totinternet.net) (Ping timeout: 260 seconds)
2020-10-19 10:55:58 +0200hackagefocus 1.0.1.4 - A general abstraction for manipulating elements of container data structures https://hackage.haskell.org/package/focus-1.0.1.4 (NikitaVolkov)
2020-10-19 10:56:13 +0200 <lortabac> delYsid: I tend to use long names for toplevel definitions and abbreviations for the local ones, so I rarely get that warning
2020-10-19 10:56:32 +0200 <dminuoso> delYsid: It's a very pedantic default indeed.
2020-10-19 10:57:03 +0200Psycomic(~Phi@2a01:e0a:18:d0a0:a923:9b97:77a2:ce49) (Quit: Leaving)
2020-10-19 10:57:45 +0200 <dminuoso> delYsid: One of the main annoyances is that you can't selectively turn it off for a binding via some pragma.
2020-10-19 10:58:31 +0200Whez(~textual@2a01:e0a:21f:1060:45e3:a6ce:25be:e68)
2020-10-19 10:58:51 +0200 <dminuoso> Strangely, there's 2 parts where this would be useful. One is orphan instances, the other is shadowing names, but the GHC maintainers shot down attempts to cook something up for some "overarching universal tool to disable diagnostics selectively" idea, that nobody has followed for many years.
2020-10-19 10:59:47 +0200bartemius(~bartemius@109.252.19.142) (Remote host closed the connection)
2020-10-19 11:00:02 +0200elsimio(~elsimio@185.204.1.185) ()
2020-10-19 11:01:01 +0200infinity0(~infinity0@freenet/developer/infinity0) (Ping timeout: 246 seconds)
2020-10-19 11:01:13 +0200 <kuribas> +1 for a pragma to disable it.
2020-10-19 11:01:25 +0200phr0m3indh0v3n(~Android@84.241.205.21) (Ping timeout: 240 seconds)
2020-10-19 11:01:47 +0200 <kuribas> it's occasionally useful
2020-10-19 11:01:47 +0200knupfer(~Thunderbi@dynamic-046-114-151-029.46.114.pool.telefonica.de) (Read error: Connection reset by peer)
2020-10-19 11:02:05 +0200 <Uniaika> sometimes I use expressions to avoid having to produce new variables to store intermediate values
2020-10-19 11:02:13 +0200 <dminuoso> This diagnostic really is a double-edged sword. It tends to discover infinite recursion errors rather well, at the cost of having to rename your binders all the time.
2020-10-19 11:02:14 +0200 <Uniaika> that doesn't apply everywhere of course
2020-10-19 11:02:27 +0200 <Uniaika> but you can replace some do-notation with an applicative
2020-10-19 11:02:41 +0200 <dminuoso> (though the cases of infinite recursion Im talking about are rather rare)
2020-10-19 11:02:48 +0200 <dminuoso> Perhaps just disabling the diagnostic is better
2020-10-19 11:05:57 +0200hackagestm-containers 1.2 - Containers for STM https://hackage.haskell.org/package/stm-containers-1.2 (NikitaVolkov)
2020-10-19 11:06:12 +0200babygnu(~robert@111.169.23.93.rev.sfr.net)
2020-10-19 11:06:53 +0200plutoniix(~q@ppp-223-24-161-236.revip6.asianet.co.th)
2020-10-19 11:08:25 +0200gehmehgeh(~ircuser1@gateway/tor-sasl/gehmehgeh)
2020-10-19 11:08:41 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-19 11:08:51 +0200 <merijn> I think it's a sane enough default, if it really bothers you you can just turn it off >.>
2020-10-19 11:08:57 +0200hackagestm-containers 1.1.0.5 - Containers for STM https://hackage.haskell.org/package/stm-containers-1.1.0.5 (NikitaVolkov)
2020-10-19 11:09:08 +0200 <merijn> I find -Wunused-do-bind much less useful, tbh
2020-10-19 11:09:20 +0200karanlikmadde(~karanlikm@2a01:c22:a46a:b400:3c0d:995b:be0c:192)
2020-10-19 11:10:56 +0200whald(~trem@2a02:810a:8100:11a6:6d28:5eff:640c:9eda) (Quit: Leaving)
2020-10-19 11:11:25 +0200phr0m3indh0v3n(~Android@84.241.205.74)
2020-10-19 11:12:01 +0200 <kuribas> infinite recursion errors are really hard to debug
2020-10-19 11:12:08 +0200babygnu(~robert@111.169.23.93.rev.sfr.net) (Quit: Leaving)
2020-10-19 11:13:14 +0200Whez(~textual@2a01:e0a:21f:1060:45e3:a6ce:25be:e68) (Quit: My MacBook Air has gone to sleep. ZZZzzz…)
2020-10-19 11:13:32 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds)
2020-10-19 11:13:46 +0200 <dminuoso> Are they, really?
2020-10-19 11:14:00 +0200MindlessDrone(~MindlessD@unaffiliated/mindlessdrone) (Ping timeout: 260 seconds)
2020-10-19 11:14:01 +0200 <kuribas> yes
2020-10-19 11:14:20 +0200 <dminuoso> `+RTS xs -RTS` + sigint works rather well for me
2020-10-19 11:15:13 +0200 <kuribas> what's xs?
2020-10-19 11:15:18 +0200 <dminuoso> Err sorry xc
2020-10-19 11:15:28 +0200 <dminuoso> The muscle memory defeated me. :)
2020-10-19 11:15:44 +0200babygnu(~robert@111.169.23.93.rev.sfr.net)
2020-10-19 11:16:34 +0200hekkaidekapus}(~tchouri@gateway/tor-sasl/hekkaidekapus) (Quit: hekkaidekapus})
2020-10-19 11:16:34 +0200 <kuribas> good to know
2020-10-19 11:17:17 +0200MindlessDrone(~MindlessD@unaffiliated/mindlessdrone)
2020-10-19 11:17:26 +0200 <dminuoso> You can also use GHCi with `:set -fbreak-on-error`
2020-10-19 11:17:39 +0200 <dminuoso> And then run the offending expression with `:trace expr`
2020-10-19 11:17:53 +0200 <dminuoso> Send sigint via Ctrl+C, then you have :history and :back
2020-10-19 11:19:34 +0200taurux(~taurux@net-93-144-108-52.cust.dsl.teletu.it) (Ping timeout: 246 seconds)
2020-10-19 11:19:41 +0200phr0m3indh0v3n(~Android@84.241.205.74) (Quit: -a- IRC for Android 2.1.59)
2020-10-19 11:19:50 +0200taurux(~taurux@net-188-152-1-136.cust.vodafonedsl.it)
2020-10-19 11:20:32 +0200hekkaidekapus(~tchouri@gateway/tor-sasl/hekkaidekapus)
2020-10-19 11:21:09 +0200 <maerwald> how do you figure out what error codes a servant handler might return?
2020-10-19 11:21:54 +0200 <Taneb> maerwald: there's not currently a way but there's active work ongoing to change this
2020-10-19 11:22:53 +0200infinity0(~infinity0@freenet/developer/infinity0)
2020-10-19 11:23:23 +0200gxt(~gxt@gateway/tor-sasl/gxt) (Ping timeout: 240 seconds)
2020-10-19 11:25:29 +0200whald(~trem@2a02:810a:8100:11a6:2147:d5b1:8d50:8e3)
2020-10-19 11:26:19 +0200gxt(~gxt@gateway/tor-sasl/gxt)
2020-10-19 11:27:45 +0200AceNovo(~chris@184.101.162.142) (Ping timeout: 240 seconds)
2020-10-19 11:28:12 +0200 <maerwald> Taneb: since 2017 https://github.com/haskell-servant/servant/issues/841
2020-10-19 11:28:20 +0200 <maerwald> :D
2020-10-19 11:28:41 +0200 <maerwald> I'm late to the party
2020-10-19 11:29:16 +0200da39a3ee5e6b4b0d(~textual@n11211935170.netvigator.com)
2020-10-19 11:29:52 +0200bitmapper(uid464869@gateway/web/irccloud.com/x-olymsittyvaorogr) (Quit: Connection closed for inactivity)
2020-10-19 11:31:25 +0200solonarv(~solonarv@anancy-651-1-202-101.w109-217.abo.wanadoo.fr)
2020-10-19 11:31:43 +0200avoandmayo(~textual@122-58-158-238-adsl.sparkbb.co.nz) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-19 11:33:07 +0200avoandmayo(~textual@122-58-158-238-adsl.sparkbb.co.nz)
2020-10-19 11:33:47 +0200fendor(~fendor@77.119.130.12.wireless.dyn.drei.com)
2020-10-19 11:34:28 +0200hackagechessIO 0.4.0.0 - Basic chess library https://hackage.haskell.org/package/chessIO-0.4.0.0 (mlang)
2020-10-19 11:36:49 +0200elosant(uid446058@gateway/web/irccloud.com/x-gqcalxxblktojltg)
2020-10-19 11:37:10 +0200mmkarakaya(b0584711@gateway/web/cgi-irc/kiwiirc.com/ip.176.88.71.17) (Quit: Connection closed)
2020-10-19 11:37:23 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-19 11:37:56 +0200m1dnight_(~m1dnight@188.ip-51-91-158.eu) (Quit: WeeChat 2.4)
2020-10-19 11:38:48 +0200Stanley00(~stanley00@unaffiliated/stanley00) ()
2020-10-19 11:40:23 +0200Stanley00(~stanley00@unaffiliated/stanley00)
2020-10-19 11:42:06 +0200Plantain(~mdomin45@cpe-24-211-129-187.nc.res.rr.com)
2020-10-19 11:42:13 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 264 seconds)
2020-10-19 11:42:28 +0200m1dnight_(~m1dnight@188.ip-51-91-158.eu)
2020-10-19 11:44:31 +0200zz01(~xyz@210.18.180.63)
2020-10-19 11:44:59 +0200 <dminuoso> A do-notation statement discarded a result of type ‘Void’
2020-10-19 11:45:05 +0200 <dminuoso> merijn: You know what, you're right.
2020-10-19 11:46:52 +0200fendor(~fendor@77.119.130.12.wireless.dyn.drei.com) (Remote host closed the connection)
2020-10-19 11:47:13 +0200zz01(~xyz@210.18.180.63) (Client Quit)
2020-10-19 11:47:53 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-19 11:48:18 +0200invaser(~Thunderbi@31.148.23.125)
2020-10-19 11:49:36 +0200thunderrd(~thunderrd@183.182.110.178) (Quit: If it wasn't written down it didn't happen...)
2020-10-19 11:50:24 +0200 <merijn> There's two warnings for do, one for "you used something with a non-() return in a do block" and one for "you returned an unused 'IO a' in a do block"
2020-10-19 11:50:37 +0200 <merijn> The latter is somehwat useful, but the first one is just bollocks
2020-10-19 11:50:54 +0200 <merijn> You end up wrapping everything in your parser with void ot "_ <-"
2020-10-19 11:51:08 +0200 <dminuoso> unused `IO a`?
2020-10-19 11:51:22 +0200 <dminuoso> What warning are you referring to?
2020-10-19 11:51:48 +0200 <merijn> dminuoso: If you have "IO (IO ())"
2020-10-19 11:51:56 +0200 <dminuoso> There's a warning for that?
2020-10-19 11:51:58 +0200GyroW(~GyroW@unaffiliated/gyrow) (Quit: Someone ate my pie)
2020-10-19 11:52:07 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 246 seconds)
2020-10-19 11:52:08 +0200GyroW(~GyroW@d54C03E98.access.telenet.be)
2020-10-19 11:52:08 +0200GyroW(~GyroW@d54C03E98.access.telenet.be) (Changing host)
2020-10-19 11:52:08 +0200GyroW(~GyroW@unaffiliated/gyrow)
2020-10-19 11:52:12 +0200 <dminuoso> % pure getLine
2020-10-19 11:52:13 +0200 <yahb> dminuoso:
2020-10-19 11:52:49 +0200 <merijn> -Wwrong-do-bind
2020-10-19 11:52:59 +0200 <merijn> dminuoso: Only in do notation
2020-10-19 11:53:35 +0200 <dminuoso> Ah.
2020-10-19 11:53:40 +0200 <dminuoso> % :set -Wall
2020-10-19 11:53:40 +0200 <yahb> dminuoso:
2020-10-19 11:53:48 +0200 <dminuoso> % do { pure getLine; pure 1 }
2020-10-19 11:53:48 +0200 <yahb> dminuoso: ; <interactive>:67:6: warning: [-Wunused-do-bind]; A do-notation statement discarded a result of type `IO String'; Suppress this warning by saying `_ <- pure getLine'; <interactive>:67:25: warning: [-Wtype-defaults]; * Defaulting the following constraints to type `Integer'; (Num a0) arising from the literal `1' at <interactive>:67:25; (Show a0) arising from a use of `print' a
2020-10-19 11:54:08 +0200thir(~thir@p200300f27f2f0100d058ed1e9e148e98.dip0.t-ipconnect.de)
2020-10-19 11:54:13 +0200 <merijn> % :set -Wall -Wno-unused-do-bind
2020-10-19 11:54:13 +0200 <yahb> merijn:
2020-10-19 11:54:18 +0200 <merijn> % do { pure getLine; pure 1 }
2020-10-19 11:54:19 +0200 <yahb> merijn: ; <interactive>:69:25: warning: [-Wtype-defaults]; * Defaulting the following constraints to type `Integer'; (Num a0) arising from the literal `1' at <interactive>:69:25; (Show a0) arising from a use of `print' at <interactive>:69:1-27; * In the first argument of `pure', namely `1'; In a stmt of a 'do' block: pure 1; In the first argument of `GHC.GHCi.ghciStepIO :: for
2020-10-19 11:54:23 +0200 <merijn> ugh
2020-10-19 11:54:31 +0200 <merijn> % do { pure getLine; pure 'c' }
2020-10-19 11:54:31 +0200 <dminuoso> % do { pure getLine; pure "foo" }
2020-10-19 11:54:31 +0200 <yahb> merijn: 'c'
2020-10-19 11:54:31 +0200 <yahb> dminuoso: "foo"
2020-10-19 11:54:34 +0200manishearth1(~manishear@195.206.169.184)
2020-10-19 11:54:36 +0200 <merijn> hmm
2020-10-19 11:54:41 +0200 <dminuoso> Maybe its not included in Wall?
2020-10-19 11:54:42 +0200 <merijn> Maybe someone broke the warning :p
2020-10-19 11:54:46 +0200 <merijn> It used to work
2020-10-19 11:54:49 +0200 <dminuoso> % :set -Wall -Wno-unused-do-bind -Wwrong-do-bind
2020-10-19 11:54:49 +0200 <yahb> dminuoso:
2020-10-19 11:54:51 +0200 <dminuoso> % do { pure getLine; pure "foo" }
2020-10-19 11:54:51 +0200 <yahb> dminuoso: "foo"
2020-10-19 11:54:58 +0200 <dminuoso> Never seen it fire..
2020-10-19 11:55:05 +0200 <merijn> % do { return getLine; pure 'c' }
2020-10-19 11:55:05 +0200 <yahb> merijn: 'c'
2020-10-19 11:55:10 +0200 <merijn> I have :p
2020-10-19 11:55:18 +0200 <merijn> But that was long ago in 7.x
2020-10-19 11:55:31 +0200 <dminuoso> fair enough, either way, this diagnostic doesnt seem useful ot me
2020-10-19 11:55:46 +0200 <dminuoso> but, if I had it for free why not
2020-10-19 11:56:01 +0200MindlessDrone(~MindlessD@unaffiliated/mindlessdrone) (Ping timeout: 264 seconds)
2020-10-19 11:56:02 +0200 <merijn> It's helpful to not lose "free" actions after something like allocate
2020-10-19 11:56:15 +0200 <dminuoso> but -Wno-unused-do-bind should become my default
2020-10-19 11:56:36 +0200 <merijn> It already is for me :p
2020-10-19 11:56:48 +0200 <merijn> dminuoso: Don't forget to enable -Wcompat, I always forget >.>
2020-10-19 11:57:08 +0200 <dminuoso> I avoid the need by never updating GHC.
2020-10-19 11:57:13 +0200 <dminuoso> :p
2020-10-19 11:57:18 +0200 <merijn> ;)
2020-10-19 11:57:38 +0200 <dminuoso> jokes aside, we're still using 8.6.5 for one project.
2020-10-19 11:57:58 +0200 <merijn> I just moved my phd codebase from 8.6.5 to 8.10.2 :)
2020-10-19 11:58:13 +0200 <dminuoso> Willing to bet facebook is still running on 7.*
2020-10-19 11:58:31 +0200grimgnr(~user@94.19.246.43)
2020-10-19 11:58:56 +0200 <merijn> Probably not, ApplicativeDo is 8.x, no? :p
2020-10-19 11:58:57 +0200 <dminuoso> 2 years ago they still were, and Simon kept humming and hawing when asked when they wanted to switch to 8.0..
2020-10-19 11:59:10 +0200darjeeli1(~darjeelin@122.245.211.155) (Ping timeout: 258 seconds)
2020-10-19 11:59:11 +0200 <dminuoso> Mmm
2020-10-19 11:59:14 +0200MindlessDrone(~MindlessD@unaffiliated/mindlessdrone)
2020-10-19 11:59:22 +0200 <dminuoso> Then they must be stuck on 8.0 or 8.2 then
2020-10-19 11:59:39 +0200klixto(~klixto@130.220.8.132) (Quit: WeeChat 2.9)
2020-10-19 11:59:41 +0200ericsagnes(~ericsagne@2405:6580:0:5100:55fe:9659:6858:494f) (Ping timeout: 244 seconds)
2020-10-19 12:00:24 +0200thunderrd(~thunderrd@183.182.110.178)
2020-10-19 12:00:26 +0200oisdk(~oisdk@2001:bb6:3329:d100:5538:baf2:3212:5e91)
2020-10-19 12:00:27 +0200Rudd0(~Rudd0@185.189.115.103)
2020-10-19 12:01:52 +0200thir(~thir@p200300f27f2f0100d058ed1e9e148e98.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2020-10-19 12:08:22 +0200bliminse(~bliminse@host217-42-95-37.range217-42.btcentralplus.com) (Ping timeout: 258 seconds)
2020-10-19 12:09:11 +0200bliminse(~bliminse@host217-42-95-37.range217-42.btcentralplus.com)
2020-10-19 12:09:36 +0200babygnu(~robert@111.169.23.93.rev.sfr.net) (Quit: Leaving)
2020-10-19 12:09:45 +0200dcoutts_(~duncan@33.14.75.194.dyn.plus.net)
2020-10-19 12:10:40 +0200bartemius(~bartemius@109.252.19.142)
2020-10-19 12:11:23 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-19 12:12:08 +0200ericsagnes(~ericsagne@2405:6580:0:5100:8ccf:20f3:8f5c:5150)
2020-10-19 12:14:43 +0200m1dnight_(~m1dnight@188.ip-51-91-158.eu) (Read error: Connection reset by peer)
2020-10-19 12:15:52 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds)
2020-10-19 12:16:20 +0200m1dnight_(~m1dnight@188.ip-51-91-158.eu)
2020-10-19 12:16:42 +0200 <kuribas> dminuoso: what's wrong with 6.8.5?
2020-10-19 12:16:52 +0200 <kuribas> erm 8.6.5
2020-10-19 12:17:53 +0200DavidEichmann(~david@43.240.198.146.dyn.plus.net)
2020-10-19 12:20:15 +0200darjeeli1(~darjeelin@122.245.211.155)
2020-10-19 12:20:33 +0200Gurkenglas(~Gurkengla@unaffiliated/gurkenglas)
2020-10-19 12:21:29 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-19 12:21:48 +0200GyroW_(~GyroW@d54C03E98.access.telenet.be)
2020-10-19 12:21:48 +0200GyroW_(~GyroW@d54C03E98.access.telenet.be) (Changing host)
2020-10-19 12:21:48 +0200GyroW_(~GyroW@unaffiliated/gyrow)
2020-10-19 12:22:09 +0200hekkaidekapus(~tchouri@gateway/tor-sasl/hekkaidekapus) (Remote host closed the connection)
2020-10-19 12:22:30 +0200hekkaidekapus(~tchouri@gateway/tor-sasl/hekkaidekapus)
2020-10-19 12:23:22 +0200GyroW(~GyroW@unaffiliated/gyrow) (Ping timeout: 272 seconds)
2020-10-19 12:25:30 +0200 <maerwald> yeah, you can't switch GHC just like that, especially if you rely on certain performance characteristics of your code
2020-10-19 12:25:50 +0200 <maerwald> new version might be slower or faster or behave different for whatever reason
2020-10-19 12:26:00 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 265 seconds)
2020-10-19 12:29:08 +0200err(b9749498@185.116.148.152)
2020-10-19 12:29:53 +0200 <dminuoso> kuribas: I like staying up to date on GHC for bug fixes and new features.
2020-10-19 12:29:55 +0200__monty__(~toonn@unaffiliated/toonn)
2020-10-19 12:30:20 +0200 <kuribas> dminuoso: are no bug fixes done for 8.6.5?
2020-10-19 12:30:23 +0200 <dminuoso> I dont want my compiler/base be the reason why I cant get package `xyz` at a desired version.
2020-10-19 12:30:51 +0200 <dminuoso> kuribas: The GHC team doesn't have the capacity to backport all fixes promptly.
2020-10-19 12:31:16 +0200 <kuribas> I prefer a stable compiler over a cutting edge one with the latest features.
2020-10-19 12:31:45 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-19 12:33:48 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2020-10-19 12:34:27 +0200dhil(~dhil@195.213.192.122)
2020-10-19 12:35:18 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-10-19 12:35:26 +0200m0rphism(~m0rphism@HSI-KBW-046-005-177-122.hsi8.kabel-badenwuerttemberg.de)
2020-10-19 12:36:19 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds)
2020-10-19 12:37:10 +0200polyrain(~polyrain@2001:8003:e501:6901:3dad:26f:cafa:b715)
2020-10-19 12:37:42 +0200 <maerwald> kuribas: 8.6.5 has still massive problems on windows with long paths
2020-10-19 12:37:48 +0200 <maerwald> but 8.10.2 is also broken
2020-10-19 12:38:07 +0200 <maerwald> and the windows fixes won't get backported to 8.6.5 afais
2020-10-19 12:42:47 +0200 <__monty__> How many versions back does active GHC support go?
2020-10-19 12:45:06 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-19 12:46:03 +0200alp(~alp@2a01:e0a:58b:4920:8c2d:a3c8:958f:8d3d) (Ping timeout: 272 seconds)
2020-10-19 12:46:24 +0200christo(~chris@81.96.113.213)
2020-10-19 12:48:54 +0200Neo--(~neo@188-230-154-134.dynamic.t-2.net)
2020-10-19 12:49:28 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds)
2020-10-19 12:50:43 +0200ADG1089(uid455466@gateway/web/irccloud.com/x-yowoygznrcfrphli)
2020-10-19 12:51:09 +0200delYsid(~user@zidpc777.tugraz.at) ("ERC (IRC client for Emacs 27.1.50)")
2020-10-19 12:54:06 +0200karanlikmadde(~karanlikm@2a01:c22:a46a:b400:3c0d:995b:be0c:192) (Quit: karanlikmadde)
2020-10-19 12:55:24 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-19 12:56:35 +0200alp(~alp@2a01:e0a:58b:4920:fc13:1084:2958:78e2)
2020-10-19 12:56:59 +0200toorevitimirp(~tooreviti@117.182.180.0)
2020-10-19 12:57:22 +0200da39a3ee5e6b4b0d(~textual@n11211935170.netvigator.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-19 12:57:34 +0200rprije(~rprije@110-175-117-18.tpgi.com.au) (Ping timeout: 246 seconds)
2020-10-19 12:57:36 +0200fendor(~fendor@e237-037.eduroam.tuwien.ac.at)
2020-10-19 12:58:29 +0200phaul(~phaul@ruby/staff/phaul) (Ping timeout: 260 seconds)
2020-10-19 12:58:57 +0200phaul(~phaul@ruby/staff/phaul)
2020-10-19 13:00:06 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 272 seconds)
2020-10-19 13:00:48 +0200L29Ah(~L29Ah@unaffiliated/l29ah) (Ping timeout: 256 seconds)
2020-10-19 13:02:00 +0200 <dminuoso> __monty__: Judging from a recent thread on the mailing list, I'd say backporting happens as far as 8.2.3
2020-10-19 13:02:20 +0200 <dminuoso> Cant find any authoritative list of supported versions though
2020-10-19 13:02:44 +0200MindlessDrone(~MindlessD@unaffiliated/mindlessdrone) (Ping timeout: 260 seconds)
2020-10-19 13:02:56 +0200christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-10-19 13:03:33 +0200polyrain(~polyrain@2001:8003:e501:6901:3dad:26f:cafa:b715) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-19 13:03:41 +0200L29Ah(~L29Ah@unaffiliated/l29ah)
2020-10-19 13:04:03 +0200machinedgod(~machinedg@24.105.81.50)
2020-10-19 13:05:19 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-19 13:05:24 +0200 <dminuoso> servant-client question. If I want to log the request made for debugging purposes, is there some premade tools for that? Or should I set my own managerModifyRequest in the ManagerSettings of http-client?
2020-10-19 13:06:23 +0200GyroW(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be)
2020-10-19 13:06:24 +0200GyroW(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) (Changing host)
2020-10-19 13:06:24 +0200GyroW(~GyroW@unaffiliated/gyrow)
2020-10-19 13:06:42 +0200 <merijn> __monty__: Depends how much anyone cares to do the work
2020-10-19 13:07:11 +0200 <merijn> __monty__: I don't think there's an official maintenance window for anything but the last release
2020-10-19 13:07:14 +0200GyroW_(~GyroW@unaffiliated/gyrow) (Ping timeout: 260 seconds)
2020-10-19 13:07:20 +0200polyrain(~polyrain@2001:8003:e501:6901:3dad:26f:cafa:b715)
2020-10-19 13:07:42 +0200 <dminuoso> That alone should make you wary of using 8.6.5 in the long term.
2020-10-19 13:07:53 +0200 <dminuoso> There's two different notions of "stable" here.
2020-10-19 13:08:07 +0200 <merijn> The maintenance window is "you get what you pay for"
2020-10-19 13:08:11 +0200karanlikmadde(~karanlikm@2a01:c22:a46a:b400:3c0d:995b:be0c:192)
2020-10-19 13:08:26 +0200 <dminuoso> There's "stable" meaning it's well tested and supposedly bug free, and there's "stable" meaning it's the supported versions that receives attention and prompt bug fixes.
2020-10-19 13:08:27 +0200 <merijn> So, unless you pay someone to contribute to GHC and backport stuff for you... :p
2020-10-19 13:08:32 +0200 <dminuoso> kuribas: ^-
2020-10-19 13:09:10 +0200 <merijn> Which is fine
2020-10-19 13:09:27 +0200hackagesplitmix 0.1.0.2 - Fast Splittable PRNG https://hackage.haskell.org/package/splitmix-0.1.0.2 (phadej)
2020-10-19 13:09:38 +0200 <merijn> If your company relies on Haskell, maybe you *should* contribute to the ecosystem, rather than freeloading on volunteer labour
2020-10-19 13:10:00 +0200 <kuribas> merijn: maybe you *should* just use java like everyone else.
2020-10-19 13:10:01 +0200MindlessDrone(~MindlessD@unaffiliated/mindlessdrone)
2020-10-19 13:10:12 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds)
2020-10-19 13:11:38 +0200 <merijn> If a company's opinion is "do all our support for free or we switch to Java", then I say, let them fuck off and switch to Java
2020-10-19 13:12:34 +0200 <kuribas> I didn't say for free.
2020-10-19 13:12:45 +0200 <kuribas> Companies are happy to pay good money for good tooling.
2020-10-19 13:12:50 +0200 <merijn> kuribas: lol
2020-10-19 13:13:02 +0200 <kuribas> But requiring them to develop or contribute to tooling is a big turn-off.
2020-10-19 13:13:04 +0200 <dminuoso> Companies are generally not happy to pay good money.
2020-10-19 13:13:11 +0200 <dminuoso> otoh nobody has ever been fired for buying cisco/ibm.
2020-10-19 13:13:14 +0200 <merijn> So that's why all our infrastructure runs on free software maintained by unpaid people?
2020-10-19 13:14:03 +0200 <dminuoso> merijn: Heh, its crazy isnt it. So many companies products rely on just glueing free software together.
2020-10-19 13:14:21 +0200 <merijn> kuribas: Companies are happy to pay good money for *non-open source* tools
2020-10-19 13:14:27 +0200 <merijn> Because they have no choice
2020-10-19 13:14:48 +0200 <kuribas> not all of it :)
2020-10-19 13:14:53 +0200 <kuribas> we use expensive vmware
2020-10-19 13:14:55 +0200shatriff(~vitaliish@176.52.219.10) (Read error: Connection reset by peer)
2020-10-19 13:15:04 +0200 <merijn> Given the number of companies building stuff in Haskell, I don't see anyone paying phadej or contributing stuff to cabal-install
2020-10-19 13:15:12 +0200 <merijn> But I do so people whining about them
2020-10-19 13:15:21 +0200shatriff(~vitaliish@176.52.219.10)
2020-10-19 13:15:39 +0200 <phadej> merijn: IOHK pays
2020-10-19 13:15:48 +0200 <phadej> merijn: in fact for all the work in 2020
2020-10-19 13:16:05 +0200 <merijn> phadej: That's good, but still only one out of probably hundreds :)
2020-10-19 13:16:21 +0200 <kuribas> we pay for intellij licenses, so I don't see why we wouldn't pay for haskell tooling.
2020-10-19 13:16:36 +0200 <dminuoso> phadej: Do they pay you directly? Or does the money go to some foundation?
2020-10-19 13:16:37 +0200 <merijn> kuribas: Because you can't get intellij without paying for the license
2020-10-19 13:16:53 +0200 <phadej> kuribas: cabal is more like `mvn`, it's not "tooling" per se
2020-10-19 13:16:59 +0200 <kuribas> we can get eclipse for free... but intellij is just better
2020-10-19 13:17:00 +0200 <phadej> or very low-level
2020-10-19 13:17:07 +0200 <merijn> In general IOHK seems to contribute more than many others
2020-10-19 13:17:21 +0200 <merijn> kuribas: Note how eclipse is open source and intellij isn't?
2020-10-19 13:17:31 +0200 <phadej> dminuoso: IOHK pays Well-Typed for someone to work on Cabal
2020-10-19 13:17:34 +0200 <merijn> You're just making my point for me ;)
2020-10-19 13:17:57 +0200 <phadej> dminuoso: similarish setup how companies X and Y pay Well_Typed for someone to work on GHC
2020-10-19 13:18:10 +0200 <kuribas> isn't FP complete doing some work on haskell infra?
2020-10-19 13:18:12 +0200olligobber(olligobber@gateway/vpn/privateinternetaccess/olligobber) (Ping timeout: 256 seconds)
2020-10-19 13:18:15 +0200 <merijn> If we made cabal-install closed source I'm sure we could have a well-funded company in no time and thus much more dedicated work
2020-10-19 13:18:22 +0200 <phadej> kuribas: not as far as I'm aware
2020-10-19 13:18:30 +0200 <merijn> Isn't FP complete mostly doing work on fracturing the infrastructure community? :p
2020-10-19 13:18:33 +0200 <phadej> or well, you can say Stacakge is haskell infra
2020-10-19 13:18:46 +0200avoandmayo(~textual@122-58-158-238-adsl.sparkbb.co.nz) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-19 13:18:47 +0200 <phadej> but it's more or less owned by FP complete, so you can say "on their infra" as well (IMO)
2020-10-19 13:19:48 +0200 <kuribas> merijn: why not a closed source IDE, where the developpers also contribute to tooling and compilers?
2020-10-19 13:20:27 +0200 <sclv> not enough users
2020-10-19 13:20:40 +0200christo(~chris@81.96.113.213)
2020-10-19 13:20:44 +0200 <merijn> Also, then all the beginners, hobbiests, etc. are left out
2020-10-19 13:20:44 +0200 <sclv> no paid ide would be profitable or even close
2020-10-19 13:20:58 +0200 <kuribas> and not enough users because not good tooling
2020-10-19 13:22:25 +0200christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-10-19 13:22:35 +0200 <kuribas> so how does clojure do it?
2020-10-19 13:23:25 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-19 13:23:30 +0200thir(~thir@pd9e1b1d6.dip0.t-ipconnect.de)
2020-10-19 13:23:35 +0200 <dminuoso> Running on jvm and java interop is probably a big part of it.
2020-10-19 13:23:56 +0200 <dminuoso> That means interfacing with existing code is reasonably easy, and you get access to a relatively large eco system that way
2020-10-19 13:23:57 +0200da39a3ee5e6b4b0d(~textual@n11211935170.netvigator.com)
2020-10-19 13:25:17 +0200 <dminuoso> I'd argue that similarly C++ wouldn't have had nearly as much success as it did, if it wasn't largely C-compatible by syntax, and didn't have seamless linkage into C.
2020-10-19 13:25:33 +0200 <merijn> kuribas: "we provide escape from Java"
2020-10-19 13:25:46 +0200 <merijn> kuribas: Also, by Rich Hickey labouring unpaid for ages to bootstrap things
2020-10-19 13:26:01 +0200 <dminuoso> merijn: And that's probably survival bias right there!
2020-10-19 13:26:04 +0200invaser(~Thunderbi@31.148.23.125) (Ping timeout: 260 seconds)
2020-10-19 13:26:08 +0200 <merijn> Yeah
2020-10-19 13:27:00 +0200 <merijn> It's just baffling how software engineers as a community can see billion/trillion dollar companies exploiting unpaid labour in open source while stressing out maintainers and go "yeah...this is fine!"
2020-10-19 13:27:23 +0200christo(~chris@81.96.113.213)
2020-10-19 13:27:34 +0200 <kuribas> merijn: for what it's worth, we are not a billion dollar company, and we are barely profitable.
2020-10-19 13:27:37 +0200Franciman(~francesco@host-82-48-166-25.retail.telecomitalia.it)
2020-10-19 13:27:50 +0200thir(~thir@pd9e1b1d6.dip0.t-ipconnect.de) (Ping timeout: 256 seconds)
2020-10-19 13:27:53 +0200 <kuribas> merijn: actually our current project isn't even profitable yet
2020-10-19 13:27:57 +0200 <merijn> And instead of going "hey, wait, maybe these people can damn well pay for all this support they want" and instead go "we should bend over backwards to be used"
2020-10-19 13:28:14 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds)
2020-10-19 13:28:16 +0200 <merijn> kuribas: That sounds like a "your company" problem and not a "open source maintainer" problem
2020-10-19 13:28:16 +0200Franciman(~francesco@host-82-48-166-25.retail.telecomitalia.it) (Client Quit)
2020-10-19 13:28:34 +0200Franciman(~francesco@host-82-48-166-25.retail.telecomitalia.it)
2020-10-19 13:30:09 +0200 <kuribas> btw clojure tooling isn't that nice IMO
2020-10-19 13:30:26 +0200 <kuribas> I think haskell is still better, if only because of the type system.
2020-10-19 13:31:01 +0200 <kuribas> clojure: no dead code detection, no way to see if you are calling functions that don't exist.
2020-10-19 13:31:02 +0200 <merijn> Frankly, I don't care if companies are billion dollar companies or 2 cents away from bankruptcy. I support what's convenient for me and if you need more I can send you my bank account and an invoice
2020-10-19 13:31:15 +0200 <opqdonut> well said
2020-10-19 13:31:43 +0200 <kuribas> merijn: personally I think with the bad tooling etc haskell is still better and more productive than what we have currently.
2020-10-19 13:31:50 +0200 <kuribas> merijn: but it's hard to convince others
2020-10-19 13:31:51 +0200 <merijn> And if that causes everyone who wants more from open source to leave, I say "good riddance"
2020-10-19 13:32:01 +0200avoandmayo(~textual@122-58-158-238-adsl.sparkbb.co.nz)
2020-10-19 13:32:51 +0200 <kuribas> it's always the same myth "haskell is not practical because it's made by/for academists"
2020-10-19 13:33:21 +0200 <merijn> I'm not convinced "better tooling" will have measurable impact on "people who have dumb opinions"
2020-10-19 13:35:14 +0200 <kuribas> though there is some truth to it.
2020-10-19 13:35:33 +0200tersetears[m](tersetears@gateway/shell/matrix.org/x-idycfalifvfectvy)
2020-10-19 13:38:08 +0200avoandmayo(~textual@122-58-158-238-adsl.sparkbb.co.nz) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-19 13:38:33 +0200avoandmayo(~textual@122-58-158-238-adsl.sparkbb.co.nz)
2020-10-19 13:39:11 +0200 <dminuoso> So... for over a year Ive been using LoggingT and ReaderT. Why exactly have runLoggingT and runReaderT the argument order they have?
2020-10-19 13:39:23 +0200 <dminuoso> Every time I feel like they should be flipped
2020-10-19 13:39:52 +0200 <merijn> dminuoso: Because they use record syntax?
2020-10-19 13:40:02 +0200 <dminuoso> merijn: That's such a poor reason. :(
2020-10-19 13:40:06 +0200 <merijn> Yes
2020-10-19 13:40:29 +0200 <kuribas> dminuoso: that annoys me too
2020-10-19 13:40:43 +0200 <kuribas> runState as well
2020-10-19 13:40:48 +0200 <kuribas> :t runStateT
2020-10-19 13:40:50 +0200 <lambdabot> StateT s m a -> s -> m (a, s)
2020-10-19 13:41:39 +0200knupfer(~Thunderbi@dynamic-046-114-151-029.46.114.pool.telefonica.de)
2020-10-19 13:41:41 +0200 <lortabac> has anybody every used run* without flip?
2020-10-19 13:41:54 +0200 <dminuoso> lortabac: Yes
2020-10-19 13:42:01 +0200 <dminuoso> I use & (.) and sections
2020-10-19 13:42:25 +0200 <merijn> I use where bindings :p
2020-10-19 13:42:28 +0200 <merijn> I dislike flip
2020-10-19 13:42:32 +0200 <dminuoso> foo & (`runFoo` f) . (`runBar` b)
2020-10-19 13:42:42 +0200 <dminuoso> (you can align the dots with the (&) nicely
2020-10-19 13:42:48 +0200 <lortabac> I use where too, it was just a joke
2020-10-19 13:43:11 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-19 13:43:11 +0200knupfer(~Thunderbi@dynamic-046-114-151-029.46.114.pool.telefonica.de) (Read error: Connection reset by peer)
2020-10-19 13:44:23 +0200Amras(~Amras@unaffiliated/amras0000)
2020-10-19 13:44:44 +0200knupfer(~Thunderbi@dynamic-046-114-151-029.46.114.pool.telefonica.de)
2020-10-19 13:46:09 +0200cfricke(~cfricke@unaffiliated/cfricke) (Ping timeout: 246 seconds)
2020-10-19 13:46:09 +0200elosant(uid446058@gateway/web/irccloud.com/x-gqcalxxblktojltg) (Quit: Connection closed for inactivity)
2020-10-19 13:47:45 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
2020-10-19 13:48:25 +0200christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-10-19 13:49:32 +0200christo(~chris@81.96.113.213)
2020-10-19 13:50:13 +0200unfixpoint(550112fd@253.18.1.85.dynamic.wline.res.cust.swisscom.ch)
2020-10-19 13:50:30 +0200kenran(~maier@b2b-37-24-119-190.unitymedia.biz) (Ping timeout: 256 seconds)
2020-10-19 13:50:53 +0200 <unfixpoint> It's been a while since I've been using lenses for the last time, here's a thing which I'm stuck on:
2020-10-19 13:51:29 +0200 <dminuoso> lortabac: I was serious though https://gist.github.com/dminuoso/e28a461bcb324a5d29c125165c0da0e0
2020-10-19 13:51:43 +0200 <unfixpoint> If I have a `State (Array Int Bool) *` I can change state with `ix 0 .= True` but I cannot read somehow?
2020-10-19 13:52:16 +0200 <unfixpoint> `use (ix 0)` always tells me: No instance for (Monoid Bool) arising from a use of `ix'
2020-10-19 13:52:30 +0200 <dminuoso> unfixpoint: You are probably view'ing through a Fold.
2020-10-19 13:52:40 +0200 <dminuoso> (Or a traversable)
2020-10-19 13:52:51 +0200 <dminuoso> Consider:
2020-10-19 13:52:58 +0200 <unfixpoint> Are you saying it's an issue with GHC.Arr.Array?
2020-10-19 13:53:12 +0200 <dminuoso> oh mm
2020-10-19 13:53:26 +0200 <unfixpoint> I could move to `IntMap` but not sure whether that'd help
2020-10-19 13:53:26 +0200 <dminuoso> unfixpoint: ix gives you a traversal back
2020-10-19 13:53:29 +0200 <dminuoso> That's the problem
2020-10-19 13:53:43 +0200 <dminuoso> Consider a more simplified example:
2020-10-19 13:53:45 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-19 13:53:56 +0200 <dminuoso> [Product 1, Product 2, Product 3] ^. each
2020-10-19 13:53:58 +0200 <dminuoso> What should that give you?
2020-10-19 13:54:03 +0200 <dminuoso> What would you expect?
2020-10-19 13:54:08 +0200 <unfixpoint> [1..3]?
2020-10-19 13:54:19 +0200 <dminuoso> % [Product 1, Product 2, Product 3] ^. each
2020-10-19 13:54:19 +0200 <yahb> dminuoso: ; <interactive>:76:1: warning: [-Wtype-defaults]; * Defaulting the following constraints to type `Integer'; (Show a0) arising from a use of `print' at <interactive>:76:1-41; (Num a0) arising from a use of `it' at <interactive>:76:1-41; * In a stmt of an interactive GHCi command: print it; Product {getProduct = 6}
2020-10-19 13:54:24 +0200 <dminuoso> % [Product 1 :: Product Int, Product 2, Product 3] ^. each
2020-10-19 13:54:25 +0200 <yahb> dminuoso: Product {getProduct = 6}
2020-10-19 13:54:30 +0200 <dminuoso> unfixpoint: ^- voila. Maximum surprise.
2020-10-19 13:54:52 +0200 <dminuoso> When you view through a fold/traversable, it uses the monoid instance on what you're looking at to combine all targets.
2020-10-19 13:54:54 +0200 <unfixpoint> Oh so it wants to mconcat it?
2020-10-19 13:55:01 +0200 <dminuoso> and it defaults to mempty if there's nothing to look at
2020-10-19 13:55:03 +0200 <dminuoso> so
2020-10-19 13:55:11 +0200 <dminuoso> % [] ^. each :: Product Int
2020-10-19 13:55:11 +0200 <yahb> dminuoso: Product {getProduct = 1}
2020-10-19 13:55:14 +0200invaser(~Thunderbi@31.148.23.125)
2020-10-19 13:55:15 +0200 <merijn> unfixpoint: Incidentally Data.Monoid has two newtypes for Bool to get a monoid
2020-10-19 13:55:27 +0200 <merijn> unfixpoint: "Any" and "All"
2020-10-19 13:55:27 +0200knupfer(~Thunderbi@dynamic-046-114-151-029.46.114.pool.telefonica.de) (Read error: Connection reset by peer)
2020-10-19 13:55:29 +0200 <unfixpoint> It's not `Bool` there ;)
2020-10-19 13:55:44 +0200 <merijn> > Any True <> Any False
2020-10-19 13:55:46 +0200 <lambdabot> Any {getAny = True}
2020-10-19 13:55:47 +0200 <dminuoso> unfixpoint: Right. Recall, a traversal/foldable has 0-to-many targets.
2020-10-19 13:55:55 +0200 <dminuoso> unfixpoint: so now:
2020-10-19 13:55:55 +0200 <merijn> > All True <> All False
2020-10-19 13:55:57 +0200 <lambdabot> All {getAll = False}
2020-10-19 13:55:58 +0200hackagejsonifier 0.1.0.3 - Fast and simple JSON encoding toolkit https://hackage.haskell.org/package/jsonifier-0.1.0.3 (NikitaVolkov)
2020-10-19 13:55:58 +0200 <dminuoso> ix :: Index m -> Traversal' m (IxValue m)
2020-10-19 13:56:12 +0200 <unfixpoint> The probably actually occurs with a `data`-type and I'm using `ix 0 . entryBla .= xxx` and `view (ix 0 . entryBla)` etc.
2020-10-19 13:56:36 +0200 <dminuoso> unfixpoint: ^- now because this produces a Traversal, which could have many targets or none, the view implementation demands a monoid
2020-10-19 13:56:51 +0200 <unfixpoint> Is there a way, or should I just implement a Monoid instance?
2020-10-19 13:57:01 +0200 <dminuoso> unfixpoint: you could just use toListOf instead
2020-10-19 13:57:06 +0200 <merijn> unfixpoint: There already is one as I pointed out :p
2020-10-19 13:57:14 +0200 <merijn> Well, two, actually
2020-10-19 13:57:24 +0200MindlessDrone(~MindlessD@unaffiliated/mindlessdrone) (Ping timeout: 260 seconds)
2020-10-19 13:58:04 +0200 <dminuoso> unfixpoint: So what you could do:
2020-10-19 13:58:08 +0200 <unfixpoint> For Bool yeah, but not for the actual type. I just used Bool as example
2020-10-19 13:58:22 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds)
2020-10-19 13:58:34 +0200geekosaur(ac3a8cd5@172.58.140.213)
2020-10-19 13:58:52 +0200 <dminuoso> % [True, False, True] ^. ix 1
2020-10-19 13:58:53 +0200 <yahb> dminuoso: ; <interactive>:84:24: error:; * No instance for (Monoid Bool) arising from a use of `ix'; * In the second argument of `(^.)', namely `ix 1'; In the expression: [True, False, True] ^. ix 1; In an equation for `it': it = [True, False, True] ^. ix 1
2020-10-19 13:58:55 +0200 <dminuoso> % [True, False, True] ^. ix 1 . to Any
2020-10-19 13:58:55 +0200 <yahb> dminuoso: Any {getAny = False}
2020-10-19 13:58:58 +0200 <dminuoso> unfixpoint: ^- there
2020-10-19 13:59:03 +0200 <dminuoso> You can also use `ala` if you like
2020-10-19 13:59:37 +0200 <dminuoso> unfixpoint: ah. if you want this to work with anything, use toListOf instead.
2020-10-19 13:59:43 +0200 <dminuoso> And accept the fact that you cant view through a traversa
2020-10-19 13:59:53 +0200 <dminuoso> (The fact this works at all is surprising and disliked by some)
2020-10-19 13:59:59 +0200 <merijn> Or use First
2020-10-19 14:00:01 +0200manishearth1(~manishear@195.206.169.184) ()
2020-10-19 14:00:05 +0200 <merijn> and/or Last
2020-10-19 14:00:34 +0200 <merijn> > First (Just 1) <> First (Just 2) <> First (Just 3)
2020-10-19 14:00:38 +0200 <lambdabot> First {getFirst = Just 1}
2020-10-19 14:01:05 +0200MindlessDrone(~MindlessD@unaffiliated/mindlessdrone)
2020-10-19 14:02:40 +0200lep-delete(~lep@94.31.82.44) (Ping timeout: 265 seconds)
2020-10-19 14:03:05 +0200err(b9749498@185.116.148.152) (Remote host closed the connection)
2020-10-19 14:03:28 +0200 <unfixpoint> Yeah, First makes most sense. I don't want to convert it to list as I only care about a certain index
2020-10-19 14:03:50 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-19 14:04:40 +0200 <unfixpoint> Maybe I should just use `(!0) <$> get` and not use lens for the array access.
2020-10-19 14:06:03 +0200Unhammer(~Unhammer@gateway/tor-sasl/unhammer) (Ping timeout: 240 seconds)
2020-10-19 14:06:27 +0200urodna(~urodna@unaffiliated/urodna)
2020-10-19 14:07:01 +0200da39a3ee5e6b4b0d(~textual@n11211935170.netvigator.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-19 14:07:54 +0200da39a3ee5e6b4b0d(~textual@n11211935170.netvigator.com)
2020-10-19 14:08:30 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 272 seconds)
2020-10-19 14:08:56 +0200 <unfixpoint> `use (ix i . entryBla)` would be so much nicer than `_entryBla . (!i) <$> get` heh
2020-10-19 14:09:12 +0200djellemah(~djellemah@2601:5c2:100:96c:e008:b638:39fe:6a54)
2020-10-19 14:10:08 +0200christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-10-19 14:11:02 +0200Maxdamantus(~Maxdamant@unaffiliated/maxdamantus) (Ping timeout: 272 seconds)
2020-10-19 14:11:11 +0200Tario(~Tario@201.192.165.173)
2020-10-19 14:11:20 +0200Stanley00(~stanley00@unaffiliated/stanley00) (Remote host closed the connection)
2020-10-19 14:12:30 +0200Maxdamantus(~Maxdamant@unaffiliated/maxdamantus)
2020-10-19 14:12:33 +0200codygman(~codygman@47-184-107-46.dlls.tx.frontiernet.net) (Read error: Connection reset by peer)
2020-10-19 14:12:53 +0200codygman(~codygman@47-184-107-46.dlls.tx.frontiernet.net)
2020-10-19 14:13:31 +0200Kaivo(~Kaivo@ec2-15-222-231-32.ca-central-1.compute.amazonaws.com) (Ping timeout: 246 seconds)
2020-10-19 14:14:59 +0200Unhammer(~Unhammer@gateway/tor-sasl/unhammer)
2020-10-19 14:15:27 +0200karanlikmadde(~karanlikm@2a01:c22:a46a:b400:3c0d:995b:be0c:192) (Quit: karanlikmadde)
2020-10-19 14:15:43 +0200christo(~chris@81.96.113.213)
2020-10-19 14:16:05 +0200Kaivo(~Kaivo@104-200-86-99.mc.derytele.com)
2020-10-19 14:17:17 +0200break_point(~user@93.177.73.90)
2020-10-19 14:18:00 +0200christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-10-19 14:19:29 +0200tersetears[m](tersetears@gateway/shell/matrix.org/x-idycfalifvfectvy) (Quit: authenticating)
2020-10-19 14:19:38 +0200tersetears[m](tersetears@gateway/shell/matrix.org/x-oyfdvgnkfjkfeqwt)
2020-10-19 14:20:14 +0200avn(~avn@78-56-108-78.static.zebra.lt)
2020-10-19 14:20:53 +0200tersetears[m](tersetears@gateway/shell/matrix.org/x-oyfdvgnkfjkfeqwt) (Client Quit)
2020-10-19 14:21:03 +0200tersetears[m](tersetears@gateway/shell/matrix.org/x-pldppmjclmpzqaog)
2020-10-19 14:23:45 +0200unfixpoint(550112fd@253.18.1.85.dynamic.wline.res.cust.swisscom.ch) (Remote host closed the connection)
2020-10-19 14:29:32 +0200toorevitimirp(~tooreviti@117.182.180.0) (Ping timeout: 256 seconds)
2020-10-19 14:30:56 +0200christo(~chris@81.96.113.213)
2020-10-19 14:31:20 +0200avoandmayo(~textual@122-58-158-238-adsl.sparkbb.co.nz) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-19 14:31:33 +0200drbean(~drbean@TC210-63-209-68.static.apol.com.tw)
2020-10-19 14:36:54 +0200break_point(~user@93.177.73.90) (Remote host closed the connection)
2020-10-19 14:41:46 +0200ski(~ski@nc-2504-30.studat.chalmers.se)
2020-10-19 14:43:49 +0200acarrico(~acarrico@dhcp-68-142-39-249.greenmountainaccess.net)
2020-10-19 14:45:02 +0200fendor(~fendor@e237-037.eduroam.tuwien.ac.at) (Quit: Leaving)
2020-10-19 14:48:57 +0200mmkarakaya(b0584711@gateway/web/cgi-irc/kiwiirc.com/ip.176.88.71.17)
2020-10-19 14:52:14 +0200Gurkenglas(~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 260 seconds)
2020-10-19 14:52:36 +0200totallynotnate(~nate@110.138.18.157)
2020-10-19 14:52:41 +0200christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-10-19 14:52:43 +0200Buntspecht(~user@unaffiliated/siracusa) (Quit: Bye!)
2020-10-19 14:52:56 +0200Whez(~textual@2a01:e0a:21f:1060:d47a:6e97:3e60:fddf)
2020-10-19 14:54:47 +0200Gurkenglas(~Gurkengla@unaffiliated/gurkenglas)
2020-10-19 14:56:31 +0200Amras(~Amras@unaffiliated/amras0000) (Ping timeout: 272 seconds)
2020-10-19 14:57:23 +0200Amras(~Amras@unaffiliated/amras0000)
2020-10-19 14:57:35 +0200nbloomf(~nbloomf@2600:1700:ad14:3020:e14d:f5f1:4984:f268)
2020-10-19 14:57:47 +0200Whez(~textual@2a01:e0a:21f:1060:d47a:6e97:3e60:fddf) (Ping timeout: 272 seconds)
2020-10-19 14:58:44 +0200 <dminuoso> @tell unfixpoint the lens-y way of (!0) is to use unsafeSingular which says "This looks like a traversal, but I do promise it targets one and only one element. Burden of proof is on me. Make it a lens!"
2020-10-19 14:58:45 +0200 <lambdabot> Consider it noted.
2020-10-19 15:00:58 +0200hackageclckwrks-plugin-redirect 0.0.1 - support redirects for CMS/Blogging in clckwrks https://hackage.haskell.org/package/clckwrks-plugin-redirect-0.0.1 (JeremyShaw)
2020-10-19 15:02:29 +0200 <dminuoso> @tell unfixpoint So you could also just say `use (unsafeSingular (ix 0))` - but then you have to ensure that `ix 0` definitely points at an element, or a bottom with 6 legs will crawl up on you.
2020-10-19 15:02:29 +0200 <lambdabot> Consider it noted.
2020-10-19 15:06:33 +0200nbloomf(~nbloomf@2600:1700:ad14:3020:e14d:f5f1:4984:f268) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-19 15:06:39 +0200raichoo(~raichoo@dslb-188-100-014-089.188.100.pools.vodafone-ip.de)
2020-10-19 15:08:45 +0200karanlikmadde(~karanlikm@2a01:c22:a46a:b400:3c0d:995b:be0c:192)
2020-10-19 15:09:41 +0200Ariakenom_(~Ariakenom@h-155-4-221-35.NA.cust.bahnhof.se)
2020-10-19 15:10:54 +0200errst(~errst@unaffiliated/tirej)
2020-10-19 15:11:01 +0200errst(~errst@unaffiliated/tirej) (Client Quit)
2020-10-19 15:11:22 +0200tirej(~tirej@unaffiliated/tirej)
2020-10-19 15:11:23 +0200tirejerrst
2020-10-19 15:11:53 +0200borne(~fritjof@200116b864f0110043d332954cf9072f.dip.versatel-1u1.de) (Ping timeout: 244 seconds)
2020-10-19 15:12:37 +0200gehmehgeh(~ircuser1@gateway/tor-sasl/gehmehgeh) (Remote host closed the connection)
2020-10-19 15:13:44 +0200Ariakenom(~Ariakenom@h-82-196-111-189.NA.cust.bahnhof.se) (Ping timeout: 272 seconds)
2020-10-19 15:15:03 +0200carlomagno1(~cararell@inet-hqmc02-o.oracle.com) (Remote host closed the connection)
2020-10-19 15:15:41 +0200proofofme(~proofofme@184-96-74-65.hlrn.qwest.net)
2020-10-19 15:16:22 +0200fendor(~fendor@e237-037.eduroam.tuwien.ac.at)
2020-10-19 15:18:39 +0200carlomagno(~cararell@inet-hqmc01-o.oracle.com)
2020-10-19 15:20:14 +0200proofofme(~proofofme@184-96-74-65.hlrn.qwest.net) (Ping timeout: 260 seconds)
2020-10-19 15:20:16 +0200 <dminuoso> for_ [sigTERM, sigINT, sigKILL] $ \sig -> liftIO (installHandler sig (Catch (io suicide)) Nothing)
2020-10-19 15:20:41 +0200 <geekosaur> you can't catch sigKILL
2020-10-19 15:20:41 +0200 <dminuoso> This line of code causes tje line "agnar: sigaction" to be written to stderr once.
2020-10-19 15:20:56 +0200 <dminuoso> geekosaur: Oh! That was prompt. :>
2020-10-19 15:21:04 +0200mmkarakaya(b0584711@gateway/web/cgi-irc/kiwiirc.com/ip.176.88.71.17) (Quit: Connection closed)
2020-10-19 15:21:21 +0200 <geekosaur> I don't know if it's checking that, but it immediately came to mind
2020-10-19 15:21:55 +0200 <geekosaur> ("agnar"? "range" backwards?)
2020-10-19 15:21:56 +0200puffnfresh(~puffnfres@180-150-38-83.b49626.bne.nbn.aussiebb.net) (Ping timeout: 265 seconds)
2020-10-19 15:22:07 +0200 <dminuoso> Haha no my process is called agnar
2020-10-19 15:22:51 +0200gehmehgeh(~ircuser1@gateway/tor-sasl/gehmehgeh)
2020-10-19 15:23:29 +0200puffnfresh(~puffnfres@180-150-38-83.b49626.bne.nbn.aussiebb.net)
2020-10-19 15:24:18 +0200nbloomf(~nbloomf@76.217.43.73)
2020-10-19 15:24:29 +0200 <tomjaguarpaw> If I am running cabal v2-repl and I :load a file from outside my project then I can no longer import modules from my project. If I :load a file from my project then I can import modules from my project again. Does anyone know why this happens?
2020-10-19 15:24:59 +0200 <merijn> hmmm, what's the best way to get some absolute paths into my code? I'm leaning towards "build-type: Configure" and having the paths as CPP defines, but that's a bit messy. Any better solutions?
2020-10-19 15:26:17 +0200 <geekosaur> tomjaguarpaw, :load sets the base from which imports and such work. so you'd be able to import modules related to the :load-ed file afterward
2020-10-19 15:26:19 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-19 15:26:49 +0200 <geekosaur> that's how ghci works, not something cabal repl can change
2020-10-19 15:27:08 +0200 <geekosaur> some ways it's best to think of :load as loading a project, not a file
2020-10-19 15:27:23 +0200 <tomjaguarpaw> But if I :load a file I can still import modules that are build-depends
2020-10-19 15:27:58 +0200 <dminuoso> geekosaur: Cheers, that helped. The output on stderr comes from the RTS, but it seems the implementation of installHandler silently ignores the error code returned by the RTS.
2020-10-19 15:28:07 +0200 <tomjaguarpaw> I assumed that v2-repl would build my project and expose it in exactly the same way as other build-depends packages, but I guess not.
2020-10-19 15:28:15 +0200espadrine(~espadrine@195.140.213.38)
2020-10-19 15:28:19 +0200 <geekosaur> right, because they're passed as -package parameters so still there. :load changes what modules are considered part of the current project
2020-10-19 15:28:26 +0200 <merijn> dminuoso: FYI, I would consider the current signal handling code of the RTS *highly* questionable
2020-10-19 15:28:28 +0200polyrain(~polyrain@2001:8003:e501:6901:3dad:26f:cafa:b715) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-19 15:28:33 +0200 <geekosaur> they're fundamentally different things to ghc / ghci
2020-10-19 15:28:34 +0200 <tomjaguarpaw> Can I :load two different modules at once?
2020-10-19 15:28:40 +0200 <geekosaur> nope
2020-10-19 15:28:53 +0200 <dminuoso> merijn: Well Im just staring at the `unix` package, and the installHandler itself is doing funky things.
2020-10-19 15:29:43 +0200 <tomjaguarpaw> So if I have a project and I want to :load a file to play around with that project's functionality then I am out of luck? I'm sure I've done that before, I just can't remember how ...
2020-10-19 15:29:54 +0200 <dminuoso> It ignores the return code of stg_sig_install if the previous handler was the default handler or ignored..
2020-10-19 15:29:57 +0200 <dminuoso> That seems awfully wrong.
2020-10-19 15:30:16 +0200 <dminuoso> Oh heh, it always ignores error conditions.
2020-10-19 15:30:37 +0200 <geekosaur> tomjaguarpaw, more or less unless you can make it part of your project or make it a build-depends lib
2020-10-19 15:30:39 +0200 <dminuoso> geekosaur: Anyway, thanks. Gave me the answer before I even described the problem. :)
2020-10-19 15:30:48 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds)
2020-10-19 15:30:59 +0200 <merijn> dminuoso: The entire RTS approach to signals is super questionable and it's somewhere on my list of yaks to look into
2020-10-19 15:31:31 +0200 <tomjaguarpaw> geekosaur: OK thanks. That's very surpsing.
2020-10-19 15:31:43 +0200 <geekosaur> ghci's a bit of a hack
2020-10-19 15:32:01 +0200 <geekosaur> and wht cabal and stack try to make it do is a hack on top of a hack
2020-10-19 15:32:43 +0200 <dminuoso> merijn: Well Im staring at undocumented and half dead code pathshere.
2020-10-19 15:32:59 +0200 <merijn> dminuoso: So, maybe I'll get around to looking at it by 2050 :p
2020-10-19 15:33:00 +0200nbloomf(~nbloomf@76.217.43.73) (Quit: Textual IRC Client: www.textualapp.com)
2020-10-19 15:33:05 +0200ystael(~ystael@209.6.50.55)
2020-10-19 15:33:28 +0200hackagebugsnag-haskell 0.0.4.0 - Bugsnag error reporter for Haskell https://hackage.haskell.org/package/bugsnag-haskell-0.0.4.0 (PatrickBrisbin)
2020-10-19 15:33:34 +0200 <dminuoso> This particular bug seems to be easy to fix though.
2020-10-19 15:38:58 +0200fresheyeball(~isaac@c-71-237-105-37.hsd1.co.comcast.net) (Quit: WeeChat 2.7.1)
2020-10-19 15:39:04 +0200jespada(~jespada@90.254.245.15) (Ping timeout: 272 seconds)
2020-10-19 15:41:02 +0200jespada(~jespada@90.254.245.15)
2020-10-19 15:41:14 +0200justsomeguy(~justsomeg@unaffiliated/--/x-3805311) ()
2020-10-19 15:42:14 +0200emmanuel_erc(~user@cpe-74-71-187-227.nyc.res.rr.com) (Ping timeout: 272 seconds)
2020-10-19 15:44:00 +0200drbean(~drbean@TC210-63-209-68.static.apol.com.tw) (Ping timeout: 256 seconds)
2020-10-19 15:45:14 +0200polyrain(~polyrain@2001:8003:e501:6901:3dad:26f:cafa:b715)
2020-10-19 15:46:41 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-19 15:46:57 +0200kenran(~maier@b2b-37-24-119-190.unitymedia.biz)
2020-10-19 15:47:31 +0200ap5(~ap5@85.184.161.18)
2020-10-19 15:47:39 +0200polyrain(~polyrain@2001:8003:e501:6901:3dad:26f:cafa:b715) (Client Quit)
2020-10-19 15:47:58 +0200hackagehadolint 1.18.2 - Dockerfile Linter JavaScript API https://hackage.haskell.org/package/hadolint-1.18.2 (lorenzo)
2020-10-19 15:50:03 +0200ech(~user@gateway/tor-sasl/ech) (Ping timeout: 240 seconds)
2020-10-19 15:50:26 +0200Sgeo(~Sgeo@ool-18b982ad.dyn.optonline.net)
2020-10-19 15:51:13 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 264 seconds)
2020-10-19 15:51:54 +0200hiroaki(~hiroaki@ip4d176049.dynamic.kabel-deutschland.de)
2020-10-19 15:52:19 +0200kenran(~maier@b2b-37-24-119-190.unitymedia.biz) (Ping timeout: 260 seconds)
2020-10-19 15:52:28 +0200hackageghc-events-analyze 0.2.8 - Analyze and visualize event logs https://hackage.haskell.org/package/ghc-events-analyze-0.2.8 (EdskoDeVries)
2020-10-19 15:55:11 +0200geekosaur(ac3a8cd5@172.58.140.213) (Remote host closed the connection)
2020-10-19 16:00:21 +0200ADG1089(uid455466@gateway/web/irccloud.com/x-yowoygznrcfrphli) (Quit: Connection closed for inactivity)
2020-10-19 16:00:47 +0200takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2020-10-19 16:00:47 +0200xff0x(~fox@2001:1a81:522e:d900:3da7:5719:198:c125) (Ping timeout: 244 seconds)
2020-10-19 16:01:32 +0200xff0x(~fox@2001:1a81:522e:d900:f83c:af94:c3a5:2d3f)
2020-10-19 16:03:00 +0200totallynotnate(~nate@110.138.18.157) (Quit: WeeChat 2.9)
2020-10-19 16:06:26 +0200invaser(~Thunderbi@31.148.23.125) (Ping timeout: 256 seconds)
2020-10-19 16:07:29 +0200ech(~user@gateway/tor-sasl/ech)
2020-10-19 16:09:24 +0200Gurkenglas(~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 260 seconds)
2020-10-19 16:10:58 +0200hackagemiv 0.4.3 - Vim plugin manager written in Haskell https://hackage.haskell.org/package/miv-0.4.3 (itchyny)
2020-10-19 16:11:32 +0200ericsagnes(~ericsagne@2405:6580:0:5100:8ccf:20f3:8f5c:5150) (Ping timeout: 260 seconds)
2020-10-19 16:12:17 +0200Stanley|00(~stanley00@unaffiliated/stanley00)
2020-10-19 16:13:10 +0200acowley(~acowley@c-68-83-22-43.hsd1.nj.comcast.net) (Ping timeout: 265 seconds)
2020-10-19 16:14:21 +0200Stanley|00(~stanley00@unaffiliated/stanley00) (Disconnected by services)
2020-10-19 16:14:25 +0200invaser(~Thunderbi@31.148.23.125)
2020-10-19 16:15:58 +0200p8m_(p8m@gateway/vpn/protonvpn/p8m)
2020-10-19 16:16:12 +0200conal(~conal@64.71.133.70)
2020-10-19 16:16:59 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-19 16:17:02 +0200p8m(p8m@gateway/vpn/protonvpn/p8m) (Ping timeout: 265 seconds)
2020-10-19 16:17:57 +0200cr3(~cr3@192-222-143-195.qc.cable.ebox.net)
2020-10-19 16:17:58 +0200hyperisco(~hyperisco@d192-186-117-226.static.comm.cgocable.net)
2020-10-19 16:18:25 +0200 <hyperisco> how can I get the last modification time of a file for both posix and windows systems?
2020-10-19 16:18:58 +0200hackageyesod-core 1.6.18.5 - Creation of type-safe, RESTful web applications. https://hackage.haskell.org/package/yesod-core-1.6.18.5 (MaxGabriel)
2020-10-19 16:19:02 +0200 <hyperisco> oh derp it is in the directory package
2020-10-19 16:19:35 +0200Lord_of_Life(~Lord@46.217.196.111)
2020-10-19 16:21:49 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 264 seconds)
2020-10-19 16:22:15 +0200justsomeguy(~justsomeg@unaffiliated/--/x-3805311)
2020-10-19 16:23:08 +0200conal_(~conal@66.115.176.210)
2020-10-19 16:23:51 +0200ericsagnes(~ericsagne@2405:6580:0:5100:2827:63d8:269e:cab4)
2020-10-19 16:24:03 +0200puffnfresh(~puffnfres@180-150-38-83.b49626.bne.nbn.aussiebb.net) (Ping timeout: 258 seconds)
2020-10-19 16:24:40 +0200nados(~dan@69-165-210-185.cable.teksavvy.com)
2020-10-19 16:24:59 +0200conal(~conal@64.71.133.70) (Ping timeout: 260 seconds)
2020-10-19 16:25:35 +0200kritzefitz(~kritzefit@2003:5b:203b:200::10:49) (Remote host closed the connection)
2020-10-19 16:25:53 +0200Lord_of_Life(~Lord@46.217.196.111) (Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine)
2020-10-19 16:27:08 +0200Saukk(~Saukk@2001:998:f9:2914:1c59:9bb5:b94c:4)
2020-10-19 16:27:13 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-19 16:28:22 +0200ap5(~ap5@85.184.161.18) ("kthxbye")
2020-10-19 16:31:25 +0200dyeplexer(~lol@unaffiliated/terpin) (Ping timeout: 240 seconds)
2020-10-19 16:31:48 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds)
2020-10-19 16:31:49 +0200emmanuel_erc(~user@2604:2000:1382:ce03:94e9:f71a:61cb:48a4)
2020-10-19 16:34:41 +0200mirrorbird(~psutcliff@2a00:801:42b:7891:16b1:e53f:55b2:15e1)
2020-10-19 16:35:57 +0200alp(~alp@2a01:e0a:58b:4920:fc13:1084:2958:78e2) (Ping timeout: 272 seconds)
2020-10-19 16:38:24 +0200Lord_of_Life(~Lord@46.217.196.111)
2020-10-19 16:39:00 +0200irc_user(uid423822@gateway/web/irccloud.com/x-eatidcztrwplllyi)
2020-10-19 16:39:09 +0200Gurkenglas(~Gurkengla@unaffiliated/gurkenglas)
2020-10-19 16:40:28 +0200Lord_of_Life(~Lord@46.217.196.111) (Client Quit)
2020-10-19 16:41:53 +0200Lord_of_Life(~Lord@46.217.196.111)
2020-10-19 16:41:54 +0200Lord_of_Life(~Lord@46.217.196.111) (Changing host)
2020-10-19 16:41:54 +0200Lord_of_Life(~Lord@unaffiliated/lord-of-life/x-0885362)
2020-10-19 16:42:08 +0200karanlikmadde(~karanlikm@2a01:c22:a46a:b400:3c0d:995b:be0c:192) (Quit: karanlikmadde)
2020-10-19 16:46:35 +0200jonathanx(~jonathan@dyn-8-sc.cdg.chalmers.se) (Remote host closed the connection)
2020-10-19 16:47:23 +0200texasmynsted(~texasmyns@104.140.53.131)
2020-10-19 16:48:06 +0200invaser(~Thunderbi@31.148.23.125) (Ping timeout: 272 seconds)
2020-10-19 16:48:06 +0200karanlikmadde(~karanlikm@2a01:c22:a46a:b400:3c0d:995b:be0c:192)
2020-10-19 16:53:17 +0200christo(~chris@81.96.113.213)
2020-10-19 16:56:39 +0200hnOsmium0001(uid453710@gateway/web/irccloud.com/x-chlrdvhuygbnoesm)
2020-10-19 16:57:21 +0200conal_(~conal@66.115.176.210) (Quit: Computer has gone to sleep.)
2020-10-19 16:57:40 +0200christo(~chris@81.96.113.213) (Ping timeout: 256 seconds)
2020-10-19 16:57:54 +0200conal(~conal@66.115.176.210)
2020-10-19 16:58:28 +0200conal(~conal@66.115.176.210) (Client Quit)
2020-10-19 17:00:02 +0200espadrine(~espadrine@195.140.213.38) ()
2020-10-19 17:00:25 +0200geowiesnot(~user@87-89-181-157.abo.bbox.fr)
2020-10-19 17:01:27 +0200hackagepvar 1.0.0.0 - Mutable variable with primitive values https://hackage.haskell.org/package/pvar-1.0.0.0 (lehins)
2020-10-19 17:01:54 +0200knupfer(~Thunderbi@i59F7FF86.versanet.de)
2020-10-19 17:02:12 +0200conal(~conal@66.115.176.210)
2020-10-19 17:03:27 +0200coeus(~coeus@p200300d02724ef00d20f0ecf5ac74df4.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2020-10-19 17:07:16 +0200da39a3ee5e6b4b0d(~textual@n11211935170.netvigator.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-19 17:08:35 +0200 <lightwave> newbie question: is there a generally accepted 'good' style guide for Haskell that most Haskellers agree to be good?
2020-10-19 17:08:44 +0200 <maerwald> no
2020-10-19 17:08:46 +0200 <merijn> No
2020-10-19 17:08:50 +0200 <lightwave> LOL
2020-10-19 17:08:59 +0200karanlikmadde(~karanlikm@2a01:c22:a46a:b400:3c0d:995b:be0c:192) (Quit: karanlikmadde)
2020-10-19 17:09:02 +0200 <maerwald> good question, next question
2020-10-19 17:09:15 +0200 <merijn> lightwave: There's tons of guide, but nothing universally agreed upon
2020-10-19 17:10:07 +0200 <merijn> lightwave: I think the closest to consensus you'll get is: "Curly braces and semicolons bad, layout good" and "spaces, not tabs" and even those aren't universal (but close enough)
2020-10-19 17:10:18 +0200fendor(~fendor@e237-037.eduroam.tuwien.ac.at) (Remote host closed the connection)
2020-10-19 17:10:35 +0200 <merijn> lightwave: Oh, and generally people tend to prefer "where" blocks over "let in"
2020-10-19 17:10:50 +0200 <{abby}> if you ask 3 haskellers how they format their code you'll get at least 4 different answers
2020-10-19 17:10:55 +0200 <merijn> :)
2020-10-19 17:11:17 +0200 <merijn> lightwave: I'd just do "whatever seems most readable" and "try and match surrounding style" (in projects)
2020-10-19 17:11:32 +0200 <merijn> lightwave: And people will be more than happy to critique your style ;)
2020-10-19 17:11:42 +0200 <lightwave> LAMO
2020-10-19 17:11:48 +0200 <lightwave> LMAO
2020-10-19 17:11:56 +0200 <maerwald> yes, if you wanna waste a lot of your time, ask ppl for advice on formatting
2020-10-19 17:12:05 +0200 <lightwave> Something never changes in programming languages.
2020-10-19 17:12:18 +0200 <merijn> maerwald: Well, for beginners it makes sense, they often don't know many Haskell-y idioms
2020-10-19 17:12:46 +0200 <{abby}> there are, of course, automated formatters---but I suspect the "every project has its own style" culture does not lead itself well to adopting "one true style" tools… I find ormolu's style painfully ugly, for example :p
2020-10-19 17:12:50 +0200 <merijn> I see many beginners asking for feedback where there code can be cleaned up considerably, just don't expect any universal consensus :)
2020-10-19 17:12:53 +0200 <maerwald> my advice is: never align, only indent. But that's already quite controversial
2020-10-19 17:12:55 +0200vicfred_(~vicfred@unaffiliated/vicfred) (Quit: Leaving)
2020-10-19 17:12:58 +0200 <noctux> what, spaces? damn it...
2020-10-19 17:13:19 +0200 <{abby}> maerwald: oo, them's fighting words
2020-10-19 17:13:29 +0200 <merijn> noctux: tabs are well defined in GHC, unfortunately they follow unix and not "what people like to pretend they mean"
2020-10-19 17:13:38 +0200 <lightwave> My keyboard only has 0, 1, space, backspace and enter keys. No tab.
2020-10-19 17:14:02 +0200 <lightwave> Forgive me for asking the style guide question. LOL
2020-10-19 17:14:21 +0200 <noctux> merijn: meaning? \t being an ordinary whitespace ascii character?
2020-10-19 17:14:24 +0200tzh(~tzh@2601:448:c500:5300::e74c)
2020-10-19 17:14:39 +0200 <lightwave> I'll not ask what editor is the best for Haskell. ;-)
2020-10-19 17:15:03 +0200bitmapper(uid464869@gateway/web/irccloud.com/x-ccvftmqgiojwtxir)
2020-10-19 17:15:07 +0200 <merijn> noctux: \t rounds to nearest multiple of 8
2020-10-19 17:15:29 +0200 <merijn> noctux: That means that the width of a tab is dependent on preceding characters
2020-10-19 17:15:30 +0200thir(~thir@p200300f27f0b040039cda3b6fce8e5af.dip0.t-ipconnect.de)
2020-10-19 17:15:32 +0200 <{abby}> lightwave: whichever you're used to using, honestly. except for nano, unless someone's written a nano LSP client...
2020-10-19 17:15:40 +0200 <merijn> If you have 3 spaces followed by a tab, the tab is 5 wide
2020-10-19 17:15:52 +0200 <merijn> Which is the standard unix convention
2020-10-19 17:16:00 +0200 <merijn> but not how people treat tabs in source code :)
2020-10-19 17:16:21 +0200 <noctux> yeah, and as long as you set tw=8, all is fine :P
2020-10-19 17:16:37 +0200 <merijn> noctux: No
2020-10-19 17:16:37 +0200 <hyperisco> if I just want to wait for a process to terminate, do I have to read its stdout char by char until I hit EOF?
2020-10-19 17:16:50 +0200 <{abby}> noctux: set tw=0 et, you mean? :P
2020-10-19 17:16:53 +0200cfricke(~cfricke@unaffiliated/cfricke)
2020-10-19 17:16:58 +0200 <merijn> noctux: because tw says "tabs are 8", which is *different* from "tabs round to nearest multiple of 8"
2020-10-19 17:16:59 +0200 <{abby}> s/0/8/ even
2020-10-19 17:17:19 +0200 <lightwave> s/\t/doh!/g
2020-10-19 17:17:32 +0200 <merijn> hyperisco: Possibly, if the process blocks on blocked writes
2020-10-19 17:17:58 +0200 <merijn> lightwave: It's basically 1/3rd vim, 1/3rd emacs, 1/3rd rest in here
2020-10-19 17:18:17 +0200 <maerwald> I had the impression slightly more emacs than vim
2020-10-19 17:18:31 +0200 <merijn> maerwald: That's because, like nix people, emacs people are loud :p
2020-10-19 17:18:33 +0200 <{abby}> of the emacs users, how many do you think are vim users in denial? evil, vile and co
2020-10-19 17:18:50 +0200 <maerwald> 20 vim, 35 emacs, 45 rest
2020-10-19 17:18:57 +0200 <noctux> {abby}: well, I seem to want ts :p
2020-10-19 17:18:59 +0200grimgnr(~user@94.19.246.43) (Read error: Connection reset by peer)
2020-10-19 17:19:04 +0200 <lightwave> I use Doom Emacs (evil mode) Best of both worlds
2020-10-19 17:19:41 +0200 <noctux> hihi, vim's helptext on the matter:
2020-10-19 17:19:44 +0200 <noctux> Note: Setting 'tabstop' to any other value than 8 can make your file
2020-10-19 17:19:46 +0200 <noctux> appear wrong in many places (e.g., when printing it).
2020-10-19 17:20:09 +0200hyiltiz(~quassel@82.118.227.47)
2020-10-19 17:20:09 +0200hyiltiz(~quassel@82.118.227.47) (Changing host)
2020-10-19 17:20:09 +0200hyiltiz(~quassel@unaffiliated/hyiltiz)
2020-10-19 17:20:17 +0200coeus(~coeus@p200300d027141600339fa72fa0100e7e.dip0.t-ipconnect.de)
2020-10-19 17:20:22 +0200 <maerwald> Last time I printed code was when trolling a prof and he liked it.
2020-10-19 17:20:22 +0200thir(~thir@p200300f27f0b040039cda3b6fce8e5af.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2020-10-19 17:20:27 +0200hackagequickjs-hs 0.1.2.3 - Wrapper for the QuickJS Javascript Engine https://hackage.haskell.org/package/quickjs-hs-0.1.2.3 (goodlyrottenapple)
2020-10-19 17:21:32 +0200cfricke(~cfricke@unaffiliated/cfricke) (Ping timeout: 260 seconds)
2020-10-19 17:25:39 +0200justanotheruser(~justanoth@unaffiliated/justanotheruser)
2020-10-19 17:25:43 +0200ddellacosta(~dd@86.106.121.168)
2020-10-19 17:26:54 +0200DavidEichmann(~david@43.240.198.146.dyn.plus.net) (Remote host closed the connection)
2020-10-19 17:27:02 +0200DavidEichmann(~david@43.240.198.146.dyn.plus.net)
2020-10-19 17:29:57 +0200xiinotulp(~q@ppp-27-55-89-163.revip3.asianet.co.th)
2020-10-19 17:33:14 +0200nyaomi(~naomi@cpe-74-75-6-125.maine.res.rr.com) (Ping timeout: 260 seconds)
2020-10-19 17:33:22 +0200plutoniix(~q@ppp-223-24-161-236.revip6.asianet.co.th) (Ping timeout: 246 seconds)
2020-10-19 17:36:16 +0200alp(~alp@2a01:e0a:58b:4920:4588:d58a:a3b6:6aad)
2020-10-19 17:38:02 +0200 <monochrom> The nuanced real problem is mixing spaces and tabs.
2020-10-19 17:39:08 +0200GyroW(~GyroW@unaffiliated/gyrow) (Quit: Someone ate my pie)
2020-10-19 17:39:19 +0200GyroW(~GyroW@d54C03E98.access.telenet.be)
2020-10-19 17:39:19 +0200GyroW(~GyroW@d54C03E98.access.telenet.be) (Changing host)
2020-10-19 17:39:19 +0200GyroW(~GyroW@unaffiliated/gyrow)
2020-10-19 17:41:09 +0200codygman(~codygman@47-184-107-46.dlls.tx.frontiernet.net) (Read error: Connection reset by peer)
2020-10-19 17:41:53 +0200codygman(~codygman@47-184-107-46.dlls.tx.frontiernet.net)
2020-10-19 17:47:36 +0200christo(~chris@81.96.113.213)
2020-10-19 17:47:48 +0200kenran(~maier@b2b-37-24-119-190.unitymedia.biz)
2020-10-19 17:49:42 +0200christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-10-19 17:50:50 +0200christo(~chris@81.96.113.213)
2020-10-19 17:51:29 +0200conal(~conal@66.115.176.210) (Quit: Computer has gone to sleep.)
2020-10-19 17:52:59 +0200kenran(~maier@b2b-37-24-119-190.unitymedia.biz) (Ping timeout: 258 seconds)
2020-10-19 17:53:28 +0200atraii(~atraii@c-98-32-64-84.hsd1.ut.comcast.net) (Ping timeout: 260 seconds)
2020-10-19 17:54:19 +0200danvet(~danvet@2a02:168:57f4:0:5f80:650d:c6e6:3453) (Quit: Leaving)
2020-10-19 17:55:50 +0200 <maerwald> yeah, programmers fight over all sorts of non-sense, but everyone agrees that consistency is holy
2020-10-19 17:56:23 +0200avdb(~avdb@ip-81-11-153-13.dsl.scarlet.be)
2020-10-19 17:57:51 +0200christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-10-19 17:57:51 +0200head_victim(~head_vict@178.162.209.171)
2020-10-19 17:58:20 +0200 <maerwald> Is there a good alternative to c2hs? The parses seems to not parse all of C correctly
2020-10-19 17:58:26 +0200 <maerwald> It's quite tiresome
2020-10-19 17:58:37 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-19 17:58:46 +0200christo(~chris@81.96.113.213)
2020-10-19 17:58:56 +0200 <merijn> maerwald: c2hs isn't intended to be fully automated
2020-10-19 17:59:02 +0200justsomeguy(~justsomeg@unaffiliated/--/x-3805311) ()
2020-10-19 17:59:05 +0200 <maerwald> some issues on 32bit headers, some issues on windows
2020-10-19 17:59:18 +0200 <merijn> Or am I thinking of c2hsc?
2020-10-19 17:59:20 +0200 <merijn> I forget
2020-10-19 17:59:32 +0200 <maerwald> sounds similiar :D
2020-10-19 18:00:02 +0200 <maerwald> https://github.com/vmchale/libarchive/issues/17 and https://github.com/vmchale/libarchive/issues/12
2020-10-19 18:00:03 +0200 <tdammers> the proper way is to set :tabstop to something like 3, 5 or 7; now any incorrectly indented file will look bad, and you will fix it
2020-10-19 18:00:11 +0200 <tdammers> instead of perpetuating the badness
2020-10-19 18:00:41 +0200christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-10-19 18:01:06 +0200 <monochrom> People will "fix" it with spaces after the tabs.
2020-10-19 18:01:07 +0200 <merijn> maerwald: Which headers are you parsing with it?
2020-10-19 18:01:17 +0200atraii(~atraii@c-98-32-64-84.hsd1.ut.comcast.net)
2020-10-19 18:01:31 +0200geekosaur(ac3a8c0b@172.58.140.11)
2020-10-19 18:02:32 +0200 <maerwald> merijn: C:/ProgramData/chocolatey/lib/ghc/tools/ghc-8.10.2/mingw/x86_64-w64-mingw32/include/psdk_inc/intrin-impl.
2020-10-19 18:02:53 +0200 <maerwald> it's in the bug reports
2020-10-19 18:03:16 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds)
2020-10-19 18:03:52 +0200knupfer(~Thunderbi@i59F7FF86.versanet.de) (Quit: knupfer)
2020-10-19 18:05:06 +0200pjb(~t@2a01cb04063ec50040327e18e003ea94.ipv6.abo.wanadoo.fr) (Remote host closed the connection)
2020-10-19 18:05:09 +0200knupfer(~Thunderbi@200116b82c45070020d19eb0cff5f28b.dip.versatel-1u1.de)
2020-10-19 18:06:31 +0200Amras(~Amras@unaffiliated/amras0000) (Ping timeout: 272 seconds)
2020-10-19 18:06:57 +0200nbloomf(~nbloomf@2600:1700:ad14:3020:e458:1703:ce2e:6252)
2020-10-19 18:07:42 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-19 18:08:15 +0200christo(~chris@81.96.113.213)
2020-10-19 18:08:23 +0200 <merijn> maerwald: There error is correct, though
2020-10-19 18:08:33 +0200 <merijn> It's, in fact, no legal C
2020-10-19 18:08:39 +0200 <merijn> At least, not C11
2020-10-19 18:09:42 +0200 <merijn> alignment specifiers aren't valid inside structs, afaict
2020-10-19 18:11:06 +0200 <merijn> Probably not why c2hs errors out, but still ;)
2020-10-19 18:11:20 +0200 <merijn> It actually seems double illegal
2020-10-19 18:11:29 +0200AlterEgo-(~ladew@124-198-158-163.dynamic.caiway.nl)
2020-10-19 18:11:35 +0200knupfer(~Thunderbi@200116b82c45070020d19eb0cff5f28b.dip.versatel-1u1.de) (Quit: knupfer)
2020-10-19 18:11:38 +0200 <merijn> Since you can't have _Alignas inside struct definitions and it's not allowed inside typedefs either :p
2020-10-19 18:11:43 +0200knupfer(~Thunderbi@200116b82c45070020d19eb0cff5f28b.dip.versatel-1u1.de)
2020-10-19 18:12:01 +0200knupfer(~Thunderbi@200116b82c45070020d19eb0cff5f28b.dip.versatel-1u1.de) (Client Quit)
2020-10-19 18:12:12 +0200knupfer(~Thunderbi@200116b82c450700b04e0fad57a920a0.dip.versatel-1u1.de)
2020-10-19 18:13:17 +0200Stanley00(~stanley00@unaffiliated/stanley00)
2020-10-19 18:16:25 +0200kupi(uid212005@gateway/web/irccloud.com/x-goqmfcjbcgptzitc)
2020-10-19 18:16:44 +0200GyroW_(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be)
2020-10-19 18:16:45 +0200GyroW_(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) (Changing host)
2020-10-19 18:16:45 +0200GyroW_(~GyroW@unaffiliated/gyrow)
2020-10-19 18:17:05 +0200GyroW(~GyroW@unaffiliated/gyrow) (Ping timeout: 240 seconds)
2020-10-19 18:17:37 +0200fendor(~fendor@178.115.131.152.wireless.dyn.drei.com)
2020-10-19 18:18:08 +0200Stanley00(~stanley00@unaffiliated/stanley00) (Ping timeout: 256 seconds)
2020-10-19 18:18:36 +0200 <maerwald> well, like I care :p
2020-10-19 18:18:42 +0200 <maerwald> I just want it to build
2020-10-19 18:18:50 +0200christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-10-19 18:19:19 +0200 <maerwald> not fixing old windows headers
2020-10-19 18:19:42 +0200 <maerwald> where do you send a PR even...
2020-10-19 18:20:59 +0200 <maerwald> and then end up on an old gitlab instance where you get a response 2 years later, someone politely asking if that problem still exsits
2020-10-19 18:23:08 +0200isovector1(~isovector@172.103.216.166)
2020-10-19 18:23:23 +0200karanlikmadde(~karanlikm@2a01:c22:a46a:b400:3c0d:995b:be0c:192)
2020-10-19 18:29:05 +0200 <maerwald> parser should just be as permissive as possible
2020-10-19 18:29:23 +0200 <geekosaur> with C that's asking for trouble
2020-10-19 18:33:39 +0200avdb(~avdb@ip-81-11-153-13.dsl.scarlet.be) (Quit: WeeChat 2.9)
2020-10-19 18:34:12 +0200cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
2020-10-19 18:34:16 +0200fryguybob(~fryguybob@cpe-74-65-31-113.rochester.res.rr.com) (Ping timeout: 246 seconds)
2020-10-19 18:34:24 +0200Rudd0^(~Rudd0@185.189.115.103)
2020-10-19 18:34:47 +0200fryguybob(~fryguybob@cpe-74-65-31-113.rochester.res.rr.com)
2020-10-19 18:34:47 +0200Tuplanolla(~Tuplanoll@91-159-68-239.elisa-laajakaista.fi)
2020-10-19 18:35:28 +0200knupfer(~Thunderbi@200116b82c450700b04e0fad57a920a0.dip.versatel-1u1.de) (Quit: knupfer)
2020-10-19 18:35:44 +0200knupfer(~Thunderbi@200116b82c4507009cfe51faaedaa54e.dip.versatel-1u1.de)
2020-10-19 18:36:52 +0200Rudd0(~Rudd0@185.189.115.103) (Ping timeout: 260 seconds)
2020-10-19 18:37:55 +0200Saukk(~Saukk@2001:998:f9:2914:1c59:9bb5:b94c:4) (Read error: Connection reset by peer)
2020-10-19 18:38:10 +0200GyroW_(~GyroW@unaffiliated/gyrow) (Quit: Someone ate my pie)
2020-10-19 18:38:15 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2020-10-19 18:38:26 +0200GyroW(~GyroW@d54C03E98.access.telenet.be)
2020-10-19 18:38:26 +0200GyroW(~GyroW@d54C03E98.access.telenet.be) (Changing host)
2020-10-19 18:38:26 +0200GyroW(~GyroW@unaffiliated/gyrow)
2020-10-19 18:40:52 +0200unlink2(~unlink2@p200300ebcf3c54001b9e8be0a8d0c9c4.dip0.t-ipconnect.de) (Remote host closed the connection)
2020-10-19 18:42:18 +0200unlink2(~unlink2@p200300ebcf3c54001b9e8be0a8d0c9c4.dip0.t-ipconnect.de)
2020-10-19 18:42:25 +0200 <phadej> alternative to c2hs is hsc2hs and a bit more manual code writing
2020-10-19 18:42:26 +0200vincenz(~chris@104-1-91-5.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2020-10-19 18:43:19 +0200xiinotulp(~q@ppp-27-55-89-163.revip3.asianet.co.th) (Quit: Leaving)
2020-10-19 18:44:50 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-19 18:51:04 +0200conal(~conal@64.71.133.70)
2020-10-19 18:52:05 +0200pjb(~t@2a01cb04063ec50021ccf25e922e3d24.ipv6.abo.wanadoo.fr)
2020-10-19 18:52:08 +0200Rudd0(~Rudd0@185.189.115.103)
2020-10-19 18:52:23 +0200nineonin_(~nineonine@216-19-190-182.dyn.novuscom.net) (Remote host closed the connection)
2020-10-19 18:52:44 +0200Rudd0^(~Rudd0@185.189.115.103) (Read error: Connection reset by peer)
2020-10-19 18:54:30 +0200whatisRT(~whatisRT@2002:5b41:6a33:0:c110:15ce:86aa:fc12)
2020-10-19 18:56:31 +0200kritzefitz(~kritzefit@212.86.56.80)
2020-10-19 19:03:00 +0200Pitaya(~mdomin45@cpe-24-211-129-187.nc.res.rr.com)
2020-10-19 19:03:03 +0200 <tomjaguarpaw> geekosaur: Turns out ghci does support what I was asking about: https://old.reddit.com/r/haskell/comments/jdhocz/how_to_have_the_executable_main_module_in_cabal/g…
2020-10-19 19:03:49 +0200Plantain(~mdomin45@cpe-24-211-129-187.nc.res.rr.com) (Ping timeout: 264 seconds)
2020-10-19 19:03:53 +0200nineonine(~nineonine@216.81.48.202)
2020-10-19 19:03:54 +0200 <tomjaguarpaw> I've no idea what those commands are doing, but they do the job.
2020-10-19 19:04:54 +0200raichoo(~raichoo@dslb-188-100-014-089.188.100.pools.vodafone-ip.de) (Ping timeout: 272 seconds)
2020-10-19 19:04:54 +0200natechan(~natechan@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 272 seconds)
2020-10-19 19:05:03 +0200texasmynsted(~texasmyns@104.140.53.131) ()
2020-10-19 19:05:59 +0200scratchy_beard(~doug@cpc110383-king13-2-0-cust408.19-1.cable.virginm.net) (Ping timeout: 260 seconds)
2020-10-19 19:06:10 +0200texasmynsted(~texasmyns@104.140.53.131)
2020-10-19 19:07:54 +0200DavidEichmann(~david@43.240.198.146.dyn.plus.net) (Remote host closed the connection)
2020-10-19 19:08:06 +0200DavidEichmann(~david@43.240.198.146.dyn.plus.net)
2020-10-19 19:09:17 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2020-10-19 19:10:07 +0200hiroaki(~hiroaki@ip4d176049.dynamic.kabel-deutschland.de) (Ping timeout: 256 seconds)
2020-10-19 19:14:58 +0200hackagebeam-core 0.9.0.0 - Type-safe, feature-complete SQL query and manipulation interface for Haskell https://hackage.haskell.org/package/beam-core-0.9.0.0 (TravisAthougies)
2020-10-19 19:18:20 +0200Iwawa(~mdomin45@cpe-24-211-129-187.nc.res.rr.com)
2020-10-19 19:18:25 +0200karanlikmadde(~karanlikm@2a01:c22:a46a:b400:3c0d:995b:be0c:192) (Quit: karanlikmadde)
2020-10-19 19:20:54 +0200GyroW_(~GyroW@d54c03e98.access.telenet.be)
2020-10-19 19:20:54 +0200GyroW_(~GyroW@d54c03e98.access.telenet.be) (Changing host)
2020-10-19 19:20:54 +0200GyroW_(~GyroW@unaffiliated/gyrow)
2020-10-19 19:21:10 +0200Pitaya(~mdomin45@cpe-24-211-129-187.nc.res.rr.com) (Ping timeout: 246 seconds)
2020-10-19 19:21:15 +0200Deide(~Deide@217.155.19.23)
2020-10-19 19:21:27 +0200GyroW(~GyroW@unaffiliated/gyrow) (Ping timeout: 256 seconds)
2020-10-19 19:21:53 +0200knupfer(~Thunderbi@200116b82c4507009cfe51faaedaa54e.dip.versatel-1u1.de) (Quit: knupfer)
2020-10-19 19:22:06 +0200knupfer(~Thunderbi@200116b82c4507004d9c0c1bde03d168.dip.versatel-1u1.de)
2020-10-19 19:22:18 +0200knupfer(~Thunderbi@200116b82c4507004d9c0c1bde03d168.dip.versatel-1u1.de) (Client Quit)
2020-10-19 19:22:26 +0200knupfer(~Thunderbi@200116b82c4507003c929677a4a4f463.dip.versatel-1u1.de)
2020-10-19 19:22:30 +0200knupfer(~Thunderbi@200116b82c4507003c929677a4a4f463.dip.versatel-1u1.de) (Client Quit)
2020-10-19 19:22:37 +0200knupfer(~Thunderbi@200116b82c45070060e9199eb654a3c8.dip.versatel-1u1.de)
2020-10-19 19:23:23 +0200knupfer1(~Thunderbi@200116b82c450700700b60411bd6353f.dip.versatel-1u1.de)
2020-10-19 19:23:23 +0200knupfer(~Thunderbi@200116b82c45070060e9199eb654a3c8.dip.versatel-1u1.de) (Read error: Connection reset by peer)
2020-10-19 19:23:24 +0200knupfer1knupfer
2020-10-19 19:23:31 +0200hiroaki(~hiroaki@ip4d176049.dynamic.kabel-deutschland.de)
2020-10-19 19:23:46 +0200knupfer(~Thunderbi@200116b82c450700700b60411bd6353f.dip.versatel-1u1.de) (Client Quit)
2020-10-19 19:23:58 +0200knupfer(~Thunderbi@200116b82c450700ac8964f2e53badab.dip.versatel-1u1.de)
2020-10-19 19:24:06 +0200knupfer(~Thunderbi@200116b82c450700ac8964f2e53badab.dip.versatel-1u1.de) (Read error: Connection reset by peer)
2020-10-19 19:24:12 +0200knupfer1(~Thunderbi@200116b82c45070010001c54df702dfc.dip.versatel-1u1.de)
2020-10-19 19:24:14 +0200knupfer1(~Thunderbi@200116b82c45070010001c54df702dfc.dip.versatel-1u1.de) (Read error: Connection reset by peer)
2020-10-19 19:24:21 +0200knupfer(~Thunderbi@200116b82c45070031c6e168d539c504.dip.versatel-1u1.de)
2020-10-19 19:24:26 +0200knupfer(~Thunderbi@200116b82c45070031c6e168d539c504.dip.versatel-1u1.de) (Client Quit)
2020-10-19 19:24:35 +0200knupfer(~Thunderbi@200116b82c4507007c3743ffaa7fe02c.dip.versatel-1u1.de)
2020-10-19 19:25:49 +0200conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2020-10-19 19:26:19 +0200alp(~alp@2a01:e0a:58b:4920:4588:d58a:a3b6:6aad) (Ping timeout: 272 seconds)
2020-10-19 19:26:31 +0200bartemius(~bartemius@109.252.19.142) (Remote host closed the connection)
2020-10-19 19:26:39 +0200mananamenos_(~mananamen@vpn238-7.vpns.upv.es)
2020-10-19 19:27:15 +0200concept2(~concept2@unaffiliated/tubo) (Read error: Connection reset by peer)
2020-10-19 19:27:20 +0200nyaomi(~naomi@cpe-74-75-6-125.maine.res.rr.com)
2020-10-19 19:27:35 +0200geekosaur(ac3a8c0b@172.58.140.11) (Ping timeout: 245 seconds)
2020-10-19 19:27:48 +0200concept2(~concept2@unaffiliated/tubo)
2020-10-19 19:28:25 +0200karanlikmadde(~karanlikm@2a01:c22:a46a:b400:3c0d:995b:be0c:192)
2020-10-19 19:29:58 +0200mananamenos(~mananamen@84.122.202.215.dyn.user.ono.com) (Ping timeout: 258 seconds)
2020-10-19 19:30:09 +0200christo(~chris@81.96.113.213)
2020-10-19 19:30:17 +0200invaser(~Thunderbi@31.148.23.125)
2020-10-19 19:30:54 +0200LKoen(~LKoen@81.255.219.130)
2020-10-19 19:31:48 +0200conal(~conal@64.71.133.70)
2020-10-19 19:33:16 +0200nyaomi(~naomi@cpe-74-75-6-125.maine.res.rr.com) (Ping timeout: 256 seconds)
2020-10-19 19:33:46 +0200cr3(~cr3@192-222-143-195.qc.cable.ebox.net) (Ping timeout: 246 seconds)
2020-10-19 19:34:28 +0200christo(~chris@81.96.113.213) (Ping timeout: 256 seconds)
2020-10-19 19:36:04 +0200conal_(~conal@66.115.157.31)
2020-10-19 19:36:17 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-19 19:36:17 +0200justsomeguy(~justsomeg@unaffiliated/--/x-3805311)
2020-10-19 19:37:25 +0200nyaomi(~naomi@cpe-74-75-6-125.maine.res.rr.com)
2020-10-19 19:38:28 +0200conal(~conal@64.71.133.70) (Ping timeout: 260 seconds)
2020-10-19 19:39:38 +0200conal(~conal@64.71.133.70)
2020-10-19 19:40:16 +0200sau(9d23f592@157.35.245.146)
2020-10-19 19:40:48 +0200conal_(~conal@66.115.157.31) (Ping timeout: 260 seconds)
2020-10-19 19:40:59 +0200sau(9d23f592@157.35.245.146) (Remote host closed the connection)
2020-10-19 19:42:02 +0200conal(~conal@64.71.133.70) (Read error: Connection reset by peer)
2020-10-19 19:43:07 +0200conal(~conal@64.71.133.70)
2020-10-19 19:43:51 +0200shatriff(~vitaliish@176.52.219.10) (Remote host closed the connection)
2020-10-19 19:44:27 +0200shatriff(~vitaliish@176.52.219.10)
2020-10-19 19:45:47 +0200Amras(~Amras@unaffiliated/amras0000)
2020-10-19 19:48:33 +0200refried_(~textual@209.6.41.245)
2020-10-19 19:48:44 +0200kenran(~maier@b2b-37-24-119-190.unitymedia.biz)
2020-10-19 19:49:37 +0200cr3(~cr3@192-222-143-195.qc.cable.ebox.net)
2020-10-19 19:53:25 +0200kenran(~maier@b2b-37-24-119-190.unitymedia.biz) (Ping timeout: 240 seconds)
2020-10-19 19:55:21 +0200whatisRT(~whatisRT@2002:5b41:6a33:0:c110:15ce:86aa:fc12) (Quit: ZNC 1.7.5 - https://znc.in)
2020-10-19 19:55:29 +0200Buntspecht(~user@unaffiliated/siracusa)
2020-10-19 19:58:28 +0200hackagebeam-migrate 0.5.0.0 - SQL DDL support and migrations support library for Beam https://hackage.haskell.org/package/beam-migrate-0.5.0.0 (TravisAthougies)
2020-10-19 19:58:30 +0200alp(~alp@2a01:e0a:58b:4920:dc5e:4bf0:c579:a0f6)
2020-10-19 19:59:09 +0200justanotheruser(~justanoth@unaffiliated/justanotheruser) (Ping timeout: 244 seconds)
2020-10-19 20:00:00 +0200Kaeipi(~Kaiepi@nwcsnbsc03w-47-55-225-82.dhcp-dynamic.fibreop.nb.bellaliant.net)
2020-10-19 20:00:00 +0200Kaiepi(~Kaiepi@nwcsnbsc03w-47-55-225-82.dhcp-dynamic.fibreop.nb.bellaliant.net) (Remote host closed the connection)
2020-10-19 20:00:01 +0200head_victim(~head_vict@178.162.209.171) ()
2020-10-19 20:01:23 +0200geekosaur(ac3a8c8f@172.58.140.143)
2020-10-19 20:02:24 +0200GyroW(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be)
2020-10-19 20:02:24 +0200GyroW(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) (Changing host)
2020-10-19 20:02:24 +0200GyroW(~GyroW@unaffiliated/gyrow)
2020-10-19 20:02:39 +0200isovector1(~isovector@172.103.216.166) (Remote host closed the connection)
2020-10-19 20:02:46 +0200jchia__(~jchia@45.32.62.73)
2020-10-19 20:03:05 +0200isovector1(~isovector@172.103.216.166)
2020-10-19 20:03:09 +0200GyroW_(~GyroW@unaffiliated/gyrow) (Ping timeout: 260 seconds)
2020-10-19 20:04:09 +0200jchia__(~jchia@45.32.62.73) (Remote host closed the connection)
2020-10-19 20:04:17 +0200gioyik(~gioyik@190.67.155.46)
2020-10-19 20:05:15 +0200jchia__(~jchia@45.32.62.73)
2020-10-19 20:06:29 +0200jchia__(~jchia@45.32.62.73) (Remote host closed the connection)
2020-10-19 20:06:45 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2020-10-19 20:06:50 +0200knupfer(~Thunderbi@200116b82c4507007c3743ffaa7fe02c.dip.versatel-1u1.de) (Quit: knupfer)
2020-10-19 20:06:58 +0200codygman(~codygman@47-184-107-46.dlls.tx.frontiernet.net) (Ping timeout: 272 seconds)
2020-10-19 20:06:58 +0200knupfer(~Thunderbi@200116b82c45070090f23a587263fd79.dip.versatel-1u1.de)
2020-10-19 20:07:30 +0200jchia__(~jchia@45.32.62.73)
2020-10-19 20:08:24 +0200justanotheruser(~justanoth@unaffiliated/justanotheruser)
2020-10-19 20:09:19 +0200codygman(~codygman@2600:380:f914:a1ca:eb25:85ee:c4a3:cd2e)
2020-10-19 20:10:02 +0200GyroW(~GyroW@unaffiliated/gyrow) (Quit: Someone ate my pie)
2020-10-19 20:10:12 +0200GyroW(~GyroW@d54C03E98.access.telenet.be)
2020-10-19 20:10:13 +0200GyroW(~GyroW@d54C03E98.access.telenet.be) (Changing host)
2020-10-19 20:10:13 +0200GyroW(~GyroW@unaffiliated/gyrow)
2020-10-19 20:10:43 +0200bifunc2(bifunc2@gateway/vpn/protonvpn/bifunc2)
2020-10-19 20:10:59 +0200dwt(~dwt@c-98-200-58-177.hsd1.tx.comcast.net) (Ping timeout: 258 seconds)
2020-10-19 20:11:15 +0200 <bifunc2> Is it considered bad practice to put an integration test into an HUnit testCase?
2020-10-19 20:11:37 +0200 <bifunc2> It works fine, but I'm asking because it's all in the name: HUnit (as in UNIT tests)
2020-10-19 20:11:52 +0200chaosmasttter(~chaosmast@p200300c4a709420174fc4dcad71adf36.dip0.t-ipconnect.de)
2020-10-19 20:12:48 +0200xerox_(~xerox@unaffiliated/xerox) (Read error: Connection reset by peer)
2020-10-19 20:13:34 +0200xerox_(~xerox@unaffiliated/xerox)
2020-10-19 20:13:54 +0200crestfallen(~jvw@135-180-15-188.fiber.dynamic.sonic.net)
2020-10-19 20:14:14 +0200codygman(~codygman@2600:380:f914:a1ca:eb25:85ee:c4a3:cd2e) (Read error: Connection reset by peer)
2020-10-19 20:14:32 +0200Stanley00(~stanley00@unaffiliated/stanley00)
2020-10-19 20:15:32 +0200jchia__(~jchia@45.32.62.73) (Remote host closed the connection)
2020-10-19 20:16:01 +0200codygman(~codygman@47-184-107-46.dlls.tx.frontiernet.net)
2020-10-19 20:16:08 +0200jchia__(~jchia@58.32.37.146)
2020-10-19 20:18:00 +0200geekosaur(ac3a8c8f@172.58.140.143) (Ping timeout: 245 seconds)
2020-10-19 20:18:21 +0200Kaeipi(~Kaiepi@nwcsnbsc03w-47-55-225-82.dhcp-dynamic.fibreop.nb.bellaliant.net) (Read error: Connection reset by peer)
2020-10-19 20:19:02 +0200Stanley00(~stanley00@unaffiliated/stanley00) (Ping timeout: 258 seconds)
2020-10-19 20:20:18 +0200fre(~freusque@104.238.190.229) (Quit: fre: znc bye)
2020-10-19 20:21:21 +0200 <fendor> bifunc2, I would not say so, but I would clearly declare what is an actual unit test and what is an integration test.
2020-10-19 20:21:57 +0200 <bifunc2> yeah I put it into a seperate "Integration. ..." module
2020-10-19 20:22:08 +0200justanotheruser(~justanoth@unaffiliated/justanotheruser) (Quit: WeeChat 2.9)
2020-10-19 20:23:06 +0200 <fendor> I think that is good enough
2020-10-19 20:23:39 +0200dwt(~dwt@c-98-200-58-177.hsd1.tx.comcast.net)
2020-10-19 20:23:41 +0200 <crestfallen> hi after setting -XTypeApplications I can get the types of pure @[] (*) and pure @[] ((*),(+)) , but I don't know what that is doing or how to use it: http://ix.io/2BhD
2020-10-19 20:23:42 +0200fre(~freusque@104.238.190.229)
2020-10-19 20:24:06 +0200ericsagnes(~ericsagne@2405:6580:0:5100:2827:63d8:269e:cab4) (Ping timeout: 246 seconds)
2020-10-19 20:24:29 +0200conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2020-10-19 20:24:33 +0200 <koz_> crestfallen: Are you asking 'what does TypeApplications do for me'?
2020-10-19 20:26:48 +0200 <crestfallen> koz_: that and a few things: what is this type doing with (*) and Num a => [a -> a -> a], if that is a single entry list? How would you use that?
2020-10-19 20:27:12 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-19 20:27:35 +0200 <crestfallen> and the other entry there, pure @[] ((*),(+))
2020-10-19 20:28:34 +0200conal(~conal@64.71.133.70)
2020-10-19 20:28:57 +0200bifunc2(bifunc2@gateway/vpn/protonvpn/bifunc2) (Remote host closed the connection)
2020-10-19 20:29:27 +0200 <crestfallen> yeah I don't get this type either (I assume it is also a single item list) : [(a1 -> a1 -> a1, a2 -> a2 -> a2)]
2020-10-19 20:30:16 +0200 <koz_> A type doesn't specify how many items the list has.
2020-10-19 20:30:19 +0200 <koz_> :t (*)
2020-10-19 20:30:20 +0200 <lambdabot> Num a => a -> a -> a
2020-10-19 20:30:25 +0200 <koz_> :t (+)
2020-10-19 20:30:27 +0200 <lambdabot> Num a => a -> a -> a
2020-10-19 20:30:46 +0200 <koz_> You're applying pure, specialized to produce lists, to a pair of functions of type a -> a -> a.
2020-10-19 20:31:01 +0200 <koz_> Therefore, you get something of type 'I am a list of pairs of functions of type a -> a -> a.
2020-10-19 20:31:03 +0200 <koz_> '.
2020-10-19 20:31:11 +0200geekosaur(ac3a8c68@172.58.140.104)
2020-10-19 20:31:18 +0200 <koz_> You're mixing type and value level again - don't do that.
2020-10-19 20:31:28 +0200hackagebeam-sqlite 0.5.0.0 - Beam driver for SQLite https://hackage.haskell.org/package/beam-sqlite-0.5.0.0 (TravisAthougies)
2020-10-19 20:32:04 +0200 <koz_> All TypeApplications lets you do is fill in yourself what you want a type variable to be.
2020-10-19 20:32:09 +0200 <koz_> If you look at pure:
2020-10-19 20:32:12 +0200 <koz_> :t pure
2020-10-19 20:32:13 +0200 <lambdabot> Applicative f => a -> f a
2020-10-19 20:32:23 +0200kupi(uid212005@gateway/web/irccloud.com/x-goqmfcjbcgptzitc) (Quit: Connection closed for inactivity)
2020-10-19 20:32:43 +0200 <koz_> This says: For _any_ Applicative whatsoever, if you give me a thing of type 'a', I will give you an Applicative full of 'a's.
2020-10-19 20:33:06 +0200 <koz_> Now, if you just write 'pure 10', you haven't said _what particular_ Applicative you want.
2020-10-19 20:33:22 +0200 <koz_> That could create [a], Maybe a, Proxy a, whatever.
2020-10-19 20:33:41 +0200 <koz_> So by saying 'pure @[] 10', you are saying 'I want a list _specifically_'.
2020-10-19 20:35:01 +0200 <crestfallen> what about with the arithmetic operators koz_ ? could you show me that in action?
2020-10-19 20:35:11 +0200 <koz_> crestfallen: Arithmetic operators are just functions./
2020-10-19 20:35:13 +0200karanlikmadde(~karanlikm@2a01:c22:a46a:b400:3c0d:995b:be0c:192) (Quit: karanlikmadde)
2020-10-19 20:35:16 +0200 <koz_> There's nothing special or magical about that.
2020-10-19 20:35:29 +0200 <koz_> You can have lists full of functions, Maybe functions, Proxies of functions, whatever.
2020-10-19 20:35:50 +0200 <crestfallen> I don't follow
2020-10-19 20:36:18 +0200 <crestfallen> the note there says ... :
2020-10-19 20:36:22 +0200 <koz_> What in particular about 'arithmetic operators' in this particular context throws you?
2020-10-19 20:36:31 +0200knupfer(~Thunderbi@200116b82c45070090f23a587263fd79.dip.versatel-1u1.de) (Quit: knupfer)
2020-10-19 20:36:38 +0200knupfer(~Thunderbi@200116b82c450700d1249839d4a442f4.dip.versatel-1u1.de)
2020-10-19 20:36:42 +0200ericsagnes(~ericsagne@2405:6580:0:5100:f9eb:6fb3:7fb3:c450)
2020-10-19 20:36:48 +0200 <crestfallen> it's not obvious just from the types here that @[] is a single item list
2020-10-19 20:36:56 +0200 <koz_> @[] is not a single-item anything.
2020-10-19 20:36:56 +0200 <lambdabot> Maybe you meant: wn v rc pl id do bf @ ? .
2020-10-19 20:37:12 +0200 <koz_> It's a type application, to fix a type variable to a specific type.
2020-10-19 20:37:22 +0200 <koz_> Stop. Mixing. Type. And. Value. Level.
2020-10-19 20:37:35 +0200 <koz_> pure for lists produces a single-item list.
2020-10-19 20:37:43 +0200 <koz_> This has nothing of any kind to do with type applications.
2020-10-19 20:37:44 +0200 <crestfallen> I'm not mixing anything
2020-10-19 20:38:36 +0200 <koz_> A statement like '@[] is a single item list' is _precisely_ mixing the type and value level. TypeApplications is about types. Single-item lists is about values.
2020-10-19 20:38:41 +0200 <crestfallen> I don't know what it means to have the ((*),(+)) ascribed to defining pure to work on a list
2020-10-19 20:38:54 +0200 <koz_> ((*), (+)) is a value.
2020-10-19 20:39:00 +0200 <koz_> It is, more specifically, a pair of functions.
2020-10-19 20:39:08 +0200bartemius(~bartemius@109-252-19-142.nat.spd-mgts.ru)
2020-10-19 20:39:11 +0200 <koz_> You could do 'pure ((*), (+))' just fine.
2020-10-19 20:39:14 +0200 <crestfallen> but those aren't my notes. that is from SO or someplace
2020-10-19 20:39:30 +0200 <koz_> crestfallen: Your reading of said notes is what I take issue with.
2020-10-19 20:39:39 +0200 <koz_> Let's clearly separate what's going on here.
2020-10-19 20:39:41 +0200 <monochrom> This is why I don't use SO.
2020-10-19 20:39:56 +0200 <koz_> Does the concept of ((+), (*)), on its own, make sense to you?
2020-10-19 20:39:57 +0200 <monochrom> I know first-hand that SO contains wrong answers.
2020-10-19 20:40:05 +0200 <koz_> Like, a pair of functions?
2020-10-19 20:40:26 +0200 <monochrom> Granted, the example I know is about C and stdio, not Haskell.
2020-10-19 20:40:27 +0200 <crestfallen> I'm only certain they are not my notes.
2020-10-19 20:40:45 +0200ystael(~ystael@209.6.50.55) (Ping timeout: 240 seconds)
2020-10-19 20:40:50 +0200 <koz_> monochrom: C has a lot of misconceptions about it everywhere. SO just amplifies this.
2020-10-19 20:41:01 +0200 <geekosaur> that doesn't necessarily mean (a) they are correct (b) you have understood them
2020-10-19 20:41:24 +0200 <monochrom> heh
2020-10-19 20:41:30 +0200 <koz_> And in this case, from where I'm standing, it's an issue of (b).
2020-10-19 20:41:51 +0200 <monochrom> But this one is more about stdio than C. C is "involved" because stdio is a C library.
2020-10-19 20:42:36 +0200 <monochrom> So I gave this midterm question "how to detect whether stdin has hit EOF?" I have a lecture slide that has the answer very visiblly.
2020-10-19 20:43:01 +0200 <monochrom> My students decided to look up SO instead. This being COVID online exam and all.
2020-10-19 20:43:04 +0200knupfer(~Thunderbi@200116b82c450700d1249839d4a442f4.dip.versatel-1u1.de) (Ping timeout: 244 seconds)
2020-10-19 20:43:29 +0200 <monochrom> The SO answer is "fseek to end, ask ftell if the offset is 0"
2020-10-19 20:44:10 +0200 <geekosaur> "…not even wrong…"
2020-10-19 20:45:10 +0200 <hyperisco> well I just implemented that as (hGetChar hout $> True) `catchIOError` \_ → pure False so I hope I'm right lol
2020-10-19 20:45:34 +0200 <monochrom> I think Haskell's hIsEOF does that for you.
2020-10-19 20:46:12 +0200 <crestfallen> koz_: I'd appreciate some review re: " Does the concept of ((+), (*)), on its own, make sense to you?
2020-10-19 20:46:21 +0200 <hyperisco> ah I guess slightly different… I also want to discard everything
2020-10-19 20:46:31 +0200 <hyperisco> I am doing that in a loop until False
2020-10-19 20:46:43 +0200 <koz_> OK, so, are you OK with, say (1, "foo") as a value?
2020-10-19 20:46:57 +0200 <crestfallen> sure
2020-10-19 20:47:10 +0200 <monochrom> But please don't put the catch-and-handler inside the loop. Put that outside.
2020-10-19 20:47:49 +0200 <hyperisco> I see what you're saying but I've removed exceptions from my control-flow thinking lol
2020-10-19 20:48:01 +0200AceNovo(~chris@184.101.162.142)
2020-10-19 20:50:50 +0200bifunc2(bifunc2@gateway/vpn/protonvpn/bifunc2)
2020-10-19 20:50:57 +0200 <bifunc2> fendor thanks :)
2020-10-19 20:51:01 +0200 <koz_> crestfallen: What is the type of (1, "foo")?
2020-10-19 20:51:18 +0200recon_-(~quassel@208.87.96.9) (Ping timeout: 272 seconds)
2020-10-19 20:51:42 +0200gioyik(~gioyik@190.67.155.46) (Ping timeout: 256 seconds)
2020-10-19 20:51:56 +0200bifunc2(bifunc2@gateway/vpn/protonvpn/bifunc2) (Client Quit)
2020-10-19 20:52:09 +0200 <hyperisco> forever (hGetChar hout) `catchIOError` mempty -- für monochrom
2020-10-19 20:52:21 +0200 <monochrom> Yeah
2020-10-19 20:52:48 +0200 <crestfallen> (1, "foo") :: Num a => (a, [Char])
2020-10-19 20:52:49 +0200son0p(~son0p@181.136.122.143)
2020-10-19 20:53:16 +0200 <koz_> OK. Now, what's the type of (+) and the type of (*)?
2020-10-19 20:53:28 +0200 <hyperisco> in some languages (like JS I think) there is no operational cost to try/catch unless an exception is actually caught
2020-10-19 20:53:40 +0200Franciman(~francesco@host-82-48-166-25.retail.telecomitalia.it) (Quit: Leaving)
2020-10-19 20:54:07 +0200 <hyperisco> so I guess the only other reason is removing the redundancy by accepting exceptional control flow
2020-10-19 20:54:29 +0200s00pcan(~chris@075-133-056-178.res.spectrum.com) (Ping timeout: 260 seconds)
2020-10-19 20:54:41 +0200 <crestfallen> I see where it's going. pure @[] is ascribing List to the type of (a1 -> a1 -> a1, a2 -> a2 -> a2) , giving us ...
2020-10-19 20:54:51 +0200 <crestfallen> [(a1 -> a1 -> a1, a2 -> a2 -> a2]
2020-10-19 20:55:20 +0200 <crestfallen> oops
2020-10-19 20:55:33 +0200 <crestfallen> [(a1 -> a1 -> a1, a2 -> a2 -> a2)]
2020-10-19 20:56:19 +0200s00pcan(~chris@107.181.165.217)
2020-10-19 20:56:22 +0200 <monochrom> Err nevermind, you're right, this one doesn't matter.
2020-10-19 20:56:43 +0200lep-delete(~lep@94.31.83.149)
2020-10-19 20:56:54 +0200 <monochrom> I wrongly had in mind "p = ... `catch` (\x -> ... p)"
2020-10-19 20:57:42 +0200Lord_of_Life_(~Lord@46.217.196.111)
2020-10-19 20:57:50 +0200ephemera_(~E@122.34.1.187) (Remote host closed the connection)
2020-10-19 20:58:01 +0200bartemius(~bartemius@109-252-19-142.nat.spd-mgts.ru) (Remote host closed the connection)
2020-10-19 20:58:06 +0200 <crestfallen> so the exercise is to set that up in ghci. so koz_ could you show me how that would play out in a ghci session? (If I'm correct to this point :))
2020-10-19 20:58:16 +0200kritzefitz(~kritzefit@212.86.56.80) (Ping timeout: 272 seconds)
2020-10-19 20:58:25 +0200Lord_of_Life(~Lord@unaffiliated/lord-of-life/x-0885362) (Ping timeout: 240 seconds)
2020-10-19 20:59:12 +0200ephemera_(~E@122.34.1.187)
2020-10-19 20:59:29 +0200 <__monty__> crestfallen: Are you really asking for someone to enter something in a repl, which you could easily do yourself?
2020-10-19 20:59:37 +0200knupfer(~Thunderbi@200116b82c450700441c7c862ee5eb73.dip.versatel-1u1.de)
2020-10-19 20:59:55 +0200Lord_of_Life_Lord_of_Life
2020-10-19 21:01:58 +0200 <__monty__> monochrom: I can't actually find an SO question that has that among the answers, they're all "use feof."
2020-10-19 21:02:38 +0200berberman(~berberman@unaffiliated/berberman) (Ping timeout: 260 seconds)
2020-10-19 21:03:23 +0200 <monochrom> OK, I worded my question wrong. A more correct wording is "stdin is empty" as in if you try to read in the future you'll get EOF.
2020-10-19 21:03:28 +0200berberman(~berberman@unaffiliated/berberman)
2020-10-19 21:04:11 +0200 <monochrom> and I have the SO link my TA found when my TA marked that question, I'm finding the email now
2020-10-19 21:04:34 +0200 <crestfallen> __monty__: the exercise , wherever it came from, only shows the types, as I have it in the paste. not sure where to go from here.
2020-10-19 21:04:53 +0200 <geekosaur> :t well, that makes a little more sense then
2020-10-19 21:04:55 +0200 <lambdabot> error: parse error on input ‘,’
2020-10-19 21:05:02 +0200 <geekosaur> where did that :t come from
2020-10-19 21:05:31 +0200 <monochrom> https://stackoverflow.com/questions/36428098/c-how-to-check-if-my-input-bufferstdin-is-empty?rq=1
2020-10-19 21:07:51 +0200lep-deleteGuest88073
2020-10-19 21:08:01 +0200mananamenos_(~mananamen@vpn238-7.vpns.upv.es) (Ping timeout: 264 seconds)
2020-10-19 21:08:34 +0200cosimone(~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd)
2020-10-19 21:08:51 +0200ystael(~ystael@168.sub-174-196-209.myvzw.com)
2020-10-19 21:08:58 +0200 <crestfallen> I was trying to review pure, what it did, and this was in my notes. I understand what it is doing in this case :
2020-10-19 21:09:02 +0200 <crestfallen> λ> Just ((:) 4) <*> (pure [])
2020-10-19 21:09:02 +0200invaser(~Thunderbi@31.148.23.125) (Ping timeout: 256 seconds)
2020-10-19 21:09:21 +0200cosimone(~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd) (Client Quit)
2020-10-19 21:10:36 +0200 <crestfallen> but not the stuff about @[], how it is used
2020-10-19 21:11:06 +0200conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2020-10-19 21:11:19 +0200gioyik(~gioyik@190.67.155.46)
2020-10-19 21:12:05 +0200alp(~alp@2a01:e0a:58b:4920:dc5e:4bf0:c579:a0f6) (Ping timeout: 272 seconds)
2020-10-19 21:12:13 +0200 <hyperisco> SO is like Wikipedia with less sources
2020-10-19 21:12:43 +0200mirrorbird(~psutcliff@2a00:801:42b:7891:16b1:e53f:55b2:15e1) (Ping timeout: 272 seconds)
2020-10-19 21:12:48 +0200 <hyperisco> SO is like if Wikipedia was a concatenation of opinions
2020-10-19 21:13:26 +0200 <crestfallen> why would you set pure @[] beforehand, if you could use pure like this? :
2020-10-19 21:13:27 +0200ystael(~ystael@168.sub-174-196-209.myvzw.com) (Read error: Connection reset by peer)
2020-10-19 21:13:29 +0200 <crestfallen> λ> Just ((:) 4) <*> (pure [])
2020-10-19 21:13:49 +0200 <crestfallen> doesn't that do the same lifting?
2020-10-19 21:14:35 +0200 <geekosaur> because in this case it can infer which Applicative to use
2020-10-19 21:15:07 +0200 <geekosaur> @[] is for when it otherwise couldn't
2020-10-19 21:15:08 +0200 <lambdabot> Maybe you meant: wn v rc pl id do bf @ ? .
2020-10-19 21:15:10 +0200 <hyperisco> crestfallen, did you realise that @[] is not a value and not an empty list?
2020-10-19 21:15:17 +0200cosimone(~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd)
2020-10-19 21:16:11 +0200recon_-(~quassel@2602:febc:0:b6::6ca2)
2020-10-19 21:16:22 +0200 <crestfallen> thanks all, yeah hyperisco it is a setting, so ghci knows what f you want pure to indicate
2020-10-19 21:16:32 +0200 <crestfallen> indicate? word choice
2020-10-19 21:17:49 +0200 <hyperisco> if you like, all types are passed as parameters, but normally they are passed implicitly by the compiler
2020-10-19 21:18:06 +0200conal(~conal@64.71.133.70)
2020-10-19 21:18:22 +0200 <hyperisco> if you want to pass a type explicitly, you can use TypeApplications to do so
2020-10-19 21:18:34 +0200ystael(~ystael@168.sub-174-196-209.myvzw.com)
2020-10-19 21:19:02 +0200 <crestfallen> ok yeah so if you set it, and wanted to write a full expression, what would the (shortened) expression look like?
2020-10-19 21:19:24 +0200 <crestfallen> I'm assuming it is a more terse expression
2020-10-19 21:19:26 +0200 <hyperisco> I am not sure what you are asking for
2020-10-19 21:20:18 +0200Lycurgus(~niemand@98.4.96.235)
2020-10-19 21:20:29 +0200 <crestfallen> Like instead of using Just ((:) 2) <*> (pure [])
2020-10-19 21:21:02 +0200knupfer(~Thunderbi@200116b82c450700441c7c862ee5eb73.dip.versatel-1u1.de) (Quit: knupfer)
2020-10-19 21:21:07 +0200 <crestfallen> if it were to be already set, could you have a shorter expression?
2020-10-19 21:21:20 +0200knupfer(~Thunderbi@200116b82c45070071699ce90995afec.dip.versatel-1u1.de)
2020-10-19 21:21:26 +0200knupfer(~Thunderbi@200116b82c45070071699ce90995afec.dip.versatel-1u1.de) (Client Quit)
2020-10-19 21:21:39 +0200knupfer(~Thunderbi@200116b82c4507006c8b8e4546ef723c.dip.versatel-1u1.de)
2020-10-19 21:21:39 +0200knupfer(~Thunderbi@200116b82c4507006c8b8e4546ef723c.dip.versatel-1u1.de) (Client Quit)
2020-10-19 21:21:58 +0200 <geekosaur> if you had one where it could be inferred
2020-10-19 21:22:21 +0200 <geekosaur> have you tried asking ghci the type of the expression with and without the @[] ?
2020-10-19 21:22:24 +0200 <hyperisco> types can be inferred, values cannot be (if we ignore ImplicitParams)
2020-10-19 21:22:27 +0200knupfer(~Thunderbi@200116b82c450700f42c1c1a4887d4fe.dip.versatel-1u1.de)
2020-10-19 21:22:27 +0200knupfer(~Thunderbi@200116b82c450700f42c1c1a4887d4fe.dip.versatel-1u1.de) (Client Quit)
2020-10-19 21:22:43 +0200recon_-(~quassel@2602:febc:0:b6::6ca2) (Remote host closed the connection)
2020-10-19 21:23:17 +0200knupfer(~Thunderbi@200116b82c450700018f4d4b438b9de8.dip.versatel-1u1.de)
2020-10-19 21:23:17 +0200knupfer(~Thunderbi@200116b82c450700018f4d4b438b9de8.dip.versatel-1u1.de) (Client Quit)
2020-10-19 21:23:28 +0200knupfer(~Thunderbi@200116b82c450700a035f643f76eb1ae.dip.versatel-1u1.de)
2020-10-19 21:23:32 +0200 <crestfallen> let me try that thanks geekosaur
2020-10-19 21:23:33 +0200knupfer(~Thunderbi@200116b82c450700a035f643f76eb1ae.dip.versatel-1u1.de) (Read error: Connection reset by peer)
2020-10-19 21:23:33 +0200 <hyperisco> you can golf your code there but it isn't going to be helped by a type application
2020-10-19 21:23:38 +0200coot_(~coot@37.30.52.239.nat.umts.dynamic.t-mobile.pl)
2020-10-19 21:23:43 +0200knupfer(~Thunderbi@200116b82c4507005d2376b981a68d64.dip.versatel-1u1.de)
2020-10-19 21:23:51 +0200recon_-(~quassel@2602:febc:0:b6::6ca2)
2020-10-19 21:23:52 +0200 <crestfallen> thanks one moment
2020-10-19 21:24:45 +0200coot(~coot@37.30.52.68.nat.umts.dynamic.t-mobile.pl) (Ping timeout: 240 seconds)
2020-10-19 21:24:45 +0200coot_coot
2020-10-19 21:25:37 +0200ggainey(~ggainey@185.204.1.185)
2020-10-19 21:25:50 +0200 <hyperisco> going on a tangent… you need more sophisticated types than Haskell has (conveniently) on offer to have useful value inference
2020-10-19 21:26:36 +0200geowiesnot(~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 256 seconds)
2020-10-19 21:26:37 +0200tomboy64(~tomboy64@gateway/tor-sasl/tomboy64) (Remote host closed the connection)
2020-10-19 21:26:48 +0200 <monochrom> You know how people prefer following tangents than following direct relevant productive answers.
2020-10-19 21:27:17 +0200sfvm(~sfvm@37.228.215.148)
2020-10-19 21:27:25 +0200AceNovo(~chris@184.101.162.142) (Remote host closed the connection)
2020-10-19 21:28:04 +0200 <monochrom> The excitement of maximizing mysterious, uncertainty, adventures, and procrastinating actually solving the problem at hand.
2020-10-19 21:28:09 +0200 <hyperisco> well I am not sure what the thinking is, but if it is wondering why we have to still state values when the type is already known, it is a relevant point
2020-10-19 21:28:41 +0200 <monochrom> No, the question is why or when to state types.
2020-10-19 21:28:51 +0200 <hyperisco> there is no reason to assume Haskell's asymmetry of values and types if you have a fresh perspective
2020-10-19 21:29:39 +0200 <monochrom> phrased very unclearly, but it is still asking about when to omit types
2020-10-19 21:29:59 +0200 <monochrom> or when to legally omit types
2020-10-19 21:30:32 +0200ystael(~ystael@168.sub-174-196-209.myvzw.com) (Read error: Connection reset by peer)
2020-10-19 21:30:47 +0200thir(~thir@p200300f27f0b040039cda3b6fce8e5af.dip0.t-ipconnect.de)
2020-10-19 21:32:07 +0200conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2020-10-19 21:33:43 +0200tomboy64(~tomboy64@gateway/tor-sasl/tomboy64)
2020-10-19 21:33:54 +0200conal(~conal@64.71.133.70)
2020-10-19 21:35:54 +0200Pitaya(~mdomin45@cpe-24-211-129-187.nc.res.rr.com)
2020-10-19 21:36:22 +0200nineonine(~nineonine@216.81.48.202) (Remote host closed the connection)
2020-10-19 21:36:44 +0200 <crestfallen> very sorry, I don't know how to set @[] so the inference is known by ghci if pure is used
2020-10-19 21:37:30 +0200 <hyperisco> :t pure @[] -- what does ghci tell you when you do this?
2020-10-19 21:37:31 +0200 <lambdabot> error:
2020-10-19 21:37:32 +0200 <lambdabot> Pattern syntax in expression context: pure@[]
2020-10-19 21:37:32 +0200 <lambdabot> Did you mean to enable TypeApplications?
2020-10-19 21:37:46 +0200 <hyperisco> if it says that then you need to :set -XTypeApplications
2020-10-19 21:38:38 +0200 <crestfallen> that I get: it's a -> [a], which is a -> f a
2020-10-19 21:39:06 +0200 <hyperisco> those are not the same type
2020-10-19 21:39:06 +0200 <koz_> Do Vectors have something like itraverse?
2020-10-19 21:39:09 +0200Iwawa(~mdomin45@cpe-24-211-129-187.nc.res.rr.com) (Ping timeout: 258 seconds)
2020-10-19 21:39:24 +0200 <koz_> Like, something of type (Applicative f) => (Int -> a -> f b) -> Vector a -> f (Vector b)
2020-10-19 21:39:42 +0200 <crestfallen> sorry I meant pure :: Applicative f => a -> f a
2020-10-19 21:39:55 +0200 <crestfallen> the f is []
2020-10-19 21:40:18 +0200 <hyperisco> what is the problem?
2020-10-19 21:40:40 +0200 <hyperisco> are we having a confusion of variable scope
2020-10-19 21:41:06 +0200 <crestfallen> well I also read where ghci defaults to the f being IO or something
2020-10-19 21:41:09 +0200 <hyperisco> every use of pure has its own f
2020-10-19 21:41:21 +0200p-core(~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515)
2020-10-19 21:41:34 +0200 <hyperisco> in Haskell source you're used to seeing type variables not explicitly bound
2020-10-19 21:41:40 +0200 <hyperisco> pure :: Applicative f => a -> f a
2020-10-19 21:41:49 +0200 <hyperisco> what this means though is pure :: forall f a. Applicative f => a -> f a
2020-10-19 21:42:02 +0200 <hyperisco> every use of pure has its own f and a variables, they are bound by it
2020-10-19 21:42:19 +0200 <solonarv> koz_: if nothing else, lens has a typeclass for that indexed traversal and Vector is certainly an instance of it
2020-10-19 21:42:31 +0200 <hyperisco> :t (pure @[], pure @Maybe) -- for example
2020-10-19 21:42:32 +0200 <lambdabot> error:
2020-10-19 21:42:32 +0200 <lambdabot> Pattern syntax in expression context: pure@[]
2020-10-19 21:42:32 +0200 <lambdabot> Did you mean to enable TypeApplications?
2020-10-19 21:42:44 +0200kuribas(~user@ptr-25vy0i8tnjeny9qrt7n.18120a2.ip6.access.telenet.be) (Quit: ERC (IRC client for Emacs 26.3))
2020-10-19 21:42:55 +0200 <crestfallen> very sorry hyperisco but what about where we have the ((*),(+)). that is also part of what is being ascribed?
2020-10-19 21:43:06 +0200 <solonarv> koz_: oh! there is Data.Vector.imapM if you're okay with a Monad constraint rather than Applicativ
2020-10-19 21:43:16 +0200 <hyperisco> I don't know the discussion about that
2020-10-19 21:43:18 +0200nineonine(~nineonine@216-19-190-182.dyn.novuscom.net)
2020-10-19 21:43:31 +0200nineonine(~nineonine@216-19-190-182.dyn.novuscom.net) (Read error: Connection reset by peer)
2020-10-19 21:43:43 +0200nineonine(~nineonine@216-19-190-182.dyn.novuscom.net)
2020-10-19 21:44:04 +0200 <crestfallen> hyperisco: it's here, thanks http://ix.io/2BhD
2020-10-19 21:44:15 +0200 <koz_> solo
2020-10-19 21:44:21 +0200 <koz_> solonarv: That's fine.
2020-10-19 21:44:22 +0200 <hyperisco> saying pure @[] is like saying subtract 3 … you wouldn't expect that because you use subtract 3 once that everywhere then on that the first argument to subtract is set to 3
2020-10-19 21:44:46 +0200 <hyperisco> so is the same for pure @[] it isn't the case that f is set to [] then on for every use of pure, it only applies to the one use of pure
2020-10-19 21:46:36 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2020-10-19 21:47:04 +0200nineonine(~nineonine@216-19-190-182.dyn.novuscom.net) (Remote host closed the connection)
2020-10-19 21:47:41 +0200nineonine(~nineonine@50.216.62.2)
2020-10-19 21:49:16 +0200 <hyperisco> I am not aware of ghci making special inferences for IO. I am only aware of ghci executing an IO value if you give it one and Show the result, rather than trying to Show the IO value
2020-10-19 21:49:32 +0200kenran(~maier@b2b-37-24-119-190.unitymedia.biz)
2020-10-19 21:50:19 +0200 <crestfallen> hyperisco: how is that different from : λ> Just ((:) 4) <*> (pure [])
2020-10-19 21:50:31 +0200 <hyperisco> what am I comparing to?
2020-10-19 21:50:34 +0200 <geekosaur> the rule IIRC is that if it's given an expression of type (Monad m, Show a) => m a, it instantiates m as IO
2020-10-19 21:50:52 +0200 <hyperisco> is that ghci particularly or is that a default?
2020-10-19 21:51:00 +0200 <geekosaur> ghci specifically
2020-10-19 21:51:13 +0200 <hyperisco> okay
2020-10-19 21:51:21 +0200gattytto(b33e397e@179.62.57.126)
2020-10-19 21:51:29 +0200 <hyperisco> > pure 3
2020-10-19 21:51:31 +0200 <lambdabot> error:
2020-10-19 21:51:31 +0200 <lambdabot> • Ambiguous type variable ‘f0’ arising from a use of ‘show_M791473534142...
2020-10-19 21:51:31 +0200 <lambdabot> prevents the constraint ‘(Show (f0 Integer))’ from being solved.
2020-10-19 21:51:46 +0200 <hyperisco> maybe not lambdabot, though I thought it was based on ghci
2020-10-19 21:51:53 +0200scratchy_beard(~doug@cpc110383-king13-2-0-cust408.19-1.cable.virginm.net)
2020-10-19 21:52:05 +0200 <geekosaur> > return 3
2020-10-19 21:52:08 +0200 <lambdabot> error:
2020-10-19 21:52:08 +0200 <lambdabot> • Ambiguous type variable ‘m0’ arising from a use of ‘show_M686074374140...
2020-10-19 21:52:08 +0200 <lambdabot> prevents the constraint ‘(Show (m0 Integer))’ from being solved.
2020-10-19 21:52:14 +0200 <hyperisco> works from the CLI though
2020-10-19 21:52:14 +0200 <monochrom> Try yahb, real ghci
2020-10-19 21:52:19 +0200 <gattytto> hello!
2020-10-19 21:52:27 +0200 <geekosaur> yeh, llambdabot is not ghci
2020-10-19 21:52:32 +0200 <monochrom> lambdabot is more like hint
2020-10-19 21:52:42 +0200 <geekosaur> % return 3
2020-10-19 21:52:42 +0200 <yahb> geekosaur: ; <interactive>:86:8: warning: [-Wtype-defaults]; * Defaulting the following constraints to type `Integer'; (Num a0) arising from the literal `3' at <interactive>:86:8; (Show a0) arising from a use of `print' at <interactive>:86:1-8; * In the first argument of `return', namely `3'; In the first argument of `GHC.GHCi.ghciStepIO :: forall a. IO a -> IO a', namely `(return 3)'
2020-10-19 21:52:44 +0200 <monochrom> err no, not hint, mueval
2020-10-19 21:52:46 +0200DataComputist(~lumeng@static-50-43-26-251.bvtn.or.frontiernet.net)
2020-10-19 21:53:06 +0200 <gattytto> I came to tell you all that Haskell is now officially part of Eclipse Che cloud-native WEB IDE :D in 3 versions: 8.8.4, 8.10.1 and 8.10.2
2020-10-19 21:53:24 +0200 <hyperisco> \o/
2020-10-19 21:53:49 +0200 <gattytto> I'm also here to ask for demo projects for all those 3 versions that can be useful for newbies to the haskell
2020-10-19 21:53:52 +0200 <monochrom> I like Eclipse but I don't want the inefficiency implied by "cloud" and "web".
2020-10-19 21:54:02 +0200 <gattytto> because my search got me quite outdated ones
2020-10-19 21:54:34 +0200kenran(~maier@b2b-37-24-119-190.unitymedia.biz) (Ping timeout: 260 seconds)
2020-10-19 21:54:38 +0200 <crestfallen> hyperisco: seriously should I delete this "lesson" that I got somewhere online? http://ix.io/2BhD
2020-10-19 21:54:47 +0200 <hyperisco> I am speculating it is based on wasm
2020-10-19 21:54:56 +0200 <geekosaur> anyway it works in yahb, and specifically requires Monad not Applicative
2020-10-19 21:55:03 +0200 <gattytto> monochrom cloud means that all the haskell stuff resides in a docker sidecar with about 3GB's of mem and web means all the "ide" related stuff is rendered (not executed) within the browser's scope
2020-10-19 21:55:40 +0200 <monochrom> You are confirming said inefficiency.
2020-10-19 21:55:51 +0200Varis(~Tadas@unaffiliated/varis)
2020-10-19 21:56:03 +0200 <geekosaur> monochrom, may I remind you of the dancing bear?
2020-10-19 21:56:10 +0200 <crestfallen> should I forget about @[] and just be happy that it is explicit rather than inferred by ghci?
2020-10-19 21:56:12 +0200 <hyperisco> crestfallen, I don't read anything wrong with it, though it is a bit threadbare for a beginner
2020-10-19 21:56:20 +0200 <monochrom> What is dancing bear?
2020-10-19 21:56:33 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-19 21:56:44 +0200 <gattytto> it runs quite nice in a 1GB ram tablet monochrom
2020-10-19 21:56:49 +0200 <geekosaur> "the amazing thing about a dancing bear is not how gracefully it dances, but that it dances at all"
2020-10-19 21:56:57 +0200 <monochrom> haha
2020-10-19 21:57:19 +0200 <crestfallen> yeah thanks hyperisco I made the notes from something online I didn't understand initially. so it turned out threadbare :)
2020-10-19 21:57:23 +0200 <hyperisco> crestfallen, what are you trying to learn from it?
2020-10-19 21:57:34 +0200 <gattytto> now I'm looking for nice and noob ready examples to include in the ide, could you give me some ideas / links?
2020-10-19 21:58:11 +0200 <hyperisco> oh these are your notes? well I don't read anything wrong with your notes… not sure what the issue is
2020-10-19 21:58:18 +0200 <monochrom> I suppose I do support programmers limiting themselves to tablets.
2020-10-19 21:58:28 +0200Varis(~Tadas@unaffiliated/varis) (Client Quit)
2020-10-19 21:58:33 +0200 <hyperisco> possibly we're getting hung up on terminology
2020-10-19 21:58:47 +0200 <crestfallen> hyperisco: every step .. beginning with > :set -XTypeApplications in ghci,
2020-10-19 21:58:56 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2020-10-19 21:59:13 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-19 21:59:15 +0200Tene(~tene@poipu/supporter/slacker/tene)
2020-10-19 21:59:47 +0200 <hyperisco> can you ask the question again because I think I'm lost
2020-10-19 21:59:48 +0200takuan(~takuan@178-116-218-225.access.telenet.be)
2020-10-19 21:59:53 +0200Varis(~Tadas@unaffiliated/varis)
2020-10-19 21:59:57 +0200shatriff(~vitaliish@176.52.219.10) (Remote host closed the connection)
2020-10-19 22:00:09 +0200shatriff(~vitaliish@176.52.219.10)
2020-10-19 22:00:13 +0200kish(~oracle@unaffiliated/oracle) (Remote host closed the connection)
2020-10-19 22:00:39 +0200Varis(~Tadas@unaffiliated/varis) (Client Quit)
2020-10-19 22:01:19 +0200 <monochrom> You know, question asking is a monadic art. Your next question depends heavily on the answer you get for the previous question.
2020-10-19 22:01:33 +0200fre(~freusque@104.238.190.229) (Quit: fre: znc bye)
2020-10-19 22:01:41 +0200 <geekosaur> monochrom, a tablet would be a step up from what I'm currently running on. Except this has a real keyboard fsvo.
2020-10-19 22:01:44 +0200 <crestfallen> hyperisco: if you could show it to me in a yahb session, like loading the thing and writing and expression after you've set (and please show me how) pure @[] ((*),(+)) or similar
2020-10-19 22:01:52 +0200geowiesnot(~user@87-89-181-157.abo.bbox.fr)
2020-10-19 22:01:58 +0200 <crestfallen> writing *an expression
2020-10-19 22:02:05 +0200 <monochrom> adding a keyboard is OK
2020-10-19 22:02:08 +0200 <gattytto> geekosaur my POC is a tablet insterted in a bluetooth keyboard that includes a mousemad
2020-10-19 22:02:14 +0200 <gattytto> mousepad*
2020-10-19 22:02:25 +0200 <hyperisco> crestfallen, do you have the Haskell Platform installed? or can you otherwise run ghci?
2020-10-19 22:02:27 +0200fre(~freusque@104.238.190.229)
2020-10-19 22:02:37 +0200 <crestfallen> yeah
2020-10-19 22:02:37 +0200 <monochrom> I'm going for the 5-inch screen so programmers don't just assume "users have 40-inch 4K screens"
2020-10-19 22:02:44 +0200Varis(~Tadas@unaffiliated/varis)
2020-10-19 22:02:54 +0200 <hyperisco> crestfallen, okay, then first you run the command ghci to start it
2020-10-19 22:03:03 +0200 <crestfallen> thanks!
2020-10-19 22:03:17 +0200 <crestfallen> :)
2020-10-19 22:03:21 +0200 <hyperisco> that will bring you to a prompt, and there you can type in whatever expression you want
2020-10-19 22:04:02 +0200 <hyperisco> also ghci commands like :t, :set, :help, etc, and statements like import Data.List
2020-10-19 22:04:07 +0200 <monochrom> Wait what are you running on such that it is a step down from even a tablet? VT100?
2020-10-19 22:04:21 +0200 <crestfallen> the only thing I know how to do is to check the types , as in that paste
2020-10-19 22:04:22 +0200 <monochrom> 300 baud modem? :)
2020-10-19 22:04:26 +0200 <crestfallen> hyperisco: ^
2020-10-19 22:04:35 +0200 <hyperisco> as you import things the prompt will become longer, but you can set it to whatever you want with :set prompt "λ> " for example
2020-10-19 22:05:12 +0200 <hyperisco> if you want to evaluate an expression you just put in the expression
2020-10-19 22:05:14 +0200 <hyperisco> > 1 + 2
2020-10-19 22:05:16 +0200 <lambdabot> 3
2020-10-19 22:05:38 +0200 <crestfallen> hyperisco: sorry we are not communicating. very sorry. I can use ghci
2020-10-19 22:05:44 +0200 <gattytto> or sum([1..10]) ?
2020-10-19 22:06:32 +0200 <hyperisco> okay, well, I am struggling to understand what question you are asking
2020-10-19 22:07:08 +0200rprije(~rprije@110-175-117-18.tpgi.com.au)
2020-10-19 22:07:19 +0200skami(~user@24.225.186.176)
2020-10-19 22:07:22 +0200knupfer(~Thunderbi@200116b82c4507005d2376b981a68d64.dip.versatel-1u1.de) (Ping timeout: 260 seconds)
2020-10-19 22:07:54 +0200 <crestfallen> ..> :t pure @[] ((*), (+)) what would you do with with this setting? hyperisco
2020-10-19 22:08:18 +0200 <hyperisco> that is a ghci command that asks what the type of pure @[] ((*), (+)) is
2020-10-19 22:08:58 +0200mirrorbird(~psutcliff@m83-187-163-53.cust.tele2.se)
2020-10-19 22:09:24 +0200 <crestfallen> yes, but that's all I have from that "lesson" online. I don't know how you would go about using something of that type.
2020-10-19 22:09:27 +0200 <hyperisco> do you know the difference between ghci and ghc? have you written a Haskell program in a file and compiled it?
2020-10-19 22:10:13 +0200 <crestfallen> many times to varying effect
2020-10-19 22:10:52 +0200 <crestfallen> could you show me some examples where that type is used in some way?
2020-10-19 22:11:02 +0200 <hyperisco> I am not sure how to answer that sort of question… if you do not see a use for it, then don't use it :)
2020-10-19 22:11:33 +0200 <hyperisco> I do not have any reason to use that type either
2020-10-19 22:12:33 +0200 <crestfallen> I'm learning haskell from textbooks and online. I don't need haskell for anything except pure learning
2020-10-19 22:12:36 +0200 <geekosaur> there are uses but they can usually be avoided
2020-10-19 22:12:40 +0200 <hyperisco> but if we wanted to make something up… lets say I had two lists of numbers and a list of operations
2020-10-19 22:13:05 +0200 <crestfallen> ok..
2020-10-19 22:13:10 +0200 <hyperisco> > [x `op` y | x <- [0..2], y <- [0..2], z <- [(+),(*)]]
2020-10-19 22:13:12 +0200 <lambdabot> error:
2020-10-19 22:13:12 +0200 <lambdabot> • Couldn't match type ‘Unwrapped s0’ with ‘Unwrapped s’
2020-10-19 22:13:12 +0200 <lambdabot> Expected type: [Unwrapped s]
2020-10-19 22:13:43 +0200 <hyperisco> > [x `op` y | x <- [0..2], y <- [0..2], op <- [(+),(*)]] -- should always talk to lambdabot first...
2020-10-19 22:13:43 +0200karanlikmadde(~karanlikm@2a01:c22:a46a:b400:3c0d:995b:be0c:192)
2020-10-19 22:13:45 +0200 <lambdabot> [0,0,1,0,2,0,1,0,2,1,3,2,2,0,3,2,4,4]
2020-10-19 22:14:06 +0200 <hyperisco> well that is not using a tuple of operations I guess
2020-10-19 22:14:11 +0200 <hyperisco> exercise for you :P
2020-10-19 22:14:59 +0200 <gattytto> this is what I like about haskell, makes me feel like my first dev class, every time xD
2020-10-19 22:15:42 +0200GyroW_(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be)
2020-10-19 22:15:43 +0200GyroW_(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) (Changing host)
2020-10-19 22:15:43 +0200GyroW_(~GyroW@unaffiliated/gyrow)
2020-10-19 22:16:40 +0200GyroW(~GyroW@unaffiliated/gyrow) (Ping timeout: 260 seconds)
2020-10-19 22:19:02 +0200Kaiepi(~Kaiepi@nwcsnbsc03w-47-55-225-82.dhcp-dynamic.fibreop.nb.bellaliant.net)
2020-10-19 22:20:20 +0200conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2020-10-19 22:20:47 +0200 <crestfallen> so a pretty basic list comprehension hyperisco .. that much I get
2020-10-19 22:20:49 +0200takuan(~takuan@178-116-218-225.access.telenet.be) (Ping timeout: 260 seconds)
2020-10-19 22:21:25 +0200 <hyperisco> if you just want to study and not actually do anything with a computer language, why not try Agda?
2020-10-19 22:21:52 +0200conal(~conal@64.71.133.70)
2020-10-19 22:21:58 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2020-10-19 22:22:24 +0200 <dminuoso> hyperisco: Haha.
2020-10-19 22:22:57 +0200conal(~conal@64.71.133.70) (Client Quit)
2020-10-19 22:23:26 +0200conal(~conal@64.71.133.70)
2020-10-19 22:28:25 +0200 <hyperisco> crestfallen, I reckon whatever you were reading was just picking arbitrary examples, they probably were not claiming they were important
2020-10-19 22:28:27 +0200cosimone(~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd) (Quit: cosimone)
2020-10-19 22:30:50 +0200Amras(~Amras@unaffiliated/amras0000) (Remote host closed the connection)
2020-10-19 22:32:03 +0200 <crestfallen> hyperisco: not a programmer, just an older person trying to keep intellectually active. I find haskell very interesting. I don't have a STEM background. just teaching myself. thanks kindly for your patient help.
2020-10-19 22:33:00 +0200Kaivo(~Kaivo@104-200-86-99.mc.derytele.com) (Ping timeout: 260 seconds)
2020-10-19 22:33:25 +0200geekosaur(ac3a8c68@172.58.140.104) (Remote host closed the connection)
2020-10-19 22:33:47 +0200 <hyperisco> you can get a more distilled presentation of these ideas if you study the mathematical roots, if that is more so what you are interested in
2020-10-19 22:34:30 +0200justanotheruser(~justanoth@unaffiliated/justanotheruser)
2020-10-19 22:34:40 +0200 <hyperisco> being a pragmatic programming language, Haskell has a lot of features that make it convenient for creating real computer programs, but sometimes at the cost of clarity
2020-10-19 22:34:41 +0200p8m(p8m@gateway/vpn/protonvpn/p8m)
2020-10-19 22:35:10 +0200p8m_(p8m@gateway/vpn/protonvpn/p8m) (Ping timeout: 256 seconds)
2020-10-19 22:35:28 +0200Kaivo(~Kaivo@ec2-15-222-231-32.ca-central-1.compute.amazonaws.com)
2020-10-19 22:35:46 +0200 <hyperisco> you might like "lambda calculus" or "term rewriting" or "proof theory" for instance
2020-10-19 22:38:18 +0200 <crestfallen> hyperisco: I've gone through a bunch of GADT, some proving , types as propositions - programs as proofs stuff. type unification (which I love). the little things, like @[] can be toughest for me. don't know why. like that was just incomplete notes of mine. sorry
2020-10-19 22:39:21 +0200Amras(~Amras@unaffiliated/amras0000)
2020-10-19 22:39:50 +0200 <hyperisco> well see that is one of those Haskell blemishes (imo) … the intention of Haskell is to infer all types, but as Haskell programmers started pushing the boundaries, types became ambiguous or not inferrable
2020-10-19 22:40:49 +0200 <hyperisco> TypeApplications walks back a bit from the intention of inferring all types… what you could do before was pass type proxies, or sometimes you could annotate
2020-10-19 22:40:56 +0200s00pcan(~chris@107.181.165.217) (Ping timeout: 260 seconds)
2020-10-19 22:41:17 +0200StoneToad(~StoneToad@199-167-119-214.ppp.storm.ca) (Ping timeout: 265 seconds)
2020-10-19 22:41:39 +0200p8m_(p8m@gateway/vpn/protonvpn/p8m)
2020-10-19 22:41:41 +0200StoneToad_(~StoneToad@199-167-119-214.ppp.storm.ca)
2020-10-19 22:41:50 +0200 <crestfallen> still not sure how your example of the list comprehension applies to using pure @[]. like how that relates in Applicative hyperisco
2020-10-19 22:42:04 +0200 <dolio> Haskell has never been able to infer all types, I think.
2020-10-19 22:42:08 +0200p8m(p8m@gateway/vpn/protonvpn/p8m) (Ping timeout: 272 seconds)
2020-10-19 22:42:17 +0200 <hyperisco> pure @[] (*) = [(*)] so I just wrote [(*)]
2020-10-19 22:42:49 +0200s00pcan(~chris@075-133-056-178.res.spectrum.com)
2020-10-19 22:42:53 +0200 <hyperisco> if you meant to ask why you would ever use pure @[] and not just pure then it would probably only be because the type could not be inferred
2020-10-19 22:43:29 +0200olligobber(olligobber@gateway/vpn/privateinternetaccess/olligobber)
2020-10-19 22:43:37 +0200 <hyperisco> dolio, maybe but I think it fair to say that you are meant to lean on inference as much as possible. It is seen as a good thing, mrore is bertter
2020-10-19 22:43:50 +0200 <dolio> Yeah, that's definitely true.
2020-10-19 22:43:51 +0200 <hyperisco> more is better
2020-10-19 22:45:43 +0200 <dolio> TypeApplications do seem like an odd design in light of a lot of other stuff. I think they could have been a nicer syntax for things people were already doing.
2020-10-19 22:45:49 +0200 <hyperisco> crestfallen, but you can also say (:[]) which is shorter and also the same thing
2020-10-19 22:46:40 +0200conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2020-10-19 22:46:42 +0200 <dolio> Like `@[] :: Proxy# []` or something.
2020-10-19 22:48:10 +0200 <hyperisco> I think it is fairly clear if you view it from Core, you're just explicitly passing type arguments as is done in Core
2020-10-19 22:48:55 +0200 <dolio> Yeah, but importing core notions directly into the surface syntax isn't necessarily a consistent design.
2020-10-19 22:49:30 +0200 <hyperisco> true, but I think proxies themselves are inconsistent
2020-10-19 22:50:28 +0200hackagetzdata 0.2.20201016.0 - Time zone database (as files and as a module) https://hackage.haskell.org/package/tzdata-0.2.20201016.0 (MihalyBarasz)
2020-10-19 22:50:33 +0200sfvm(~sfvm@37.228.215.148) (Quit: off to the basement, mixing up the medicine)
2020-10-19 22:50:36 +0200 <hyperisco> well at least with a hardline view that types should be inferred… we're accepting more and more explicit type arguments as time goes on
2020-10-19 22:51:28 +0200hackagephonetic-languages-rhythmicity 0.1.1.0 - Allows to estimate the rhythmicity metrices for the text (usually, the Ukrainian poetic one) https://hackage.haskell.org/package/phonetic-languages-rhythmicity-0.1.1.0 (OleksandrZhabenko)
2020-10-19 22:51:35 +0200 <dolio> You can't do anything about that except remove certain features.
2020-10-19 22:52:00 +0200danso(~dan@69-165-210-185.cable.teksavvy.com)
2020-10-19 22:52:01 +0200stree(~stree@50-108-72-205.adr01.mskg.mi.frontiernet.net) (Quit: Caught exception)
2020-10-19 22:52:08 +0200 <hyperisco> if/when dependent Haskell lands that will fly in the face of everything before
2020-10-19 22:52:17 +0200stree(~stree@50-108-72-205.adr01.mskg.mi.frontiernet.net)
2020-10-19 22:54:37 +0200isovector1(~isovector@172.103.216.166) (Remote host closed the connection)
2020-10-19 22:54:49 +0200 <hyperisco> my personal bet is that McBride wins and the future is just types
2020-10-19 22:55:00 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-10-19 22:56:04 +0200 <maerwald> I think the future is lax strong structural typing with immutable functional architectures and strict by default semantics
2020-10-19 22:56:46 +0200 <hyperisco> well I am going out a ways when I say "future", not saying what the immediate next thing is
2020-10-19 22:56:52 +0200 <hyperisco> what is lax strong structural typing?
2020-10-19 22:57:01 +0200 <maerwald> I just made that up
2020-10-19 22:57:12 +0200 <maerwald> But something in between purescript and typescript
2020-10-19 22:58:40 +0200bartemius(~bartemius@109-252-19-142.nat.spd-mgts.ru)
2020-10-19 22:59:07 +0200danvet_(~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) (Ping timeout: 272 seconds)
2020-10-19 22:59:44 +0200 <crestfallen> maerwald: whatever you do don't drop it on your foot.
2020-10-19 22:59:45 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2020-10-19 22:59:46 +0200 <hyperisco> my prediction is based on the assumption that we will progress from more to less work for the human programmer, and the way to do that is for the programmer to say what they want rather than how to get what they want
2020-10-19 22:59:49 +0200conal(~conal@64.71.133.70)
2020-10-19 23:00:01 +0200ggainey(~ggainey@185.204.1.185) ()
2020-10-19 23:00:30 +0200 <maerwald> I think more expressive language go backwards to the goal
2020-10-19 23:00:52 +0200 <maerwald> we think more expressive is always good, because it gives more ways to say what you want
2020-10-19 23:00:57 +0200 <crestfallen> what do you mean the future is just types?
2020-10-19 23:01:02 +0200 <hyperisco> assuming that, I think we're going to cross from computational expressions to declarative expressions
2020-10-19 23:01:05 +0200 <maerwald> but you should have less ways to say what you want
2020-10-19 23:01:41 +0200 <gattytto> hyperisco yeah like protobuf .proto files that aren't actually code but just a declarative syntax to generate code in diff languages (made and used by google for a long)
2020-10-19 23:01:45 +0200acowley(~acowley@c-68-83-22-43.hsd1.nj.comcast.net)
2020-10-19 23:02:06 +0200 <hyperisco> maybe not the best terminology… I mean, when we use a programming language, what makes it so is that it has a semantics of computational steps
2020-10-19 23:02:39 +0200 <hyperisco> and I don't see why that is necessary to concern a person with, ultimately
2020-10-19 23:03:13 +0200bartemius(~bartemius@109-252-19-142.nat.spd-mgts.ru) (Ping timeout: 264 seconds)
2020-10-19 23:03:40 +0200 <crestfallen> how does that relate to say, handwriting recursive steps?
2020-10-19 23:03:52 +0200 <monochrom> Does not.
2020-10-19 23:04:17 +0200 <crestfallen> ok thanks all
2020-10-19 23:05:10 +0200p8m(p8m@gateway/vpn/protonvpn/p8m)
2020-10-19 23:05:23 +0200crestfallen(~jvw@135-180-15-188.fiber.dynamic.sonic.net) (Quit: Lost terminal)
2020-10-19 23:06:10 +0200chele(~chele@ip5b416ea2.dynamic.kabel-deutschland.de) (Remote host closed the connection)
2020-10-19 23:06:19 +0200 <hyperisco> you can say that foldr removes you from concern of how to recurse on a list, I don't think that is an invalid observation, but the meaning of both (foldr or writing it yourself) is the same
2020-10-19 23:06:20 +0200p8m_(p8m@gateway/vpn/protonvpn/p8m) (Ping timeout: 256 seconds)
2020-10-19 23:06:45 +0200 <hyperisco> so the question would be, if foldr removes you from the concern of how to recurse on a list, where exactly does your thinking lie? obviously not in the language semantics
2020-10-19 23:06:48 +0200cr3(~cr3@192-222-143-195.qc.cable.ebox.net) (Quit: leaving)
2020-10-19 23:07:05 +0200 <hyperisco> and so we want to get to that place in our programming languages
2020-10-19 23:07:45 +0200 <monochrom> foldMap has a better chance to the claim of distancing from that concern.
2020-10-19 23:07:59 +0200isovector1(~isovector@172.103.216.166)
2020-10-19 23:08:05 +0200 <monochrom> foldr? the "r" already talks about that concern.
2020-10-19 23:08:29 +0200hekkaidekapus_(~tchouri@gateway/tor-sasl/hekkaidekapus)
2020-10-19 23:10:38 +0200 <hyperisco> at least we're not programming register machines anymore (sorry embedded devs)
2020-10-19 23:11:03 +0200hekkaidekapus(~tchouri@gateway/tor-sasl/hekkaidekapus) (Ping timeout: 240 seconds)
2020-10-19 23:11:33 +0200skami(~user@24.225.186.176) (Read error: Connection reset by peer)
2020-10-19 23:11:35 +0200daveanlooks at some haskell he did recently and quietly slides it to the side out of hyperisco's view.
2020-10-19 23:12:59 +0200 <hyperisco> hey its fun, like a board game is fun… would make a good video game
2020-10-19 23:13:52 +0200 <davean> Hey sometimes a bump pointer is too expensive
2020-10-19 23:13:56 +0200ericsagnes(~ericsagne@2405:6580:0:5100:f9eb:6fb3:7fb3:c450) (Ping timeout: 244 seconds)
2020-10-19 23:14:27 +0200 <hyperisco> I just don't see why I'd want to use it pragmatically, anymore than I'd want to use Mouse Trap to actually catch rats
2020-10-19 23:15:11 +0200 <hyperisco> (I mean idealistically… I cope with obnoxious hardware too)
2020-10-19 23:16:36 +0200 <hyperisco> anyways monochrom is worried that I am taking everyone on a distracting mysterious adventure, so I'll call it a night. later!
2020-10-19 23:17:05 +0200hyperisco(~hyperisco@d192-186-117-226.static.comm.cgocable.net) (Quit: Curry, you fools!)
2020-10-19 23:17:28 +0200 <monochrom> That was for another context.
2020-10-19 23:20:20 +0200karanlikmadde(~karanlikm@2a01:c22:a46a:b400:3c0d:995b:be0c:192) (Quit: karanlikmadde)
2020-10-19 23:24:24 +0200coot(~coot@37.30.52.239.nat.umts.dynamic.t-mobile.pl) (Ping timeout: 260 seconds)
2020-10-19 23:27:21 +0200ericsagnes(~ericsagne@2405:6580:0:5100:8da6:35f3:7a65:db08)
2020-10-19 23:27:46 +0200Lord_of_Life(~Lord@46.217.196.111) (Read error: Connection reset by peer)
2020-10-19 23:29:06 +0200ph88(~ph88@ip5f5af0cc.dynamic.kabel-deutschland.de)
2020-10-19 23:29:28 +0200 <ph88> This might be a stupid question .. but is this module really just called "Prettyprinter" without any dots in the name ? https://hackage.haskell.org/package/prettyprinter-1.7.0/docs/Prettyprinter.html
2020-10-19 23:29:49 +0200Lord_of_Life(~Lord@46.217.196.111)
2020-10-19 23:29:49 +0200Lord_of_Life(~Lord@46.217.196.111) (Changing host)
2020-10-19 23:29:49 +0200Lord_of_Life(~Lord@unaffiliated/lord-of-life/x-0885362)
2020-10-19 23:31:22 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-10-19 23:31:40 +0200 <ddellacosta> ph88: yeah that looks right to me
2020-10-19 23:31:46 +0200 <monochrom> You can click "source" to find out. But yes.
2020-10-19 23:31:54 +0200solonarv(~solonarv@anancy-651-1-202-101.w109-217.abo.wanadoo.fr) (Ping timeout: 256 seconds)
2020-10-19 23:32:05 +0200conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2020-10-19 23:32:40 +0200 <ph88> i have dependencies prettyprinter and import Prettyprinter on lts-16.19 but can't find it
2020-10-19 23:32:47 +0200 <ph88> wait let me check if its in lts
2020-10-19 23:33:04 +0200 <ph88> ye it's there ..
2020-10-19 23:33:07 +0200 <monochrom> Then you should look in stackage, not hackage.
2020-10-19 23:33:23 +0200 <ph88> ok
2020-10-19 23:33:35 +0200 <ph88> i see stackage has old version .. i think that is the problem then
2020-10-19 23:33:45 +0200karanlikmadde(~karanlikm@2a01:c22:a46a:b400:3c0d:995b:be0c:192)
2020-10-19 23:34:37 +0200 <dolio> Man, ApplicativeDo is really picky.
2020-10-19 23:35:10 +0200shadowdaoGoatyMcGoatface
2020-10-19 23:35:24 +0200 <ph88> what about it ?
2020-10-19 23:35:25 +0200conal(~conal@64.71.133.70)
2020-10-19 23:35:43 +0200 <ddellacosta> what is a better way to create a timing loop than e.g. calling threadDelay at the level of granularity that I want to trigger timing events? I'm not sure how to approach this
2020-10-19 23:36:00 +0200 <dolio> `pure $ f . g $ x` works, but not `pure . f . g $ x`
2020-10-19 23:36:21 +0200son0p(~son0p@181.136.122.143) (Quit: leaving)
2020-10-19 23:36:35 +0200 <int-e> dolio: I like it ;)
2020-10-19 23:36:37 +0200 <dolio> Also you can't use functorial stuff.
2020-10-19 23:36:51 +0200ebsen(~ebsene@64-33-113-59-dynamic.midco.net)
2020-10-19 23:37:20 +0200 <int-e> (No, not really. But I do tend to write pure $ f . g $ x by default.)
2020-10-19 23:37:34 +0200 <monochrom> @type (<$)
2020-10-19 23:37:35 +0200 <lambdabot> Functor f => a -> f b -> f a
2020-10-19 23:38:06 +0200 <gattytto> >@type (<$)
2020-10-19 23:38:10 +0200ebsen(~ebsene@64-33-113-59-dynamic.midco.net) (Client Quit)
2020-10-19 23:38:19 +0200 <gattytto> oh I thought the bot was gonna parse it
2020-10-19 23:38:36 +0200p-core(~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515) (Remote host closed the connection)
2020-10-19 23:39:04 +0200 <phadej> dolio: yes, the `pure` becomes "syntax" with ApplicativeDo
2020-10-19 23:39:36 +0200 <phadej> IIRC in first version you had to write pure (f . g $ x), i.e. pure $ ... form was added afterwards
2020-10-19 23:39:58 +0200 <dolio> Also `let` in a do messes it up.
2020-10-19 23:40:11 +0200 <monochrom> In all likelihood it is better to invent a flipped <$> than to invent ApplicativeDo.
2020-10-19 23:41:32 +0200borne(~fritjof@200116b864f0110043d332954cf9072f.dip.versatel-1u1.de)
2020-10-19 23:41:33 +0200 <dolio> There's already a flipped (<$>), but that's not all you need.
2020-10-19 23:41:59 +0200 <monochrom> getChar <*> getLine <*> putStrLn "thank you" <&> (\c s _ -> c : s) = what ApplicativeDo dreams of
2020-10-19 23:42:06 +0200LKoen(~LKoen@81.255.219.130) (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-10-19 23:42:17 +0200 <dolio> You need a complete set of opposite applicative operations that run in a different order, and to write your code in the opposite order.
2020-10-19 23:42:28 +0200chaosmasttter(~chaosmast@p200300c4a709420174fc4dcad71adf36.dip0.t-ipconnect.de) (Quit: WeeChat 2.9)
2020-10-19 23:43:07 +0200GyroW_(~GyroW@unaffiliated/gyrow) (Remote host closed the connection)
2020-10-19 23:43:28 +0200GyroW(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be)
2020-10-19 23:43:28 +0200GyroW(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) (Changing host)
2020-10-19 23:43:28 +0200GyroW(~GyroW@unaffiliated/gyrow)
2020-10-19 23:44:23 +0200Plantain(~mdomin45@cpe-24-211-129-187.nc.res.rr.com)
2020-10-19 23:45:02 +0200acidjnk_new(~acidjnk@p200300d0c723787960581240d4a66b7e.dip0.t-ipconnect.de)
2020-10-19 23:45:03 +0200 <monochrom> I think my example is in ApplicativeDo order, down to the point the "return value" is specified last, no?
2020-10-19 23:45:24 +0200conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2020-10-19 23:45:25 +0200Pitaya(~mdomin45@cpe-24-211-129-187.nc.res.rr.com) (Ping timeout: 246 seconds)
2020-10-19 23:45:30 +0200 <dolio> Well, your example doesn't make sense, really.
2020-10-19 23:45:34 +0200 <monochrom> Ah nevermind.
2020-10-19 23:45:43 +0200 <monochrom> Right, that.
2020-10-19 23:46:08 +0200 <dolio> Maybe it would work with (<**>), but I'm not very confident that associates correctly.
2020-10-19 23:46:48 +0200Ariakenom_(~Ariakenom@h-155-4-221-35.NA.cust.bahnhof.se) (Read error: Connection reset by peer)
2020-10-19 23:46:55 +0200 <dolio> Because it probably wasn't designed for that sort of thing.
2020-10-19 23:48:49 +0200 <monochrom> Could you be talked into ApplicativeComprehension instead? :)
2020-10-19 23:48:59 +0200 <dolio> (It's designed for the sequencing to occur in the opposite direction of the 'data flow'.
2020-10-19 23:49:15 +0200 <dolio> Yeah, I'd use comprehensions if they could actually do applicative.
2020-10-19 23:49:37 +0200 <dolio> I though they should be comprehensions from the get-go, really.
2020-10-19 23:49:48 +0200 <dolio> Because that automatically implies a 'pure' at the end.
2020-10-19 23:50:23 +0200kenran(~maier@b2b-37-24-119-190.unitymedia.biz)
2020-10-19 23:50:34 +0200nineonine(~nineonine@50.216.62.2) (Remote host closed the connection)
2020-10-19 23:50:38 +0200 <monochrom> :)
2020-10-19 23:51:34 +0200gattytto(b33e397e@179.62.57.126) (Remote host closed the connection)
2020-10-19 23:51:45 +0200Deide(~Deide@217.155.19.23) (Read error: Connection reset by peer)
2020-10-19 23:51:45 +0200 <monochrom> $ is the root of all special compiler support
2020-10-19 23:55:14 +0200Wolfy87(~Wolfy87@89.47.234.28)
2020-10-19 23:55:36 +0200kenran(~maier@b2b-37-24-119-190.unitymedia.biz) (Ping timeout: 272 seconds)
2020-10-19 23:55:57 +0200Deide(~Deide@217.155.19.23)