2020/11/01

2020-11-01 00:00:00 +0100hekkaidekapus_(~tchouri@gateway/tor-sasl/hekkaidekapus)
2020-11-01 00:02:04 +0100jhuizy(~jhuizy@static.241.188.216.95.clients.your-server.de) (Quit: Ping timeout (120 seconds))
2020-11-01 00:02:24 +0100jhuizy(~jhuizy@static.241.188.216.95.clients.your-server.de)
2020-11-01 00:02:30 +0100Reiser(~0a2a0001@unaffiliated/reisen) (Quit: Ping timeout (120 seconds))
2020-11-01 00:02:51 +0100daGrevis(~daGrevis@unaffiliated/dagrevis) (Quit: Ping timeout (120 seconds))
2020-11-01 00:02:57 +0100Reiser(~0a2a0001@static.210.242.216.95.clients.your-server.de)
2020-11-01 00:03:03 +0100daGrevis(~daGrevis@unaffiliated/dagrevis)
2020-11-01 00:03:22 +0100 <sim590> Why is using `is` with prisms prone to erreor as suggested by this answer here: https://stackoverflow.com/a/35253041 ?
2020-11-01 00:04:34 +0100 <ghoulguy> sim590, you'd have to ask that user why they thought that.
2020-11-01 00:05:01 +0100xerox_(~xerox@unaffiliated/xerox) (Ping timeout: 264 seconds)
2020-11-01 00:05:45 +0100akad_(~akad@109107030050.radomsko.vectranet.pl)
2020-11-01 00:06:10 +0100 <sim590> ghoulguy: so you don't either see any reason why he'd think that. Because I can't think of a reason.
2020-11-01 00:06:19 +0100vicfred_(~vicfred@unaffiliated/vicfred)
2020-11-01 00:06:20 +0100taio(~enrik@p200300ceaf3ada00d81a6ace504c91ff.dip0.t-ipconnect.de) (Quit: Konversation terminated!)
2020-11-01 00:06:51 +0100 <ghoulguy> My guess is that some people read a blog post about "boolean blindness" and then just tried to apply it at every opportunity. That's just a guess though; I don't know what this author had in mind
2020-11-01 00:06:59 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2020-11-01 00:07:15 +0100 <dolio> It's not error prone if you just want a yes/no answer, and never the underlying data. It is error prone to structure code that way (predicate + cast later) instead of pattern matching.
2020-11-01 00:08:34 +0100vicfred(~vicfred@unaffiliated/vicfred) (Ping timeout: 246 seconds)
2020-11-01 00:10:03 +0100gioyik(~gioyik@186.112.105.190)
2020-11-01 00:10:18 +0100jpds(~jpds@gateway/tor-sasl/jpds)
2020-11-01 00:12:09 +0100conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2020-11-01 00:12:18 +0100 <sim590> Alright. Maybe that's it. In any case, I'm interested in havnig the free constructor checkers, so I don't have to worry about that too much. Thanks for you point of view!
2020-11-01 00:12:53 +0100PerseusPlease(~{mikey}@79.140.122.39) (Quit: Leaving)
2020-11-01 00:14:25 +0100gioyik(~gioyik@186.112.105.190) (Ping timeout: 240 seconds)
2020-11-01 00:15:36 +0100ech(~user@gateway/tor-sasl/ech)
2020-11-01 00:18:03 +0100christo(~chris@81.96.113.213)
2020-11-01 00:18:07 +0100elfets_(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Quit: Leaving)
2020-11-01 00:20:05 +0100 <dolio> Also, I would not assume that ddarius is answering just because he read a blog post somewhere.
2020-11-01 00:23:30 +0100p-core(~Thunderbi@koleje-wifi-0045.koleje.cuni.cz) (Ping timeout: 272 seconds)
2020-11-01 00:26:37 +0100p-core(~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515)
2020-11-01 00:27:22 +0100ezzieyguywuf(~Unknown@unaffiliated/ezzieyguywuf) (Remote host closed the connection)
2020-11-01 00:28:23 +0100 <sim590> dolio: Who's ddarius?
2020-11-01 00:29:03 +0100 <dolio> The person who answered the question.
2020-11-01 00:29:16 +0100 <sim590> Isn't he called Derek?
2020-11-01 00:29:20 +0100ezzieyguywuf(~Unknown@unaffiliated/ezzieyguywuf)
2020-11-01 00:29:27 +0100 <dolio> ddarius is his irc handle.
2020-11-01 00:29:39 +0100 <sim590> oh. Didn't know you knew him ^^
2020-11-01 00:29:40 +0100 <dolio> Although he hasn't been around in a while.
2020-11-01 00:34:28 +0100taio(~enrik@p200300ceaf3ada00d81a6ace504c91ff.dip0.t-ipconnect.de)
2020-11-01 00:34:34 +0100taio(~enrik@p200300ceaf3ada00d81a6ace504c91ff.dip0.t-ipconnect.de) (Client Quit)
2020-11-01 00:34:54 +0100taio(~enrik@p200300ceaf3ada00d81a6ace504c91ff.dip0.t-ipconnect.de)
2020-11-01 00:35:22 +0100comerijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2020-11-01 00:36:30 +0100texasmynsted(~texasmyns@212.102.45.109) ()
2020-11-01 00:36:46 +0100ddellacosta(~dd@86.106.121.168) (Ping timeout: 260 seconds)
2020-11-01 00:37:00 +0100wroathe(~wroathe@c-73-24-27-54.hsd1.mn.comcast.net) (Ping timeout: 256 seconds)
2020-11-01 00:37:45 +0100mbomba(~mbomba@bras-base-toroon2719w-grc-49-142-114-9-241.dsl.bell.ca)
2020-11-01 00:38:26 +0100sam___(~sam@19.247.204.77.rev.sfr.net) (Ping timeout: 264 seconds)
2020-11-01 00:39:14 +0100taio(~enrik@p200300ceaf3ada00d81a6ace504c91ff.dip0.t-ipconnect.de) (Client Quit)
2020-11-01 00:40:01 +0100gehmehgeh(~ircuser1@gateway/tor-sasl/gehmehgeh) (Remote host closed the connection)
2020-11-01 00:41:17 +0100darjeeling_(~darjeelin@122.245.121.118) (Ping timeout: 260 seconds)
2020-11-01 00:41:43 +0100darjeeling_(~darjeelin@122.245.121.118)
2020-11-01 00:42:45 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-11-01 00:43:25 +0100vicfred_(~vicfred@unaffiliated/vicfred) (Quit: Leaving)
2020-11-01 00:44:59 +0100jedws(~jedws@101.184.150.81) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-11-01 00:47:05 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds)
2020-11-01 00:49:05 +0100Tario(~Tario@200.119.187.37) (Ping timeout: 240 seconds)
2020-11-01 00:49:34 +0100Tario(~Tario@201.204.63.11)
2020-11-01 00:49:46 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-11-01 00:49:57 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Client Quit)
2020-11-01 00:52:17 +0100danvet(~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) (Ping timeout: 268 seconds)
2020-11-01 00:53:22 +0100machinedgod(~machinedg@207.253.244.210) (Ping timeout: 246 seconds)
2020-11-01 00:53:32 +0100mbomba(~mbomba@bras-base-toroon2719w-grc-49-142-114-9-241.dsl.bell.ca) (Quit: WeeChat 2.9)
2020-11-01 00:55:02 +0100fendor(~fendor@77.119.131.204.wireless.dyn.drei.com) (Remote host closed the connection)
2020-11-01 00:57:02 +0100darjeeling_(~darjeelin@122.245.121.118) (Ping timeout: 264 seconds)
2020-11-01 00:57:29 +0100darjeeling_(~darjeelin@122.245.121.118)
2020-11-01 00:57:30 +0100hackageagda2lagda 0.2020.11.1 - Translate .agda files into .lagda.tex files. https://hackage.haskell.org/package/agda2lagda-0.2020.11.1 (AndreasAbel)
2020-11-01 01:00:01 +0100zopsi(zopsi@2600:3c00::f03c:91ff:fe14:551f) (Quit: Oops)
2020-11-01 01:00:38 +0100texasmynsted(~texasmyns@172.93.177.204)
2020-11-01 01:00:47 +0100cr3(~cr3@192-222-143-195.qc.cable.ebox.net)
2020-11-01 01:01:13 +0100zopsi(zopsi@2600:3c00::f03c:91ff:fe14:551f)
2020-11-01 01:02:33 +0100 <Uniaika> I read "lada" at first haha
2020-11-01 01:03:09 +0100ezzieyguywuf(~Unknown@unaffiliated/ezzieyguywuf) (Remote host closed the connection)
2020-11-01 01:05:27 +0100ezzieyguywuf(~Unknown@unaffiliated/ezzieyguywuf)
2020-11-01 01:07:28 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-11-01 01:10:32 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-11-01 01:11:28 +0100gioyik(~gioyik@186.112.105.190)
2020-11-01 01:12:02 +0100refried_(~textual@pool-108-20-26-90.bstnma.fios.verizon.net) (Quit: My MacBook Air has gone to sleep. ZZZzzz…)
2020-11-01 01:12:05 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
2020-11-01 01:12:10 +0100Ariakenom(~Ariakenom@h-155-4-221-164.NA.cust.bahnhof.se) (Quit: Leaving)
2020-11-01 01:15:58 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2020-11-01 01:16:14 +0100gioyik(~gioyik@186.112.105.190) (Ping timeout: 264 seconds)
2020-11-01 01:16:44 +0100bjobjo(~bjobjo@2a01:79c:cebf:d688::9e6) (Ping timeout: 246 seconds)
2020-11-01 01:16:45 +0100Reiser(~0a2a0001@static.210.242.216.95.clients.your-server.de) (Changing host)
2020-11-01 01:16:45 +0100Reiser(~0a2a0001@unaffiliated/reisen)
2020-11-01 01:16:58 +0100conal(~conal@107.181.166.214)
2020-11-01 01:17:15 +0100gioyik(~gioyik@186.112.105.190)
2020-11-01 01:22:07 +0100langseth(~langseth@185.204.1.185)
2020-11-01 01:22:23 +0100gioyik(~gioyik@186.112.105.190) (Ping timeout: 260 seconds)
2020-11-01 01:24:31 +0100solonarv(~solonarv@astrasbourg-653-1-117-122.w90-33.abo.wanadoo.fr) (Ping timeout: 246 seconds)
2020-11-01 01:25:53 +0100gioyik(~gioyik@186.112.105.190)
2020-11-01 01:28:52 +0100machinedgod(~machinedg@24.105.81.50)
2020-11-01 01:29:41 +0100britva(~britva@31-10-157-156.cgn.dynamic.upc.ch) (Quit: This computer has gone to sleep)
2020-11-01 01:30:40 +0100refried_(~textual@pool-108-20-26-90.bstnma.fios.verizon.net)
2020-11-01 01:31:48 +0100refried_(~textual@pool-108-20-26-90.bstnma.fios.verizon.net) (Client Quit)
2020-11-01 01:35:21 +0100gentauro(~gentauro@unaffiliated/gentauro) (Read error: Connection reset by peer)
2020-11-01 01:35:36 +0100gentauro(~gentauro@unaffiliated/gentauro)
2020-11-01 01:35:41 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-11-01 01:37:17 +0100akad_(~akad@109107030050.radomsko.vectranet.pl) (Ping timeout: 258 seconds)
2020-11-01 01:39:51 +0100refried_(~textual@pool-108-20-26-90.bstnma.fios.verizon.net)
2020-11-01 01:44:17 +0100conal(~conal@107.181.166.214) (Quit: Computer has gone to sleep.)
2020-11-01 01:44:26 +0100mimi_vx(~mimi@2a01:490:16:1026:280c:3ca1:5901:7678) (Ping timeout: 264 seconds)
2020-11-01 01:48:40 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-11-01 01:52:01 +0100Tuplanolla(~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.)
2020-11-01 01:52:06 +0100jess-o-lanternjess
2020-11-01 01:52:42 +0100deadke
2020-11-01 01:53:06 +0100conal(~conal@64.71.133.70)
2020-11-01 01:53:41 +0100Tritlo(sid58727@gateway/web/irccloud.com/x-arbdiqjurckmdrum) (Read error: Connection reset by peer)
2020-11-01 01:53:44 +0100acertain(sid470584@gateway/web/irccloud.com/x-tgfvzorhghscujkl) (Ping timeout: 240 seconds)
2020-11-01 01:53:54 +0100adius(sid321344@gateway/web/irccloud.com/x-mcvitqgcgllwejox) (Read error: Connection reset by peer)
2020-11-01 01:54:02 +0100Firedancer(sid336191@gateway/web/irccloud.com/x-uonzbjjvjjwxnapj) (Ping timeout: 264 seconds)
2020-11-01 01:54:02 +0100gluegadget(sid22336@gateway/web/irccloud.com/x-njxxjgindekwkpai) (Ping timeout: 264 seconds)
2020-11-01 01:54:04 +0100hamishmack(sid389057@gateway/web/irccloud.com/x-fsqypfxhxngpdcwg) (Ping timeout: 240 seconds)
2020-11-01 01:54:28 +0100edwinb(sid69486@gateway/web/irccloud.com/x-erjlpgegwzefpuci) (Write error: Connection reset by peer)
2020-11-01 01:54:30 +0100joel135(sid136450@gateway/web/irccloud.com/x-zghwohvzvvqakrrc) (Read error: Connection reset by peer)
2020-11-01 01:54:32 +0100hnOsmium0001(uid453710@gateway/web/irccloud.com/x-cymfrztsmarkfalc) (Read error: Connection reset by peer)
2020-11-01 01:54:34 +0100nick_h(sid319833@gateway/web/irccloud.com/x-hxgnrrrbhgxltptt) (Ping timeout: 268 seconds)
2020-11-01 01:54:41 +0100rann(sid175221@gateway/web/irccloud.com/x-cbkhufxlhkwsdype) (Write error: Connection reset by peer)
2020-11-01 01:54:50 +0100edwinb(sid69486@gateway/web/irccloud.com/x-jrxtyjijaolnlopz)
2020-11-01 01:54:50 +0100gluegadget(sid22336@gateway/web/irccloud.com/x-buopqakexwxxadjm)
2020-11-01 01:54:59 +0100lexi-lambda(sid92601@gateway/web/irccloud.com/x-tjxetnhmsaedwtsv) (Ping timeout: 244 seconds)
2020-11-01 01:55:06 +0100hamishmack(sid389057@gateway/web/irccloud.com/x-azqabhmlngqmdotl)
2020-11-01 01:55:11 +0100dmj`(sid72307@gateway/web/irccloud.com/x-qhzxzmhwnrxmctyu) (Ping timeout: 268 seconds)
2020-11-01 01:55:20 +0100rann(sid175221@gateway/web/irccloud.com/x-ksxigkdhzdqcjfrs)
2020-11-01 01:55:36 +0100Tritlo(sid58727@gateway/web/irccloud.com/x-hhdqrzmvvzwsljje)
2020-11-01 01:55:40 +0100Firedancer(sid336191@gateway/web/irccloud.com/x-vssbbmzuqcgdgcmb)
2020-11-01 01:55:40 +0100joel135(sid136450@gateway/web/irccloud.com/x-tbniwjwivhvzaqau)
2020-11-01 01:55:41 +0100acertain(sid470584@gateway/web/irccloud.com/x-hrqmjvrqmoyyhbrw)
2020-11-01 01:55:45 +0100adius(sid321344@gateway/web/irccloud.com/x-mxoyxwrzcytimbah)
2020-11-01 01:55:50 +0100mpickering(sid78412@gateway/web/irccloud.com/x-rlednwxdkvlzgbsb) (Ping timeout: 264 seconds)
2020-11-01 01:55:56 +0100nick_h(sid319833@gateway/web/irccloud.com/x-pmufwyqrxfxlbgib)
2020-11-01 01:55:59 +0100hnOsmium0001(uid453710@gateway/web/irccloud.com/x-rzrwozbhbqioiyot)
2020-11-01 01:56:06 +0100lexi-lambda(sid92601@gateway/web/irccloud.com/x-lvxmpywqstmlfjcc)
2020-11-01 01:57:06 +0100mpickering(sid78412@gateway/web/irccloud.com/x-dfpbnrhxzfjezyfr)
2020-11-01 01:57:53 +0100dmj`(sid72307@gateway/web/irccloud.com/x-qjtomvtmbolmvzoh)
2020-11-01 01:58:52 +0100tolt(kevin@2600:3c03::f03c:91ff:fe79:6b76) (Quit: tolt)
2020-11-01 01:58:53 +0100cr3(~cr3@192-222-143-195.qc.cable.ebox.net) (Ping timeout: 268 seconds)
2020-11-01 01:59:57 +0100tolt(~Kevin@li697-66.members.linode.com)
2020-11-01 02:05:46 +0100tolt(~Kevin@li697-66.members.linode.com) (Quit: Goodbye!)
2020-11-01 02:06:39 +0100tolt_(~weechat-h@li219-154.members.linode.com) (Quit: WeeChat 2.9)
2020-11-01 02:07:06 +0100tolt(~Kevin@li697-66.members.linode.com)
2020-11-01 02:07:59 +0100tolt_(~weechat-h@li219-154.members.linode.com)
2020-11-01 02:08:14 +0100christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-11-01 02:09:39 +0100tolt(~Kevin@li697-66.members.linode.com) (Client Quit)
2020-11-01 02:09:54 +0100tolt_tolt
2020-11-01 02:10:14 +0100mimi_vx(~mimi@2a01:490:16:1026:8cbe:b3f3:f284:209c)
2020-11-01 02:10:38 +0100Rudd0(~Rudd0@185.189.115.108) (Ping timeout: 265 seconds)
2020-11-01 02:13:04 +0100dhil(~dhil@195.213.192.85) (Ping timeout: 272 seconds)
2020-11-01 02:13:41 +0100split(~split@81-197-163-75.elisa-laajakaista.fi) (Ping timeout: 268 seconds)
2020-11-01 02:15:02 +0100mimi_vx(~mimi@2a01:490:16:1026:8cbe:b3f3:f284:209c) (Ping timeout: 264 seconds)
2020-11-01 02:16:08 +0100vonfry(~user@181.115.198.104.bc.googleusercontent.com)
2020-11-01 02:17:30 +0100hackagehopenpgp-tools 0.23.2 - hOpenPGP-based command-line tools https://hackage.haskell.org/package/hopenpgp-tools-0.23.2 (ClintAdams)
2020-11-01 02:19:08 +0100conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2020-11-01 02:21:39 +0100AlterEgo-(~ladew@124-198-158-163.dynamic.caiway.nl) (Quit: Leaving)
2020-11-01 02:21:44 +0100ddellacosta(~dd@86.106.121.168)
2020-11-01 02:22:00 +0100Lord_of_Life_(~Lord@46.217.216.248)
2020-11-01 02:23:12 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
2020-11-01 02:24:10 +0100Lord_of_Life(~Lord@unaffiliated/lord-of-life/x-0885362) (Ping timeout: 268 seconds)
2020-11-01 02:25:11 +0100conal(~conal@64.71.133.70)
2020-11-01 02:26:42 +0100christo(~chris@81.96.113.213)
2020-11-01 02:26:52 +0100mimi_vx(~mimi@2a01:490:16:1026:8cbe:b3f3:f284:209c)
2020-11-01 02:29:23 +0100 <texasmynsted> hello
2020-11-01 02:29:42 +0100cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
2020-11-01 02:31:13 +0100 <yushyin> hello texasmynsted
2020-11-01 02:31:20 +0100 <texasmynsted> Hello
2020-11-01 02:31:34 +0100mimi_vx(~mimi@2a01:490:16:1026:8cbe:b3f3:f284:209c) (Ping timeout: 268 seconds)
2020-11-01 02:33:04 +0100 <texasmynsted> Was just looking to learn a parsing library. Found trifecta. Looks interesting, but perhaps I should start with something else. I just found this --> http://ekmett.github.io/reader/wp-content/uploads/2009/08/A-Parsing-Trifecta.pdf
2020-11-01 02:34:52 +0100strangeglyph(~strangegl@boreeas.net) (Quit: User terminated)
2020-11-01 02:35:31 +0100 <texasmynsted> so many parser/combinator libraries.
2020-11-01 02:35:37 +0100strangeglyph(~strangegl@boreeas.net)
2020-11-01 02:36:30 +0100darjeeling_(~darjeelin@122.245.121.118) (Ping timeout: 268 seconds)
2020-11-01 02:36:30 +0100m0rphism(~m0rphism@HSI-KBW-046-005-177-122.hsi8.kabel-badenwuerttemberg.de) (Ping timeout: 272 seconds)
2020-11-01 02:36:58 +0100darjeeling_(~darjeelin@122.245.121.118)
2020-11-01 02:37:42 +0100 <texasmynsted> any recommendations?
2020-11-01 02:38:03 +0100 <texasmynsted> I guess most people are having fun or sleeping at the moment
2020-11-01 02:38:16 +0100LKoen(~LKoen@127.251.88.92.rev.sfr.net) (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”)
2020-11-01 02:38:43 +0100 <yushyin> I've used megaparsec a couple of times
2020-11-01 02:39:15 +0100whatisRT(~whatisRT@2002:5b41:6a33:0:2c99:838:ca07:5660)
2020-11-01 02:40:48 +0100cr3(~cr3@192-222-143-195.qc.cable.ebox.net)
2020-11-01 02:41:51 +0100 <texasmynsted> ok
2020-11-01 02:42:33 +0100 <koz_> I'd recommend starting with Megaparsec.
2020-11-01 02:42:42 +0100 <koz_> Mark Karpov has written a fairly thorough tutorial on it.
2020-11-01 02:43:47 +0100elliott_(~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) (Ping timeout: 260 seconds)
2020-11-01 02:45:52 +0100 <texasmynsted> Great. Thank you. I will look for it.
2020-11-01 02:46:08 +0100 <koz_> zhttps://markkarpov.com/tutorial/megaparsec.html
2020-11-01 02:46:13 +0100 <koz_> https://markkarpov.com/tutorial/megaparsec.html
2020-11-01 02:46:15 +0100 <texasmynsted> https://markkarpov.com/tutorial/megaparsec.html
2020-11-01 02:46:22 +0100 <texasmynsted> :-)
2020-11-01 02:47:36 +0100tenniscp25(~tenniscp2@134.196.209.118)
2020-11-01 02:49:50 +0100 <texasmynsted> Wow. If that tutorial was a mission to get me to want their book, it worked.
2020-11-01 02:50:04 +0100 <koz_> The book is stalled indefinitely - Mark was only a coauthor I think.
2020-11-01 02:50:23 +0100cr3(~cr3@192-222-143-195.qc.cable.ebox.net) (Quit: leaving)
2020-11-01 02:51:22 +0100Chi1thangoo(~Chi1thang@87.112.60.168) (Ping timeout: 256 seconds)
2020-11-01 02:52:32 +0100tenniscp25(~tenniscp2@134.196.209.118) (Ping timeout: 268 seconds)
2020-11-01 02:52:37 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-11-01 02:52:37 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Client Quit)
2020-11-01 02:52:55 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-11-01 02:53:34 +0100 <texasmynsted> _indefinitely_ Hmm.
2020-11-01 02:53:57 +0100elliott_(~elliott_@pool-108-51-141-12.washdc.fios.verizon.net)
2020-11-01 02:56:29 +0100 <koz_> The tutorial is still kept updated though - most recent update was September _this_ year.
2020-11-01 02:58:44 +0100lazyshrk(~lazyshrk@128.199.58.13)
2020-11-01 03:00:23 +0100Gurkenglas(~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 260 seconds)
2020-11-01 03:00:33 +0100p-core(~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515) (Ping timeout: 268 seconds)
2020-11-01 03:01:26 +0100mimi_vx(~mimi@2a01:490:16:1026:8cbe:b3f3:f284:209c)
2020-11-01 03:01:36 +0100 <texasmynsted> Wow, great questions with answers here. https://monadfix.com/
2020-11-01 03:01:59 +0100 <koz_> I work with (some of) the folks on that page.
2020-11-01 03:03:07 +0100 <texasmynsted> :-)
2020-11-01 03:03:08 +0100 <texasmynsted> wow
2020-11-01 03:06:37 +0100thir(~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de)
2020-11-01 03:06:40 +0100vonfry(~user@181.115.198.104.bc.googleusercontent.com) (Remote host closed the connection)
2020-11-01 03:08:05 +0100machinedgod(~machinedg@24.105.81.50) (Ping timeout: 240 seconds)
2020-11-01 03:10:22 +0100tinwood(~tinwood@general.default.akavanagh.uk0.bigv.io) (Remote host closed the connection)
2020-11-01 03:11:39 +0100thir(~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
2020-11-01 03:12:31 +0100hackagebitcoin-scripting 0.1.0 - Resources for working with miniscript, and script descriptors https://hackage.haskell.org/package/bitcoin-scripting-0.1.0 (IanShipman)
2020-11-01 03:13:23 +0100tinwood(~tinwood@general.default.akavanagh.uk0.bigv.io)
2020-11-01 03:13:38 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:c427:c5ca:d62:565b)
2020-11-01 03:14:24 +0100mimi_vx(~mimi@2a01:490:16:1026:8cbe:b3f3:f284:209c) (Ping timeout: 240 seconds)
2020-11-01 03:24:00 +0100bennofs1(~benno@dslb-188-106-255-000.188.106.pools.vodafone-ip.de) (Ping timeout: 272 seconds)
2020-11-01 03:26:37 +0100elliott__(~elliott@pool-108-51-141-12.washdc.fios.verizon.net)
2020-11-01 03:29:55 +0100conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2020-11-01 03:31:02 +0100conal(~conal@64.71.133.70)
2020-11-01 03:31:02 +0100conal(~conal@64.71.133.70) (Client Quit)
2020-11-01 03:31:49 +0100conal(~conal@64.71.133.70)
2020-11-01 03:31:49 +0100conal(~conal@64.71.133.70) (Client Quit)
2020-11-01 03:36:14 +0100shatriff(~vitaliish@176.52.219.10) (Remote host closed the connection)
2020-11-01 03:40:13 +0100tenniscp25(~tenniscp2@134.196.209.118)
2020-11-01 03:40:53 +0100conal(~conal@64.71.133.70)
2020-11-01 03:41:44 +0100jespada(~jespada@90.254.243.98) (Ping timeout: 272 seconds)
2020-11-01 03:43:24 +0100whatisRT(~whatisRT@2002:5b41:6a33:0:2c99:838:ca07:5660) (Quit: ZNC 1.7.5 - https://znc.in)
2020-11-01 03:43:56 +0100jespada(~jespada@90.254.243.98)
2020-11-01 03:47:01 +0100hackagehopenpgp-tools 0.23.3 - hOpenPGP-based command-line tools https://hackage.haskell.org/package/hopenpgp-tools-0.23.3 (ClintAdams)
2020-11-01 03:58:24 +0100xff0x_(~fox@2001:1a81:5309:6900:d5d1:51a8:37d7:2b25) (Ping timeout: 240 seconds)
2020-11-01 04:00:02 +0100langseth(~langseth@185.204.1.185) ()
2020-11-01 04:00:30 +0100xff0x_(~fox@2001:1a81:5341:f200:2b28:cb2f:fd77:595a)
2020-11-01 04:05:02 +0100Chi1thangoo(~Chi1thang@87.112.60.168)
2020-11-01 04:10:02 +0100lagothrix(~lagothrix@unaffiliated/lagothrix) (Killed (karatkievich.freenode.net (Nickname regained by services)))
2020-11-01 04:10:10 +0100lagothrix(~lagothrix@unaffiliated/lagothrix)
2020-11-01 04:11:19 +0100Amras(~Amras@unaffiliated/amras0000) (Read error: Connection reset by peer)
2020-11-01 04:11:29 +0100CMCDragonkai1(~Thunderbi@124.19.3.250)
2020-11-01 04:13:45 +0100Amras(~Amras@unaffiliated/amras0000)
2020-11-01 04:17:40 +0100jessj
2020-11-01 04:19:16 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-11-01 04:21:40 +0100aclark1(~aclark@185.204.1.185)
2020-11-01 04:22:03 +0100drbean(~drbean@TC210-63-209-191.static.apol.com.tw)
2020-11-01 04:28:36 +0100ddellacosta(~dd@86.106.121.168) (Ping timeout: 272 seconds)
2020-11-01 04:29:10 +0100theDon(~td@muedsl-82-207-238-061.citykom.de) (Ping timeout: 260 seconds)
2020-11-01 04:30:52 +0100theDon(~td@94.134.91.196)
2020-11-01 04:32:24 +0100xsarnik0(xsarnik@gateway/shell/fi.muni.cz/x-yblszgqjzlcrgkag)
2020-11-01 04:33:56 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:c427:c5ca:d62:565b) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-11-01 04:34:17 +0100elliott__(~elliott@pool-108-51-141-12.washdc.fios.verizon.net) (Ping timeout: 268 seconds)
2020-11-01 04:36:24 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:c427:c5ca:d62:565b)
2020-11-01 04:41:18 +0100Chi1thangoo(~Chi1thang@87.112.60.168) (Ping timeout: 260 seconds)
2020-11-01 04:46:58 +0100ghoulguyglguy
2020-11-01 04:50:37 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 265 seconds)
2020-11-01 04:51:26 +0100APic(apic@apic.name) (Ping timeout: 256 seconds)
2020-11-01 04:51:52 +0100APic(apic@apic.name)
2020-11-01 04:54:08 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2020-11-01 04:54:42 +0100mimi_vx(~mimi@2a01:490:16:1026:8cbe:b3f3:f284:209c)
2020-11-01 04:58:53 +0100aarvar(~foewfoiew@50.35.43.33)
2020-11-01 04:59:34 +0100mimi_vx(~mimi@2a01:490:16:1026:8cbe:b3f3:f284:209c) (Ping timeout: 268 seconds)
2020-11-01 05:00:03 +0100hekkaidekapus_(~tchouri@gateway/tor-sasl/hekkaidekapus) (Remote host closed the connection)
2020-11-01 05:00:11 +0100macrover(~macrover@ip70-189-231-35.lv.lv.cox.net) (Ping timeout: 268 seconds)
2020-11-01 05:00:36 +0100Rudd0(~Rudd0@185.189.115.108)
2020-11-01 05:00:40 +0100hekkaidekapus_(~tchouri@gateway/tor-sasl/hekkaidekapus)
2020-11-01 05:00:56 +0100falafel_(~falafel@71-34-132-121.clsp.qwest.net)
2020-11-01 05:01:40 +0100agrimagrif
2020-11-01 05:02:41 +0100obihann(~jhann@156.34.160.69) (Read error: Connection reset by peer)
2020-11-01 05:02:59 +0100obihann(~jhann@156.34.160.69)
2020-11-01 05:06:21 +0100acidjnk_new(~acidjnk@p200300d0c72260940830e3b8f3af47a8.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
2020-11-01 05:07:01 +0100perrier-jouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 2.9)
2020-11-01 05:15:00 +0100christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-11-01 05:15:33 +0100christo(~chris@81.96.113.213)
2020-11-01 05:17:41 +0100texasmynsted(~texasmyns@172.93.177.204) (Remote host closed the connection)
2020-11-01 05:18:22 +0100texasmynsted(~texasmyns@172.93.177.204)
2020-11-01 05:18:25 +0100pfurla(~pfurla@ool-182ed2e2.dyn.optonline.net) (Ping timeout: 240 seconds)
2020-11-01 05:20:05 +0100pfurla(~pfurla@33.15.195.173.client.static.strong-in52.as13926.net)
2020-11-01 05:21:18 +0100perrier-jouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca)
2020-11-01 05:23:10 +0100texasmynsted(~texasmyns@172.93.177.204) (Ping timeout: 256 seconds)
2020-11-01 05:23:31 +0100XorSwap(~user@wnpgmb016qw-ds01-123-1.dynamic.bellmts.net)
2020-11-01 05:25:28 +0100renzhi(~renzhi@2607:fa49:655f:e600::28da) (Ping timeout: 268 seconds)
2020-11-01 05:28:05 +0100rekahsoft(~rekahsoft@cpe0008a20f982f-cm64777d666260.cpe.net.cable.rogers.com) (Ping timeout: 240 seconds)
2020-11-01 05:32:30 +0100hexfive(~hexfive@50.35.87.13)
2020-11-01 05:32:48 +0100hexfive(~hexfive@50.35.87.13) (Client Quit)
2020-11-01 05:33:00 +0100wei2912(~wei2912@unaffiliated/wei2912)
2020-11-01 05:36:38 +0100urodna(~urodna@unaffiliated/urodna) (Quit: urodna)
2020-11-01 05:38:37 +0100lxsameer(~lxsameer@unaffiliated/lxsameer) (Ping timeout: 246 seconds)
2020-11-01 05:41:26 +0100conal(~conal@64.71.133.70) (Ping timeout: 264 seconds)
2020-11-01 05:44:13 +0100glguygoggleguy
2020-11-01 05:44:33 +0100goggleguygobbleguy
2020-11-01 05:45:22 +0100conal(~conal@ip-66-115-176-132.creativelink.net)
2020-11-01 05:46:02 +0100elliott_(~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) (Read error: Connection reset by peer)
2020-11-01 05:46:03 +0100ensyde(~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 260 seconds)
2020-11-01 05:46:29 +0100ensyde(~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
2020-11-01 05:46:49 +0100elliott_(~elliott_@pool-108-51-141-12.washdc.fios.verizon.net)
2020-11-01 05:49:42 +0100anon1234(421b7c91@cpe-66-27-124-145.san.res.rr.com)
2020-11-01 05:58:55 +0100pacak(~pacak@bb116-14-220-91.singnet.com.sg) (Remote host closed the connection)
2020-11-01 05:59:26 +0100ensyde(~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 264 seconds)
2020-11-01 06:00:18 +0100xerox_(~xerox@unaffiliated/xerox)
2020-11-01 06:00:29 +0100anon1234(421b7c91@cpe-66-27-124-145.san.res.rr.com) (Remote host closed the connection)
2020-11-01 06:03:55 +0100_vaibhavingale_(~Adium@203.188.228.9)
2020-11-01 06:04:24 +0100justanotheruser(~justanoth@unaffiliated/justanotheruser) (Ping timeout: 240 seconds)
2020-11-01 06:06:26 +0100CMCDragonkai1(~Thunderbi@124.19.3.250) (Quit: CMCDragonkai1)
2020-11-01 06:06:45 +0100slack1256(~slack1256@191.126.175.205)
2020-11-01 06:07:19 +0100christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-11-01 06:08:07 +0100 <slack1256> On cabal's test sections, can I have multiple modules defined? All the example I've seen only use one module.
2020-11-01 06:10:03 +0100pacak(~pacak@bb116-14-220-91.singnet.com.sg)
2020-11-01 06:10:08 +0100 <koz_> slack1256: You can have 'other-modules' just like for executables.
2020-11-01 06:10:21 +0100 <koz_> Or are you saying you want multiple modules with Main in them?
2020-11-01 06:10:26 +0100 <koz_> s/Main/main/
2020-11-01 06:12:20 +0100Tario(~Tario@201.204.63.11) (Ping timeout: 268 seconds)
2020-11-01 06:12:20 +0100 <slack1256> other-modules? nice
2020-11-01 06:12:33 +0100Tario(~Tario@200.119.185.128)
2020-11-01 06:13:28 +0100christo(~chris@81.96.113.213)
2020-11-01 06:14:17 +0100 <slack1256> koz_: Thanks
2020-11-01 06:15:41 +0100slack1256(~slack1256@191.126.175.205) (Remote host closed the connection)
2020-11-01 06:16:18 +0100vicfred(~vicfred@unaffiliated/vicfred)
2020-11-01 06:17:25 +0100Sheilong(uid293653@gateway/web/irccloud.com/x-fgkoyqizymyfdrsz) (Quit: Connection closed for inactivity)
2020-11-01 06:17:27 +0100aclark1(~aclark@185.204.1.185) (Remote host closed the connection)
2020-11-01 06:20:36 +0100wei2912(~wei2912@unaffiliated/wei2912) (Remote host closed the connection)
2020-11-01 06:26:37 +0100tenniscp25(~tenniscp2@134.196.209.118) ()
2020-11-01 06:27:29 +0100ensyde(~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
2020-11-01 06:29:10 +0100 <XorSwap> rate my obfuscated mess: fix(((True:).).(.flip(flip.(ap.).flip flip head.(((.).flip((.).(:))).))tail).ap fix)((.tail).((False:).))
2020-11-01 06:29:30 +0100Saukk(~Saukk@2001:998:f9:2914:1c59:9bb5:b94c:4)
2020-11-01 06:29:42 +0100 <XorSwap> for clarity, map fst $ filter snd $ zip [2..] $ <the mess above>
2020-11-01 06:31:25 +0100xwvvvvwx(~xwvvvvwx@185.213.155.160) (Ping timeout: 264 seconds)
2020-11-01 06:32:27 +0100ensyde(~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 258 seconds)
2020-11-01 06:33:18 +0100texasmynsted(~texasmyns@172.93.177.204)
2020-11-01 06:34:21 +0100texasmynsted(~texasmyns@172.93.177.204) (Read error: Connection reset by peer)
2020-11-01 06:40:11 +0100xwvvvvwx(~xwvvvvwx@185.213.155.160)
2020-11-01 06:42:53 +0100mimi_vx(~mimi@2a01:490:16:1026:8cbe:b3f3:f284:209c)
2020-11-01 06:44:59 +0100pfurla(~pfurla@33.15.195.173.client.static.strong-in52.as13926.net) (Ping timeout: 260 seconds)
2020-11-01 06:45:27 +0100day_(~Unknown@unaffiliated/day)
2020-11-01 06:46:08 +0100DTZUZU(~DTZUZU@S0106bcd165662a4d.vs.shawcable.net) (Read error: Connection reset by peer)
2020-11-01 06:47:04 +0100mimi_vx(~mimi@2a01:490:16:1026:8cbe:b3f3:f284:209c) (Ping timeout: 240 seconds)
2020-11-01 06:47:09 +0100pfurla(~pfurla@ool-182ed2e2.dyn.optonline.net)
2020-11-01 06:47:41 +0100DTZUZU(~DTZUZU@205.ip-149-56-132.net)
2020-11-01 06:49:20 +0100day(~Unknown@unaffiliated/day) (Ping timeout: 268 seconds)
2020-11-01 06:49:20 +0100day_day
2020-11-01 06:49:56 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-11-01 06:50:12 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2020-11-01 06:53:04 +0100pfurla(~pfurla@ool-182ed2e2.dyn.optonline.net) (Ping timeout: 240 seconds)
2020-11-01 06:53:43 +0100jpds(~jpds@gateway/tor-sasl/jpds) (Ping timeout: 240 seconds)
2020-11-01 06:54:40 +0100 <gobbleguy> :t elemIndicies
2020-11-01 06:54:41 +0100 <lambdabot> error:
2020-11-01 06:54:41 +0100 <lambdabot> • Variable not in scope: elemIndicies
2020-11-01 06:54:41 +0100 <lambdabot> • Perhaps you meant one of these:
2020-11-01 06:57:00 +0100jpds(~jpds@gateway/tor-sasl/jpds)
2020-11-01 06:58:31 +0100XorSwap(~user@wnpgmb016qw-ds01-123-1.dynamic.bellmts.net) (Ping timeout: 258 seconds)
2020-11-01 07:03:29 +0100ensyde(~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
2020-11-01 07:07:59 +0100thir(~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de)
2020-11-01 07:08:34 +0100ensyde(~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 256 seconds)
2020-11-01 07:09:12 +0100texasmynsted(~texasmyns@172.93.177.204)
2020-11-01 07:10:11 +0100christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-11-01 07:11:04 +0100olligobber(olligobber@gateway/vpn/privateinternetaccess/olligobber)
2020-11-01 07:11:19 +0100christo(~chris@81.96.113.213)
2020-11-01 07:12:24 +0100thir(~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2020-11-01 07:13:45 +0100christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-11-01 07:13:50 +0100texasmynsted(~texasmyns@172.93.177.204) (Ping timeout: 264 seconds)
2020-11-01 07:14:21 +0100Kaiepi(~Kaiepi@nwcsnbsc03w-47-55-225-82.dhcp-dynamic.fibreop.nb.bellaliant.net) (Remote host closed the connection)
2020-11-01 07:19:23 +0100falafel_(~falafel@71-34-132-121.clsp.qwest.net) (Remote host closed the connection)
2020-11-01 07:19:36 +0100 <int-e> :t elemIndices
2020-11-01 07:19:37 +0100 <lambdabot> Eq a => a -> [a] -> [Int]
2020-11-01 07:19:49 +0100falafel_(~falafel@71-34-132-121.clsp.qwest.net)
2020-11-01 07:20:30 +0100Kaiepi(~Kaiepi@nwcsnbsc03w-47-55-225-82.dhcp-dynamic.fibreop.nb.bellaliant.net)
2020-11-01 07:22:38 +0100simonnewnicknameasd
2020-11-01 07:22:42 +0100newnicknameasdsshine
2020-11-01 07:24:11 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2020-11-01 07:25:07 +0100texasmynsted(~texasmyns@2600:6c40:700:b2f:79b9:7f0b:b114:6696)
2020-11-01 07:25:18 +0100christo(~chris@81.96.113.213)
2020-11-01 07:28:50 +0100cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 264 seconds)
2020-11-01 07:30:02 +0100texasmynsted(~texasmyns@2600:6c40:700:b2f:79b9:7f0b:b114:6696) (Ping timeout: 264 seconds)
2020-11-01 07:35:13 +0100gioyik(~gioyik@186.112.105.190) (Quit: WeeChat 2.9)
2020-11-01 07:37:14 +0100xff0x_(~fox@2001:1a81:5341:f200:2b28:cb2f:fd77:595a) (Ping timeout: 264 seconds)
2020-11-01 07:37:39 +0100xff0x_(~fox@2001:1a81:5341:f200:676a:5a76:34ce:6dec)
2020-11-01 07:38:00 +0100hackageexact-real 0.12.4.1 - Exact real arithmetic https://hackage.haskell.org/package/exact-real-0.12.4.1 (jophish)
2020-11-01 07:38:44 +0100bjobjo(~bjobjo@2a01:79c:cebf:d688::9e6)
2020-11-01 07:38:52 +0100dbmikus(~dbmikus@cpe-76-167-86-219.natsow.res.rr.com)
2020-11-01 07:40:44 +0100conal(~conal@ip-66-115-176-132.creativelink.net) (Ping timeout: 240 seconds)
2020-11-01 07:40:54 +0100takuan(~takuan@178-116-218-225.access.telenet.be)
2020-11-01 07:41:37 +0100Jeanne-Kamikaze(~Jeanne-Ka@68.235.43.110) (Ping timeout: 264 seconds)
2020-11-01 07:43:01 +0100hackageoptparse-declarative 0.4.0 - Declarative command line option parser https://hackage.haskell.org/package/optparse-declarative-0.4.0 (kakkun61)
2020-11-01 07:44:16 +0100dbmikus(~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) (Ping timeout: 246 seconds)
2020-11-01 07:50:13 +0100 <jophish> What determines the version of a package in stackage nightly?
2020-11-01 07:50:29 +0100jedws(~jedws@101.184.150.81)
2020-11-01 07:50:47 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-11-01 07:51:13 +0100conal(~conal@ip-66-115-176-132.creativelink.net)
2020-11-01 07:52:40 +0100Nikotiini(~ubuntu@ec2-52-213-118-142.eu-west-1.compute.amazonaws.com) (Ping timeout: 246 seconds)
2020-11-01 07:55:50 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 264 seconds)
2020-11-01 08:00:19 +0100mimi_vx(~mimi@2a01:490:16:1026:8cbe:b3f3:f284:209c)
2020-11-01 08:01:05 +0100dbmikus(~dbmikus@cpe-76-167-86-219.natsow.res.rr.com)
2020-11-01 08:05:45 +0100dbmikus(~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) (Ping timeout: 240 seconds)
2020-11-01 08:06:18 +0100danso(~dan@69-165-210-185.cable.teksavvy.com) (Quit: WeeChat 2.9)
2020-11-01 08:06:26 +0100Nikotiini(~ubuntu@ec2-52-213-118-142.eu-west-1.compute.amazonaws.com)
2020-11-01 08:08:24 +0100jedws(~jedws@101.184.150.81) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-11-01 08:08:30 +0100ggole(~ggole@2001:8003:8119:7200:a168:686a:1da3:cf46)
2020-11-01 08:12:30 +0100jedws(~jedws@101.184.150.81)
2020-11-01 08:14:05 +0100Saukk(~Saukk@2001:998:f9:2914:1c59:9bb5:b94c:4) (Remote host closed the connection)
2020-11-01 08:15:46 +0100knupfer(~Thunderbi@mue-88-130-61-182.dsl.tropolys.de)
2020-11-01 08:21:08 +0100toorevitimirp(~tooreviti@117.182.183.132)
2020-11-01 08:23:44 +0100Amras(~Amras@unaffiliated/amras0000) (Ping timeout: 240 seconds)
2020-11-01 08:29:54 +0100jpds(~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
2020-11-01 08:30:13 +0100Tario(~Tario@200.119.185.128) (Ping timeout: 264 seconds)
2020-11-01 08:30:48 +0100Tario(~Tario@201.204.63.11)
2020-11-01 08:31:12 +0100jpds(~jpds@gateway/tor-sasl/jpds)
2020-11-01 08:38:26 +0100geowiesnot(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr)
2020-11-01 08:41:44 +0100shutdown_-h_now(~arjan@2001:1c06:2d0b:2312:3077:a607:5321:a929) (Ping timeout: 240 seconds)
2020-11-01 08:42:23 +0100cfricke(~cfricke@unaffiliated/cfricke)
2020-11-01 08:43:21 +0100coot(~coot@37.30.59.209.nat.umts.dynamic.t-mobile.pl)
2020-11-01 08:47:44 +0100shutdown_-h_now(~arjan@2001:1c06:2d0b:2312:44d9:76d7:3eb0:9793)
2020-11-01 08:48:01 +0100hackageoptparse-declarative 0.4.1 - Declarative command line option parser https://hackage.haskell.org/package/optparse-declarative-0.4.1 (kakkun61)
2020-11-01 08:48:29 +0100grumboogrumble
2020-11-01 08:55:25 +0100falafel_(~falafel@71-34-132-121.clsp.qwest.net) (Ping timeout: 240 seconds)
2020-11-01 08:57:15 +0100yinfeng(~yinfeng@161.117.39.212)
2020-11-01 09:00:15 +0100xsperry(~as@unaffiliated/xsperry) (Remote host closed the connection)
2020-11-01 09:00:16 +0100dsal(sid13060@gateway/web/irccloud.com/x-ukyimvofbbobpxrr) (Read error: Connection reset by peer)
2020-11-01 09:00:32 +0100dsal(sid13060@gateway/web/irccloud.com/x-udvlsvyzdoxkbqyc)
2020-11-01 09:02:44 +0100Tuplanolla(~Tuplanoll@91-159-68-239.elisa-laajakaista.fi)
2020-11-01 09:04:18 +0100ensyde(~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
2020-11-01 09:04:46 +0100Tario(~Tario@201.204.63.11) (Ping timeout: 246 seconds)
2020-11-01 09:09:41 +0100ensyde(~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 265 seconds)
2020-11-01 09:10:30 +0100ensyde(~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
2020-11-01 09:14:21 +0100yinfeng(~yinfeng@161.117.39.212) (Quit: yinfeng)
2020-11-01 09:14:55 +0100_vaibhavingale_1(~Adium@203.188.228.9)
2020-11-01 09:14:55 +0100_vaibhavingale_(~Adium@203.188.228.9) (Read error: Connection reset by peer)
2020-11-01 09:15:47 +0100ensyde(~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 260 seconds)
2020-11-01 09:16:06 +0100DataComputist(~lumeng@static-50-43-26-251.bvtn.or.frontiernet.net) (Ping timeout: 268 seconds)
2020-11-01 09:18:58 +0100s00pcan(~chris@075-133-056-178.res.spectrum.com) (Ping timeout: 260 seconds)
2020-11-01 09:19:31 +0100dansho(~dansho@ip68-108-167-185.lv.lv.cox.net)
2020-11-01 09:20:32 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-11-01 09:20:41 +0100s00pcan(~chris@107.181.165.217)
2020-11-01 09:22:07 +0100chaosmasttter(~chaosmast@p200300c4a72dee01c4c235ce0df4f033.dip0.t-ipconnect.de)
2020-11-01 09:22:55 +0100ensyde(~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
2020-11-01 09:24:09 +0100yinfeng(~yinfeng@2001:250:5002:8100::1:518e)
2020-11-01 09:27:43 +0100ensyde(~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 260 seconds)
2020-11-01 09:39:38 +0100geowiesnot(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 264 seconds)
2020-11-01 09:44:19 +0100christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-11-01 09:49:41 +0100dansho_(~dansho@ip68-108-167-185.lv.lv.cox.net)
2020-11-01 09:50:42 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:c427:c5ca:d62:565b) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-11-01 09:51:38 +0100mud(~mud@unaffiliated/kadoban) (Remote host closed the connection)
2020-11-01 09:52:04 +0100mud(~mud@unaffiliated/kadoban)
2020-11-01 09:52:13 +0100dansho(~dansho@ip68-108-167-185.lv.lv.cox.net) (Ping timeout: 260 seconds)
2020-11-01 09:52:35 +0100drbean(~drbean@TC210-63-209-191.static.apol.com.tw) (Ping timeout: 260 seconds)
2020-11-01 09:53:06 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-11-01 09:53:42 +0100gehmehgeh(~ircuser1@gateway/tor-sasl/gehmehgeh)
2020-11-01 09:54:46 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
2020-11-01 09:56:26 +0100coot(~coot@37.30.59.209.nat.umts.dynamic.t-mobile.pl) (Ping timeout: 264 seconds)
2020-11-01 09:56:41 +0100danvet(~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa)
2020-11-01 09:57:38 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 264 seconds)
2020-11-01 10:00:05 +0100JoelMcCracken[m](joelmccrac@gateway/shell/matrix.org/x-jzimloyvvhoxfyzc) (Quit: Idle for 30+ days)
2020-11-01 10:00:05 +0100ethercrow[m](ethercrowm@gateway/shell/matrix.org/x-wllbtofqtpmcpjdq) (Quit: Idle for 30+ days)
2020-11-01 10:05:17 +0100jedws(~jedws@101.184.150.81) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-11-01 10:10:30 +0100DataComputist(~lumeng@static-50-43-26-251.bvtn.or.frontiernet.net)
2020-11-01 10:10:37 +0100sam___(~sam@101.168.185.81.rev.sfr.net)
2020-11-01 10:11:13 +0100yinfeng(~yinfeng@2001:250:5002:8100::1:518e) (Quit: yinfeng)
2020-11-01 10:14:36 +0100cfricke(~cfricke@unaffiliated/cfricke) (Quit: WeeChat 2.9)
2020-11-01 10:15:03 +0100fendor(~fendor@91.141.0.119.wireless.dyn.drei.com)
2020-11-01 10:24:23 +0100hnOsmium0001(uid453710@gateway/web/irccloud.com/x-rzrwozbhbqioiyot) (Quit: Connection closed for inactivity)
2020-11-01 10:26:18 +0100_vaibhavingale_1(~Adium@203.188.228.9) (Quit: Leaving.)
2020-11-01 10:26:50 +0100stree(~stree@50-108-72-205.adr01.mskg.mi.frontiernet.net) (Quit: Caught exception)
2020-11-01 10:27:07 +0100stree(~stree@50-108-72-205.adr01.mskg.mi.frontiernet.net)
2020-11-01 10:29:02 +0100petersen(~petersen@redhat/juhp)
2020-11-01 10:30:08 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-11-01 10:30:59 +0100alp(~alp@2a01:e0a:58b:4920:5441:268c:4bd4:4efe)
2020-11-01 10:31:35 +0100spookyscarysphalsphalerite
2020-11-01 10:38:27 +0100lazyshrk(~lazyshrk@128.199.58.13) ("WeeChat 2.9")
2020-11-01 10:38:54 +0100avdb(~avdb@ip-62-235-106-63.dsl.scarlet.be)
2020-11-01 10:40:02 +0100idhugo(~idhugo@80-62-116-101-mobile.dk.customer.tdc.net)
2020-11-01 10:42:07 +0100yinfeng(~yinfeng@2001:250:5002:8100::1:518e)
2020-11-01 10:42:20 +0100LKoen(~LKoen@127.251.88.92.rev.sfr.net)
2020-11-01 10:42:54 +0100lxsameer(~lxsameer@unaffiliated/lxsameer)
2020-11-01 10:45:24 +0100yinfeng(~yinfeng@2001:250:5002:8100::1:518e) (Client Quit)
2020-11-01 10:46:57 +0100yinfeng(~yinfeng@2001:250:5002:8100::1:518e)
2020-11-01 10:47:01 +0100sam___(~sam@101.168.185.81.rev.sfr.net) (Ping timeout: 264 seconds)
2020-11-01 10:48:50 +0100sam___(~sam@49.152.205.77.rev.sfr.net)
2020-11-01 10:50:34 +0100yinfeng(~yinfeng@2001:250:5002:8100::1:518e) (Client Quit)
2020-11-01 10:51:33 +0100yinfeng(~yinfeng@2001:250:5002:8100::1:518e)
2020-11-01 10:52:21 +0100shatriff(~vitaliish@176.52.219.10)
2020-11-01 10:53:07 +0100LKoen(~LKoen@127.251.88.92.rev.sfr.net) (Ping timeout: 265 seconds)
2020-11-01 10:53:34 +0100LKoen(~LKoen@127.251.88.92.rev.sfr.net)
2020-11-01 10:55:17 +0100creffett|irssi(~creffett|@195.206.169.184)
2020-11-01 10:57:00 +0100yahb(xsbot@haskell/bot/yahb) (Ping timeout: 256 seconds)
2020-11-01 10:57:12 +0100Franciman(~francesco@host-79-36-167-172.retail.telecomitalia.it)
2020-11-01 10:57:52 +0100yinfeng(~yinfeng@2001:250:5002:8100::1:518e) (Quit: WeeChat 2.9)
2020-11-01 10:58:08 +0100knupfer(~Thunderbi@mue-88-130-61-182.dsl.tropolys.de) (Ping timeout: 260 seconds)
2020-11-01 11:02:23 +0100 <tomsmeding> @unpl fix(((True:).).(.flip(flip.(ap.).flip flip head.(((.).flip((.).(:))).))tail).ap fix)((.tail).((False:).))
2020-11-01 11:02:23 +0100 <lambdabot> fix (\ x x0 -> True : (fix >>= \ x2 -> x >>= \ x3 -> return (x2 x3)) (\ y0 b0 -> (tail >>= \ x5 -> return (((:)) (head b0) (x0 y0 x5))) b0)) (\ x x0 -> False : x (tail x0))
2020-11-01 11:02:25 +0100mniip(~mniip@freenode/staff/mniip) (Ping timeout: 600 seconds)
2020-11-01 11:07:14 +0100alp(~alp@2a01:e0a:58b:4920:5441:268c:4bd4:4efe) (Ping timeout: 264 seconds)
2020-11-01 11:08:38 +0100avdb(~avdb@ip-62-235-106-63.dsl.scarlet.be) (Quit: WeeChat 2.9)
2020-11-01 11:09:37 +0100thir(~thir@pd9e1bd8a.dip0.t-ipconnect.de)
2020-11-01 11:10:05 +0100m0rphism(~m0rphism@HSI-KBW-046-005-177-122.hsi8.kabel-badenwuerttemberg.de)
2020-11-01 11:11:06 +0100vonfry(~user@2001:da8:801b:1010:2dc9:afc5:c8eb:8f22)
2020-11-01 11:12:34 +0100lazyshrk(~lazyshrk@128.199.58.13)
2020-11-01 11:14:15 +0100thir(~thir@pd9e1bd8a.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2020-11-01 11:15:36 +0100coot(~coot@37.30.60.135.nat.umts.dynamic.t-mobile.pl)
2020-11-01 11:18:27 +0100rprije(~rprije@194-193-168-77.tpgi.com.au) (Ping timeout: 260 seconds)
2020-11-01 11:20:08 +0100yinfeng(~yinfeng@2001:250:5002:8100::1:851e)
2020-11-01 11:20:09 +0100akegalj(~akegalj@93-136-196-194.adsl.net.t-com.hr)
2020-11-01 11:20:11 +0100monsterchrom(trebla@216.138.220.146) (Ping timeout: 265 seconds)
2020-11-01 11:22:33 +0100monsterchrom(trebla@216.138.220.146)
2020-11-01 11:23:37 +0100Sgeo_(~Sgeo@ool-18b982ad.dyn.optonline.net) (Read error: Connection reset by peer)
2020-11-01 11:23:45 +0100mananamenos(~mananamen@84.122.202.215.dyn.user.ono.com)
2020-11-01 11:28:23 +0100 <bliminse> what is that monster? that's going too far with pointfree xD
2020-11-01 11:28:28 +0100petersen(~petersen@redhat/juhp) (Ping timeout: 260 seconds)
2020-11-01 11:29:39 +0100idhugo(~idhugo@80-62-116-101-mobile.dk.customer.tdc.net) (Ping timeout: 260 seconds)
2020-11-01 11:34:12 +0100mmohammadi9812(~mmohammad@2.178.188.172) (Ping timeout: 272 seconds)
2020-11-01 11:37:27 +0100whatisRT(~whatisRT@2002:5b41:6a33:0:2c99:838:ca07:5660)
2020-11-01 11:38:11 +0100vonfry`(~user@178.128.212.63)
2020-11-01 11:38:24 +0100vonfry`(~user@178.128.212.63) (Remote host closed the connection)
2020-11-01 11:39:24 +0100vonfry(~user@2001:da8:801b:1010:2dc9:afc5:c8eb:8f22) (Ping timeout: 240 seconds)
2020-11-01 11:39:31 +0100 <int-e> unfortunately @unpl overshoots a bit with the reader monad here.
2020-11-01 11:41:58 +0100 <tomsmeding> it generates prime numbers (easily verifiable by running it), but I gave up figuring out how
2020-11-01 11:42:05 +0100 <tomsmeding> (source: XorSwap's message above)
2020-11-01 11:42:28 +0100bergsans(~bergsans@c80-217-8-29.bredband.comhem.se)
2020-11-01 11:42:46 +0100 <tomsmeding> you can β-reduce all the reader monad stuff away fairly easily
2020-11-01 11:42:51 +0100xsperry(~as@unaffiliated/xsperry)
2020-11-01 11:43:14 +0100 <bergsans> Perhaps more of interest to people learning Haskell, but I wrote a post with annotated code for how to make a game-ish demo with Haskell and Gloss: https://herebeseaswines.net/essays/2020-11-01-making-a-small-game-with-gloss
2020-11-01 11:43:58 +0100mmohammadi9812(~mmohammad@188.210.118.100)
2020-11-01 11:44:41 +0100yahb(xsbot@178.219.36.155)
2020-11-01 11:44:41 +0100yahb(xsbot@178.219.36.155) (Changing host)
2020-11-01 11:44:41 +0100yahb(xsbot@haskell/bot/yahb)
2020-11-01 11:45:03 +0100mniip(~mniip@freenode/staff/mniip)
2020-11-01 11:47:53 +0100mananamenos(~mananamen@84.122.202.215.dyn.user.ono.com) (Read error: Connection reset by peer)
2020-11-01 11:48:08 +0100__monty__(~toonn@unaffiliated/toonn)
2020-11-01 11:49:51 +0100 <int-e> @pl fix (\go g -> True : (\f -> fix f (go f)) (\h xs -> head xs : (g h (tail xs)))) (\f ys -> False : f (tail ys))
2020-11-01 11:49:51 +0100 <lambdabot> fix (((True :) .) . (. ((liftM2 (:) head .) . flip flip tail . ((.) .))) . ap fix) (((False :) .) . (. tail))
2020-11-01 11:51:00 +0100acidjnk_new(~acidjnk@p200300d0c7226044298aa97eef668aef.dip0.t-ipconnect.de)
2020-11-01 11:54:35 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-11-01 11:55:15 +0100 <int-e> What it does is build functions that replace the first element of a list by False, then preserve the next n elements (starting with n = 0, that is, (\f ys -> False : f (tail ys))), and then apply a continuation to the rest of the list. So the fixed point of that will replace every (n+1)st element of a list by False. And you can extend the length of the unmodified part by tweaking the...
2020-11-01 11:55:21 +0100 <int-e> ...continuation, that's the (\h xs -> head xs : (g h (tail xs))) part. Tie this together in the right way and you have a prime sieve.
2020-11-01 11:55:31 +0100 <int-e> > fix (\go g -> True : (\f -> fix f (go f)) (\h xs -> head xs : (g h (tail xs)))) (\f ys -> False : f (tail ys))
2020-11-01 11:55:33 +0100 <lambdabot> [True,True,False,True,False,True,False,False,False,True,False,True,False,Fal...
2020-11-01 11:56:26 +0100 <int-e> (as hinted by XorSwap, this starts at 2, so the primes are 2,3,not 4,5,7,11,13...)
2020-11-01 11:57:14 +0100int-ehas written similar code before, actually, though for plain lambda calculus...
2020-11-01 11:58:45 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
2020-11-01 11:58:50 +0100 <int-e> Anyway, I think fix (\go g -> True : (\f -> fix f (go f)) (\h xs -> head xs : (g h (tail xs)))) (\f ys -> False : f (tail ys)) is probably the best pointful form of this.
2020-11-01 11:59:13 +0100 <int-e> It's still not very readable, obviously :P
2020-11-01 12:03:21 +0100Maxdamantus(~Maxdamant@unaffiliated/maxdamantus)
2020-11-01 12:03:34 +0100petersen(~petersen@redhat/juhp)
2020-11-01 12:04:02 +0100jjess
2020-11-01 12:04:10 +0100Guest_47(54b72aa9@p54b72aa9.dip0.t-ipconnect.de)
2020-11-01 12:05:47 +0100krjst(~krjst@2604:a880:800:c1::16b:8001) (Quit: bye)
2020-11-01 12:05:54 +0100 <Guest_47> Hello! While trying to install Haskell with ghcup on my Mac I got the following error: Build failed with NonZeroExit 77 "./configure" ["--prefix=/Users/niko/.ghcup/ghc/8.8.4"]
2020-11-01 12:06:05 +0100krjst(~krjst@2604:a880:800:c1::16b:8001)
2020-11-01 12:06:26 +0100 <Guest_47> Can someone give me advice to how successfully install Haskell?
2020-11-01 12:07:28 +0100krjst(~krjst@2604:a880:800:c1::16b:8001) (Client Quit)
2020-11-01 12:07:45 +0100thir(~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de)
2020-11-01 12:07:48 +0100 <merijn> Which version of macOS?
2020-11-01 12:07:51 +0100krjst(~krjst@2604:a880:800:c1::16b:8001)
2020-11-01 12:08:50 +0100krjst(~krjst@2604:a880:800:c1::16b:8001) (Client Quit)
2020-11-01 12:09:14 +0100krjst(~krjst@2604:a880:800:c1::16b:8001)
2020-11-01 12:09:16 +0100 <Guest_47> Catalina 10.15.7
2020-11-01 12:10:06 +0100thir(~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de) (Remote host closed the connection)
2020-11-01 12:10:40 +0100thir(~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de)
2020-11-01 12:11:21 +0100Gurkenglas(~Gurkengla@unaffiliated/gurkenglas)
2020-11-01 12:13:23 +0100daGrevis(~daGrevis@unaffiliated/dagrevis) (Ping timeout: 260 seconds)
2020-11-01 12:14:21 +0100britva(~britva@2a02:aa13:7240:2980:fc63:822e:7d74:772d)
2020-11-01 12:15:36 +0100knupfer(~Thunderbi@200116b82ca86a000cd210fffe197478.dip.versatel-1u1.de)
2020-11-01 12:16:21 +0100knupfer(~Thunderbi@200116b82ca86a000cd210fffe197478.dip.versatel-1u1.de) (Remote host closed the connection)
2020-11-01 12:16:34 +0100knupfer(~Thunderbi@200116b82ca86a000577b9dd59dd39a4.dip.versatel-1u1.de)
2020-11-01 12:16:47 +0100thir(~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
2020-11-01 12:18:46 +0100daGrevis(~daGrevis@unaffiliated/dagrevis)
2020-11-01 12:19:20 +0100ubert(~Thunderbi@p200300ecdf1e539fe6b318fffe838f33.dip0.t-ipconnect.de)
2020-11-01 12:23:04 +0100PerseusPlease(~{mikey}@79.140.120.95)
2020-11-01 12:29:55 +0100Franciman(~francesco@host-79-36-167-172.retail.telecomitalia.it) (Quit: Leaving)
2020-11-01 12:30:33 +0100whatisRT(~whatisRT@2002:5b41:6a33:0:2c99:838:ca07:5660) (Quit: ZNC 1.7.5 - https://znc.in)
2020-11-01 12:31:02 +0100Deide(~Deide@217.155.19.23)
2020-11-01 12:31:35 +0100ubert(~Thunderbi@p200300ecdf1e539fe6b318fffe838f33.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
2020-11-01 12:32:38 +0100invaser(~Thunderbi@31.148.23.125)
2020-11-01 12:34:12 +0100jedws(~jedws@101.184.150.81)
2020-11-01 12:34:21 +0100Guest_67(8d872b9f@d8d872b9f.access.telenet.be)
2020-11-01 12:34:45 +0100Guest_67(8d872b9f@d8d872b9f.access.telenet.be) (Remote host closed the connection)
2020-11-01 12:34:52 +0100britva(~britva@2a02:aa13:7240:2980:fc63:822e:7d74:772d) (Quit: This computer has gone to sleep)
2020-11-01 12:35:19 +0100jedws(~jedws@101.184.150.81) (Client Quit)
2020-11-01 12:39:07 +0100 <PerseusPlease> hi. I was wondering if anyone could help me with a problem I'm having. I'm getting the error "Non type-variable argument in the constraint: MonadError String m (Use FlexibleContexts to permit this)", which isn't helping me much as I think I already have that enabled.
2020-11-01 12:39:22 +0100cfricke(~cfricke@unaffiliated/cfricke)
2020-11-01 12:39:28 +0100 <jophish> How can I disable tests for a source-repository-package?
2020-11-01 12:39:38 +0100dansho_(~dansho@ip68-108-167-185.lv.lv.cox.net) (Ping timeout: 264 seconds)
2020-11-01 12:40:20 +0100 <merijn> jophish: You can add cabal settings (like "test: False") for individual packages by having "package foo\n tests: False" in cabal.project(.local)
2020-11-01 12:40:25 +0100obihann(~jhann@156.34.160.69) (Ping timeout: 265 seconds)
2020-11-01 12:40:29 +0100 <merijn> (Or whatever the right field/config name is)
2020-11-01 12:40:34 +0100 <PerseusPlease> https://gist.github.com/abc-mikey/b9c73c5cc5d2065d7a68b28939ac27b4
2020-11-01 12:40:34 +0100 <jophish> ah, thanks!
2020-11-01 12:40:52 +0100olligobber(olligobber@gateway/vpn/privateinternetaccess/olligobber) (Remote host closed the connection)
2020-11-01 12:41:33 +0100 <merijn> PerseusPlease: Did you double check you saved the file after adding that? :p
2020-11-01 12:41:37 +0100AlterEgo-(~ladew@124-198-158-163.dynamic.caiway.nl)
2020-11-01 12:41:57 +0100obihann(~jhann@156.34.160.69)
2020-11-01 12:42:02 +0100 <PerseusPlease> merijn, yes saved. also I only get that error when I actually call function from ghci
2020-11-01 12:42:21 +0100 <PerseusPlease> also reloaded with :load app/NetStrings.hs
2020-11-01 12:42:25 +0100 <merijn> PerseusPlease: Oh!
2020-11-01 12:42:40 +0100 <merijn> PerseusPlease: That's because the pragma only enables it in the file, *not* in ghci itself :p
2020-11-01 12:42:50 +0100 <merijn> PerseusPlease: Use ":seti -XFlexibleContexts"
2020-11-01 12:42:57 +0100 <PerseusPlease> ahhhhhhhh...!
2020-11-01 12:43:02 +0100 <PerseusPlease> that's the magic
2020-11-01 12:43:19 +0100 <PerseusPlease> I tried {-# LANGUAGE FlexibleContexts #-}
2020-11-01 12:43:31 +0100 <merijn> Yeah, that doesn't work in ghci
2020-11-01 12:44:02 +0100pjb(~t@2a01cb04063ec5000c3dc2e28b3d9ccb.ipv6.abo.wanadoo.fr) (Ping timeout: 260 seconds)
2020-11-01 12:44:05 +0100drbean(~drbean@TC210-63-209-219.static.apol.com.tw)
2020-11-01 12:45:02 +0100sam___(~sam@49.152.205.77.rev.sfr.net) (Ping timeout: 264 seconds)
2020-11-01 12:45:22 +0100florian_(~florian@2a01:e35:2fe9:ecb0:bc5c:10ad:bdba:b477)
2020-11-01 12:46:38 +0100sam___(~sam@4.196.204.77.rev.sfr.net)
2020-11-01 12:47:27 +0100ubert(~Thunderbi@p200300ecdf1e539fe6b318fffe838f33.dip0.t-ipconnect.de)
2020-11-01 12:52:04 +0100thir(~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de)
2020-11-01 12:52:42 +0100jesee(~jesee@116.30.192.63)
2020-11-01 12:52:49 +0100 <florian_> Hi there ! Do you have any opinion about Agda ?!
2020-11-01 12:54:17 +0100 <__monty__> florian_: It's cool stuff.
2020-11-01 12:56:04 +0100 <florian_> monty : So do you use it ? and in which context do you use it ?
2020-11-01 12:56:15 +0100pjb(~t@2a01cb04063ec5002c0fc7d86fb8e728.ipv6.abo.wanadoo.fr)
2020-11-01 12:56:25 +0100jedws(~jedws@101.184.150.81)
2020-11-01 12:57:15 +0100jesee(~jesee@116.30.192.63) (Quit: Leaving)
2020-11-01 12:57:32 +0100 <__monty__> Not anymore, basically just took a look at it. It's viable as a way to do computer checked proofs.
2020-11-01 12:58:03 +0100 <__monty__> It's interesting for dependent types and for its syntax.
2020-11-01 12:58:04 +0100acidjnk_new(~acidjnk@p200300d0c7226044298aa97eef668aef.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2020-11-01 12:58:40 +0100Varis(~Tadas@unaffiliated/varis) (Remote host closed the connection)
2020-11-01 12:58:54 +0100nschoe(~quassel@2a01:e0a:3c4:c7b0:c059:9ac8:a690:3133)
2020-11-01 12:59:24 +0100thir(~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2020-11-01 13:00:01 +0100creffett|irssi(~creffett|@195.206.169.184) ()
2020-11-01 13:00:06 +0100Chi1thangoo(~Chi1thang@87.112.60.168)
2020-11-01 13:03:05 +0100Varis(~Tadas@unaffiliated/varis)
2020-11-01 13:03:11 +0100britva(~britva@2a02:aa13:7240:2980:fc63:822e:7d74:772d)
2020-11-01 13:05:18 +0100brisbin(~patrick@pool-173-49-158-4.phlapa.fios.verizon.net) (Ping timeout: 260 seconds)
2020-11-01 13:05:24 +0100ubert(~Thunderbi@p200300ecdf1e539fe6b318fffe838f33.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2020-11-01 13:05:42 +0100jedws(~jedws@101.184.150.81) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-11-01 13:06:13 +0100dhil(~dhil@195.213.192.85)
2020-11-01 13:07:50 +0100petersen(~petersen@redhat/juhp) (Ping timeout: 264 seconds)
2020-11-01 13:07:57 +0100brisbin(~patrick@pool-173-49-158-4.phlapa.fios.verizon.net)
2020-11-01 13:09:49 +0100chaosmasttter(~chaosmast@p200300c4a72dee01c4c235ce0df4f033.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
2020-11-01 13:10:01 +0100 <florian_> Do you see any value to use Agda to dev a game or application ?
2020-11-01 13:12:10 +0100Guest_47(54b72aa9@p54b72aa9.dip0.t-ipconnect.de) (Remote host closed the connection)
2020-11-01 13:13:26 +0100 <akegalj> florian_: I think Idris is orianted more to suite that niche
2020-11-01 13:13:55 +0100cfricke(~cfricke@unaffiliated/cfricke) (Quit: WeeChat 2.9)
2020-11-01 13:15:41 +0100 <__monty__> florian_: It would be a really cool project. But Agda's implementation is really not ready to produce performant code, at least last time I looked at it. Idris is kind of an Agda with a practical implementation but slightly less interesting and currently in flux because Idris 2 will be so different.
2020-11-01 13:17:06 +0100Nachtgespenst(~user@unaffiliated/siracusa) (Quit: Bye!)
2020-11-01 13:18:02 +0100nschoe(~quassel@2a01:e0a:3c4:c7b0:c059:9ac8:a690:3133) (Ping timeout: 264 seconds)
2020-11-01 13:19:07 +0100 <maerwald> Agda and game development?
2020-11-01 13:19:40 +0100Tops2(~Tobias@dyndsl-095-033-023-063.ewe-ip-backbone.de)
2020-11-01 13:19:41 +0100 <maerwald> are you gonna write an entire ecosystem of game dev libraries from scratch? :D
2020-11-01 13:19:58 +0100 <akegalj> Also, my impression is that Agda's comunity is more focused on proof checking. As a result, Agda contains a lot of libraries to serve that goal. I don't think many people experimented with agda and game dev
2020-11-01 13:20:00 +0100solonarv(~solonarv@astrasbourg-653-1-117-122.w90-33.abo.wanadoo.fr)
2020-11-01 13:20:35 +0100dansho_(~dansho@ip68-108-167-185.lv.lv.cox.net)
2020-11-01 13:20:48 +0100nhandler1(~nhandler@185.204.1.185)
2020-11-01 13:20:50 +0100 <__monty__> I did a tiny experiment to see if using dependent types to make it impossible to design impossible levels could work.
2020-11-01 13:20:53 +0100 <int-e> Hmm, a "game" can be so many things.
2020-11-01 13:21:18 +0100 <__monty__> Wouldn't call it game dev by any stretch of the imagination though.
2020-11-01 13:21:20 +0100 <int-e> . o O ( Minesweeper )
2020-11-01 13:21:31 +0100 <akegalj> or chess
2020-11-01 13:22:13 +0100 <florian_> monty : Ok so Agda give a huge Type system that can be really interesting for an game or app, but the efficiency of the implementation is not good enough for that ? ( is want you try to said ? )
2020-11-01 13:22:57 +0100 <florian_> maerwald : yes
2020-11-01 13:23:05 +0100 <__monty__> florian_: Yes, unless you have the resources to develop a compiler and library ecosystem, Agda isn't a practical choice as the implementation language.
2020-11-01 13:23:11 +0100 <akegalj> florian_: If it some turn based game, then it might work out
2020-11-01 13:23:50 +0100 <__monty__> If it's just for a hobby project though, I'd say it'd be way more interesting than writing it in python or something.
2020-11-01 13:24:14 +0100 <int-e> It might be an interesting experiment... but what practical benefit do you expect?
2020-11-01 13:24:42 +0100 <__monty__> Enlightenment, obviously : )
2020-11-01 13:25:10 +0100 <int-e> __monty__: I get that, but what practical benefit do you expect. :-P
2020-11-01 13:25:44 +0100alp(~alp@2a01:e0a:58b:4920:89f1:ba96:ddf:92c2)
2020-11-01 13:26:10 +0100 <int-e> (I honestly think that the "experiment" part covers the potential enlightenment.)
2020-11-01 13:26:30 +0100 <maerwald> florian_: let me know when you've completed your first game in Agda
2020-11-01 13:27:45 +0100 <florian_> int-e : build stuff in a really elegant way and have a proof that your logic system do what you expect, no ?
2020-11-01 13:27:49 +0100 <int-e> Hmm, is "the incredible proof machine" a game? :)
2020-11-01 13:27:51 +0100ski. o O ( "The Next Mainstream Programming Languages: A Game Developers's Perspective" (slides) by Tim Sweeney in 2005 at <http://www.st.cs.uni-saarland.de/edu/seminare/2005/advanced-fp/docs/sweeny.pdf> )
2020-11-01 13:28:51 +0100 <florian_> maerwald : haha why ?
2020-11-01 13:29:20 +0100Franciman(~francesco@host-79-36-167-172.retail.telecomitalia.it)
2020-11-01 13:30:10 +0100ahmr88(~ahmr88@cpc85006-haye22-2-0-cust131.17-4.cable.virginm.net)
2020-11-01 13:30:31 +0100 <ski> (section from page 27 mentions dependent types, a bit)
2020-11-01 13:31:05 +0100brisbin(~patrick@pool-173-49-158-4.phlapa.fios.verizon.net) (Ping timeout: 240 seconds)
2020-11-01 13:31:16 +0100 <int-e> haha, 30fps@720p
2020-11-01 13:31:17 +0100 <florian_> ski : thanks a lot ! It's seems really interesting !
2020-11-01 13:32:07 +0100 <ski> Carmack has also talked a bit about functional programming, from a game programming perspective
2020-11-01 13:32:23 +0100 <__monty__> Yeah, that's a good talk.
2020-11-01 13:32:58 +0100 <__monty__> florian_: It'd be a lot more practical to do an implementation and a model of your logic in either a proof assistant or a model checker.
2020-11-01 13:34:01 +0100 <int-e> ski: is that 27 hex... (ouch)
2020-11-01 13:35:36 +0100 <int-e> But he uses "dependently-typed" as a proxy for a ranged integer type, which is a rather narrow extension of the type system. And I suspect he wants the compiler to infer the ranges, rather than the programmer to write them, most of the time? Hard to say.
2020-11-01 13:35:48 +0100 <florian_> monty : Because Agda is not a proof assistant ?
2020-11-01 13:36:23 +0100 <__monty__> florian_: It kinda is, the assistance is just fairly minimal, at least as compared to coq for example.
2020-11-01 13:36:27 +0100machinedgod(~machinedg@24.105.81.50)
2020-11-01 13:37:29 +0100 <maerwald> ski: you mean that one twitter post years ago?
2020-11-01 13:37:35 +0100 <ski> florian_ : <https://gamasutra.com/view/news/169296/Indepth_Functional_programming_in_C.php>,<https://www.youtube.com/watch?v=1PhArSujR_A>
2020-11-01 13:37:44 +0100 <ski> maerwald : no idea
2020-11-01 13:37:59 +0100 <__monty__> florian_: I'd recommend setting out to learn Agda and write something really simple, like tic-tac-toe or something. That'll probably give you enough insight into why no one here is going "Woohoo, yeah!!! Agda for games!"
2020-11-01 13:38:13 +0100 <florian_> monty : Ok, do you use coq ? Do know a language/software/system to do model checking ?
2020-11-01 13:38:28 +0100 <ski> int-e : "Reliability" section
2020-11-01 13:39:09 +0100 <__monty__> I don't, not enough time, I'd like to though. Model checker I'm most interested in is TLA+.
2020-11-01 13:39:44 +0100 <int-e> ski: Oh you mean the whole section, not the single slide.
2020-11-01 13:39:54 +0100 <ski> int-e : yes. it's not too fancy. but it does include Pi
2020-11-01 13:39:58 +0100 <ski> yep
2020-11-01 13:40:16 +0100 <int-e> I should figure out whether there are any dependently typed programming success stories out there.
2020-11-01 13:40:31 +0100 <florian_> ski : thanks I will check that !
2020-11-01 13:40:57 +0100 <__monty__> Well, compcert was certified using dependent types (coq), at least in part, no?
2020-11-01 13:41:07 +0100 <ski> (mind that Carmack isn't talking about dependent types, that i recall. but it could still be interesting)
2020-11-01 13:41:15 +0100 <__monty__> That's kinda the certified software poster boy, no?
2020-11-01 13:41:33 +0100 <__monty__> Yeah, Carmack mostly talks about haskell iirc.
2020-11-01 13:42:42 +0100 <florian_> monty : I start to do implementation of Boolean, Natural numbers, List, Binary Tree, Tree, Custom types: and i'm like .. "OOoo ! it can be really awesome for my day to day work"
2020-11-01 13:43:28 +0100jespada(~jespada@90.254.243.98) (Quit: Sleeping)
2020-11-01 13:44:50 +0100 <merijn> maerwald, ski: FWIW, Tim Sweeney (of Epic Games) gave a keynote at POPL about his expectations for the "next big language in games"
2020-11-01 13:45:01 +0100 <merijn> Lemme see if I can find the slides
2020-11-01 13:45:24 +0100 <__monty__> merijn: Already linked by ski ^
2020-11-01 13:45:28 +0100 <ski> merijn : another than the one i linked to, above ?
2020-11-01 13:45:55 +0100 <merijn> oh, hah, that was just off screen
2020-11-01 13:46:03 +0100ski. o O ( <https://en.wikipedia.org/wiki/ATS_(programming_language)> )
2020-11-01 13:46:50 +0100texasmynsted(~texasmyns@212.102.45.115)
2020-11-01 13:47:27 +0100 <florian_> monty : thanks a lot for the TLA+ reference !
2020-11-01 13:49:06 +0100 <florian_> ski : thank for the ATS ref ! you give me so much interesting sources
2020-11-01 13:49:58 +0100 <ski> (i haven't really looked much at ATS. but it seemed possibly relevant, in the discussion)
2020-11-01 13:51:06 +0100renzhi(~renzhi@2607:fa49:655f:e600::28da)
2020-11-01 13:54:27 +0100atraii_(~atraii@c-98-32-64-84.hsd1.ut.comcast.net)
2020-11-01 13:54:47 +0100sam___(~sam@4.196.204.77.rev.sfr.net) (Ping timeout: 260 seconds)
2020-11-01 13:55:16 +0100atraii(~atraii@c-98-32-64-84.hsd1.ut.comcast.net) (Ping timeout: 246 seconds)
2020-11-01 13:55:16 +0100atraii_atraii
2020-11-01 13:55:51 +0100 <maerwald> merijn: pretty odd that he makes an argument for lazy evaluation while this will be his biggest problem when doing actual gamedev in haskell
2020-11-01 13:56:08 +0100 <merijn> maerwald: Well, he's not arguing for lazy in the last slides
2020-11-01 13:56:21 +0100sam___(~sam@212.105.23.93.rev.sfr.net)
2020-11-01 13:56:40 +0100 <merijn> maerwald: His point is that "complicatedly juggling initialisation order of global state is a mess" due to eager evaluation
2020-11-01 13:56:44 +0100 <maerwald> my suspicion is that he has only looked at the language and the syntax and is trying to borrow nice ideas, rather than having actually used it
2020-11-01 13:56:55 +0100 <maerwald> (which is good)
2020-11-01 13:57:35 +0100 <merijn> maerwald: did you read the 2nd to last slide(s) on "Why haskell is not my favourite"?
2020-11-01 13:57:36 +0100 <int-e> The next Haskell will be strict? :)
2020-11-01 13:57:44 +0100 <merijn> int-e: I hope not
2020-11-01 13:57:45 +0100 <maerwald> merijn: I'm half-way through
2020-11-01 13:57:51 +0100 <maerwald> int-e: I hope so
2020-11-01 13:57:57 +0100 <merijn> maerwald: Ah, he addresses that literally at the end :)
2020-11-01 13:58:11 +0100 <merijn> int-e: I would hope "strictness polymorphic" that sounds much more interesting
2020-11-01 13:58:41 +0100 <maerwald> and linear types and dependent types so only a handful of ppl around the world can code it
2020-11-01 13:58:42 +0100 <int-e> if it means what I think it means it sounds like a recipe for exponential code explosion
2020-11-01 13:59:30 +0100 <int-e> And don't get me wrong, I love laziness. But it is rather expensive.
2020-11-01 14:00:15 +0100 <int-e> And it's not always possible to make up for that with more clever algorithms that would be really awkward to implement without laziness.
2020-11-01 14:00:22 +0100 <maerwald> my idea of the perfect language is this: let some academics come up with the most fantastic featureful stuff and then let a community of pramatic programmers cut down feature by feature until they're satisfied. No feature is allowed to be added, ever :)
2020-11-01 14:01:14 +0100 <merijn> maerwald: tbh, I'm not sold on dependent types
2020-11-01 14:01:34 +0100 <int-e> maerwald: Force the academic to implement FFI. Implement everything you need in C++. ;-)
2020-11-01 14:02:09 +0100 <merijn> maerwald: But strictness polymorphic would be nice, like, why do we need foldMap and foldMap' instead of a single foldMap that can be instantiated strict or lazy as needed dependent on whether you give it a strict or lazy function
2020-11-01 14:02:28 +0100 <maerwald> merijn: I'd much rather have a Lazy type
2020-11-01 14:02:57 +0100 <maerwald> I don't think it'll be easy to reason about programs when they're strictness polymorphic
2020-11-01 14:03:00 +0100 <ski> like in OCaml,SML,Scheme ?
2020-11-01 14:03:00 +0100 <int-e> I feel unqualified to muse about dependent type. I struggle to think of a compelling use for them that scales beyond toy examples... I imagine it'll require a *very* moderate use of dependent types, or a genius software engineer who gets them just right for a particular domain. Possibly both.
2020-11-01 14:03:43 +0100 <int-e> I imagine it's very easy to use dependent type to code yourself into a corner where you're constantly fighting the types you created.
2020-11-01 14:04:12 +0100 <int-e> But... yeah sadly that's all speculation.
2020-11-01 14:04:29 +0100 <maerwald> int-e: that's fine... I don't care how other ppl shoot themselves in the foot. The problem is when I have to use libraries that do that weird stuff. And that will inevitably happe
2020-11-01 14:04:37 +0100 <int-e> I'd really love to see some experience reports.
2020-11-01 14:04:53 +0100ski. o O ( "Ornamental Algebras, Algebraic Ornaments" by Conor McBride in 2010-08-09 at <http://personal.cis.strath.ac.uk/~conor/pub/OAAO/Ornament.pdf> )
2020-11-01 14:04:56 +0100 <int-e> Maybe it works well for specific domains like compilers at least? That's quite conceivable.
2020-11-01 14:05:04 +0100knupfer1(~Thunderbi@200116b82ca86a0099682528f6996d5a.dip.versatel-1u1.de)
2020-11-01 14:05:21 +0100domj(~domj@77.139.218.14)
2020-11-01 14:05:49 +0100nschoe(~quassel@2a01:e0a:3c4:c7b0:c059:9ac8:a690:3133)
2020-11-01 14:06:05 +0100 <int-e> maerwald: Oh yes, the ecosystem will become far more fragmented than it already is.
2020-11-01 14:06:10 +0100texasmynsted(~texasmyns@212.102.45.115) (Remote host closed the connection)
2020-11-01 14:06:29 +0100texasmynsted(~texasmyns@212.102.45.115)
2020-11-01 14:07:10 +0100knupfer(~Thunderbi@200116b82ca86a000577b9dd59dd39a4.dip.versatel-1u1.de) (Ping timeout: 268 seconds)
2020-11-01 14:07:10 +0100knupfer1knupfer
2020-11-01 14:07:46 +0100 <int-e> The beauty of the ML type system is that if you can capture a property in those types, it's almost always worth it (though you can go overboard with newtypes, I think). It doesn't require much discipline to benefit from.
2020-11-01 14:08:19 +0100ahmr88(~ahmr88@cpc85006-haye22-2-0-cust131.17-4.cable.virginm.net) (Remote host closed the connection)
2020-11-01 14:08:33 +0100 <maerwald> To me, types aren't worth to encode logic into. I only want to encode my data in it.
2020-11-01 14:08:49 +0100 <int-e> Hmm. I should say HM (Hindley-Milner). And a couple of Haskell's extensions have that property as well, notably GADTs.
2020-11-01 14:09:11 +0100urodna(~urodna@unaffiliated/urodna)
2020-11-01 14:09:32 +0100 <__monty__> int-e: Or, Damas-Hindley-Milner : )
2020-11-01 14:10:59 +0100Lord_of_Life_Lord_of_Life
2020-11-01 14:11:34 +0100akad_(~akad@109107030050.radomsko.vectranet.pl)
2020-11-01 14:11:42 +0100sam___(~sam@212.105.23.93.rev.sfr.net) (Read error: No route to host)
2020-11-01 14:12:06 +0100int-egoes look at ski's link
2020-11-01 14:13:04 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:c427:c5ca:d62:565b)
2020-11-01 14:14:29 +0100 <juri_> ski: o/
2020-11-01 14:15:48 +0100alp(~alp@2a01:e0a:58b:4920:89f1:ba96:ddf:92c2) (Ping timeout: 268 seconds)
2020-11-01 14:17:15 +0100sam___(~sam@212.105.23.93.rev.sfr.net)
2020-11-01 14:17:23 +0100notnatebtw(~nate@125.161.131.30)
2020-11-01 14:17:38 +0100livvy(~livvy@gateway/tor-sasl/livvy)
2020-11-01 14:20:05 +0100 <maerwald> I don't really understand when he talks about parallelism, effects free and Monads
2020-11-01 14:20:06 +0100 <ski> hello juri_
2020-11-01 14:20:08 +0100 <maerwald> merijn: ^
2020-11-01 14:20:39 +0100 <merijn> maerwald: Ah, you'd like a position paper I wrote a few years ago :)
2020-11-01 14:21:14 +0100 <merijn> maerwald: Where I argue a bunch of these Haskell effects libraries are doing it wrong by stuffing everything in the "functional" (in the sense of functional vs non-functional requirements) type
2020-11-01 14:21:18 +0100 <maerwald> seems like a misunderstanding about what purity is, looking at the slide
2020-11-01 14:21:38 +0100 <merijn> maerwald: What I want is multiple orthogonal/independent type systems
2020-11-01 14:21:41 +0100 <int-e> ski: Hmm, weird.
2020-11-01 14:21:51 +0100 <ski> which ?
2020-11-01 14:21:53 +0100 <maerwald> merijn: like Java exceptions
2020-11-01 14:21:57 +0100 <int-e> ski: the ornaments
2020-11-01 14:22:02 +0100 <merijn> maerwald: So the fact that the result of "div" throws and the fact that "div" returns "Int" are separate
2020-11-01 14:22:24 +0100 <maerwald> I agree
2020-11-01 14:22:27 +0100pfurla(~pfurla@ool-182ed2e2.dyn.optonline.net)
2020-11-01 14:22:29 +0100 <merijn> maerwald: Similarly, I don't want the strictness polymorphism in my "foldMap :: Monoid m => (a -> m) -> [a] -> m" type
2020-11-01 14:22:45 +0100 <merijn> I want a *completely separate* type that indicates the strictness of arguments
2020-11-01 14:23:12 +0100 <ski> int-e : the explicit representation thing he does is fiddly/awkward. but having a way to express such relationships, and possibly derive ornamented types in such a way, seems like it could be useful
2020-11-01 14:23:25 +0100 <merijn> maerwald: And then for things like "strictness polymorphism" or "throwing exceptions" you can leave the inferred default 95% of the time. But explicitly write a "this doesn't throw signature" when needed and get a type error if it doesn't match
2020-11-01 14:23:33 +0100 <int-e> ski: yeah but the whole paper is on a level I fail to care about
2020-11-01 14:24:08 +0100 <maerwald> merijn: I think that's basically how the borrow checker in rust works. It "communicates" with the type system, but it's not completely wired in, afaik
2020-11-01 14:24:09 +0100 <merijn> maerwald: So you can annotate when you explicitly need something strict/lazy or well "exception polymorphic" (I suppose), but still have the power of annotating your meaning when desirable
2020-11-01 14:24:57 +0100ahmr88(~ahmr88@cpc85006-haye22-2-0-cust131.17-4.cable.virginm.net)
2020-11-01 14:25:06 +0100ahmr88(~ahmr88@cpc85006-haye22-2-0-cust131.17-4.cable.virginm.net) (Remote host closed the connection)
2020-11-01 14:25:11 +0100 <int-e> ski: well, that's unfair. the abstract and introduction are okay. :P
2020-11-01 14:25:15 +0100 <ski> int-e : yea. it would be nice with a more practical take on it
2020-11-01 14:25:31 +0100hackageormolu 0.1.3.1 - A formatter for Haskell source code https://hackage.haskell.org/package/ormolu-0.1.3.1 (mrkkrp)
2020-11-01 14:25:59 +0100 <maerwald> merijn: is that position paper public?
2020-11-01 14:26:17 +0100 <merijn> maerwald: It was an off-the-cuff thing at a tiny workshop, so...maybe? :p
2020-11-01 14:26:53 +0100dansho_(~dansho@ip68-108-167-185.lv.lv.cox.net) (Quit: Leaving)
2020-11-01 14:27:27 +0100 <int-e> ski: How would I use this? How would user code transition from the plain to the ornate version and back? Also, he's kind of doing the opposite of what the introduction does, adding structure to the length to get a list, rather than taking a list and keeping track of the length...
2020-11-01 14:27:38 +0100 <int-e> ski: (Rhetorical questions.)
2020-11-01 14:28:04 +0100 <merijn> maerwald: I did write this like 6 years ago in, like, an afternoon so I'm not sure how well thought or argued it is :p
2020-11-01 14:28:07 +0100 <merijn> maerwald: http://grammarware.net/text/2014/oopsle-pre.pdf
2020-11-01 14:28:21 +0100 <ski> yes. it's half-baked
2020-11-01 14:28:30 +0100hackagevulkan 3.6.11.1 - Bindings to the Vulkan graphics API. https://hackage.haskell.org/package/vulkan-3.6.11.1 (jophish)
2020-11-01 14:28:54 +0100 <merijn> maerwald: No one wanted to pay me to do research in it, sadly :p
2020-11-01 14:29:27 +0100 <maerwald> maybe you can make it blockchain relevant and then get your funding?
2020-11-01 14:29:30 +0100hackageVulkanMemoryAllocator 0.3.7.1, vulkan-utils 0.1.2.1 (jophish): https://qbin.io/gaps-hiking-36kp
2020-11-01 14:32:14 +0100 <merijn> maerwald: Maybe, if I was willing to move abroad to some other university, but I'm not willing to move :p
2020-11-01 14:32:19 +0100 <ski> merijn : hm, (reading the abstract) reminds me of Racket's support for multiple languages, and of typed macros
2020-11-01 14:32:21 +0100sam___(~sam@212.105.23.93.rev.sfr.net) (Read error: No route to host)
2020-11-01 14:32:24 +0100 <merijn> That's also why I'm not getting paid to do haskell yet :p
2020-11-01 14:34:13 +0100 <maerwald> I think you're basically making an argument for Java, which allows easily extending the type system
2020-11-01 14:34:30 +0100 <maerwald> (lets ignore for a moment that the language sucks)
2020-11-01 14:36:18 +0100hvr_(~hvr@haskell/developer/hvr) (Ping timeout: 260 seconds)
2020-11-01 14:37:56 +0100hvr(~hvr@haskell/developer/hvr)
2020-11-01 14:38:30 +0100hackagepolysemy-fs 0.1.0.0 - Low level filesystem operations for polysemy. https://hackage.haskell.org/package/polysemy-fs-0.1.0.0 (locallycompact)
2020-11-01 14:38:48 +0100Tario(~Tario@200.119.185.187)
2020-11-01 14:40:28 +0100akegalj(~akegalj@93-136-196-194.adsl.net.t-com.hr) (Quit: leaving)
2020-11-01 14:40:33 +0100dhil(~dhil@195.213.192.85) (Quit: Leaving)
2020-11-01 14:41:37 +0100drbean(~drbean@TC210-63-209-219.static.apol.com.tw) (Ping timeout: 264 seconds)
2020-11-01 14:42:56 +0100 <ski> in Mercury, they use "inst"s ("instantiation states") as a separate mechanism (distinct from types) to track how much initialized a value it, but can also be used for simple refinements (like non-empty lists, lists of even number of elements, &c.). i wonder whether something like that could also be used to track different representations of data, e.g. for matrices (sparse, triangular, &c.), graphs
2020-11-01 14:44:43 +0100britva(~britva@2a02:aa13:7240:2980:fc63:822e:7d74:772d) (Quit: This computer has gone to sleep)
2020-11-01 14:44:56 +0100 <merijn> So, eh, if you wanna see if this could work, get someone to fund me ;)
2020-11-01 14:45:21 +0100 <merijn> (although, maybe wait until I finish my defense...)
2020-11-01 14:50:48 +0100brisbin(~patrick@pool-173-49-158-4.phlapa.fios.verizon.net)
2020-11-01 14:53:39 +0100 <texasmynsted> soo fourmolu. I do not recall this happening before, but now when I use it from vim it messages that it loaded my config file. While accurate, I do not need that in my source file.
2020-11-01 14:53:52 +0100 <texasmynsted> Is there as setting, that I can not see, that makes this stop?
2020-11-01 14:54:39 +0100knupfer(~Thunderbi@200116b82ca86a0099682528f6996d5a.dip.versatel-1u1.de) (Ping timeout: 268 seconds)
2020-11-01 14:56:53 +0100thir(~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de)
2020-11-01 14:59:28 +0100Tops21(~Tobias@dyndsl-095-033-023-063.ewe-ip-backbone.de)
2020-11-01 15:02:14 +0100knupfer(~Thunderbi@200116b82ca86a0059ea4a9c9dfa6f41.dip.versatel-1u1.de)
2020-11-01 15:02:45 +0100Tops2(~Tobias@dyndsl-095-033-023-063.ewe-ip-backbone.de) (Ping timeout: 240 seconds)
2020-11-01 15:03:55 +0100 <refried_> does `newtype` have a runtime representation, or does it just use the underlying type?
2020-11-01 15:04:04 +0100thir(~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2020-11-01 15:05:14 +0100 <tomsmeding> texasmynsted: :D
2020-11-01 15:05:24 +0100 <tomsmeding> does it output that on stdout? if so, boo fourmolu
2020-11-01 15:05:34 +0100 <tomsmeding> if not, 2>/dev/null :p
2020-11-01 15:06:19 +0100 <texasmynsted> I was just looking... It is a message that really should only show in some kind of debug mode, even on stderr
2020-11-01 15:06:22 +0100Neo--(~neo@internet-188-198-236-78.narocnik.mobitel.si)
2020-11-01 15:07:05 +0100 <ski> refried_ : the latter
2020-11-01 15:07:08 +0100 <texasmynsted> yes, stderr
2020-11-01 15:07:16 +0100 <refried_> thanks ski
2020-11-01 15:08:12 +0100 <ski> (that's the point of it, more or less, over a single-argument single-constructor `data' type. this also has ramifications for strictness/bottoms)
2020-11-01 15:12:43 +0100pera(~pera@unaffiliated/pera)
2020-11-01 15:19:07 +0100bjobjo(~bjobjo@2a01:79c:cebf:d688::9e6) (Read error: Connection reset by peer)
2020-11-01 15:19:56 +0100bjobjo(~bjobjo@2a01:79c:cebf:d688::9e6)
2020-11-01 15:24:52 +0100knupfer(~Thunderbi@200116b82ca86a0059ea4a9c9dfa6f41.dip.versatel-1u1.de) (Ping timeout: 268 seconds)
2020-11-01 15:27:21 +0100son0p(~son0p@181.136.122.143)
2020-11-01 15:27:43 +0100 <fendor> tasty usually does not have some expectation such as hspec's shouldThrow?
2020-11-01 15:28:03 +0100 <merijn> fendor: Eh, you probably want tasty-hunit?
2020-11-01 15:28:13 +0100 <fendor> merijn, does not have it either, afaict?
2020-11-01 15:28:14 +0100bjobjo(~bjobjo@2a01:79c:cebf:d688::9e6) (Read error: Connection reset by peer)
2020-11-01 15:28:23 +0100 <fendor> unless I am blind
2020-11-01 15:28:27 +0100bjobjo(~bjobjo@2a01:79c:cebf:d688::9e6)
2020-11-01 15:28:56 +0100 <merijn> fendor: Easy enough to implement, though: https://github.com/merijn/broadcast-chan/blob/master/broadcast-chan-tests/BroadcastChan/Test.hs#L7…
2020-11-01 15:28:57 +0100plutoniix(~q@ppp-223-24-92-161.revip6.asianet.co.th)
2020-11-01 15:30:03 +0100 <fendor> merijn, well, obviously. So, time for tasty-hunit-expect-exception?
2020-11-01 15:30:43 +0100 <fendor> Or rather, I would prefer tasty-hspec-expectations
2020-11-01 15:31:22 +0100bennofs1(~benno@dslb-094-222-054-143.094.222.pools.vodafone-ip.de)
2020-11-01 15:33:52 +0100invaser(~Thunderbi@31.148.23.125) (Remote host closed the connection)
2020-11-01 15:34:07 +0100invaser(~Thunderbi@31.148.23.125)
2020-11-01 15:35:54 +0100carlomagno(~cararell@148.87.23.13) (Remote host closed the connection)
2020-11-01 15:36:08 +0100s00pcan(~chris@107.181.165.217) (Ping timeout: 272 seconds)
2020-11-01 15:37:01 +0100britva(~britva@31-10-157-156.cgn.dynamic.upc.ch)
2020-11-01 15:37:03 +0100 <merijn> fendor: I mean, that's just a matter of making a PR to tasty-hunit to add it
2020-11-01 15:37:10 +0100 <merijn> Dunno why I didn't get around to that
2020-11-01 15:37:28 +0100 <fendor> indeed, maybe I should just try that.
2020-11-01 15:37:40 +0100tito_04(~taurux@net-188-152-104-202.cust.dsl.teletu.it)
2020-11-01 15:37:49 +0100 <fendor> Just feels odd that such an expectation is not available in one of the most common testing frameworks
2020-11-01 15:37:50 +0100taurux(~taurux@net-188-152-104-202.cust.dsl.teletu.it) (Ping timeout: 264 seconds)
2020-11-01 15:39:03 +0100nschoe(~quassel@2a01:e0a:3c4:c7b0:c059:9ac8:a690:3133) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
2020-11-01 15:41:03 +0100invaser(~Thunderbi@31.148.23.125) (Ping timeout: 256 seconds)
2020-11-01 15:42:14 +0100ericsagn1(~ericsagne@2405:6580:0:5100:9a5a:7320:1bda:4e7f)
2020-11-01 15:42:45 +0100 <merijn> tasty is just a runner/combiner, so it's more the absence in hunit/tasty-hunit
2020-11-01 15:43:36 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:c427:c5ca:d62:565b) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-11-01 15:44:44 +0100ericsagnes(~ericsagne@2405:6580:0:5100:43f1:8e91:4bca:feb3) (Ping timeout: 240 seconds)
2020-11-01 15:45:04 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:c427:c5ca:d62:565b)
2020-11-01 15:48:09 +0100ddellacosta(~dd@86.106.121.168)
2020-11-01 15:51:46 +0100 <fendor> still suprises me, that neither hunit not tasty-hunit define it
2020-11-01 15:53:26 +0100kritzefitz(~kritzefit@212.86.56.80)
2020-11-01 15:54:46 +0100muesli4(~noname@p200300e8472db800148b3a0117ef2d23.dip0.t-ipconnect.de)
2020-11-01 15:56:40 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:c427:c5ca:d62:565b) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-11-01 15:57:19 +0100toorevitimirp(~tooreviti@117.182.183.132) (Remote host closed the connection)
2020-11-01 15:57:19 +0100tv(~tv@unaffiliated/tv) (Read error: Connection reset by peer)
2020-11-01 15:57:55 +0100geekosaur(ae68c070@cpe-174-104-192-112.neo.res.rr.com)
2020-11-01 15:57:56 +0100 <Squarism> I notice type System.IO.FilePath = String. Is there some representation of file that separates directory and filename?
2020-11-01 15:58:42 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:c427:c5ca:d62:565b)
2020-11-01 15:59:17 +0100 <dminuoso> Squarism: directory gives you the separation in its semantics
2020-11-01 15:59:34 +0100 <Squarism> ok, ill look into that
2020-11-01 16:00:01 +0100nhandler1(~nhandler@185.204.1.185) ()
2020-11-01 16:00:23 +0100 <dminuoso> (But sadly this is not communicated in types)
2020-11-01 16:01:11 +0100 <fendor> Squarism, there is also hpath
2020-11-01 16:01:12 +0100 <Squarism> dminuoso, yeah. Looking at package "directory" i cannot directly see what could be useful for me
2020-11-01 16:01:37 +0100 <geekosaur> can't be, really; take a look at how streams are represented on windows, or forks on os x
2020-11-01 16:01:37 +0100 <dminuoso> Squarism: Well it offers you functions like splitFileName and so on
2020-11-01 16:01:48 +0100 <maerwald> Yes, hpath uses ByteString as filepath and doesn't use directory package at all
2020-11-01 16:01:54 +0100 <maerwald> Everything is built on top of unix
2020-11-01 16:02:02 +0100 <geekosaur> (a "file" can be a "directory", as haskell or applications see it)
2020-11-01 16:02:16 +0100perrier-jouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 2.9)
2020-11-01 16:02:27 +0100troydm(~troydm@unaffiliated/troydm) (Quit: What is Hope? That all of your wishes and all of your dreams come true? To turn back time because things were not supposed to happen like that (C) Rau Le Creuset)
2020-11-01 16:02:53 +0100lazyshrk(~lazyshrk@128.199.58.13) (Quit: ZNC 1.8.2 - https://znc.in)
2020-11-01 16:03:18 +0100 <dminuoso> Or conversely, a directory *is* a file in unix + derivates.
2020-11-01 16:04:09 +0100 <maerwald> separating directory from file is nonsense wrt *filepaths*. The `path` package does that though
2020-11-01 16:04:25 +0100machinedgod(~machinedg@24.105.81.50) (Ping timeout: 240 seconds)
2020-11-01 16:04:38 +0100 <Squarism> ok. Ill look into hpath and path
2020-11-01 16:04:45 +0100hekkaidekapus_(~tchouri@gateway/tor-sasl/hekkaidekapus) (Quit: hekkaidekapus_)
2020-11-01 16:05:00 +0100 <dminuoso> Squarism: What's the problem domain
2020-11-01 16:05:08 +0100 <maerwald> But you'll get surprising results, since only an actual IO call can tell you whether something is a directory or not and a second later that truth might have changed
2020-11-01 16:05:32 +0100 <maerwald> It makes sense for *user input*
2020-11-01 16:05:34 +0100cosimone(~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd)
2020-11-01 16:05:41 +0100testkiwi(54d3314c@gateway/web/cgi-irc/kiwiirc.com/ip.84.211.49.76)
2020-11-01 16:05:41 +0100 <maerwald> but you should have a separate type for user input
2020-11-01 16:06:01 +0100 <Squarism> just rolling a typical bash-like script. Searching for files grouping them by directory / filename-pattern
2020-11-01 16:06:17 +0100lazyshrk(~lazyshrk@128.199.58.13)
2020-11-01 16:06:36 +0100 <maerwald> Then you don't really need that on type level. It's enough to have that as constructors
2020-11-01 16:07:04 +0100 <maerwald> https://github.com/hasufell/hsfm/blob/master/src/HSFM/FileSystem/FileType.hs#L91
2020-11-01 16:07:12 +0100hekkaidekapus(~tchouri@gateway/tor-sasl/hekkaidekapus)
2020-11-01 16:07:21 +0100 <maerwald> I'm not sure that was a particularly good idea, but it worked
2020-11-01 16:08:26 +0100LKoen(~LKoen@127.251.88.92.rev.sfr.net) (Remote host closed the connection)
2020-11-01 16:09:32 +0100 <maerwald> when it comes to filesystem, you don't really want to store much information in memory, but look at it as late a possible and then you end up not needing much data types anyway
2020-11-01 16:09:54 +0100LKoen(~LKoen@127.251.88.92.rev.sfr.net)
2020-11-01 16:10:08 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:c427:c5ca:d62:565b) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-11-01 16:10:37 +0100 <maerwald> (and don't go the lazy IO route)
2020-11-01 16:10:52 +0100hekkaidekapus(~tchouri@gateway/tor-sasl/hekkaidekapus) (Remote host closed the connection)
2020-11-01 16:10:54 +0100elfets(~elfets@2002:25c9:1760:0:84de:a283:20:112f)
2020-11-01 16:10:59 +0100testkiwi(54d3314c@gateway/web/cgi-irc/kiwiirc.com/ip.84.211.49.76) ()
2020-11-01 16:11:05 +0100jumper149(~jumper149@ip185225.wh.uni-hannover.de)
2020-11-01 16:11:14 +0100hekkaidekapus(~tchouri@gateway/tor-sasl/hekkaidekapus)
2020-11-01 16:12:00 +0100 <Squarism> I try to use haskell instead of bash when doing small ad hoc jobs. Even there well typed things help me.
2020-11-01 16:12:49 +0100 <maerwald> well, as long as the types don't lie :)
2020-11-01 16:12:50 +0100LKoen(~LKoen@127.251.88.92.rev.sfr.net) (Remote host closed the connection)
2020-11-01 16:13:02 +0100 <maerwald> when they represent outdated filesystem information, they lie
2020-11-01 16:13:25 +0100 <dminuoso> In addition, the notion of a "filesystem" is confusing and depends on the implementation.
2020-11-01 16:13:28 +0100 <Squarism> splitting a path into directory + filename I feel would be basic functionality. But maybe its not
2020-11-01 16:13:42 +0100 <dminuoso> Squarism: Consider what we said earlier
2020-11-01 16:13:47 +0100 <dminuoso> directories under linux *are* files
2020-11-01 16:14:05 +0100 <dminuoso> And `directory` offers you the functionality to split into basename and filename
2020-11-01 16:14:11 +0100 <dminuoso> Using `splitFileName`
2020-11-01 16:14:22 +0100 <Squarism> yes yes.
2020-11-01 16:14:34 +0100 <dminuoso> To track such information in the type system would be worthless, since by the time you interact with the file system again, it could have changed
2020-11-01 16:14:36 +0100 <dminuoso> for instance
2020-11-01 16:14:36 +0100 <maerwald> Squarism: you want `dirname`, but a path is agnostic of directory vs filename
2020-11-01 16:14:53 +0100 <dminuoso> if you know that `"foo" :: Directory`, the moment you interact with the filesystem again that could no longer be true
2020-11-01 16:15:03 +0100tv(~tv@unaffiliated/tv)
2020-11-01 16:15:05 +0100 <dminuoso> Maybe someone deleted the directory "foo" and replaced it with a symlink to a non-directory
2020-11-01 16:16:12 +0100 <Squarism> dminuoso, you mean this right https://hackage.haskell.org/package/directory ?
2020-11-01 16:16:13 +0100 <dminuoso> So all that remains is that "foo" is just a filepath information
2020-11-01 16:16:18 +0100 <merijn> All filesystem operations are just TOC-TOU races
2020-11-01 16:16:24 +0100 <dminuoso> And that remains true
2020-11-01 16:16:30 +0100 <dminuoso> whether "foo" still points at something remains to be seen
2020-11-01 16:16:33 +0100 <dminuoso> (or what it points at)
2020-11-01 16:17:06 +0100 <dminuoso> So "being a directory" is not a property of the filepath, its a property of the (stateful and concurrent) filesystem.
2020-11-01 16:17:42 +0100 <dminuoso> Some of the documentation of `directory` is just misleading
2020-11-01 16:17:55 +0100 <maerwald> avoid directory package if you can :p
2020-11-01 16:17:58 +0100 <dminuoso> splitFileName splits a path into two paths, one that would describe a directory containing the other.
2020-11-01 16:18:02 +0100 <dminuoso> but both are *still* paths
2020-11-01 16:19:01 +0100 <maerwald> https://hackage.haskell.org/package/path-0.8.0/docs/Path-Posix.html
2020-11-01 16:19:11 +0100 <maerwald> this uses a Dir/File type for paths
2020-11-01 16:19:20 +0100 <maerwald> so if you like that misconception, go with that
2020-11-01 16:19:26 +0100britva(~britva@31-10-157-156.cgn.dynamic.upc.ch) (Quit: This computer has gone to sleep)
2020-11-01 16:20:13 +0100 <dminuoso> merijn: Somehow I wish we would move to transactional filesystems. :(
2020-11-01 16:20:36 +0100 <dminuoso> maerwald: Im curious, why do you dislike `directory`?
2020-11-01 16:20:54 +0100britva(~britva@2a02:aa13:7240:2980:fc63:822e:7d74:772d)
2020-11-01 16:20:54 +0100bjobjo(~bjobjo@2a01:79c:cebf:d688::9e6) (Quit: leaving)
2020-11-01 16:20:59 +0100 <maerwald> dminuoso: it's too cross-platform
2020-11-01 16:21:25 +0100 <maerwald> which usually means most of the functions work most of the time
2020-11-01 16:21:36 +0100 <maerwald> and for some subset of scenarios, they don't
2020-11-01 16:21:53 +0100 <dminuoso> so if if you're inside that subset, then dont use it?
2020-11-01 16:22:02 +0100 <maerwald> https://github.com/haskell/directory/issues/110
2020-11-01 16:22:06 +0100Amras(~Amras@unaffiliated/amras0000)
2020-11-01 16:22:06 +0100 <maerwald> example
2020-11-01 16:22:32 +0100 <geekosaur> you often don't have a say as to whether you're in the subset or not
2020-11-01 16:22:37 +0100 <maerwald> more: https://github.com/haskell/directory/issues/109
2020-11-01 16:22:42 +0100 <maerwald> hard to predict behavior
2020-11-01 16:22:50 +0100 <geekosaur> you gjust get a possibly unpleasant surprise
2020-11-01 16:22:59 +0100 <maerwald> knowledge of atomicity is darn important
2020-11-01 16:23:00 +0100 <dminuoso> Well, I just like the filepath manipulation API of directory.
2020-11-01 16:23:10 +0100 <dminuoso> For filesystem interaction I'd default to unix anyway
2020-11-01 16:23:35 +0100 <maerwald> yep, except that doesn't have high-level API like recursive copy or deletion
2020-11-01 16:23:39 +0100 <dminuoso> geekosaur: Sure, but that's rather an argument about cross-platform in general
2020-11-01 16:23:49 +0100 <dminuoso> (In the sense that cross-platform filesystem interaction is brittle)
2020-11-01 16:24:03 +0100 <dminuoso> maerwald: Like I said, I just use it for file*path* manipulation
2020-11-01 16:24:11 +0100 <dminuoso> Computing file paths, splitting them, etc
2020-11-01 16:24:19 +0100 <dminuoso> Or do you mean `unix`?
2020-11-01 16:24:25 +0100 <maerwald> yes
2020-11-01 16:24:26 +0100 <hpc> the need for cross-platform filesystem interaction doesn't go away just because windows is bad, in any event
2020-11-01 16:24:37 +0100plutoniix(~q@ppp-223-24-92-161.revip6.asianet.co.th) (Quit: Leaving)
2020-11-01 16:24:53 +0100 <merijn> hpc: What, precisely, is the argument for windows being bad?
2020-11-01 16:25:00 +0100 <hpc> the linked issues
2020-11-01 16:25:03 +0100Neo--(~neo@internet-188-198-236-78.narocnik.mobitel.si) (Ping timeout: 260 seconds)
2020-11-01 16:25:15 +0100 <maerwald> merijn: file locking is really nuts
2020-11-01 16:25:18 +0100lagothrix(~lagothrix@unaffiliated/lagothrix) (Ping timeout: 268 seconds)
2020-11-01 16:25:20 +0100alp(~alp@2a01:e0a:58b:4920:78dd:91ee:d015:a8b2)
2020-11-01 16:25:22 +0100jespada(~jespada@90.254.243.98)
2020-11-01 16:25:24 +0100 <dminuoso> file locking is nuts in the linux world too
2020-11-01 16:25:32 +0100 <dminuoso> since it's essentially just advisory locks
2020-11-01 16:25:33 +0100 <hpc> just fix those bugs and move on, imo
2020-11-01 16:25:37 +0100 <dminuoso> you dont get any real promises about a flock
2020-11-01 16:25:48 +0100 <merijn> file locking in linux is so retarded I can't imagine a way windows could be worse, tbh
2020-11-01 16:25:53 +0100 <dminuoso> (unless you can somehow prove no other process outside your control will touch your file)
2020-11-01 16:25:56 +0100 <dminuoso> merijn: indeed.
2020-11-01 16:26:10 +0100 <hpc> merijn: you'll love the discussion on that 110 issue then :D
2020-11-01 16:26:26 +0100LKoen(~LKoen@127.251.88.92.rev.sfr.net)
2020-11-01 16:26:28 +0100 <merijn> hpc: Is it *bad* or is it *different*?
2020-11-01 16:26:49 +0100 <maerwald> you just retry deletion until your virus scanner is finished
2020-11-01 16:27:12 +0100 <hpc> one of the edge cases of one way of deleting a directory holds onto that file path until every handle to it is closed
2020-11-01 16:27:31 +0100 <hpc> so you can't make a new file with that name, even though the name isn't currently present on the filesystem
2020-11-01 16:27:37 +0100 <dminuoso> maerwald: Anyhow. If your argument is `unix lacks higher level API` that doesnt make unix bad, perhaps the desire to have "high level APIs" or worse "high level cross-platform APIs" is doomed from the get go
2020-11-01 16:27:39 +0100 <Uniaika> 1/
2020-11-01 16:27:47 +0100 <Uniaika> (woops)
2020-11-01 16:27:53 +0100 <maerwald> dminuoso: yes, I wrote that high-level API
2020-11-01 16:27:59 +0100 <dminuoso> Which package?
2020-11-01 16:28:18 +0100 <Uniaika> oh btw, `transpose` is now leak-free thans to the work of David Feuer and myself
2020-11-01 16:28:37 +0100 <dminuoso> merijn: Did you order a DNA sample of dfeuer by the way?
2020-11-01 16:28:38 +0100 <maerwald> dminuoso: hpath-directory on RawFilePath and hpath-io on Path
2020-11-01 16:28:41 +0100 <dminuoso> We need him cloned.
2020-11-01 16:29:02 +0100 <merijn> hpc: You can't say something useful about a single operation like that without considering the design that lead to it. Like "is files being open blocking deletion" a bad design? Not necessarily, imo. It's different than what people are used to on unix, but there's definitely sense to it
2020-11-01 16:29:20 +0100 <hpc> that's different
2020-11-01 16:29:30 +0100 <hpc> this is files being deleted blocking creation
2020-11-01 16:29:35 +0100 <dminuoso> At the end filesystems are complex beasts that I really dont like working with.
2020-11-01 16:29:37 +0100 <Uniaika> dminuoso: for the moment I'm acting as a surrogate, I'm the one who put together his patch and test :P
2020-11-01 16:29:41 +0100 <dminuoso> Relational databases are so much more pleasant.
2020-11-01 16:29:49 +0100 <hpc> the file is already gone from the filesystem
2020-11-01 16:29:53 +0100 <merijn> hpc: Is it? AFAICT the deletion is blocked because someone has the file open and locked
2020-11-01 16:29:56 +0100 <hpc> it's not present and locked
2020-11-01 16:30:02 +0100invaser(~Thunderbi@31.148.23.125)
2020-11-01 16:30:32 +0100 <dminuoso> Clearly we need filesystems with STM semantics and get rid of these silly race conditions.
2020-11-01 16:30:34 +0100 <merijn> At what point is a file "no longer present" in your opinion?
2020-11-01 16:31:10 +0100 <merijn> dminuoso: This is why I tell people they should just use SQLite for all their applications, then you can just let their code deal with it and that's better tested than yours anyway :p
2020-11-01 16:31:32 +0100 <geekosaur> so a file's path is part of its metadata on windows but not on unix. this is a reasonable choice imo
2020-11-01 16:31:38 +0100cosimone(~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd) (Quit: cosimone)
2020-11-01 16:31:41 +0100 <maerwald> merijn: https://www.sqlite.org/src/info/89f1848d7f
2020-11-01 16:32:02 +0100 <merijn> maerwald: That does not in anyway affect the truth of my statement
2020-11-01 16:32:05 +0100 <dminuoso> merijn: Indeed, Im a big fan of sqlite myself too.
2020-11-01 16:32:09 +0100 <merijn> I didn't say it was flawless
2020-11-01 16:32:19 +0100 <merijn> I said it was more battle tested than anything any of us have ever written
2020-11-01 16:32:21 +0100 <maerwald> merijn: no, this was just an example of windows
2020-11-01 16:32:30 +0100 <maerwald> and that sqlite retries
2020-11-01 16:32:41 +0100 <merijn> maerwald: I am still not convinced that's necessarily *bad* design
2020-11-01 16:32:43 +0100 <maerwald> see `winDelete`
2020-11-01 16:32:47 +0100 <maerwald> I didn't say it is
2020-11-01 16:33:08 +0100 <merijn> Right, but hpc (and lots of people when windows comes up) do
2020-11-01 16:33:30 +0100 <dminuoso> Anyhow. Maybe someone here knows, Im looking for a package to facilitate generating multiple Haskell modules, but ideally with utilities like `reify` that could let me reflect on already generated code.
2020-11-01 16:33:33 +0100 <merijn> afaict most of the "windows is bad" people just mean "windows != posix and I hate having to read docs"
2020-11-01 16:33:38 +0100fl0_id(~fl0_id@claudia.s7t.de) (Quit: ZNC)
2020-11-01 16:33:38 +0100MTwister(~Twister@claudia.s7t.de) (Quit: Servus!)
2020-11-01 16:34:46 +0100 <merijn> Windows is (at worst) of "average engineering quality comparable to linux, etc.. More realistically, imo, the engineering of most of windows is orders of magnitude better than linux
2020-11-01 16:35:31 +0100 <maerwald> here's anothe example of haskell code handling windows file deletion issues https://github.com/input-output-hk/cardano-wallet/blob/master/lib/core/src/Cardano/DB/Sqlite/Delet…
2020-11-01 16:35:31 +0100chkno(~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer)
2020-11-01 16:35:44 +0100 <dminuoso> merijn: I still think much of the bad reputation windows has had, is millions of uneducated users installing shitty drivers, and then blaming microsoft for BSODs.
2020-11-01 16:36:05 +0100 <merijn> dminuoso: Yes
2020-11-01 16:36:07 +0100chkno(~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net)
2020-11-01 16:36:17 +0100 <merijn> dminuoso: Also, just all drivers being shitty
2020-11-01 16:36:30 +0100 <maerwald> I get xserver crashed with nvidia drivers
2020-11-01 16:36:31 +0100troydm(~troydm@unaffiliated/troydm)
2020-11-01 16:36:47 +0100 <merijn> IMO, the biggest mistake in Windows engineering for 95/98 was MS assuming that every 3rd party vendor would be as careful with code running in kernel space as they were
2020-11-01 16:37:02 +0100 <maerwald> but then again, xserver is one of the worst codebases out there :p so not sure I'd blame nvidia
2020-11-01 16:37:07 +0100Saukk(~Saukk@2001:998:f9:2914:1c59:9bb5:b94c:4)
2020-11-01 16:37:22 +0100 <dminuoso> Speaking of x, its sad to see its developed has essentially completely stopped
2020-11-01 16:37:38 +0100 <dminuoso> Since RH has switched to wayland, that's the last industry funding/work gone.
2020-11-01 16:37:39 +0100 <dminuoso> :(
2020-11-01 16:38:48 +0100 <maerwald> wayland has no concept of window icons :p
2020-11-01 16:39:03 +0100 <maerwald> window managers have to implement a lot of logic to get window icons
2020-11-01 16:39:17 +0100 <dolio> What does this have to do with Haskell?
2020-11-01 16:39:32 +0100 <dminuoso> dolio: `directory` is bad.
2020-11-01 16:39:34 +0100 <dminuoso> :p
2020-11-01 16:39:41 +0100 <dolio> Wrong.
2020-11-01 16:39:51 +0100 <dminuoso> dolio: No, that's how this all started.
2020-11-01 16:39:56 +0100 <dolio> I mean, that may be true, but it has nothing to do with Wayland.
2020-11-01 16:41:15 +0100 <hekkaidekapus> We might get a wayland-monad as a successor to xmonad from the discussion :P
2020-11-01 16:41:42 +0100 <dolio> I thought someone mentioned that already existed somewhere a while back.
2020-11-01 16:41:51 +0100 <dminuoso> hekkaidekapus: waymonad already is a thing
2020-11-01 16:41:55 +0100 <hekkaidekapus> Ah, dunno!
2020-11-01 16:41:57 +0100 <dminuoso> ttps://github.com/waymonad/waymonad
2020-11-01 16:42:34 +0100 <hekkaidekapus> hehehehe… The discussion is doomed then :D
2020-11-01 16:42:35 +0100 <dminuoso> Though work on that one has dried up too
2020-11-01 16:43:05 +0100ManiacTwister(~Twister@2a01:4f8:171:4de::40:2)
2020-11-01 16:43:25 +0100xerox_(~xerox@unaffiliated/xerox) (Ping timeout: 240 seconds)
2020-11-01 16:43:28 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-11-01 16:43:42 +0100 <maerwald> also, my impression of `directory` was that it wasn't written with POSIX or freedesktop spec in mind, so things like https://github.com/haskell/directory/issues/102 pop up now and then
2020-11-01 16:44:09 +0100fl0_id(~fl0_id@2a01:4f8:171:4de::40:2)
2020-11-01 16:44:53 +0100dyeplexer(~lol@unaffiliated/terpin)
2020-11-01 16:45:19 +0100 <dminuoso> Im unsure what your point really is. The bug was fixed.
2020-11-01 16:45:26 +0100 <maerwald> yes, I fixed it :p
2020-11-01 16:45:31 +0100hackageghc-lib-parser 0.20201101 - The GHC API, decoupled from GHC versions https://hackage.haskell.org/package/ghc-lib-parser-0.20201101 (shayne_fletcher)
2020-11-01 16:46:11 +0100 <maerwald> but what about other functions
2020-11-01 16:46:30 +0100hackageghc-lib 0.20201101 - The GHC API, decoupled from GHC versions https://hackage.haskell.org/package/ghc-lib-0.20201101 (shayne_fletcher)
2020-11-01 16:46:34 +0100 <maerwald> if your main concern is cross platform, I think these things will happen
2020-11-01 16:46:43 +0100ech(~user@gateway/tor-sasl/ech) (Ping timeout: 240 seconds)
2020-11-01 16:48:59 +0100 <maerwald> your mental model is the intersection of windows and linux, not POSIX
2020-11-01 16:49:23 +0100lagothrix(~lagothrix@unaffiliated/lagothrix)
2020-11-01 16:53:06 +0100Franciman(~francesco@host-79-36-167-172.retail.telecomitalia.it) (Quit: Leaving)
2020-11-01 16:56:20 +0100dysfigured(dysfigured@2600:3c00::f03c:92ff:feb4:be75) (Quit: I hate quit messages.)
2020-11-01 16:56:49 +0100monsterchrommonochrom
2020-11-01 16:59:13 +0100bitmapper(uid464869@gateway/web/irccloud.com/x-stehtktsnkxbdlii) (Quit: Connection closed for inactivity)
2020-11-01 17:00:37 +0100idhugo(~idhugo@80-62-116-101-mobile.dk.customer.tdc.net)
2020-11-01 17:01:13 +0100thir(~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de)
2020-11-01 17:05:45 +0100xerox_(~xerox@unaffiliated/xerox)
2020-11-01 17:06:00 +0100thir(~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
2020-11-01 17:08:00 +0100ahmr88(~ahmr88@cpc85006-haye22-2-0-cust131.17-4.cable.virginm.net)
2020-11-01 17:08:23 +0100mozzarella(~sam@unaffiliated/sam113101) (Quit: WeeChat 2.8)
2020-11-01 17:08:30 +0100troydm(~troydm@unaffiliated/troydm) (Quit: What is Hope? That all of your wishes and all of your dreams come true? To turn back time because things were not supposed to happen like that (C) Rau Le Creuset)
2020-11-01 17:09:17 +0100troydm(~troydm@unaffiliated/troydm)
2020-11-01 17:10:53 +0100mrchampion(~mrchampio@216-211-57-41.dynamic.tbaytel.net) (Read error: Connection reset by peer)
2020-11-01 17:13:09 +0100ahmr88(~ahmr88@cpc85006-haye22-2-0-cust131.17-4.cable.virginm.net) (Remote host closed the connection)
2020-11-01 17:13:21 +0100Sheilong(uid293653@gateway/web/irccloud.com/x-arvrrpvtmfjsqvdb)
2020-11-01 17:13:27 +0100Saukk(~Saukk@2001:998:f9:2914:1c59:9bb5:b94c:4) (Remote host closed the connection)
2020-11-01 17:15:13 +0100bjobjo(~bjobjo@2a01:79c:cebf:d688::9e6)
2020-11-01 17:15:13 +0100bjobjo(~bjobjo@2a01:79c:cebf:d688::9e6) (Client Quit)
2020-11-01 17:15:24 +0100bjobjo(~bjobjo@2a01:79c:cebf:d688::9e6)
2020-11-01 17:15:44 +0100Aquazi(uid312403@gateway/web/irccloud.com/x-qmwibrdpzphrklso)
2020-11-01 17:15:52 +0100mrchampion(~mrchampio@216-211-57-41.dynamic.tbaytel.net)
2020-11-01 17:16:07 +0100sfvm(~sfvm@37.228.215.148) (Quit: off to the basement, mixing up the medicine)
2020-11-01 17:17:01 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:c427:c5ca:d62:565b)
2020-11-01 17:17:32 +0100invaser1(~Thunderbi@31.148.23.125)
2020-11-01 17:17:42 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:c427:c5ca:d62:565b) (Client Quit)
2020-11-01 17:18:20 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:c427:c5ca:d62:565b)
2020-11-01 17:19:03 +0100invaser(~Thunderbi@31.148.23.125) (Ping timeout: 260 seconds)
2020-11-01 17:19:04 +0100invaser1invaser
2020-11-01 17:21:18 +0100machinedgod(~machinedg@207.253.244.210)
2020-11-01 17:26:35 +0100invaser1(~Thunderbi@128-124-92-74.mobile.vf-ua.net)
2020-11-01 17:28:13 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:c427:c5ca:d62:565b) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-11-01 17:28:33 +0100Dragavnir(~Dragavnir@178.239.168.171)
2020-11-01 17:28:55 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:c427:c5ca:d62:565b)
2020-11-01 17:29:52 +0100invaser(~Thunderbi@31.148.23.125) (Ping timeout: 258 seconds)
2020-11-01 17:30:15 +0100britva(~britva@2a02:aa13:7240:2980:fc63:822e:7d74:772d) (Quit: This computer has gone to sleep)
2020-11-01 17:30:50 +0100invaser1(~Thunderbi@128-124-92-74.mobile.vf-ua.net) (Ping timeout: 256 seconds)
2020-11-01 17:32:19 +0100invaser(~Thunderbi@128-124-92-74.mobile.vf-ua.net)
2020-11-01 17:33:42 +0100dysfigured(~dysfigure@li490-89.members.linode.com)
2020-11-01 17:34:06 +0100jess(jess@freenode/staff/jess) (Quit: brb)
2020-11-01 17:35:46 +0100jess(jess@freenode/staff/jess)
2020-11-01 17:36:31 +0100hackagepolysemy 1.4.0.0 - Higher-order, low-boilerplate free monads. https://hackage.haskell.org/package/polysemy-1.4.0.0 (TheMatten)
2020-11-01 17:37:30 +0100hackagepolysemy-plugin 0.2.5.2 - Disambiguate obvious uses of effects. https://hackage.haskell.org/package/polysemy-plugin-0.2.5.2 (TheMatten)
2020-11-01 17:37:48 +0100avdb(~avdb@ip-83-134-109-104.dsl.scarlet.be)
2020-11-01 17:38:33 +0100britva(~britva@2a02:aa13:7240:2980:fc63:822e:7d74:772d)
2020-11-01 17:39:20 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-11-01 17:41:13 +0100akad_(~akad@109107030050.radomsko.vectranet.pl) (Ping timeout: 260 seconds)
2020-11-01 17:41:41 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2020-11-01 17:42:01 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-11-01 17:42:37 +0100Neo--(~neo@188-230-154-134.dynamic.t-2.net)
2020-11-01 17:43:26 +0100mlugg(522733ea@cpc95124-newt39-2-0-cust489.19-3.cable.virginm.net)
2020-11-01 17:44:30 +0100hackageghc-lib-parser-ex 0.20201101 - Algorithms on GHC parse trees https://hackage.haskell.org/package/ghc-lib-parser-ex-0.20201101 (shayne_fletcher)
2020-11-01 17:47:24 +0100elliott_(~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) (Ping timeout: 240 seconds)
2020-11-01 17:48:54 +0100lxsameer(~lxsameer@unaffiliated/lxsameer) (Ping timeout: 256 seconds)
2020-11-01 17:49:14 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:c427:c5ca:d62:565b) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-11-01 17:50:01 +0100idhugo(~idhugo@80-62-116-101-mobile.dk.customer.tdc.net) (Ping timeout: 264 seconds)
2020-11-01 17:50:59 +0100elliott_(~elliott_@pool-108-51-141-12.washdc.fios.verizon.net)
2020-11-01 17:52:07 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:c427:c5ca:d62:565b)
2020-11-01 17:52:16 +0100mozzarella(~sam@unaffiliated/sam113101)
2020-11-01 17:52:21 +0100nitrix-or-treatnitrix
2020-11-01 17:52:37 +0100alp(~alp@2a01:e0a:58b:4920:78dd:91ee:d015:a8b2) (Ping timeout: 260 seconds)
2020-11-01 17:54:01 +0100renzhi(~renzhi@2607:fa49:655f:e600::28da) (Quit: WeeChat 2.3)
2020-11-01 17:57:02 +0100Kingpatzer(~user@c-73-5-166-112.hsd1.mn.comcast.net) (Remote host closed the connection)
2020-11-01 17:57:20 +0100mmohammadi9812(~mmohammad@188.210.118.100) (Quit: Quit)
2020-11-01 17:58:02 +0100idhugo(~idhugo@80-62-116-101-mobile.dk.customer.tdc.net)
2020-11-01 17:58:44 +0100jess(jess@freenode/staff/jess) (Quit: Leaving)
2020-11-01 17:59:40 +0100jess(jess@freenode/staff/jess)
2020-11-01 18:00:28 +0100bergsans(~bergsans@c80-217-8-29.bredband.comhem.se) (Remote host closed the connection)
2020-11-01 18:00:38 +0100cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
2020-11-01 18:02:17 +0100notnatebtw(~nate@125.161.131.30) (Quit: WeeChat 2.9)
2020-11-01 18:03:17 +0100lxsameer(lxsameer@gateway/vpn/protonvpn/lxsameer)
2020-11-01 18:03:43 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:c427:c5ca:d62:565b) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-11-01 18:05:04 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:c427:c5ca:d62:565b)
2020-11-01 18:08:54 +0100ech(~user@gateway/tor-sasl/ech)
2020-11-01 18:09:31 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2020-11-01 18:11:48 +0100akad_(~akad@109107030050.radomsko.vectranet.pl)
2020-11-01 18:16:01 +0100hackagetime-compat 1.9.4 - Compatibility package for time https://hackage.haskell.org/package/time-compat-1.9.4 (phadej)
2020-11-01 18:17:11 +0100UpstreamSalmon(uid12077@gateway/web/irccloud.com/x-crbxrpluwxladazf)
2020-11-01 18:19:32 +0100Rudd0(~Rudd0@185.189.115.108) (Ping timeout: 272 seconds)
2020-11-01 18:20:29 +0100invaser1(~Thunderbi@31.148.23.125)
2020-11-01 18:21:59 +0100knupfer(~Thunderbi@mue-88-130-61-182.dsl.tropolys.de)
2020-11-01 18:22:18 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-11-01 18:22:23 +0100knupfer(~Thunderbi@mue-88-130-61-182.dsl.tropolys.de) (Client Quit)
2020-11-01 18:22:36 +0100knupfer(~Thunderbi@200116b82ca86a00056424893fc11884.dip.versatel-1u1.de)
2020-11-01 18:24:04 +0100invaser(~Thunderbi@128-124-92-74.mobile.vf-ua.net) (Ping timeout: 265 seconds)
2020-11-01 18:24:04 +0100invaser1invaser
2020-11-01 18:28:21 +0100britva(~britva@2a02:aa13:7240:2980:fc63:822e:7d74:772d) (Quit: This computer has gone to sleep)
2020-11-01 18:29:48 +0100mmohammadi9812(~mmohammad@188.210.118.100)
2020-11-01 18:31:00 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:c427:c5ca:d62:565b) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-11-01 18:33:56 +0100rekahsoft(~rekahsoft@cpe0008a20f982f-cm64777d666260.cpe.net.cable.rogers.com)
2020-11-01 18:34:31 +0100britva(~britva@31-10-157-156.cgn.dynamic.upc.ch)
2020-11-01 18:35:44 +0100florian_(~florian@2a01:e35:2fe9:ecb0:bc5c:10ad:bdba:b477) (Ping timeout: 240 seconds)
2020-11-01 18:37:04 +0100Saukk(~Saukk@2001:998:f9:2914:1c59:9bb5:b94c:4)
2020-11-01 18:40:19 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:3499:33aa:8897:280d)
2020-11-01 18:41:46 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:3499:33aa:8897:280d) (Client Quit)
2020-11-01 18:42:40 +0100avdb(~avdb@ip-83-134-109-104.dsl.scarlet.be) (Quit: WeeChat 2.9)
2020-11-01 18:42:44 +0100brisbin(~patrick@pool-173-49-158-4.phlapa.fios.verizon.net) (Ping timeout: 240 seconds)
2020-11-01 18:43:16 +0100bitmapper(uid464869@gateway/web/irccloud.com/x-whgkwnxufenzozzn)
2020-11-01 18:49:04 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:6:b479:1814:49b2)
2020-11-01 18:49:37 +0100knupfer(~Thunderbi@200116b82ca86a00056424893fc11884.dip.versatel-1u1.de) (Quit: knupfer)
2020-11-01 18:54:49 +0100thir(~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de)
2020-11-01 18:54:54 +0100 <gentauro> «6. Which language extensions would you like to be enabled by default? (https://haskellweekly.news/survey/2020.html)»: {-# LANGUAGE Safe #-} xD
2020-11-01 18:55:12 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 256 seconds)
2020-11-01 18:55:14 +0100gentaurosome people just want to see the "Hello, world" burn xD
2020-11-01 18:56:16 +0100elliott_(~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) (Ping timeout: 272 seconds)
2020-11-01 18:57:40 +0100wroathe(~wroathe@c-73-24-27-54.hsd1.mn.comcast.net)
2020-11-01 18:58:13 +0100tito_04(~taurux@net-188-152-104-202.cust.dsl.teletu.it) (Ping timeout: 260 seconds)
2020-11-01 18:59:15 +0100 <fendor> what is the safe language extension even?
2020-11-01 18:59:26 +0100thir(~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de) (Ping timeout: 264 seconds)
2020-11-01 19:00:01 +0100Dragavnir(~Dragavnir@178.239.168.171) ()
2020-11-01 19:00:04 +0100taurux(~taurux@net-188-152-78-21.cust.vodafonedsl.it)
2020-11-01 19:00:11 +0100 <c_wraith> no one really knows
2020-11-01 19:00:28 +0100 <c_wraith> by which I mean "I've tried to understand it and failed, therefore it's impossible"
2020-11-01 19:01:56 +0100conal(~conal@ip-66-115-176-132.creativelink.net) (Quit: Computer has gone to sleep.)
2020-11-01 19:02:23 +0100elliott_(~elliott_@pool-108-51-141-12.washdc.fios.verizon.net)
2020-11-01 19:02:50 +0100 <c_wraith> It's a system for marking code as safe. A safe module can only import other safe modules, or ones that have been marked as trustworthy and you've decided to trust
2020-11-01 19:03:34 +0100 <fendor> and what is the final purpose? To import dynamically unsafe code?
2020-11-01 19:03:43 +0100 <c_wraith> But what "safe" actually means is a bit of a mystery to me. Does it mean type safety, memory safety, freedom from malicious code?
2020-11-01 19:03:59 +0100knupfer(~Thunderbi@200116b82ca86a0031b5db2845852757.dip.versatel-1u1.de)
2020-11-01 19:04:08 +0100hnOsmium0001(uid453710@gateway/web/irccloud.com/x-almrgtblciiegvzz)
2020-11-01 19:04:22 +0100 <geekosaur> to mark code which doesn't need to be considered for safety, by some definition of safety which is not itself well defined
2020-11-01 19:04:33 +0100 <geekosaur> so you in theory can focus on the less safe parts
2020-11-01 19:04:56 +0100 <monochrom> For example System.IO.Unsafe is not marked as safe, and it is where unsafePerformIO comes from. So you don't allow yourself to use unsafePerformIO, or transitively import from other modules that use unsafePerformIO.
2020-11-01 19:05:25 +0100 <c_wraith> unless they're trustworthy, of course, which muddles the whole thing
2020-11-01 19:05:48 +0100 <monochrom> This is why the whole scheme didn't get traction.
2020-11-01 19:06:34 +0100justanotheruser(~justanoth@unaffiliated/justanotheruser)
2020-11-01 19:06:54 +0100 <c_wraith> Debug.Trace is explicitly marked as Unsafe.
2020-11-01 19:07:10 +0100 <c_wraith> What's unsafe about it?
2020-11-01 19:07:21 +0100geowiesnot(~user@87-89-181-157.abo.bbox.fr)
2020-11-01 19:07:43 +0100 <maerwald> unsafePerformIO?
2020-11-01 19:07:57 +0100 <monochrom> It turns out that cultural peer pressure to write pure-functional code and crowd knowledge of which libraries are being naughty are more trustworthy (pun!) than this marker system.
2020-11-01 19:08:37 +0100 <c_wraith> maerwald: it uses it, but it doesn't export it. Or anything that can do its job, as far as I can tell.
2020-11-01 19:08:52 +0100 <monochrom> Also cultural consensus of which usages of unsafePerformIO are acceptable (such as Debug.Trace's)
2020-11-01 19:09:25 +0100bennofs1(~benno@dslb-094-222-054-143.094.222.pools.vodafone-ip.de) (Ping timeout: 240 seconds)
2020-11-01 19:09:37 +0100 <c_wraith> I would have marked Debug.Trace as Trustworthy
2020-11-01 19:09:59 +0100 <c_wraith> But yeah, this is just evidence no one can agree on what Safe actually means
2020-11-01 19:10:14 +0100 <monochrom> It is useful during development. But it shouldn't stay when shipping production code.
2020-11-01 19:10:40 +0100 <c_wraith> Sure, but I don't want to have to turn off Safe in half the modules in my program just to debug something
2020-11-01 19:10:45 +0100 <monochrom> You have f :: Int -> Bool you simply don't expect it to cause some messages on stderr
2020-11-01 19:11:00 +0100 <monochrom> No disagreement there.
2020-11-01 19:12:36 +0100mokulus(~mat@176.111.230.96)
2020-11-01 19:12:42 +0100 <c_wraith> and sure, I could mark the module I'm debugging as Trustworthy, but then you're back to the status quo, relying on code review (automated via linter or manual) to notice you're doing something sketchy
2020-11-01 19:13:05 +0100 <monochrom> A simple use of CPP and -DDEBUG the way C programmers have figured out is far simpler and more reliable.
2020-11-01 19:13:35 +0100 <dsal> I was reading https://www.snoyman.com/blog/2020/10/haskell-bad-parts-1 and found it a little less satisfying. Don't use `sum` because it's implemented with foldMap and something something. Just use RIO fo reverything.
2020-11-01 19:14:05 +0100 <maerwald> RIO :D
2020-11-01 19:14:05 +0100 <monochrom> #ifdef DEBUG \n import Debug.Trace \n #else \n import AllDebugTraceFunctionsAreNoop #endif
2020-11-01 19:14:05 +0100 <c_wraith> "don't use sum because it's bad to rely on the optimizer getting the case right that it gets right every time"
2020-11-01 19:14:06 +0100gehmehgeh(~ircuser1@gateway/tor-sasl/gehmehgeh) (Remote host closed the connection)
2020-11-01 19:14:12 +0100wallacer3(~quassel@ns3134113.ip-37-187-4.eu) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
2020-11-01 19:14:26 +0100 <maerwald> I don't even think RIO is bad... it's just not very exciting overall
2020-11-01 19:14:37 +0100ColdRush_(~coldrush@4e69b241.skybroadband.com) (Ping timeout: 264 seconds)
2020-11-01 19:14:53 +0100gehmehgeh(~ircuser1@gateway/tor-sasl/gehmehgeh)
2020-11-01 19:14:59 +0100 <c_wraith> RIO is fine. I'd probably use it, if I were starting an application from scratch. At least assuming it doesn't drag any of the monotraversable stuff in with it
2020-11-01 19:15:01 +0100dyeplexer(~lol@unaffiliated/terpin) (Remote host closed the connection)
2020-11-01 19:15:09 +0100 <dsal> I use unliftio some. I've not abandoned life as I know it for that religion, though. Too many little religions out here.
2020-11-01 19:16:25 +0100 <dsal> I don't like advice where "the simple obvious thing is wrong (in rare cases you probably don't care about)" turns into "always invent your own `sum` when you're adding stuff together"
2020-11-01 19:16:31 +0100hackagequickcheck-instances 0.3.25 - Common quickcheck instances https://hackage.haskell.org/package/quickcheck-instances-0.3.25 (phadej)
2020-11-01 19:16:40 +0100 <monochrom> This is why I keep saying that programmers are basically clergy-would-be-but-want-more-money. Just look at Larry Wall.
2020-11-01 19:17:01 +0100 <koz_> monochrom: Were you the coiner of 'category theology' that time?
2020-11-01 19:17:05 +0100 <c_wraith> I'm not sure we want more money. Look at catholic cathedrals.
2020-11-01 19:17:07 +0100 <monochrom> No.
2020-11-01 19:17:41 +0100 <dsal> I don't want money, I just want people to do things the right way, but people all have their own wrong ideas of what the right way is.
2020-11-01 19:18:30 +0100 <suzu_> i'd like money
2020-11-01 19:18:32 +0100 <suzu_> how do i get the money
2020-11-01 19:18:48 +0100 <c_wraith> sell your soul to google.
2020-11-01 19:18:50 +0100 <monochrom> Simply s/do things/find the meaning of life/ and see my point. :)
2020-11-01 19:18:53 +0100 <maerwald> "The code passes all integration tests. And then someone in Russia with a weird Windows code page set and a Cyrillic character in their name files a bug report 2 years later about how they can’t build anything"
2020-11-01 19:18:57 +0100 <maerwald> Those russians, hahaha
2020-11-01 19:19:05 +0100DavidEichmann(~david@43.240.198.146.dyn.plus.net)
2020-11-01 19:19:09 +0100 <koz_> maerwald: Vodka, bear, balalaika.
2020-11-01 19:19:28 +0100 <Rembane> Gopnik programmer memes
2020-11-01 19:19:39 +0100 <koz_> Rembane: Squat while coding.
2020-11-01 19:19:48 +0100ColdRush(~coldrush@4e69b241.skybroadband.com)
2020-11-01 19:19:50 +0100 <koz_> Who needs standing desk when you have squatting desk?
2020-11-01 19:20:18 +0100 <Rembane> koz_: Totally. Much better for code and life.
2020-11-01 19:20:45 +0100 <maerwald> "instead of readFile, I recommend using readFileUtf8, which is available from rio."
2020-11-01 19:20:46 +0100 <koz_> Just checked - the desk height for that would be about the height of a chair.
2020-11-01 19:20:52 +0100 <maerwald> That isn't logical
2020-11-01 19:21:04 +0100nerdboy1(~nerdboy@154.13.1.56)
2020-11-01 19:21:05 +0100 <maerwald> so we just assume utf8 now?
2020-11-01 19:21:47 +0100 <monochrom> Why are you wasting your time on Snoyman drivels? :)
2020-11-01 19:21:51 +0100 <dsal> I got lost in that thing. I started paying a little less attention to Snoyman when he reviews a Scott Adams book. It's not a good logical stance, but I can't take anyone seriously who'd take Scott Adams seriously.
2020-11-01 19:22:07 +0100 <koz_> Yeah, I agree with monochrom here.
2020-11-01 19:22:18 +0100 <koz_> Just let him live in his weird fantasy world.
2020-11-01 19:22:22 +0100kekeqaq(34f6a1c2@52.246.161.194)
2020-11-01 19:22:26 +0100kekeqaq(34f6a1c2@52.246.161.194) (Remote host closed the connection)
2020-11-01 19:22:46 +0100 <Rembane> Someone has to live in that world, I'm grateful that I don't.
2020-11-01 19:22:53 +0100 <koz_> Rembane: Likewise.
2020-11-01 19:22:57 +0100 <monochrom> To be sure, sometimes he makes some good points. So heed the good advice, and don't worry about the rest.
2020-11-01 19:24:01 +0100 <MarcelineVQ> this is why anonymity is powerful, you can examine positions instead of people
2020-11-01 19:24:22 +0100sh9(~sh9@softbank060116136158.bbtec.net)
2020-11-01 19:25:54 +0100 <MarcelineVQ> s/can/must
2020-11-01 19:26:48 +0100 <maerwald> I always treat files as bytes and try to delay interpreting content as long as possible.
2020-11-01 19:27:19 +0100 <maerwald> and often times, you don't need to know much about the contents
2020-11-01 19:28:19 +0100conal(~conal@ip-66-115-176-132.creativelink.net)
2020-11-01 19:29:09 +0100 <maerwald> anything that does stuff with files more than treating them as bytes has no place in the stdlib
2020-11-01 19:29:33 +0100obihann(~jhann@156.34.160.69) (Quit: Lost terminal)
2020-11-01 19:30:01 +0100hackagecommonmark 0.1.1 - Pure Haskell commonmark parser. https://hackage.haskell.org/package/commonmark-0.1.1 (JohnMacFarlane)
2020-11-01 19:30:03 +0100notnatebtw(~nate@125.161.131.30)
2020-11-01 19:30:07 +0100britva(~britva@31-10-157-156.cgn.dynamic.upc.ch) (Quit: This computer has gone to sleep)
2020-11-01 19:30:40 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:6:b479:1814:49b2) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-11-01 19:31:00 +0100hackagecommonmark-extensions 0.2.0.2 - Pure Haskell commonmark parser. https://hackage.haskell.org/package/commonmark-extensions-0.2.0.2 (JohnMacFarlane)
2020-11-01 19:34:51 +0100Sgeo(~Sgeo@ool-18b982ad.dyn.optonline.net)
2020-11-01 19:36:43 +0100idhugo(~idhugo@80-62-116-101-mobile.dk.customer.tdc.net) (Ping timeout: 260 seconds)
2020-11-01 19:39:43 +0100livvy(~livvy@gateway/tor-sasl/livvy) (Ping timeout: 240 seconds)
2020-11-01 19:40:28 +0100Jeanne-Kamikaze(~Jeanne-Ka@68.235.43.86)
2020-11-01 19:41:49 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:419f:7551:94a4:41c1)
2020-11-01 19:42:33 +0100cosimone(~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd)
2020-11-01 19:43:41 +0100 <maerwald> https://hackage.haskell.org/package/Win32-2.10.0.0/docs/System-Win32-File.html what happened to documentation :(
2020-11-01 19:44:21 +0100 <maerwald> There's one link to MS docs, which is a proper 404
2020-11-01 19:45:45 +0100 <geekosaur> "everyone who cares is on unix" happened to documentation, afaict
2020-11-01 19:47:11 +0100SupaYoshi(~supayoshi@213-10-140-13.fixed.kpn.net) (Quit: Goodbye!)
2020-11-01 19:47:45 +0100SupaYoshi(~supayoshi@213-10-140-13.fixed.kpn.net)
2020-11-01 19:47:57 +0100ubert(~Thunderbi@p200300ecdf1e53d1e6b318fffe838f33.dip0.t-ipconnect.de)
2020-11-01 19:48:08 +0100michael92342(~{mikey}@79.140.120.95)
2020-11-01 19:49:28 +0100britva(~britva@31-10-157-156.cgn.dynamic.upc.ch)
2020-11-01 19:49:28 +0100 <suzu_> c_wraith: google sucks
2020-11-01 19:49:32 +0100 <suzu_> maybe i'd sell my soul to facebook
2020-11-01 19:49:37 +0100 <suzu_> they actually use haskell there
2020-11-01 19:49:50 +0100 <hpc> i think that has less to do with it being windows and more to do with it being as thin a C wrapper package as it's possible to be
2020-11-01 19:50:15 +0100 <maerwald> even ffi bindings should have documentation IMO
2020-11-01 19:50:30 +0100 <koz_> I'm with maerwald on that one honestly.
2020-11-01 19:50:31 +0100PerseusPlease(~{mikey}@79.140.120.95) (Ping timeout: 246 seconds)
2020-11-01 19:51:01 +0100 <koz_> You don't wanna be doing a two-way diff in your head in a context that delicate.
2020-11-01 19:51:04 +0100elliott__(~elliott@pool-108-51-141-12.washdc.fios.verizon.net)
2020-11-01 19:51:42 +0100 <hpc> there's opengl-related packages with that level of thinness/documentation as well
2020-11-01 19:51:51 +0100 <hpc> not saying it should be that way, just what i have observed being correlated
2020-11-01 19:54:01 +0100hackagebinary-instances 1.0.1 - Orphan instances for binary https://hackage.haskell.org/package/binary-instances-1.0.1 (phadej)
2020-11-01 19:54:17 +0100 <dminuoso> c_wraith: Haha that's interesting, I hadn't looked at RIO ever sine I started haskell. Turns out, after nearly 2 years I've slowly converged on exactly that in many of my apps.
2020-11-01 19:54:36 +0100 <maerwald> at lest copyFile exists... on Linux, you have `sendfile`, but not all kernels have it
2020-11-01 19:55:20 +0100 <dminuoso> Though I think I prefer monad-logger as the logging interface.
2020-11-01 19:56:49 +0100knupfer(~Thunderbi@200116b82ca86a0031b5db2845852757.dip.versatel-1u1.de) (Ping timeout: 268 seconds)
2020-11-01 19:57:41 +0100mdunnio(~mdunnio@208.59.170.5)
2020-11-01 19:58:30 +0100mdunnio(~mdunnio@208.59.170.5) (Client Quit)
2020-11-01 20:00:42 +0100 <suzu_> i use katip a lot
2020-11-01 20:00:53 +0100conal(~conal@ip-66-115-176-132.creativelink.net) (Quit: Computer has gone to sleep.)
2020-11-01 20:02:09 +0100alp(~alp@2a01:e0a:58b:4920:8808:ae41:6852:4b7c)
2020-11-01 20:03:17 +0100cosimone(~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd) (Remote host closed the connection)
2020-11-01 20:03:24 +0100berberman_(~berberman@unaffiliated/berberman) (Ping timeout: 240 seconds)
2020-11-01 20:03:26 +0100berberman(~berberman@unaffiliated/berberman)
2020-11-01 20:03:42 +0100cosimone(~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd)
2020-11-01 20:03:48 +0100conal(~conal@ip-66-115-176-132.creativelink.net)
2020-11-01 20:04:02 +0100Codaraxis(~Codaraxis@ip68-5-90-227.oc.oc.cox.net)
2020-11-01 20:04:42 +0100 <hekkaidekapus> maerwald: “This library is just a direct binding to Windows API calls and as such contains no documentation. The documentation for functions can be found in the equivalently named functions on MSDN [URL]”.
2020-11-01 20:05:04 +0100 <hekkaidekapus> Source: <https://github.com/haskell/win32/blob/master/README.md>
2020-11-01 20:05:34 +0100 <maerwald> That sentence isn't on the hackage page: https://hackage.haskell.org/package/Win32
2020-11-01 20:06:16 +0100Codaraxis_(~Codaraxis@ip68-5-90-227.oc.oc.cox.net) (Ping timeout: 246 seconds)
2020-11-01 20:06:51 +0100 <hekkaidekapus> maerwald: The Hackage’s Markdown parser needs an update. See <https://github.com/haskell/hackage-server/pull/904> and the related issues.
2020-11-01 20:07:09 +0100 <maerwald> I think the README isn't included in the cabal file
2020-11-01 20:07:18 +0100ubert(~Thunderbi@p200300ecdf1e53d1e6b318fffe838f33.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
2020-11-01 20:07:42 +0100michael92342(~{mikey}@79.140.120.95) (Remote host closed the connection)
2020-11-01 20:08:02 +0100wroathe(~wroathe@c-73-24-27-54.hsd1.mn.comcast.net) (Quit: leaving)
2020-11-01 20:08:06 +0100michael92342(~{mikey}@79.140.120.95)
2020-11-01 20:08:18 +0100 <hekkaidekapus> maerwald: Ah, ok.
2020-11-01 20:08:58 +0100 <hekkaidekapus> A pull request then?
2020-11-01 20:09:20 +0100 <maerwald> yeah, once my RSI is better
2020-11-01 20:09:35 +0100 <hekkaidekapus> lol
2020-11-01 20:10:06 +0100renzhi(~renzhi@2607:fa49:655f:e600::28da)
2020-11-01 20:11:02 +0100Saukk(~Saukk@2001:998:f9:2914:1c59:9bb5:b94c:4) (Remote host closed the connection)
2020-11-01 20:11:23 +0100 <maerwald> Yeah, suggestions welcome...
2020-11-01 20:11:35 +0100 <monochrom> Use a speech recognizer.
2020-11-01 20:11:59 +0100 <monochrom> "computer, open github.com"
2020-11-01 20:12:12 +0100 <tomsmeding> "OK Google, open open github.com"
2020-11-01 20:13:00 +0100 <maerwald> is there a good open source speech recognizer? :)
2020-11-01 20:13:06 +0100 <hekkaidekapus> koz_ was talking about standing desks a few scroll back.
2020-11-01 20:13:12 +0100 <maerwald> I have one
2020-11-01 20:13:34 +0100 <maerwald> a 350 bucks ergonomic keyboard too
2020-11-01 20:13:48 +0100 <hekkaidekapus> Type matrix?
2020-11-01 20:14:16 +0100 <maerwald> I think it's since I learned touch typing, but how do you unlearn that :)
2020-11-01 20:15:05 +0100 <dsal> The problem with text to speech is that you have to learn how to say all those things you type all the time.
2020-11-01 20:15:42 +0100 <dsal> "Lens for Speech Recognition"
2020-11-01 20:15:43 +0100acidjnk_new(~acidjnk@p200300d0c7226044298aa97eef668aef.dip0.t-ipconnect.de)
2020-11-01 20:17:45 +0100ChaiTRex(~ChaiTRex@gateway/tor-sasl/chaitrex) (Remote host closed the connection)
2020-11-01 20:17:49 +0100Chai-T-Rex(~ChaiTRex@gateway/tor-sasl/chaitrex)
2020-11-01 20:18:00 +0100 <maerwald> you could teach it klingon and then use klingon words for symbols
2020-11-01 20:19:19 +0100elliott__(~elliott@pool-108-51-141-12.washdc.fios.verizon.net) (Ping timeout: 260 seconds)
2020-11-01 20:19:37 +0100 <juri_> haskell Hol vlyaj torgh.
2020-11-01 20:20:05 +0100elliott_(~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) (Read error: Connection reset by peer)
2020-11-01 20:20:10 +0100 <dsal> If I wanted to yell angrily at my computer, I'd write more JavaScript.
2020-11-01 20:20:25 +0100elliott_(~elliott_@pool-108-51-141-12.washdc.fios.verizon.net)
2020-11-01 20:20:27 +0100elliott_(~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) (Remote host closed the connection)
2020-11-01 20:20:45 +0100elliott_(~elliott_@pool-108-51-141-12.washdc.fios.verizon.net)
2020-11-01 20:20:59 +0100tomsmedingwonders how well speech recognisers deal with mixing two languages; it sounds like a good way to increase information bandwidth for speakers of multiple languages
2020-11-01 20:21:57 +0100alp(~alp@2a01:e0a:58b:4920:8808:ae41:6852:4b7c) (Ping timeout: 260 seconds)
2020-11-01 20:22:50 +0100 <tomsmeding> doing so you also get the advantage of being able to say that you do code-switching while coding
2020-11-01 20:24:27 +0100geowiesnot(~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 260 seconds)
2020-11-01 20:25:14 +0100revprez_anzio(~revprez_a@pool-108-49-213-40.bstnma.fios.verizon.net) (Ping timeout: 264 seconds)
2020-11-01 20:25:26 +0100 <dsal> I alternate between ASCII and UTF-8 while I'm entering code.
2020-11-01 20:25:46 +0100revprez_anzio(~revprez_a@pool-108-49-213-40.bstnma.fios.verizon.net)
2020-11-01 20:27:09 +0100 <tomsmeding> difference with my suggestion is that generally, one natural language does not generally fully subsume another ;)
2020-11-01 20:27:52 +0100 <maerwald> also: https://haskellweekly.news/survey/2020.html
2020-11-01 20:28:24 +0100nkly(~nkly@2a02:8109:9ac0:4a4c::9b9d) (Ping timeout: 240 seconds)
2020-11-01 20:29:07 +0100otulp(~otulp@ti0187q162-5696.bb.online.no)
2020-11-01 20:30:02 +0100 <hekkaidekapus> maerwald: As to the survey, in another channel, the admin put the URL into /topic.
2020-11-01 20:30:22 +0100 <hekkaidekapus> monochrom: Would you mind? ^^^
2020-11-01 20:31:11 +0100ChanServ+o monochrom
2020-11-01 20:31:38 +0100 https://www.haskell.org | https://wiki.haskell.org/IRC_channel | Paste code/errors: https://gist.github.com/ | Logs: http://tunes.org/~nef/logs/haskell/?C=M;O=D | https://www.reddit.com/r/haskell | Admin: #haskell-ops | Offtopic: #haskell-offtopic | https://downloads.haskell.org | Survey 2020: https://haskellweekly.news/survey/2020.html
2020-11-01 20:31:54 +0100 <hekkaidekapus> Nice!
2020-11-01 20:32:12 +0100xff0x_(~fox@2001:1a81:5341:f200:676a:5a76:34ce:6dec) (Quit: xff0x_)
2020-11-01 20:32:21 +0100xff0x(~fox@2001:1a81:5341:f200:676a:5a76:34ce:6dec)
2020-11-01 20:33:22 +0100 <tomsmeding> 🎉 even longer topic :)
2020-11-01 20:33:37 +0100wroathe(~wroathe@c-73-24-27-54.hsd1.mn.comcast.net)
2020-11-01 20:33:58 +0100monochrom-o monochrom
2020-11-01 20:34:03 +0100 <MarcelineVQ> data is good I guess, though answering what exensions should be default last time I did the survey didn't make any more extensions the default :>
2020-11-01 20:34:10 +0100Madars(~null@unaffiliated/madars)
2020-11-01 20:34:13 +0100hekkaidekapusis trying to increase participation to the survey from IRC folks. That way, the survey’s results might be less biased towards fellows who have loud-speakers on Twitter/Reddit/…
2020-11-01 20:34:29 +0100 <tomsmeding> maerwald: "I think it's since I learned touch typing" -- assuming you mean the home-row-centric qwerty typing style, interesting, I never learned that and have my own homebrew kind of finger movement which is somewhat less static
2020-11-01 20:34:36 +0100 <tomsmeding> I wonder how I will fare
2020-11-01 20:35:00 +0100hackagecut-the-crap 2.3.0 - Cuts out uninteresting parts of videos by detecting silences. https://hackage.haskell.org/package/cut-the-crap-2.3.0 (Jappie)
2020-11-01 20:35:04 +0100mlugg(522733ea@cpc95124-newt39-2-0-cust489.19-3.cable.virginm.net) (Ping timeout: 245 seconds)
2020-11-01 20:35:10 +0100tomsmedingalready filled in the survey from the haskell-cafe announcement :p
2020-11-01 20:35:14 +0100 <MarcelineVQ> I still look at my fingers even though I don't need to, habits are weird
2020-11-01 20:36:28 +0100 <Rembane> Maybe you have really pretty fingers?
2020-11-01 20:36:33 +0100dcoutts_(~duncan@33.14.75.194.dyn.plus.net) (Ping timeout: 258 seconds)
2020-11-01 20:36:42 +0100 <MarcelineVQ> it's possible
2020-11-01 20:38:00 +0100 <yushyin> having blank keycaps helps, it took my about a month to get used to my redox keyboard
2020-11-01 20:39:23 +0100nkly(~nkly@ip5b403944.dynamic.kabel-deutschland.de)
2020-11-01 20:40:26 +0100 <yushyin> a long and very frustrating month that was
2020-11-01 20:41:33 +0100christo(~chris@81.96.113.213)
2020-11-01 20:41:42 +0100 <MarcelineVQ> a qong ang frusttating momfh
2020-11-01 20:42:09 +0100 <tomsmeding> as for the IRC topic, does #haskell-offtopic even exist?
2020-11-01 20:42:43 +0100 <Rembane> tomsmeding: Yes
2020-11-01 20:42:50 +0100idhugo(~idhugo@80-62-116-101-mobile.dk.customer.tdc.net)
2020-11-01 20:43:02 +0100 <tomsmeding> alis doesn't know about it
2020-11-01 20:43:44 +0100 <gobbleguy> tomsmeding, channels set +s (secret) don't show up in alis
2020-11-01 20:44:00 +0100 <tomsmeding> ah
2020-11-01 20:44:54 +0100 <gobbleguy> I would guess that's because it's intended for #haskell regulars to have a place to be offtopic, not a place for people looking to be offtopic to go in general
2020-11-01 20:45:07 +0100wroathe(~wroathe@c-73-24-27-54.hsd1.mn.comcast.net) (Ping timeout: 246 seconds)
2020-11-01 20:47:24 +0100mmohammadi9812(~mmohammad@188.210.118.100) (Read error: Connection reset by peer)
2020-11-01 20:47:34 +0100mmohammadi9812(~mmohammad@188.210.118.100)
2020-11-01 20:47:50 +0100 <juri_> ourvey completed.
2020-11-01 20:48:00 +0100 <juri_> survey, even.
2020-11-01 20:48:13 +0100 <tomsmeding> both?
2020-11-01 20:48:37 +0100 <juri_> there are two?
2020-11-01 20:48:46 +0100 <tomsmeding> no, was just joking about the typo :p
2020-11-01 20:49:55 +0100coot(~coot@37.30.60.135.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
2020-11-01 20:50:04 +0100 <juri_> :)
2020-11-01 20:50:34 +0100ggole(~ggole@2001:8003:8119:7200:a168:686a:1da3:cf46) (Quit: Leaving)
2020-11-01 20:52:28 +0100Franciman(~francesco@host-79-36-167-172.retail.telecomitalia.it)
2020-11-01 20:52:39 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-11-01 20:53:42 +0100conal(~conal@ip-66-115-176-132.creativelink.net) (Quit: Computer has gone to sleep.)
2020-11-01 20:54:39 +0100perrier-jouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca)
2020-11-01 20:55:03 +0100cr3(~cr3@192-222-143-195.qc.cable.ebox.net)
2020-11-01 20:55:04 +0100 <hekkaidekapus> MarcelineVQ: Yeah, I am not really fond of the survey but it has gained oversized importance in various places, so better to icrease its inclusiveness than to ignore it and still get indirectly impacted by its results.
2020-11-01 20:55:17 +0100 <hekkaidekapus> Viz: <https://mail.haskell.org/pipermail/ghc-steering-committee/2020-October/001822.html>
2020-11-01 20:55:25 +0100michael92342(~{mikey}@79.140.120.95) (Ping timeout: 264 seconds)
2020-11-01 20:56:00 +0100 <MarcelineVQ> sure, it's a useul thing to have to guage user metrics if nothing else
2020-11-01 20:56:18 +0100thir(~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de)
2020-11-01 20:57:32 +0100 <juri_> I am disappointed there's not a selection for more than 30 years programming experience.
2020-11-01 20:57:34 +0100 <MarcelineVQ> fwiw I'm not a big fan of OverloadedStrings on by default and find it interestings it's sitting right at the top
2020-11-01 20:58:08 +0100 <ski> MarcelineVQ : i used to only look at the keyboard, when typing, only glacing up at the screen now and then to check for mistakes
2020-11-01 20:59:18 +0100 <dminuoso> OverloadedStrings has caught me by surprise a few times.
2020-11-01 20:59:57 +0100PerseusPlease(~{mikey}@79.140.120.95)
2020-11-01 21:00:02 +0100 <dminuoso> For Text I'd love it, but sadly there's illplaced instances like `IsString ByteString` or `(a ~ Tokens s, IsString a, Eq a, Stream s, Ord e) => IsString (ParsecT e s m a)`
2020-11-01 21:00:14 +0100conal(~conal@64.71.133.70)
2020-11-01 21:00:32 +0100 <ski> (and i never learned the "proper touch typing", either. but i use more fingers than two, although pinkies not that often)
2020-11-01 21:00:33 +0100 <tomsmeding> how does "Other" have 212% of the votes
2020-11-01 21:00:33 +0100brettgilio(~brettgili@brettgilio.com) (Remote host closed the connection)
2020-11-01 21:00:57 +0100thir(~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
2020-11-01 21:01:07 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2020-11-01 21:01:39 +0100mokulus_(~mat@176.111.230.96)
2020-11-01 21:02:12 +0100 <maerwald> tomsmeding: I don't have qwerty, I use workman, which is a modification of colemak, focussing on "finger roll" (same hand use during typing a word)
2020-11-01 21:02:41 +0100 <koz_> tomsmeding: Russia-style voting?
2020-11-01 21:02:48 +0100mokulus_(~mat@176.111.230.96) (Read error: Connection reset by peer)
2020-11-01 21:02:58 +0100mokulus(~mat@176.111.230.96) (Ping timeout: 246 seconds)
2020-11-01 21:02:58 +0100mgalese(60e67243@pool-96-230-114-67.bstnma.fios.verizon.net)
2020-11-01 21:03:09 +0100notnatebtw(~nate@125.161.131.30) (Quit: WeeChat 2.9)
2020-11-01 21:03:11 +0100rprije(~rprije@194-193-168-77.tpgi.com.au)
2020-11-01 21:03:16 +0100invaser(~Thunderbi@31.148.23.125) (Ping timeout: 256 seconds)
2020-11-01 21:03:29 +0100 <MarcelineVQ> vote bald, vote not-bald, vote bald, vote not-bald?
2020-11-01 21:03:53 +0100 <koz_> MarcelineVQ: LOL, that, and winning elections with 110% of the vote.
2020-11-01 21:04:00 +0100invaser(~Thunderbi@31.148.23.125)
2020-11-01 21:04:09 +0100 <dminuoso> koz_: Oh that sounds more like an US election then.
2020-11-01 21:04:15 +0100 <MarcelineVQ> Oh, that's everywhere :>
2020-11-01 21:04:26 +0100 <koz_> dminuoso: No, that's winning elections with _10%_ of the vote instead.
2020-11-01 21:04:55 +0100 <dminuoso> I wonder, has someone does the math what the lowest popular vote is one could have but still win the electoral college in the US?
2020-11-01 21:05:17 +0100 <koz_> dminuoso: Nate Silver might have?
2020-11-01 21:05:22 +0100 <koz_> It sounds on-brand for him.
2020-11-01 21:05:26 +0100alp(~alp@2a01:e0a:58b:4920:e0bd:5b09:72db:411d)
2020-11-01 21:05:36 +0100 <mgalese> https://www.npr.org/2016/11/02/500112248/how-to-win-the-presidency-with-27-percent-of-the-popular-…
2020-11-01 21:05:57 +0100 <mgalese> Despite the slug, it's 23 percent
2020-11-01 21:05:58 +0100 <MarcelineVQ> y'all be trippin, this is a channel for talking about typing
2020-11-01 21:06:41 +0100chaosmasttter(~chaosmast@p200300c4a72dee01c4c235ce0df4f033.dip0.t-ipconnect.de)
2020-11-01 21:06:50 +0100 <dminuoso> mgalese: Well and thats assuming faithful electors!
2020-11-01 21:06:53 +0100 <tomsmeding> typing on workman, evidently
2020-11-01 21:07:02 +0100 <koz_> MarcelineVQ: Yes.
2020-11-01 21:07:04 +0100 <dminuoso> Presumably you could get near 0% of the popular vote and still become president.
2020-11-01 21:07:10 +0100 <koz_> For more than one definition of 'typing'.
2020-11-01 21:07:13 +0100 <dminuoso> If all the electors were faithless
2020-11-01 21:07:16 +0100 <mgalese> And more on topic, --- is there a way to use Deriving Via with a specific member of a record?
2020-11-01 21:07:17 +0100 <tomsmeding> maybe I should switch to a better layout at some point but I probably won't
2020-11-01 21:07:17 +0100sawebb_(~sawebb@75.115.195.184)
2020-11-01 21:07:35 +0100 <koz_> tomsmeding: I already needed almost a month to adjust to the layout differences of the ErgoDox EZ.
2020-11-01 21:07:45 +0100 <koz_> And that's only a _minor_ deviation from qwerty.
2020-11-01 21:07:50 +0100 <mgalese> As in, if I had a record with a member "seqNo :: SequenceNo", deriving an Ord instance based on the SequenceNo type
2020-11-01 21:07:55 +0100 <koz_> So I totally get why switching is hard.
2020-11-01 21:07:56 +0100mokulus_(~mat@176.111.230.96)
2020-11-01 21:08:08 +0100 <dminuoso> mgalese: No, you derive via a different type that can be coerced to
2020-11-01 21:08:19 +0100ransom(c4264035@gateway/vpn/protonvpn/c4264035)
2020-11-01 21:08:28 +0100 <dminuoso> mgalese: So if there no Coercible between the two, then you cant have deriving via
2020-11-01 21:08:58 +0100 <dminuoso> And a field of a data does not have the same runtime representation as the struct holding it, unless it was the only member
2020-11-01 21:09:09 +0100 <dminuoso> s/struct/data/
2020-11-01 21:09:35 +0100 <dminuoso> So you'd have to write out that instance by hand
2020-11-01 21:10:01 +0100hackagehaskell-gi-base 0.24.4 - Foundation for libraries generated by haskell-gi https://hackage.haskell.org/package/haskell-gi-base-0.24.4 (inaki)
2020-11-01 21:10:25 +0100idhugo(~idhugo@80-62-116-101-mobile.dk.customer.tdc.net) (Ping timeout: 240 seconds)
2020-11-01 21:10:26 +0100invaser(~Thunderbi@31.148.23.125) (Quit: invaser)
2020-11-01 21:10:42 +0100 <mgalese> Yeah, I meant more "morally" like Deriving Via. It just feels wrong to have an instance definition where every member f is nothing more than f = f . field
2020-11-01 21:10:49 +0100solonarv(~solonarv@astrasbourg-653-1-117-122.w90-33.abo.wanadoo.fr) (Ping timeout: 268 seconds)
2020-11-01 21:11:17 +0100invaser(~Thunderbi@31.148.23.125)
2020-11-01 21:11:18 +0100 <dminuoso> Not that I know of generally. For single member instances you could rig TH easily
2020-11-01 21:11:31 +0100 <dminuoso> *single method
2020-11-01 21:11:33 +0100 <dminuoso> gosh
2020-11-01 21:11:45 +0100brettgilio(~brettgili@brettgilio.com)
2020-11-01 21:12:17 +0100 <dminuoso> mgalese: Ive grown used to it honestly. You happen to see this often with classy lenses.
2020-11-01 21:12:43 +0100christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-11-01 21:15:48 +0100christo(~chris@81.96.113.213)
2020-11-01 21:17:22 +0100 <maerwald> tomsmeding: I'm considering to switch to dvorak, because it's optimized for alternating hands, which, I believe, reduces strain in your hand, because typing a single word is always distributed over both hands
2020-11-01 21:17:59 +0100 <maerwald> that might be a bit slower than the rolling finger model, but you probably don't notice that below 60wpm anyway
2020-11-01 21:18:00 +0100 <tomsmeding> not knowing much about the space, that sounds better ergonomically, indeed
2020-11-01 21:18:02 +0100ericsagn1(~ericsagne@2405:6580:0:5100:9a5a:7320:1bda:4e7f) (Ping timeout: 264 seconds)
2020-11-01 21:18:42 +0100 <maerwald> and if you do programming at more than 60wpm, I'm not sure I want to run your code :)
2020-11-01 21:19:19 +0100 <idnar> maerwald: it also reduces hand travel distance which reduces wrist strain
2020-11-01 21:19:34 +0100 <maerwald> idnar: nah, workman has better travel distance than dvorak
2020-11-01 21:20:03 +0100 <[exa]> random though, possibly a dumb question-- is there some straighforward way to use lens-ish accessors on mutable stuff, like MVectors?
2020-11-01 21:20:27 +0100christo(~chris@81.96.113.213) (Ping timeout: 260 seconds)
2020-11-01 21:20:27 +0100 <koz_> [exa]: You could write getters, but the setting half would be a problem.
2020-11-01 21:20:34 +0100 <idnar> maerwald: ah well, I assumed switching from qwerty
2020-11-01 21:20:46 +0100 <koz_> Since mutable 'setters' don't return a new structure, they return ().
2020-11-01 21:21:02 +0100cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 264 seconds)
2020-11-01 21:21:21 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-11-01 21:21:57 +0100 <idnar> maerwald: guess that's what I get jumping in late ;)
2020-11-01 21:22:12 +0100 <maerwald> idnar: another note is that workman is heavier on the left hand than dvorak
2020-11-01 21:23:07 +0100christo(~chris@81.96.113.213)
2020-11-01 21:26:09 +0100invaser1(~Thunderbi@31.148.23.125)
2020-11-01 21:27:28 +0100invaser(~Thunderbi@31.148.23.125) (Ping timeout: 268 seconds)
2020-11-01 21:27:28 +0100ransom(c4264035@gateway/vpn/protonvpn/c4264035) (Ping timeout: 268 seconds)
2020-11-01 21:27:28 +0100invaser1invaser
2020-11-01 21:28:32 +0100 <yushyin> a different layout was not for me, I tried and failed hard :D. I was already used to write with 10finger touch typing. So I'm back to qwerty with a custom layer for symbols.
2020-11-01 21:29:16 +0100 <maerwald> switching was rather quick for me, but it's still several weeks of pain and non-productivity
2020-11-01 21:29:32 +0100ericsagn1(~ericsagne@2405:6580:0:5100:24ed:9b41:b671:d88b)
2020-11-01 21:29:34 +0100 <maerwald> also, how do you explain that to your colleagues?
2020-11-01 21:29:57 +0100 <maerwald> that you need 6x the time for a regular PR
2020-11-01 21:30:25 +0100PerseusPlease(~{mikey}@79.140.120.95) (Quit: Leaving)
2020-11-01 21:30:47 +0100 <maerwald> get half the salary for the transition period? :o
2020-11-01 21:31:33 +0100AlterEgo-(~ladew@124-198-158-163.dynamic.caiway.nl) (Quit: Leaving)
2020-11-01 21:31:41 +0100 <maerwald> might as well learn coding on a unicycle
2020-11-01 21:32:46 +0100 <yushyin> maerwald: but I'm quite happy with my symbols layer and make good use of it while programming https://paste.xinu.at/LBy8/#n66
2020-11-01 21:32:48 +0100 <maerwald> (although, you might actually get funding for that, if you promise to make a youtube video about it)
2020-11-01 21:33:22 +0100 <yushyin> can recommend ^^
2020-11-01 21:33:24 +0100 <maerwald> yushyin: here's my layout https://configure.ergodox-ez.com/ergodox-ez/layouts/LMBRq/latest/0
2020-11-01 21:33:43 +0100 <koz_> [insert some kind of 'strong typing' joke here]
2020-11-01 21:34:41 +0100 <yushyin> maerwald: nice!
2020-11-01 21:38:36 +0100 <maerwald> yushyin: so basically, when you press your left ring finger, yo right hand homerow is on -<>=
2020-11-01 21:38:47 +0100 <maerwald> which is your most common haskell symbols
2020-11-01 21:38:51 +0100christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-11-01 21:39:52 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2020-11-01 21:40:34 +0100christo(~chris@81.96.113.213)
2020-11-01 21:42:41 +0100 <yushyin> true! unfortunately I write haskell the least often
2020-11-01 21:43:36 +0100christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-11-01 21:46:11 +0100christo(~chris@81.96.113.213)
2020-11-01 21:46:46 +0100 <[exa]> koz_: well technically setters can return the "reference" MVector
2020-11-01 21:46:55 +0100 <koz_> [exa]: Yeah, they could indeed.
2020-11-01 21:47:00 +0100 <[exa]> koz_: the problem is where to put the ordering effect
2020-11-01 21:47:19 +0100 <koz_> Yeah, that'd pose a problem.
2020-11-01 21:47:35 +0100 <koz_> Since you end up with 'm blah', and you need 'blah'.
2020-11-01 21:48:40 +0100elliott__(~elliott@pool-108-51-141-12.washdc.fios.verizon.net)
2020-11-01 21:49:36 +0100geowiesnot(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr)
2020-11-01 21:50:05 +0100brettgilio(~brettgili@brettgilio.com) (Quit: Long live IRC! <https://brettgilio.com>)
2020-11-01 21:50:15 +0100 <[exa]> hm, googling reveals `traverseOf` and `mapMOf`
2020-11-01 21:50:21 +0100 <[exa]> this is gonna be a long evening
2020-11-01 21:50:23 +0100christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-11-01 21:53:09 +0100conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2020-11-01 21:53:30 +0100wroathe_(~wroathe@c-73-24-27-54.hsd1.mn.comcast.net)
2020-11-01 21:53:43 +0100brettgilio(~brettgili@brettgilio.com)
2020-11-01 21:53:47 +0100knupfer(~Thunderbi@200116b82ca86a0081cd9ea58e288a4a.dip.versatel-1u1.de)
2020-11-01 21:54:13 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 264 seconds)
2020-11-01 21:54:25 +0100invaser(~Thunderbi@31.148.23.125) (Ping timeout: 240 seconds)
2020-11-01 21:54:55 +0100wroathe_(~wroathe@c-73-24-27-54.hsd1.mn.comcast.net) (Client Quit)
2020-11-01 21:55:02 +0100conal(~conal@64.71.133.70)
2020-11-01 21:55:09 +0100wroathe(~wroathe@c-73-24-27-54.hsd1.mn.comcast.net)
2020-11-01 21:55:35 +0100christo(~chris@81.96.113.213)
2020-11-01 21:56:50 +0100AlterEgo-(~ladew@124-198-158-163.dynamic.caiway.nl)
2020-11-01 21:58:37 +0100howdoi(uid224@gateway/web/irccloud.com/x-czxukgvxykkjyknw)
2020-11-01 21:58:46 +0100dcoutts_(~duncan@33.14.75.194.dyn.plus.net)
2020-11-01 22:00:01 +0100nerdboy1(~nerdboy@154.13.1.56) ()
2020-11-01 22:00:09 +0100christo(~chris@81.96.113.213) (Ping timeout: 268 seconds)
2020-11-01 22:02:27 +0100geowiesnot(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 260 seconds)
2020-11-01 22:06:10 +0100cosimone(~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd) (Quit: cosimone)
2020-11-01 22:06:17 +0100christo(~chris@81.96.113.213)
2020-11-01 22:06:47 +0100mgalese(60e67243@pool-96-230-114-67.bstnma.fios.verizon.net) (Remote host closed the connection)
2020-11-01 22:16:26 +0100 <Tuplanolla> Upon seeing the 2020 State of Haskell Survey, I realized I haven't really used Haskell in 2020.
2020-11-01 22:17:04 +0100Neo--(~neo@188-230-154-134.dynamic.t-2.net) (Ping timeout: 240 seconds)
2020-11-01 22:17:12 +0100christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-11-01 22:17:34 +0100 <suzu_> what have you been using instead?
2020-11-01 22:17:48 +0100 <Tuplanolla> It has been a year of OCaml.
2020-11-01 22:18:19 +0100p-core(~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515)
2020-11-01 22:19:02 +0100geekosaur(ae68c070@cpe-174-104-192-112.neo.res.rr.com) (Remote host closed the connection)
2020-11-01 22:22:28 +0100geowiesnot(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr)
2020-11-01 22:23:36 +0100christo(~chris@81.96.113.213)
2020-11-01 22:24:35 +0100ensyde(~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
2020-11-01 22:25:16 +0100Kaiepi(~Kaiepi@nwcsnbsc03w-47-55-225-82.dhcp-dynamic.fibreop.nb.bellaliant.net) (Remote host closed the connection)
2020-11-01 22:27:13 +0100nkly(~nkly@ip5b403944.dynamic.kabel-deutschland.de) (Ping timeout: 264 seconds)
2020-11-01 22:27:19 +0100geowiesnot(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 246 seconds)
2020-11-01 22:28:20 +0100ahmr88(~ahmr88@cpc85006-haye22-2-0-cust131.17-4.cable.virginm.net)
2020-11-01 22:28:50 +0100Jesin(~Jesin@pool-72-66-101-18.washdc.fios.verizon.net) (Quit: Leaving)
2020-11-01 22:29:45 +0100ensyde(~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 268 seconds)
2020-11-01 22:29:51 +0100vnz(~vnz@unaffiliated/vnz) (Quit: ZNC - http://znc.in)
2020-11-01 22:30:36 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-11-01 22:31:42 +0100vnz(~vnz@2001:bc8:604:94f::1)
2020-11-01 22:31:42 +0100vnz(~vnz@2001:bc8:604:94f::1) (Changing host)
2020-11-01 22:31:42 +0100vnz(~vnz@unaffiliated/vnz)
2020-11-01 22:33:33 +0100christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-11-01 22:36:41 +0100ensyde(~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
2020-11-01 22:37:29 +0100ensyde(~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Read error: Connection reset by peer)
2020-11-01 22:38:29 +0100sord937(~sord937@gateway/tor-sasl/sord937)
2020-11-01 22:38:59 +0100ensyde(~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
2020-11-01 22:39:05 +0100AlterEgo-(~ladew@124-198-158-163.dynamic.caiway.nl) (Quit: Leaving)
2020-11-01 22:40:01 +0100hackageinteger-logarithms 1.0.3.1 - Integer logarithms. https://hackage.haskell.org/package/integer-logarithms-1.0.3.1 (phadej)
2020-11-01 22:41:18 +0100 <Tuplanolla> I hope to be pleasantly surprised when I pick Haskell up again.
2020-11-01 22:43:18 +0100 <[exa]> If you could change one thing about Haskell, what would it be?
2020-11-01 22:43:26 +0100 <[exa]> "one more compiler"
2020-11-01 22:43:50 +0100ensyde(~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 264 seconds)
2020-11-01 22:44:15 +0100 <Tuplanolla> I want easily predictable performance from the compiler and the executables it produces.
2020-11-01 22:44:33 +0100 <hpc> both-directions-typesafe rust ffi
2020-11-01 22:44:35 +0100 <Tuplanolla> (Note that I did not say "good performance".)
2020-11-01 22:44:52 +0100 <hpc> (importing haskell in rust, and importing rust in haskell)
2020-11-01 22:46:14 +0100Jesin(~Jesin@pool-72-66-101-18.washdc.fios.verizon.net)
2020-11-01 22:46:19 +0100_xor(~xor@74.215.46.133) (Ping timeout: 260 seconds)
2020-11-01 22:48:29 +0100coot(~coot@37.30.60.135.nat.umts.dynamic.t-mobile.pl)
2020-11-01 22:49:33 +0100 <maerwald> Tuplanolla: I'm not sure easily predictable performance is even possible with lazy evaluation
2020-11-01 22:49:50 +0100 <maerwald> so it might not just be a compiler issue, but a language limitation
2020-11-01 22:50:43 +0100knupfer(~Thunderbi@200116b82ca86a0081cd9ea58e288a4a.dip.versatel-1u1.de) (Ping timeout: 268 seconds)
2020-11-01 22:50:48 +0100sawebb_(~sawebb@75.115.195.184) (Read error: Connection reset by peer)
2020-11-01 22:50:54 +0100Franciman(~francesco@host-79-36-167-172.retail.telecomitalia.it) (Quit: Leaving)
2020-11-01 22:51:15 +0100sawebb_(~sawebb@75.115.195.184)
2020-11-01 22:51:24 +0100 <Tuplanolla> Indeed.
2020-11-01 22:51:24 +0100xff0x(~fox@2001:1a81:5341:f200:676a:5a76:34ce:6dec) (Ping timeout: 240 seconds)
2020-11-01 22:51:39 +0100sfvm(~sfvm@37.228.215.148)
2020-11-01 22:51:49 +0100ensyde(~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
2020-11-01 22:51:52 +0100renzhi(~renzhi@2607:fa49:655f:e600::28da) (Ping timeout: 260 seconds)
2020-11-01 22:52:00 +0100 <Tuplanolla> That's the one thing I would change.
2020-11-01 22:52:09 +0100 <maerwald> lenient evaluation?
2020-11-01 22:52:32 +0100xff0x(~fox@2001:1a81:5341:f200:c657:86c0:ac7a:d369)
2020-11-01 22:54:53 +0100 <Tuplanolla> Get rid of lazy evaluation, if that's what it calls for.
2020-11-01 22:54:54 +0100wroathe(~wroathe@c-73-24-27-54.hsd1.mn.comcast.net) (Ping timeout: 256 seconds)
2020-11-01 22:54:55 +0100hoppfull(55e07432@c-3274e055.19-9-64736c10.bbcust.telenor.se)
2020-11-01 22:56:10 +0100sord937(~sord937@gateway/tor-sasl/sord937) (Quit: sord937)
2020-11-01 22:56:47 +0100Kaiepi(~Kaiepi@nwcsnbsc03w-47-55-225-82.dhcp-dynamic.fibreop.nb.bellaliant.net)
2020-11-01 22:56:51 +0100ensyde(~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 258 seconds)
2020-11-01 22:57:19 +0100 <davean> Tuplanolla: why would you want that?
2020-11-01 22:57:26 +0100 <davean> Tuplanolla: You'd just want worse performance?
2020-11-01 23:00:26 +0100ensyde(~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
2020-11-01 23:00:31 +0100Rudd0(~Rudd0@185.189.115.108)
2020-11-01 23:00:35 +0100muesli4(~noname@p200300e8472db800148b3a0117ef2d23.dip0.t-ipconnect.de) (Quit: Leaving)
2020-11-01 23:00:45 +0100 <Tuplanolla> I don't like surprises.
2020-11-01 23:01:28 +0100 <davean> Tuplanolla: vs. only good surprises?
2020-11-01 23:02:07 +0100 <Tuplanolla> That's not realistic.
2020-11-01 23:03:22 +0100 <hoppfull> I'm having some challenges with template haskell. I want to run a side effect during compilation. I know template haskell should be a last resort but it's an important part of my toolbox. I want to read a decode a json file and have its value checked and instantiated at compile time. So I have an effect loadmyfile :: IO MyType. I want to turn it
2020-11-01 23:03:22 +0100 <hoppfull> into MyType. So I was thinking I need to call $$(runIO loadmyfile) but I get error Expected type: Q (TExp HelloConfig) Actual type: Q HelloConfig. I don't know how to solve this.
2020-11-01 23:04:00 +0100hackagebitcoind-rpc 0.2.0.0 - A streamlined interface to bitcoin core using Haskoin types and Servant https://hackage.haskell.org/package/bitcoind-rpc-0.2.0.0 (IanShipman)
2020-11-01 23:05:00 +0100hackagebitcoind-regtest 0.2.0.0 - A library for working with bitcoin-core regtest networks https://hackage.haskell.org/package/bitcoind-regtest-0.2.0.0 (IanShipman)
2020-11-01 23:05:12 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-11-01 23:05:43 +0100 <c_wraith> hoppfull: if you're on a sufficiently new ghc, https://hackage.haskell.org/package/template-haskell-2.16.0.0/docs/Language-Haskell-TH-Syntax.html…
2020-11-01 23:07:16 +0100 <c_wraith> hoppfull: if you're not on a sufficiently new version of GHC, you can combine lift (right above that) with the TExp constructor
2020-11-01 23:07:43 +0100 <koz_> If I'm trying to push a revision, what does this response from Hackage mean? 'The new x-revision must be 1'
2020-11-01 23:07:49 +0100 <hoppfull> c_wraith, thank you, I just created a new project and have lts-16.20. I think it's GHC-8.8.2
2020-11-01 23:08:45 +0100dxld(~dxld@2a01:4f8:201:89ff:7479:df6a:7ab8:8305) (Quit: Bye)
2020-11-01 23:09:03 +0100teardown(~user@gateway/tor-sasl/mrush) (Ping timeout: 240 seconds)
2020-11-01 23:09:25 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds)
2020-11-01 23:09:25 +0100xerox_(~xerox@unaffiliated/xerox) (Ping timeout: 240 seconds)
2020-11-01 23:09:38 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2020-11-01 23:10:15 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-11-01 23:10:22 +0100dxld(~dxld@2a01:4f8:201:89ff:7479:df6a:7ab8:8305)
2020-11-01 23:15:15 +0100elliott_(~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) (Read error: Connection reset by peer)
2020-11-01 23:15:37 +0100elliott_(~elliott_@pool-108-51-141-12.washdc.fios.verizon.net)
2020-11-01 23:20:35 +0100bennofs1(~benno@dslb-094-222-054-143.094.222.pools.vodafone-ip.de)
2020-11-01 23:24:18 +0100coot(~coot@37.30.60.135.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
2020-11-01 23:28:05 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 265 seconds)
2020-11-01 23:30:48 +0100elfets(~elfets@2002:25c9:1760:0:84de:a283:20:112f) (Read error: Connection reset by peer)
2020-11-01 23:31:21 +0100_xor(~xor@74.215.46.133)
2020-11-01 23:32:58 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:419f:7551:94a4:41c1) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-11-01 23:38:19 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-11-01 23:38:52 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-11-01 23:39:09 +0100 <davean> Tuplanolla: In my experience I can calculate performance as "How fast would the strict version be, ok thats the slowest it can be"
2020-11-01 23:39:40 +0100heebo(~user@cpc97956-croy24-2-0-cust20.19-2.cable.virginm.net)
2020-11-01 23:39:45 +0100hekkaidekapus_(~tchouri@gateway/tor-sasl/hekkaidekapus)
2020-11-01 23:40:08 +0100 <Tuplanolla> You have never used the lazy state transformer by accident?
2020-11-01 23:40:51 +0100 <davean> No?
2020-11-01 23:41:23 +0100hekkaidekapus(~tchouri@gateway/tor-sasl/hekkaidekapus) (Ping timeout: 240 seconds)
2020-11-01 23:42:23 +0100 <Tuplanolla> It's really easy to accumulate thunks with it, until you run out of working memory.
2020-11-01 23:43:45 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2020-11-01 23:44:11 +0100heebo(~user@cpc97956-croy24-2-0-cust20.19-2.cable.virginm.net) (Remote host closed the connection)
2020-11-01 23:48:33 +0100gehmehgeh(~ircuser1@gateway/tor-sasl/gehmehgeh) (Quit: Leaving)
2020-11-01 23:49:45 +0100chaosmasttter(~chaosmast@p200300c4a72dee01c4c235ce0df4f033.dip0.t-ipconnect.de) (Quit: WeeChat 2.9)
2020-11-01 23:50:10 +0100nkly(~nkly@ip5b40d080.dynamic.kabel-deutschland.de)
2020-11-01 23:50:28 +0100ski(~ski@nc-2504-30.studat.chalmers.se) (Ping timeout: 260 seconds)
2020-11-01 23:52:00 +0100__monty__(~toonn@unaffiliated/toonn) (Quit: leaving)
2020-11-01 23:52:09 +0100ski(~ski@nc-2504-30.studat.chalmers.se)
2020-11-01 23:52:15 +0100 <dolio> I accidentally did that once like 15 years ago when I was first learning. Then it hasn't been a serious problem since.
2020-11-01 23:55:17 +0100 <davean> Also they're *semanticly* different
2020-11-01 23:55:24 +0100 <davean> so You just can't have the one when you're using the other
2020-11-01 23:55:30 +0100 <davean> Thats litterly different *meaning* of code
2020-11-01 23:55:47 +0100 <davean> So sure, if you implimented the Lazy State in strict, it also would perform the same way
2020-11-01 23:55:50 +0100 <davean> ask for what you mean
2020-11-01 23:55:52 +0100 <davean> thats ... all?
2020-11-01 23:56:12 +0100 <dolio> It might not have been accidental. I don't recall if there was a 'strict' one at the time. I don't really recall thinking it was a big deal, though.
2020-11-01 23:56:12 +0100 <davean> Like Strict and Lazy state are litterly entirely different things, conceptually.
2020-11-01 23:56:45 +0100 <davean> dolio: sure
2020-11-01 23:56:52 +0100 <davean> I'm more addressing Tuplanolla's point
2020-11-01 23:57:07 +0100 <davean> but comparing one alg in strict and an entirely different one in lazy isn't a comparison
2020-11-01 23:57:13 +0100strattog(~strattog@154.13.1.56)
2020-11-01 23:57:26 +0100 <davean> you should know which alg you're using, and you'll get the strict performance or better in a non-strict language.
2020-11-01 23:57:44 +0100 <davean> (Well, coefficients can differ, though not usually much - interesting discussion that)
2020-11-01 23:57:47 +0100teardown(~user@gateway/tor-sasl/mrush)
2020-11-01 23:58:22 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 256 seconds)
2020-11-01 23:58:57 +0100danvet(~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) (Ping timeout: 260 seconds)
2020-11-01 23:59:28 +0100 <davean> Shortest path is also faster than all-pairs shortest path, unless you want all pairs shortest path