2021/06/04

2021-06-04 00:01:10 +0200ddellaco_(~ddellacos@89.45.224.183) (Ping timeout: 245 seconds)
2021-06-04 00:02:03 +0200Natch(~natch@c-e070e255.014-297-73746f25.bbcust.telenor.se)
2021-06-04 00:02:25 +0200chaosite(~chaosite@user/chaosite) (Ping timeout: 245 seconds)
2021-06-04 00:03:38 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:3547:b6d4:7412:5857)
2021-06-04 00:03:40 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-06-04 00:05:15 +0200gehmehgeh(~user@user/gehmehgeh) (Quit: Leaving)
2021-06-04 00:05:32 +0200kluk(~kluk@2603-7000-9b3f-6934-513b-33bd-7855-9371.res6.spectrum.com) (Read error: Connection reset by peer)
2021-06-04 00:06:19 +0200ddellacosta(~ddellacos@89.46.62.43) (Remote host closed the connection)
2021-06-04 00:06:48 +0200ddellacosta(~ddellacos@89.46.62.43)
2021-06-04 00:07:04 +0200kluk(~kluk@2603-7000-9b3f-6934-513b-33bd-7855-9371.res6.spectrum.com)
2021-06-04 00:07:40 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl)
2021-06-04 00:08:23 +0200favonia(~favonia@user/favonia) (Ping timeout: 252 seconds)
2021-06-04 00:08:47 +0200favonia(~favonia@user/favonia)
2021-06-04 00:10:18 +0200hololeap_(hololeap@user/hololeap)
2021-06-04 00:11:08 +0200ddellacosta(~ddellacos@89.46.62.43) (Ping timeout: 252 seconds)
2021-06-04 00:11:46 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Quit: FinnElija)
2021-06-04 00:12:22 +0200kluk(~kluk@2603-7000-9b3f-6934-513b-33bd-7855-9371.res6.spectrum.com) (Read error: Connection reset by peer)
2021-06-04 00:13:30 +0200chaosite(~chaosite@user/chaosite)
2021-06-04 00:14:04 +0200hololeap(hololeap@user/hololeap) (Ping timeout: 272 seconds)
2021-06-04 00:14:36 +0200kluk(~kluk@2603-7000-9b3f-6934-513b-33bd-7855-9371.res6.spectrum.com)
2021-06-04 00:15:58 +0200ixlun(~matthew@109.249.184.235) (Ping timeout: 272 seconds)
2021-06-04 00:16:27 +0200o1lo01ol1o(~o1lo01ol1@c-73-10-81-85.hsd1.nj.comcast.net)
2021-06-04 00:16:58 +0200epolanski(uid312403@id-312403.brockwell.irccloud.com) (Quit: Connection closed for inactivity)
2021-06-04 00:18:18 +0200chaosite(~chaosite@user/chaosite) (Ping timeout: 264 seconds)
2021-06-04 00:19:02 +0200kluk(~kluk@2603-7000-9b3f-6934-513b-33bd-7855-9371.res6.spectrum.com) (Read error: Connection reset by peer)
2021-06-04 00:20:21 +0200unyu(~pyon@user/pyon) (Quit: WeeChat 3.1)
2021-06-04 00:20:28 +0200kluk(~kluk@2603-7000-9b3f-6934-513b-33bd-7855-9371.res6.spectrum.com)
2021-06-04 00:20:48 +0200jakalx(~jakalx@base.jakalx.net)
2021-06-04 00:21:31 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2021-06-04 00:21:40 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 272 seconds)
2021-06-04 00:22:31 +0200o1lo01ol1o(~o1lo01ol1@c-73-10-81-85.hsd1.nj.comcast.net) (Remote host closed the connection)
2021-06-04 00:23:40 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 245 seconds)
2021-06-04 00:24:43 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
2021-06-04 00:25:14 +0200Tuplanolla(~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.)
2021-06-04 00:25:43 +0200kluk(~kluk@2603-7000-9b3f-6934-513b-33bd-7855-9371.res6.spectrum.com) (Read error: Connection reset by peer)
2021-06-04 00:26:22 +0200kluk(~kluk@2603-7000-9b3f-6934-513b-33bd-7855-9371.res6.spectrum.com)
2021-06-04 00:29:16 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 272 seconds)
2021-06-04 00:29:19 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Remote host closed the connection)
2021-06-04 00:31:00 +0200favonia(~favonia@user/favonia) (Ping timeout: 244 seconds)
2021-06-04 00:31:24 +0200favonia(~favonia@user/favonia)
2021-06-04 00:34:06 +0200ddellacosta(~ddellacos@89.45.224.254)
2021-06-04 00:35:51 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-06-04 00:37:16 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
2021-06-04 00:37:20 +0200jmcarthur(~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Quit: Textual IRC Client: www.textualapp.com)
2021-06-04 00:37:24 +0200waleee(~waleee@h-98-128-228-119.NA.cust.bahnhof.se) (Ping timeout: 265 seconds)
2021-06-04 00:37:43 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 244 seconds)
2021-06-04 00:38:34 +0200ddellaco_(~ddellacos@89.46.62.108)
2021-06-04 00:38:38 +0200ddellacosta(~ddellacos@89.45.224.254) (Ping timeout: 252 seconds)
2021-06-04 00:39:04 +0200waleee(~waleee@h-98-128-228-119.NA.cust.bahnhof.se)
2021-06-04 00:39:07 +0200ssarah(~miguell@149.63.37.188.rev.vodafone.pt)
2021-06-04 00:39:17 +0200kluk(~kluk@2603-7000-9b3f-6934-513b-33bd-7855-9371.res6.spectrum.com) (Read error: Connection reset by peer)
2021-06-04 00:40:02 +0200dunkeln(~dunkeln@94.129.65.28) (Ping timeout: 272 seconds)
2021-06-04 00:40:17 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 252 seconds)
2021-06-04 00:40:52 +0200kluk(~kluk@2603-7000-9b3f-6934-513b-33bd-7855-9371.res6.spectrum.com)
2021-06-04 00:41:26 +0200mpt(~tom@p57a56571.dip0.t-ipconnect.de)
2021-06-04 00:42:36 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-06-04 00:43:12 +0200ddellaco_(~ddellacos@89.46.62.108) (Ping timeout: 272 seconds)
2021-06-04 00:43:46 +0200kluk(~kluk@2603-7000-9b3f-6934-513b-33bd-7855-9371.res6.spectrum.com) (Client Quit)
2021-06-04 00:50:56 +0200nkpart(uid3844@id-3844.highgate.irccloud.com)
2021-06-04 00:55:08 +0200Erutuon(~Erutuon@user/erutuon) (Ping timeout: 252 seconds)
2021-06-04 00:55:27 +0200ddellacosta(~ddellacos@89.46.62.86)
2021-06-04 00:56:14 +0200jjhoo(~jahakala@dsl-trebng21-58c18f-56.dhcp.inet.fi) (Ping timeout: 252 seconds)
2021-06-04 00:56:30 +0200notzmv(~zmv@user/notzmv) (Ping timeout: 272 seconds)
2021-06-04 00:56:56 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643)
2021-06-04 00:57:02 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Client Quit)
2021-06-04 00:57:23 +0200Codaraxis(~Codaraxis@89.45.7.156)
2021-06-04 00:58:42 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:3547:b6d4:7412:5857) (Remote host closed the connection)
2021-06-04 00:59:07 +0200jjhoo(jahakala@dsl-trebng21-58c18f-56.dhcp.inet.fi)
2021-06-04 00:59:36 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:3547:b6d4:7412:5857)
2021-06-04 01:00:07 +0200ddellacosta(~ddellacos@89.46.62.86) (Ping timeout: 265 seconds)
2021-06-04 01:03:07 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
2021-06-04 01:04:06 +0200favonia(~favonia@user/favonia) (Ping timeout: 272 seconds)
2021-06-04 01:04:29 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection)
2021-06-04 01:04:30 +0200mpt(~tom@p57a56571.dip0.t-ipconnect.de) (Ping timeout: 245 seconds)
2021-06-04 01:04:31 +0200favonia(~favonia@user/favonia)
2021-06-04 01:04:49 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643)
2021-06-04 01:05:43 +0200vicfred(~vicfred@user/vicfred) (Quit: Leaving)
2021-06-04 01:05:54 +0200Erutuon(~Erutuon@user/erutuon)
2021-06-04 01:07:18 +0200dudek(~dudek@185.150.236.112) (Quit: Leaving)
2021-06-04 01:08:34 +0200rusua(uid124537@id-124537.highgate.irccloud.com) (Quit: Connection closed for inactivity)
2021-06-04 01:10:31 +0200pounce(~pounce@facebook/engineering/pounce)
2021-06-04 01:10:45 +0200hubvu(sid495858@id-495858.tinside.irccloud.com)
2021-06-04 01:11:10 +0200jakalx(~jakalx@base.jakalx.net) ()
2021-06-04 01:12:27 +0200ddellacosta(~ddellacos@86.106.143.144)
2021-06-04 01:13:01 +0200mpt(~tom@p57a56571.dip0.t-ipconnect.de)
2021-06-04 01:13:20 +0200mpt(~tom@p57a56571.dip0.t-ipconnect.de) (Client Quit)
2021-06-04 01:13:22 +0200favonia(~favonia@user/favonia) (Ping timeout: 244 seconds)
2021-06-04 01:14:21 +0200vicfred(~vicfred@user/vicfred)
2021-06-04 01:14:29 +0200ddellaco_(~ddellacos@89.46.62.25)
2021-06-04 01:14:41 +0200favonia(~favonia@user/favonia)
2021-06-04 01:15:06 +0200mpt(~tom@p57a56571.dip0.t-ipconnect.de)
2021-06-04 01:16:59 +0200ddellacosta(~ddellacos@86.106.143.144) (Ping timeout: 244 seconds)
2021-06-04 01:18:40 +0200ddellaco_(~ddellacos@89.46.62.25) (Ping timeout: 245 seconds)
2021-06-04 01:21:17 +0200dunkeln(~dunkeln@94.129.65.28)
2021-06-04 01:21:53 +0200bfrk(~Thunderbi@200116b8456bb4003c666de9803185e6.dip.versatel-1u1.de) (Ping timeout: 272 seconds)
2021-06-04 01:23:44 +0200favonia(~favonia@user/favonia) (Ping timeout: 272 seconds)
2021-06-04 01:24:09 +0200favonia(~favonia@user/favonia)
2021-06-04 01:24:47 +0200jakalx(~jakalx@base.jakalx.net)
2021-06-04 01:26:06 +0200dunkeln(~dunkeln@94.129.65.28) (Ping timeout: 264 seconds)
2021-06-04 01:31:23 +0200ddellacosta(~ddellacos@86.106.121.21)
2021-06-04 01:31:48 +0200hrnz(~ulli@cherry.hrnz.li) (Quit: das ist mir zu bld hier; bb)
2021-06-04 01:32:23 +0200hrnz(~ulli@cherry.hrnz.li)
2021-06-04 01:36:02 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
2021-06-04 01:36:27 +0200ddellacosta(~ddellacos@86.106.121.21) (Ping timeout: 272 seconds)
2021-06-04 01:37:29 +0200ukari(~ukari@user/ukari) (Remote host closed the connection)
2021-06-04 01:38:09 +0200ukari(~ukari@user/ukari)
2021-06-04 01:39:55 +0200Erutuon(~Erutuon@user/erutuon) (Ping timeout: 245 seconds)
2021-06-04 01:40:20 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 245 seconds)
2021-06-04 01:44:51 +0200alx741_(~alx741@186.178.108.209)
2021-06-04 01:47:13 +0200alx741(~alx741@186.178.108.19) (Ping timeout: 272 seconds)
2021-06-04 01:50:05 +0200ddellacosta(~ddellacos@86.106.121.46)
2021-06-04 01:52:20 +0200ddellaco_(~ddellacos@86.106.143.118)
2021-06-04 01:52:46 +0200tremon(~tremon@217-63-61-89.cable.dynamic.v4.ziggo.nl) (Quit: getting boxed in)
2021-06-04 01:54:46 +0200ddellacosta(~ddellacos@86.106.121.46) (Ping timeout: 272 seconds)
2021-06-04 01:55:34 +0200Nolrai(~Nolrai@c-76-27-202-218.hsd1.or.comcast.net)
2021-06-04 01:57:17 +0200ddellaco_(~ddellacos@86.106.143.118) (Ping timeout: 252 seconds)
2021-06-04 01:59:10 +0200Nolrai(~Nolrai@c-76-27-202-218.hsd1.or.comcast.net) (Quit: Client closed)
2021-06-04 02:00:13 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:3547:b6d4:7412:5857) (Remote host closed the connection)
2021-06-04 02:00:55 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:3547:b6d4:7412:5857)
2021-06-04 02:04:13 +0200Scotty_Trees(~Scotty_Tr@162-234-179-169.lightspeed.brhmal.sbcglobal.net) (Quit: Leaving)
2021-06-04 02:06:28 +0200ddellacosta(~ddellacos@89.46.62.34)
2021-06-04 02:10:45 +0200ddellacosta(~ddellacos@89.46.62.34) (Ping timeout: 245 seconds)
2021-06-04 02:13:06 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.2-dev)
2021-06-04 02:13:19 +0200Scotty_Trees(~Scotty_Tr@162-234-179-169.lightspeed.brhmal.sbcglobal.net)
2021-06-04 02:14:14 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:3547:b6d4:7412:5857) (Remote host closed the connection)
2021-06-04 02:14:45 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:3547:b6d4:7412:5857)
2021-06-04 02:15:24 +0200zeenk(~zeenk@2a02:2f04:a310:b600:b098:bf18:df4d:4c41) (Quit: Konversation terminated!)
2021-06-04 02:18:21 +0200lavaman(~lavaman@98.38.249.169)
2021-06-04 02:19:28 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:3547:b6d4:7412:5857) (Ping timeout: 272 seconds)
2021-06-04 02:19:28 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 272 seconds)
2021-06-04 02:19:30 +0200dpl(~dpl@77-121-78-163.chn.volia.net) (Ping timeout: 264 seconds)
2021-06-04 02:19:42 +0200werneta(~werneta@128.149.243.107)
2021-06-04 02:21:19 +0200hololeap_hololeap
2021-06-04 02:22:00 +0200mpt(~tom@p57a56571.dip0.t-ipconnect.de) (Ping timeout: 272 seconds)
2021-06-04 02:23:05 +0200o1lo01ol1o(~o1lo01ol1@c-73-10-81-85.hsd1.nj.comcast.net)
2021-06-04 02:24:13 +0200ddellacosta(~ddellacos@86.106.121.17)
2021-06-04 02:24:30 +0200werneta(~werneta@128.149.243.107) (Ping timeout: 245 seconds)
2021-06-04 02:24:39 +0200v01d4lph4(~v01d4lph4@user/v01d4lph4)
2021-06-04 02:25:56 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
2021-06-04 02:26:26 +0200dhil(~dhil@195.213.192.47) (Ping timeout: 272 seconds)
2021-06-04 02:27:16 +0200 <sm[m]> juhp: great work on simplifying the CLI in stack-clean-old 0.3 !
2021-06-04 02:27:54 +0200o1lo01ol1o(~o1lo01ol1@c-73-10-81-85.hsd1.nj.comcast.net) (Ping timeout: 264 seconds)
2021-06-04 02:29:05 +0200v01d4lph4(~v01d4lph4@user/v01d4lph4) (Ping timeout: 245 seconds)
2021-06-04 02:29:06 +0200ddellacosta(~ddellacos@86.106.121.17) (Ping timeout: 264 seconds)
2021-06-04 02:30:31 +0200apk(~x@user/apk)
2021-06-04 02:31:28 +0200myShoggoth(~myShoggot@97-120-89-117.ptld.qwest.net) (Ping timeout: 265 seconds)
2021-06-04 02:32:34 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
2021-06-04 02:33:58 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-06-04 02:35:56 +0200derelict(~winter@2603-6011-f901-9e5b-0000-0000-0000-08cf.res6.spectrum.com) (Ping timeout: 272 seconds)
2021-06-04 02:36:37 +0200Deide(~Deide@user/deide) (Quit: Seeee yaaaa)
2021-06-04 02:36:53 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 252 seconds)
2021-06-04 02:39:58 +0200Bartosz(~textual@24.35.90.211)
2021-06-04 02:40:46 +0200ddellacosta(~ddellacos@86.106.121.23)
2021-06-04 02:43:40 +0200apk(~x@user/apk) ()
2021-06-04 02:44:35 +0200Bartosz(~textual@24.35.90.211) (Ping timeout: 252 seconds)
2021-06-04 02:44:55 +0200ddellacosta(~ddellacos@86.106.121.23) (Ping timeout: 245 seconds)
2021-06-04 02:50:53 +0200hmmmas(~chenqisu1@183.217.202.217)
2021-06-04 02:52:56 +0200geekosaur(~geekosaur@069-135-003-034.biz.spectrum.com) (Quit: Leaving)
2021-06-04 02:54:26 +0200fradet(~fradet@216.252.75.247) (Remote host closed the connection)
2021-06-04 02:56:41 +0200favonia(~favonia@user/favonia) (Ping timeout: 252 seconds)
2021-06-04 02:57:32 +0200favonia(~favonia@user/favonia)
2021-06-04 02:58:29 +0200ddellacosta(~ddellacos@86.106.121.100)
2021-06-04 02:59:26 +0200waleee(~waleee@h-98-128-228-119.NA.cust.bahnhof.se) (Ping timeout: 252 seconds)
2021-06-04 03:02:09 +0200geekosaur(~geekosaur@069-135-003-034.biz.spectrum.com)
2021-06-04 03:02:45 +0200 <Axman6> edwardk: are you using discrimination anywhere, or know of anyone else who is?
2021-06-04 03:03:10 +0200ddellacosta(~ddellacos@86.106.121.100) (Ping timeout: 272 seconds)
2021-06-04 03:06:21 +0200Codaraxis_(~Codaraxis@ip68-5-90-227.oc.oc.cox.net)
2021-06-04 03:07:35 +0200 <edwardk> it comes up in a few places for me, not i'm not using it in anything for 'production' per se
2021-06-04 03:08:14 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
2021-06-04 03:08:27 +0200 <edwardk> Axman6: i keep meaning to get around to shipping a simple tabulation hashing based linear probing hash table, move that into discrimination to replace the hashmaps, and then build a new version of promises that just uses a thread for eval rather than the complicated monad i have today
2021-06-04 03:08:35 +0200 <edwardk> those should speed up discrimination considerably
2021-06-04 03:08:42 +0200 <edwardk> without that work its right at the cusp of usable
2021-06-04 03:09:41 +0200 <edwardk> i don't remember if we ever did wind up using it at S&P for ermine when pulling from several data sources and having to do relational algebra ops in-language.
2021-06-04 03:10:00 +0200 <edwardk> i remember prototyping it, but its been too long, its all a blur
2021-06-04 03:10:08 +0200Codaraxis(~Codaraxis@89.45.7.156) (Ping timeout: 265 seconds)
2021-06-04 03:11:24 +0200 <S11001001> edwardk: I don't think so
2021-06-04 03:11:56 +0200mccoyb(~textual@2601:182:d000:3b50:a4bd:b9d2:a94f:f8c4)
2021-06-04 03:13:34 +0200mccoyb(~textual@2601:182:d000:3b50:a4bd:b9d2:a94f:f8c4) (Client Quit)
2021-06-04 03:13:49 +0200antalsz(~antalsz@68.175.130.216)
2021-06-04 03:15:13 +0200ddellacosta(~ddellacos@86.106.121.90)
2021-06-04 03:16:35 +0200 <nkpart> 👋
2021-06-04 03:16:48 +0200 <nkpart> I was/am using discrimination just to get nice joining functions
2021-06-04 03:17:04 +0200 <nkpart> for smooshing table-like data together
2021-06-04 03:17:29 +0200edwardkwaves to nkpart.
2021-06-04 03:17:32 +0200 <edwardk> good to know!
2021-06-04 03:17:50 +0200o1lo01ol1o(~o1lo01ol1@c-73-10-81-85.hsd1.nj.comcast.net)
2021-06-04 03:18:01 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:3547:b6d4:7412:5857)
2021-06-04 03:18:18 +0200 <edwardk> S11001001: fair nuff. it wasn't too long from when you left to when i left, so i'll take that as definitive
2021-06-04 03:19:30 +0200ddellacosta(~ddellacos@86.106.121.90) (Ping timeout: 245 seconds)
2021-06-04 03:22:11 +0200learner-monad(~ehanneken@user/learner-monad) (Quit: WeeChat 3.1)
2021-06-04 03:25:23 +0200geekosaur(~geekosaur@069-135-003-034.biz.spectrum.com) (Ping timeout: 272 seconds)
2021-06-04 03:27:42 +0200Codaraxis_(~Codaraxis@ip68-5-90-227.oc.oc.cox.net) (Ping timeout: 244 seconds)
2021-06-04 03:28:00 +0200xff0x_(~xff0x@2001:1a81:5380:1300:9081:944d:4c19:80f2)
2021-06-04 03:29:44 +0200altern(~Sergii@altern.corbina.com.ua)
2021-06-04 03:29:57 +0200mccoyb(~textual@2601:182:d000:3b50:a4bd:b9d2:a94f:f8c4)
2021-06-04 03:30:24 +0200 <altern> Can somebody help with the StackOverflow question? https://stackoverflow.com/questions/67829409/haskell-compiler-does-not-infer-correct-types Thanks in advance
2021-06-04 03:30:32 +0200 <mccoyb> Is it possible to new up a `Ptr` to an existing struct? Or otherwise, does there exist a function with signature `a -> (Ptr a -> b) -> b`?
2021-06-04 03:31:20 +0200xff0x(~xff0x@port-92-193-206-214.dynamic.as20676.net) (Ping timeout: 252 seconds)
2021-06-04 03:34:24 +0200ddellacosta(~ddellacos@89.46.62.21)
2021-06-04 03:39:16 +0200ddellacosta(~ddellacos@89.46.62.21) (Ping timeout: 272 seconds)
2021-06-04 03:40:08 +0200 <pavonia> mccoyb: You want to store an object and get a Ptr reference to it?
2021-06-04 03:40:25 +0200 <mccoyb> @pavonia I think I found what I need in `Foreign.StablePtr`.
2021-06-04 03:40:25 +0200 <lambdabot> Unknown command, try @list
2021-06-04 03:41:03 +0200 <pavonia> Okay
2021-06-04 03:46:14 +0200favonia(~favonia@user/favonia) (Ping timeout: 272 seconds)
2021-06-04 03:46:39 +0200favonia(~favonia@user/favonia)
2021-06-04 03:47:53 +0200ddellacosta(~ddellacos@89.46.62.235)
2021-06-04 03:47:54 +0200node-sh_(~node-sh@2401:4900:3b32:3b1c:5832:6b34:f998:7a5d)
2021-06-04 03:49:00 +0200boioioing(~boioioing@cpe-76-84-141-127.neb.res.rr.com)
2021-06-04 03:49:07 +0200laurens(~laurens@2604:3d08:4383:6200:8075:4a01:7796:cc06)
2021-06-04 03:50:15 +0200ddellaco_(~ddellacos@89.46.62.69)
2021-06-04 03:50:26 +0200node-sh(~node-sh@2401:4900:3b34:7bd4:3db0:9804:12bf:c3a) (Ping timeout: 244 seconds)
2021-06-04 03:51:23 +0200rk04(~rk04@user/rajk)
2021-06-04 03:52:40 +0200ddellacosta(~ddellacos@89.46.62.235) (Ping timeout: 265 seconds)
2021-06-04 03:54:23 +0200 <ChaiTRex> Why am I getting a parse error here: https://ideone.com/aF4V14
2021-06-04 03:54:30 +0200ddellaco_(~ddellacos@89.46.62.69) (Read error: Connection reset by peer)
2021-06-04 03:57:04 +0200 <monochrom> Line 11 "(go", that is unmatched.
2021-06-04 03:59:39 +0200 <ChaiTRex> monochrom: Thanks.
2021-06-04 04:00:10 +0200favonia(~favonia@user/favonia) (Ping timeout: 272 seconds)
2021-06-04 04:00:35 +0200favonia(~favonia@user/favonia)
2021-06-04 04:02:12 +0200o1lo01ol1o(~o1lo01ol1@c-73-10-81-85.hsd1.nj.comcast.net) (Remote host closed the connection)
2021-06-04 04:02:32 +0200o1lo01ol1o(~o1lo01ol1@c-73-10-81-85.hsd1.nj.comcast.net)
2021-06-04 04:11:31 +0200finn_elija(~finn_elij@user/finn-elija/x-0085643)
2021-06-04 04:11:31 +0200FinnElijaGuest6165
2021-06-04 04:11:31 +0200Guest6165(~finn_elij@user/finn-elija/x-0085643) (Killed (strontium.libera.chat (Nickname regained by services)))
2021-06-04 04:11:31 +0200finn_elijaFinnElija
2021-06-04 04:11:55 +0200dibblego(~dibblego@122-199-1-30.ip4.superloop.com) (Changing host)
2021-06-04 04:11:55 +0200dibblego(~dibblego@haskell/developer/dibblego)
2021-06-04 04:12:33 +0200dyeplexer(~dyeplexer@user/dyeplexer)
2021-06-04 04:15:40 +0200dyeplexer(~dyeplexer@user/dyeplexer) (Remote host closed the connection)
2021-06-04 04:15:48 +0200Erutuon(~Erutuon@user/erutuon)
2021-06-04 04:21:05 +0200ddellacosta(~ddellacos@86.106.143.131)
2021-06-04 04:22:11 +0200 <Axman6> edwardk: sorry, got pulled into a meeting like as soonas I asked - the hashtable sounds good - would that help with listy types at all?
2021-06-04 04:25:43 +0200ddellaco_(~ddellacos@86.106.121.64)
2021-06-04 04:25:45 +0200ddellacosta(~ddellacos@86.106.143.131) (Ping timeout: 245 seconds)
2021-06-04 04:26:48 +0200 <Axman6> altern: did you get your answer? in the definition of instance Find NodeRoseTree, what is the type of the argument named detectionType?
2021-06-04 04:27:13 +0200 <Axman6> remember that is :: DetectionType a -> a -> Bool, so both those a's neeed to be the same
2021-06-04 04:29:06 +0200td_(~td@muedsl-82-207-238-081.citykom.de) (Ping timeout: 264 seconds)
2021-06-04 04:30:04 +0200egoist1(~egoist@186.235.82.52) (Quit: WeeChat 3.1)
2021-06-04 04:30:34 +0200ddellaco_(~ddellacos@86.106.121.64) (Ping timeout: 272 seconds)
2021-06-04 04:30:36 +0200td_(~td@94.134.91.156)
2021-06-04 04:30:49 +0200lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2021-06-04 04:31:53 +0200chkno(~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer)
2021-06-04 04:32:07 +0200chkno(~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net)
2021-06-04 04:33:50 +0200favonia(~favonia@user/favonia) (Ping timeout: 244 seconds)
2021-06-04 04:34:12 +0200 <altern> Axman6, yeah, I just figured it out
2021-06-04 04:34:14 +0200favonia(~favonia@user/favonia)
2021-06-04 04:35:11 +0200 <altern> Axman6, Find should be like this: Find a b ; findBiggest :: DetectionType b -> a -> Int
2021-06-04 04:35:46 +0200 <Axman6> I would agree that the error GHC gives is confusing, but it's because the first argument to is got to decide what the type of `a` is, so when you have a DetectionType NodeRoseTree passed to is, you then have something of type NodeRoseTree -> Bool, so passing in a Node doesn't work
2021-06-04 04:36:06 +0200 <Axman6> I'm not sure if that's necessarily the right solution, there are others, but it is one that works
2021-06-04 04:36:30 +0200 <altern> Axman6, what would be another solution?
2021-06-04 04:37:32 +0200laurens(~laurens@2604:3d08:4383:6200:8075:4a01:7796:cc06) (Ping timeout: 272 seconds)
2021-06-04 04:37:32 +0200bi_functor(~bi_functo@192-0-134-138.cpe.teksavvy.com) (Ping timeout: 272 seconds)
2021-06-04 04:37:35 +0200 <Axman6> if youDetectionType a functor, then you can easily turn a DetectionType NodeRoseTree into a DetectionType Node by using fmap value detectionType
2021-06-04 04:37:43 +0200 <Axman6> you make *
2021-06-04 04:38:32 +0200 <altern> ah, I see
2021-06-04 04:38:34 +0200 <altern> nice
2021-06-04 04:40:48 +0200 <Axman6> but what it means to have a DetectionType NodeRoseTree I'm not sure of, it seems like losing the structure of the tree is a weird thing to do.
2021-06-04 04:41:20 +0200rk04(~rk04@user/rajk) (Ping timeout: 272 seconds)
2021-06-04 04:41:51 +0200favonia_(~favonia@user/favonia)
2021-06-04 04:42:50 +0200favonia(~favonia@user/favonia) (Ping timeout: 252 seconds)
2021-06-04 04:44:37 +0200ddellacosta(~ddellacos@86.106.121.71)
2021-06-04 04:47:02 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 272 seconds)
2021-06-04 04:47:15 +0200werneta(~werneta@128.149.243.107)
2021-06-04 04:49:05 +0200ddellacosta(~ddellacos@86.106.121.71) (Ping timeout: 245 seconds)
2021-06-04 04:49:18 +0200rk04(~rk04@user/rajk)
2021-06-04 04:49:56 +0200o1lo01ol1o(~o1lo01ol1@c-73-10-81-85.hsd1.nj.comcast.net) (Remote host closed the connection)
2021-06-04 04:50:04 +0200lode(~lode@77-56-208-202.dclient.hispeed.ch)
2021-06-04 04:50:27 +0200Aardwolf(~lode@77-56-208-202.dclient.hispeed.ch) (Ping timeout: 272 seconds)
2021-06-04 04:50:53 +0200rk04(~rk04@user/rajk) (Client Quit)
2021-06-04 04:54:00 +0200node-sh_(~node-sh@2401:4900:3b32:3b1c:5832:6b34:f998:7a5d) (Ping timeout: 272 seconds)
2021-06-04 04:59:35 +0200lavaman(~lavaman@98.38.249.169)
2021-06-04 04:59:51 +0200bontaq(~user@ool-18e47f8d.dyn.optonline.net) (Ping timeout: 265 seconds)
2021-06-04 05:00:37 +0200mccoyb(~textual@2601:182:d000:3b50:a4bd:b9d2:a94f:f8c4) (Quit: My MacBook Air has gone to sleep. ZZZzzz…)
2021-06-04 05:01:17 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-06-04 05:01:20 +0200ddellacosta(~ddellacos@86.106.121.235)
2021-06-04 05:03:51 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Client Quit)
2021-06-04 05:04:04 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-06-04 05:04:08 +0200stardustfp(~sd@195.181.166.68) (Ping timeout: 272 seconds)
2021-06-04 05:04:36 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-06-04 05:05:27 +0200stardustfp(~sd@104-54-64-209.lightspeed.jcvlfl.sbcglobal.net)
2021-06-04 05:06:08 +0200ddellacosta(~ddellacos@86.106.121.235) (Ping timeout: 265 seconds)
2021-06-04 05:06:23 +0200lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2021-06-04 05:07:02 +0200Typedfern(~Typedfern@185.red-83-57-142.dynamicip.rima-tde.net) (Remote host closed the connection)
2021-06-04 05:08:39 +0200 <altern> Axman6, if `fmap value detectionType` will work for RoseTrees, how to make it work for [RoseTree]?
2021-06-04 05:09:56 +0200zebrag(~chris@user/zebrag) (Quit: Konversation terminated!)
2021-06-04 05:10:34 +0200 <Axman6> that's up to you, it depends on what value you want
2021-06-04 05:10:35 +0200 <altern> (I am having problem applying `fmap value detectionType` to xs's in `findBiggest detectionType (RoseTree node (x:xs)) = let searchInList = findBiggest (fmap value detectionType) xs`
2021-06-04 05:10:56 +0200 <Axman6> this comes down to the semantics you want
2021-06-04 05:11:56 +0200 <hololeap> altern: just want to throw it out there that there is a ready-made rose-tree implementation in Data.Tree
2021-06-04 05:13:25 +0200 <altern> hololeap, I know that. I have chosen not to go with it long time ago. Do not remember why :) probably some limitations similar to inability to define toJSON
2021-06-04 05:14:31 +0200 <hololeap> ok, that's fine. I just wanted to make sure you were aware
2021-06-04 05:14:47 +0200 <altern> thanks
2021-06-04 05:14:55 +0200 <altern> I appreciate it
2021-06-04 05:18:37 +0200mikoto-chan(~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be)
2021-06-04 05:18:46 +0200ddellacosta(~ddellacos@86.106.121.62)
2021-06-04 05:18:53 +0200thiross(~user@173.242.113.143.16clouds.com)
2021-06-04 05:19:18 +0200machinedgod(~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 268 seconds)
2021-06-04 05:19:33 +0200mccoyb(~textual@2601:182:d000:3b50:6d20:ecfa:c38a:3ddb)
2021-06-04 05:19:54 +0200 <edwardk> Axman6: it mostly helps with the integer ones. the hashtable is used for the grouping of integer keys
2021-06-04 05:20:12 +0200myShoggoth(~myShoggot@97-120-89-117.ptld.qwest.net)
2021-06-04 05:20:38 +0200 <edwardk> you can bolt in a Hashable-using step into the mix to group things that have big complicated hash functions that may be precomputed for prefiltering grouping results though
2021-06-04 05:20:46 +0200 <edwardk> there's a combinator for it in there
2021-06-04 05:22:55 +0200ddellacosta(~ddellacos@86.106.121.62) (Ping timeout: 244 seconds)
2021-06-04 05:23:30 +0200 <altern> Axman6, cannot figure out how to apply detectionType to lists..
2021-06-04 05:23:55 +0200 <dy> Would you say you... can't detect how :^)?
2021-06-04 05:26:06 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 264 seconds)
2021-06-04 05:27:11 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915)
2021-06-04 05:27:34 +0200werneta(~werneta@128.149.243.107) (Ping timeout: 272 seconds)
2021-06-04 05:28:58 +0200 <hololeap> altern: data DetectionType a = One | Two | FactorOf a | DivisibleBy a -- What do you mean you want to apply this to lists? [DectectionType a] ? DetectionType [a] ?
2021-06-04 05:29:16 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
2021-06-04 05:30:37 +0200nkpart(uid3844@id-3844.highgate.irccloud.com) (Quit: Connection closed for inactivity)
2021-06-04 05:31:41 +0200 <altern> hololeap, (I am having problem applying `fmap value detectionType` to xs's in `findBiggest detectionType (RoseTree node (x:xs)) = let searchInList = findBiggest (fmap value detectionType) xs
2021-06-04 05:32:23 +0200 <altern> hololeap, this is the original SO question: https://stackoverflow.com/questions/67829409/how-to-specify-typecllass-function-type-to-operate-on…
2021-06-04 05:33:19 +0200dhazel(~quassel@2601:1c1:8a00:3390:80d7:bcce:50b1:298c) (Ping timeout: 272 seconds)
2021-06-04 05:34:12 +0200 <altern> hololeap, sorry for double posting, you already found the q
2021-06-04 05:35:29 +0200ddellacosta(~ddellacos@89.46.62.25)
2021-06-04 05:35:44 +0200 <hololeap> if you're trying to fmap over a functor of functors, such as over [RoseTree a], you have to double nest fmaps like this: fmap (fmap value) detectionType
2021-06-04 05:36:07 +0200 <altern> ah,ok. that might work
2021-06-04 05:36:56 +0200lavaman(~lavaman@98.38.249.169)
2021-06-04 05:37:24 +0200 <hololeap> although `value` doesn't sound like a function, but I can't see your code, other than what you posted
2021-06-04 05:37:45 +0200 <altern> data RoseTree a = RoseTree { value :: a, children :: [RoseTree a]}
2021-06-04 05:37:45 +0200 <altern> deriving (Show, Functor)
2021-06-04 05:37:55 +0200 <altern> this is where it is from
2021-06-04 05:38:15 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 245 seconds)
2021-06-04 05:38:27 +0200 <hololeap> oh, so `value :: RoseTree -> a`
2021-06-04 05:38:54 +0200 <hololeap> and `fmap value :: Functor f => f RoseTree -> f a
2021-06-04 05:38:55 +0200 <altern> yep
2021-06-04 05:39:00 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
2021-06-04 05:39:29 +0200otto_s(~user@p5de2f806.dip0.t-ipconnect.de)
2021-06-04 05:39:55 +0200ddellacosta(~ddellacos@89.46.62.25) (Ping timeout: 245 seconds)
2021-06-04 05:40:41 +0200 <hololeap> it sounds like you are trying to look at every value in your tree and return the largest value, is that correct? if so, you want to use a fold, not fmap
2021-06-04 05:41:04 +0200 <altern> that's correct
2021-06-04 05:41:30 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 272 seconds)
2021-06-04 05:41:40 +0200 <altern> I want to find biggest that satisfies the condition
2021-06-04 05:42:02 +0200ddellacosta(~ddellacos@89.46.62.170)
2021-06-04 05:42:08 +0200lemmih_lemmih
2021-06-04 05:42:28 +0200alx741_(~alx741@186.178.108.209) (Quit: alx741_)
2021-06-04 05:42:47 +0200otto_s_(~user@p5de2f2d9.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
2021-06-04 05:44:42 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 264 seconds)
2021-06-04 05:45:37 +0200justsomeguy(~justsomeg@user/justsomeguy)
2021-06-04 05:47:12 +0200ddellacosta(~ddellacos@89.46.62.170) (Ping timeout: 272 seconds)
2021-06-04 05:49:51 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-06-04 05:51:32 +0200thiross(~user@173.242.113.143.16clouds.com) (Remote host closed the connection)
2021-06-04 05:51:39 +0200thiross(~user@173.242.113.143.16clouds.com)
2021-06-04 05:52:13 +0200thiross(~user@173.242.113.143.16clouds.com) (Remote host closed the connection)
2021-06-04 05:53:40 +0200smitop(uid328768@user/smitop) (Quit: Connection closed for inactivity)
2021-06-04 05:53:59 +0200ddellacosta(~ddellacos@86.106.121.58)
2021-06-04 05:54:27 +0200peterhil(~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi)
2021-06-04 05:54:30 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 245 seconds)
2021-06-04 05:55:15 +0200 <dmwit> altern: Yikes, that question is in serious need of minimization.
2021-06-04 05:55:26 +0200xff0x_(~xff0x@2001:1a81:5380:1300:9081:944d:4c19:80f2) (Ping timeout: 265 seconds)
2021-06-04 05:55:37 +0200 <dmwit> (That's probably why you're gathering downvotes.)
2021-06-04 05:55:59 +0200 <altern> :((
2021-06-04 05:56:11 +0200xff0x_(~xff0x@2001:1a81:5380:1300:5388:81f5:5499:71d2)
2021-06-04 05:56:46 +0200ddellaco_(~ddellacos@86.106.143.235)
2021-06-04 05:56:47 +0200jackhilljackhill[m]
2021-06-04 05:57:01 +0200jackhill[m]jackhill
2021-06-04 05:57:59 +0200 <altern> I am off to sleep. It's 7am at my side and I haven't slept all night. Feel free to post answers to the SO question
2021-06-04 05:58:36 +0200ddellacosta(~ddellacos@86.106.121.58) (Ping timeout: 272 seconds)
2021-06-04 06:00:35 +0200stardust1p(~sd@45.12.220.116)
2021-06-04 06:00:49 +0200wei2912(~wei2912@112.199.250.21)
2021-06-04 06:02:41 +0200unyu(~pyon@user/pyon)
2021-06-04 06:03:40 +0200stardustfp(~sd@104-54-64-209.lightspeed.jcvlfl.sbcglobal.net) (Ping timeout: 245 seconds)
2021-06-04 06:04:21 +0200 <hololeap> altern, if you haven't gone to sleep yet, here is how I would do it: http://sprunge.us/uj5wNs
2021-06-04 06:05:51 +0200 <hololeap> you can derive Foldable for RoseTree the same way you derive Functor
2021-06-04 06:08:26 +0200 <Axman6> edwardk: I was playing with the idea of using discrimination for handling (let's say) messages of different types, and using Typeable, but it doesn't look like there's an easy way to discrimiinate over TypeRep (i'm sure you'll tell me there is...)
2021-06-04 06:12:21 +0200ddellacosta(~ddellacos@89.46.62.43)
2021-06-04 06:12:33 +0200notzmv(~zmv@user/notzmv)
2021-06-04 06:14:26 +0200nerdypepper(znc@152.67.162.71) (Changing host)
2021-06-04 06:14:26 +0200nerdypepper(znc@user/nerdypepper)
2021-06-04 06:14:36 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-06-04 06:16:18 +0200koishi_(~koishi_@67.209.186.120.16clouds.com)
2021-06-04 06:17:11 +0200ddellacosta(~ddellacos@89.46.62.43) (Ping timeout: 265 seconds)
2021-06-04 06:17:51 +0200 <dmwit> In my tests, discrimination was worse than nlog(n) sorts for sizes all the way up to all of RAM.
2021-06-04 06:17:57 +0200 <dmwit> So maybe don't feel too bad if you don't find a way.
2021-06-04 06:19:05 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 245 seconds)
2021-06-04 06:20:06 +0200koishi_(~koishi_@67.209.186.120.16clouds.com) (Remote host closed the connection)
2021-06-04 06:23:00 +0200falafel(~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
2021-06-04 06:23:54 +0200ddellaco_(~ddellacos@86.106.143.235) (Remote host closed the connection)
2021-06-04 06:24:03 +0200ddellacosta(~ddellacos@86.106.143.235)
2021-06-04 06:27:57 +0200your-favorite-ni(~user@2600:1700:9490:79f0::a)
2021-06-04 06:29:23 +0200shriekingnoise(~shrieking@186.137.144.80) (Remote host closed the connection)
2021-06-04 06:29:48 +0200 <shachaf> For which types?
2021-06-04 06:30:07 +0200hmmmas(~chenqisu1@183.217.202.217) (Quit: Leaving.)
2021-06-04 06:31:06 +0200slowButPresent(~slowButPr@user/slowbutpresent) (Quit: leaving)
2021-06-04 06:31:34 +0200ddellaco_(~ddellacos@86.106.121.48)
2021-06-04 06:32:40 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 244 seconds)
2021-06-04 06:32:54 +0200werneta(~werneta@128.149.243.107)
2021-06-04 06:33:56 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
2021-06-04 06:34:37 +0200reumeth(~reumeth@user/reumeth)
2021-06-04 06:34:42 +0200lavaman(~lavaman@98.38.249.169)
2021-06-04 06:36:08 +0200ddellaco_(~ddellacos@86.106.121.48) (Ping timeout: 252 seconds)
2021-06-04 06:38:16 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 245 seconds)
2021-06-04 06:38:20 +0200AgentM(~agentm@pool-162-83-130-212.nycmny.fios.verizon.net) (Quit: Leaving.)
2021-06-04 06:38:52 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 244 seconds)
2021-06-04 06:39:46 +0200reumeth(~reumeth@user/reumeth) (Ping timeout: 272 seconds)
2021-06-04 06:40:27 +0200Erutuon(~Erutuon@user/erutuon) (Ping timeout: 272 seconds)
2021-06-04 06:41:59 +0200Erutuon(~Erutuon@user/erutuon)
2021-06-04 06:44:05 +0200werneta(~werneta@128.149.243.107) (Ping timeout: 245 seconds)
2021-06-04 06:46:14 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
2021-06-04 06:46:58 +0200Pixi_Pixi
2021-06-04 06:47:57 +0200ddellaco_(~ddellacos@86.106.121.62)
2021-06-04 06:50:32 +0200o1lo01ol1o(~o1lo01ol1@c-73-10-81-85.hsd1.nj.comcast.net)
2021-06-04 06:53:07 +0200ddellaco_(~ddellacos@86.106.121.62) (Ping timeout: 272 seconds)
2021-06-04 06:55:01 +0200o1lo01ol1o(~o1lo01ol1@c-73-10-81-85.hsd1.nj.comcast.net) (Ping timeout: 272 seconds)
2021-06-04 06:55:46 +0200samebchase2samebchase
2021-06-04 06:57:49 +0200Typedfern(~Typedfern@185.red-83-57-142.dynamicip.rima-tde.net)
2021-06-04 06:58:00 +0200your-favorite-ni(~user@2600:1700:9490:79f0::a) (Remote host closed the connection)
2021-06-04 07:01:32 +0200v01d4lph4(~v01d4lph4@user/v01d4lph4)
2021-06-04 07:03:26 +0200Typedfern(~Typedfern@185.red-83-57-142.dynamicip.rima-tde.net) (Remote host closed the connection)
2021-06-04 07:03:40 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 244 seconds)
2021-06-04 07:03:54 +0200werneta(~werneta@128.149.243.107)
2021-06-04 07:04:30 +0200myShoggoth(~myShoggot@97-120-89-117.ptld.qwest.net) (Ping timeout: 264 seconds)
2021-06-04 07:05:32 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
2021-06-04 07:06:02 +0200Typedfern(~Typedfern@185.red-83-57-142.dynamicip.rima-tde.net)
2021-06-04 07:06:39 +0200ddellaco_(~ddellacos@89.46.62.60)
2021-06-04 07:09:17 +0200mccoyb(~textual@2601:182:d000:3b50:6d20:ecfa:c38a:3ddb) (Quit: My MacBook Air has gone to sleep. ZZZzzz…)
2021-06-04 07:10:10 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 272 seconds)
2021-06-04 07:11:10 +0200ddellaco_(~ddellacos@89.46.62.60) (Ping timeout: 245 seconds)
2021-06-04 07:13:55 +0200vicfred(~vicfred@user/vicfred) (Quit: Leaving)
2021-06-04 07:14:07 +0200vicfred(~vicfred@user/vicfred)
2021-06-04 07:15:11 +0200Typedfern(~Typedfern@185.red-83-57-142.dynamicip.rima-tde.net) (Remote host closed the connection)
2021-06-04 07:15:30 +0200Typedfern(~Typedfern@185.red-83-57-142.dynamicip.rima-tde.net)
2021-06-04 07:21:15 +0200Typedfern(~Typedfern@185.red-83-57-142.dynamicip.rima-tde.net) (Remote host closed the connection)
2021-06-04 07:21:34 +0200Typedfern(~Typedfern@185.red-83-57-142.dynamicip.rima-tde.net)
2021-06-04 07:23:50 +0200ddellaco_(~ddellacos@89.46.62.82)
2021-06-04 07:25:30 +0200oxide(~lambda@user/oxide) (Ping timeout: 264 seconds)
2021-06-04 07:28:32 +0200ddellaco_(~ddellacos@89.46.62.82) (Ping timeout: 272 seconds)
2021-06-04 07:30:07 +0200Typedfern(~Typedfern@185.red-83-57-142.dynamicip.rima-tde.net) (Remote host closed the connection)
2021-06-04 07:30:27 +0200Typedfern(~Typedfern@185.red-83-57-142.dynamicip.rima-tde.net)
2021-06-04 07:35:14 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-06-04 07:35:22 +0200pe200012(~pe200012@119.131.208.84)
2021-06-04 07:35:59 +0200chomwitt(~Pitsikoko@2a02:587:dc02:b00:b16c:5166:feb8:97d5)
2021-06-04 07:36:05 +0200werneta(~werneta@128.149.243.107) (Ping timeout: 252 seconds)
2021-06-04 07:37:57 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
2021-06-04 07:38:42 +0200nkpart(uid3844@id-3844.highgate.irccloud.com)
2021-06-04 07:40:09 +0200pieguy128(~pieguy128@bas1-quebec14-67-70-101-46.dsl.bell.ca)
2021-06-04 07:40:23 +0200ddellaco_(~ddellacos@86.106.121.108)
2021-06-04 07:41:49 +0200opqdonut(opqdonut@pseudo.fixme.fi) (Quit: rebooting)
2021-06-04 07:42:05 +0200hmmmas(~chenqisu1@183.217.202.217)
2021-06-04 07:42:24 +0200Typedfern(~Typedfern@185.red-83-57-142.dynamicip.rima-tde.net) (Remote host closed the connection)
2021-06-04 07:42:27 +0200hmmmas(~chenqisu1@183.217.202.217) (Client Quit)
2021-06-04 07:42:44 +0200Typedfern(~Typedfern@185.red-83-57-142.dynamicip.rima-tde.net)
2021-06-04 07:45:15 +0200ddellaco_(~ddellacos@86.106.121.108) (Ping timeout: 272 seconds)
2021-06-04 07:46:56 +0200shriekingnoise(~shrieking@186.137.144.80)
2021-06-04 07:47:39 +0200 <juhp> sm[m]: thanks!
2021-06-04 07:52:25 +0200falafel(~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 245 seconds)
2021-06-04 07:52:26 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer)
2021-06-04 07:56:23 +0200mikoto-chan(~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) (Quit: mikoto-chan)
2021-06-04 07:58:04 +0200ddellaco_(~ddellacos@86.106.121.78)
2021-06-04 08:02:44 +0200ddellaco_(~ddellacos@86.106.121.78) (Ping timeout: 272 seconds)
2021-06-04 08:04:20 +0200wallymathieu(~wallymath@81-234-151-21-no94.tbcn.telia.com)
2021-06-04 08:09:16 +0200imdoor(~imdoor@balticom-142-78-50.balticom.lv)
2021-06-04 08:09:57 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
2021-06-04 08:10:17 +0200vicfred(~vicfred@user/vicfred) (Quit: Leaving)
2021-06-04 08:12:54 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 264 seconds)
2021-06-04 08:13:08 +0200werneta(~werneta@128.149.243.107)
2021-06-04 08:13:09 +0200chexum(~chexum@2a02:a03f:62f9:3f00:6b71:476f:e71b:80b)
2021-06-04 08:16:47 +0200derelict(~winter@2603-6011-f901-9e5b-aed0-a4c6-fbb9-1828.res6.spectrum.com)
2021-06-04 08:17:59 +0200werneta(~werneta@128.149.243.107) (Ping timeout: 272 seconds)
2021-06-04 08:19:24 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
2021-06-04 08:22:25 +0200node-sh(~node-sh@2401:4900:3b29:78ba:5b23:3841:af60:74fd)
2021-06-04 08:26:17 +0200res0nat0r(~Fletch@dia.whatbox.ca)
2021-06-04 08:27:19 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-06-04 08:29:16 +0200lavaman(~lavaman@98.38.249.169)
2021-06-04 08:31:02 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:2510:e0bc:659d:298)
2021-06-04 08:31:22 +0200antalsz(~antalsz@68.175.130.216) ()
2021-06-04 08:32:38 +0200ddellaco_(~ddellacos@89.46.62.86)
2021-06-04 08:33:50 +0200wonko(~wjc@62.115.229.50)
2021-06-04 08:34:24 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 272 seconds)
2021-06-04 08:35:44 +0200opqdonut(opqdonut@pseudo.fixme.fi)
2021-06-04 08:37:34 +0200ddellaco_(~ddellacos@89.46.62.86) (Ping timeout: 272 seconds)
2021-06-04 08:45:10 +0200node-sh(~node-sh@2401:4900:3b29:78ba:5b23:3841:af60:74fd) (Ping timeout: 272 seconds)
2021-06-04 08:46:21 +0200node-sh(~node-sh@223.228.233.174)
2021-06-04 08:48:05 +0200 <dminuoso> `AttoParsec.parseOnly (f <> pure Foo)` can this possibly error out?
2021-06-04 08:48:18 +0200 <dminuoso> err.
2021-06-04 08:48:24 +0200 <dminuoso> `AttoParsec.parseOnly (f <|> pure Foo)` of course! :)
2021-06-04 08:53:22 +0200marinelli(~marinelli@gateway/tor-sasl/marinelli)
2021-06-04 08:53:51 +0200echoreply(~echoreply@2001:19f0:9002:1f3b:5400:ff:fe6f:8b8d) (Quit: WeeChat 1.9.1)
2021-06-04 08:54:19 +0200echoreply(~echoreply@45.32.163.16)
2021-06-04 08:54:31 +0200epolanski(uid312403@id-312403.brockwell.irccloud.com)
2021-06-04 08:56:04 +0200dhouthoo(~dhouthoo@178-117-36-167.access.telenet.be)
2021-06-04 08:56:41 +0200ddellacosta(~ddellacos@86.106.143.235) (Remote host closed the connection)
2021-06-04 08:56:47 +0200jco(~jco@c83-248-173-38.bredband.tele2.se)
2021-06-04 08:56:54 +0200ddellacosta(~ddellacos@86.106.143.235)
2021-06-04 08:57:29 +0200ddellacosta(~ddellacos@86.106.143.235) (Remote host closed the connection)
2021-06-04 08:57:31 +0200michalz(~user@185.246.204.60)
2021-06-04 08:58:25 +0200jco(~jco@c83-248-173-38.bredband.tele2.se) (Client Quit)
2021-06-04 08:58:31 +0200 <hololeap> I don't think `pure x` ever fails
2021-06-04 08:59:14 +0200 <hololeap> AttoParsec.parseOnly (Foo <$ f) -- this might be what you want, dminuoso
2021-06-04 09:00:28 +0200 <hololeap> eh, maybe not
2021-06-04 09:01:28 +0200 <dminuoso> Heh :)
2021-06-04 09:01:42 +0200 <dminuoso> Nah, I was merely wondering whether acting on the resulting parse error was necessary
2021-06-04 09:01:47 +0200 <dminuoso> If not, Ill just trigger a panic
2021-06-04 09:02:00 +0200 <dminuoso> saves me from threading a silly error out of some deeply nested code
2021-06-04 09:05:38 +0200hololeap(hololeap@user/hololeap) (Quit: Bye)
2021-06-04 09:07:26 +0200wonko(~wjc@62.115.229.50) (Changing host)
2021-06-04 09:07:26 +0200wonko(~wjc@user/wonko)
2021-06-04 09:07:45 +0200ddellacosta(~ddellacos@89.46.62.87)
2021-06-04 09:07:58 +0200bor0(~boro@user/bor0)
2021-06-04 09:08:17 +0200mpt(~tom@p57a566da.dip0.t-ipconnect.de)
2021-06-04 09:12:00 +0200ddellacosta(~ddellacos@89.46.62.87) (Ping timeout: 245 seconds)
2021-06-04 09:13:05 +0200mpt(~tom@p57a566da.dip0.t-ipconnect.de) (Ping timeout: 272 seconds)
2021-06-04 09:14:03 +0200bfrk(~Thunderbi@200116b845d01a0023133a647a2f786d.dip.versatel-1u1.de)
2021-06-04 09:15:28 +0200ixlun(~matthew@109.249.184.235)
2021-06-04 09:21:08 +0200aweinstock(~aweinstoc@cpe-67-248-65-250.nycap.res.rr.com) (Ping timeout: 252 seconds)
2021-06-04 09:21:39 +0200ddellacosta(~ddellacos@89.45.224.40)
2021-06-04 09:23:07 +0200fendor(~fendor@178.115.129.101.wireless.dyn.drei.com)
2021-06-04 09:27:22 +0200ddellaco_(~ddellacos@86.106.121.77)
2021-06-04 09:28:55 +0200phma(phma@2001:5b0:2172:da08:98fc:87:ee60:b793) (Read error: Connection reset by peer)
2021-06-04 09:31:49 +0200koishi_(~koishi_@185.209.85.134)
2021-06-04 09:31:55 +0200 <ukari> if I define a `type Allocator m a = forall r . (m a -> (a -> m ()) -> r) -> r`, which module should it be put in? like `module Types`, `module Type` or `module Util`?
2021-06-04 09:32:02 +0200ddellaco_(~ddellacos@86.106.121.77) (Ping timeout: 272 seconds)
2021-06-04 09:32:07 +0200amk(~amk@176.61.106.150) (Read error: Connection reset by peer)
2021-06-04 09:32:19 +0200 <dminuoso> ukari: Up to you.
2021-06-04 09:32:56 +0200 <ukari> hard to decide
2021-06-04 09:33:26 +0200amk(~amk@176.61.106.150)
2021-06-04 09:34:13 +0200dpl(~dpl@77-121-78-163.chn.volia.net)
2021-06-04 09:34:19 +0200cfricke(~cfricke@user/cfricke)
2021-06-04 09:36:05 +0200fabfianda(~fabfianda@net-93-148-121-206.cust.dsl.teletu.it) (Ping timeout: 244 seconds)
2021-06-04 09:36:56 +0200fabfianda(~fabfianda@mob-5-90-247-167.net.vodafone.it)
2021-06-04 09:37:26 +0200gehmehgeh(~user@user/gehmehgeh)
2021-06-04 09:40:40 +0200dunkeln(~dunkeln@94.129.65.28)
2021-06-04 09:40:50 +0200Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2021-06-04 09:41:57 +0200amk(~amk@176.61.106.150) (Read error: Connection reset by peer)
2021-06-04 09:42:34 +0200koishi_(~koishi_@185.209.85.134) (Quit: /ragequit)
2021-06-04 09:42:56 +0200amk(~amk@176.61.106.150)
2021-06-04 09:45:22 +0200ddellaco_(~ddellacos@89.46.62.44)
2021-06-04 09:45:39 +0200phma(phma@2001:5b0:211f:f668:98fc:87:ee60:b793)
2021-06-04 09:47:52 +0200scannow(~scannow@94.233.41.249)
2021-06-04 09:47:53 +0200Guest91(~Guest91@180.168.212.6)
2021-06-04 09:48:41 +0200scannow(~scannow@94.233.41.249) ()
2021-06-04 09:49:30 +0200ddellaco_(~ddellacos@89.46.62.44) (Ping timeout: 245 seconds)
2021-06-04 09:49:41 +0200Guest91(~Guest91@180.168.212.6) (Client Quit)
2021-06-04 09:53:07 +0200 <beaky> should error discouraged from use it seems it can lead to gotchas in evaluation order or soemthing (so you get different error messages) https://gitlab.haskell.org/ghc/ghc/-/issues/19917
2021-06-04 09:55:10 +0200hnOsmium0001(uid453710@id-453710.stonehaven.irccloud.com) (Quit: Connection closed for inactivity)
2021-06-04 09:58:02 +0200tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz)
2021-06-04 09:59:42 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 264 seconds)
2021-06-04 09:59:56 +0200werneta(~werneta@128.149.243.107)
2021-06-04 10:00:09 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-06-04 10:00:57 +0200Guest38(~textual@188-182-241-27-dynamic.dk.customer.tdc.net)
2021-06-04 10:03:07 +0200ddellaco_(~ddellacos@89.46.62.18)
2021-06-04 10:04:15 +0200Guest80(~Guest80@180.168.212.6)
2021-06-04 10:05:32 +0200Guest80(~Guest80@180.168.212.6) (Client Quit)
2021-06-04 10:05:53 +0200cfricke(~cfricke@user/cfricke) (Quit: WeeChat 3.1)
2021-06-04 10:06:08 +0200 <dminuoso> beaky: Better yet, the same reason that caused the unexpected behavior is why it's very hard to catch reasonably
2021-06-04 10:06:20 +0200 <dminuoso> (And that catching pure exception requires IO)
2021-06-04 10:06:30 +0200 <dminuoso> And then ontop, you can't sensibly discriminate on the error
2021-06-04 10:07:08 +0200imdoor(~imdoor@balticom-142-78-50.balticom.lv) (Quit: imdoor)
2021-06-04 10:07:25 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
2021-06-04 10:07:35 +0200dpl_(~dpl@77-121-78-163.chn.volia.net)
2021-06-04 10:07:36 +0200ddellaco_(~ddellacos@89.46.62.18) (Ping timeout: 244 seconds)
2021-06-04 10:09:47 +0200rk04(~rk04@user/rajk)
2021-06-04 10:09:55 +0200dpl(~dpl@77-121-78-163.chn.volia.net) (Ping timeout: 245 seconds)
2021-06-04 10:10:07 +0200 <dminuoso> Most uses of `error` are just accidents waiting to happen. :)
2021-06-04 10:10:37 +0200KaipiKaiepi
2021-06-04 10:10:55 +0200hendursaga(~weechat@user/hendursaga) (Ping timeout: 252 seconds)
2021-06-04 10:12:03 +0200imdoor(~imdoor@balticom-142-78-50.balticom.lv)
2021-06-04 10:12:11 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 272 seconds)
2021-06-04 10:12:14 +0200 <bor0> What's a more practical way to write `combined` and `combined'`? I feel it has to do something with lifting/transformers https://paste.tomsmeding.com/i3Spjely
2021-06-04 10:12:57 +0200 <bor0> I tried to write it using `do` notation and `lift` but couldn't get it
2021-06-04 10:13:44 +0200 <dminuoso> bor0: First, there appear to be various subtle errors with name shadowing in your code.
2021-06-04 10:13:53 +0200 <dminuoso> mooEg x = moo x >>= (\x -> return (x + 1))
2021-06-04 10:14:07 +0200 <dminuoso> Here the inner lambdas binder shadows the outer x
2021-06-04 10:14:13 +0200 <bor0> Ah, yea. Can ignore that :) Just some code to play around with mixing monads
2021-06-04 10:14:33 +0200 <c_wraith> fooEq is weird, in that the monad laws say it should be the same as foo
2021-06-04 10:14:37 +0200 <dminuoso> Second, you should use `fmap` rather than `>>= (\x -> return (...))`
2021-06-04 10:15:02 +0200hendursaga(~weechat@user/hendursaga)
2021-06-04 10:15:24 +0200 <dminuoso> Its hard to decipher what you're trying to accomplish.
2021-06-04 10:16:20 +0200 <dminuoso> Though from what I can see, monad transformers is indeed what you should be exploring.
2021-06-04 10:16:37 +0200rk04(~rk04@user/rajk) (Ping timeout: 272 seconds)
2021-06-04 10:16:39 +0200 <bor0> I want the same functionality of `combined` in `do` notation. Something I tried is https://paste.tomsmeding.com/NpMW45IZ (and different combinations) but they all type errored
2021-06-04 10:18:31 +0200 <dminuoso> bor0: Look into using ExceptT + StateT.
2021-06-04 10:18:34 +0200Heffalump(~ganesh@urchin.earth.li)
2021-06-04 10:18:42 +0200hughjfchen(~hughjfche@vmi556545.contaboserver.net)
2021-06-04 10:18:54 +0200 <bor0> Yeah, I came to that conclusion from Google but as I said, just exercising with transforming them manually for now :)
2021-06-04 10:19:02 +0200 <dminuoso> e.g. what you seem to be after is just `ExceptT String (State Int)` and `StateT Int (ExceptT String)`
2021-06-04 10:19:04 +0200Guest75(~Guest75@180.168.212.6)
2021-06-04 10:19:25 +0200ddellaco_(~ddellacos@86.106.121.84)
2021-06-04 10:19:36 +0200 <dminuoso> Oops, the latter should read `StateT Int (Except T)`
2021-06-04 10:19:49 +0200 <c_wraith> bor0: https://paste.tomsmeding.com/ICIGlNG5 It's a completely mechanical translation
2021-06-04 10:20:08 +0200 <c_wraith> other than the spot where I backspaced too far once :)
2021-06-04 10:20:22 +0200Guest75yd502
2021-06-04 10:20:25 +0200 <bor0> Ahh..
2021-06-04 10:21:02 +0200 <c_wraith> also, whenever you have a single bind followed by a return, you shouldn't be using do notation. as dminuoso says, that's just an fmap
2021-06-04 10:21:09 +0200hughjfchen(~hughjfche@vmi556545.contaboserver.net) (Remote host closed the connection)
2021-06-04 10:21:13 +0200 <bor0> OK I see where my error was. So you "lift" (or transform or whatever the best term is) in the end (after return), and you don't do it in between `do` and `return`
2021-06-04 10:21:24 +0200nschoe(~quassel@2a01:e0a:8e:a190:4986:fc3e:f94f:76cf)
2021-06-04 10:21:45 +0200hughjfchen(~hughjfche@vmi556545.contaboserver.net)
2021-06-04 10:21:47 +0200 <c_wraith> The monad transformer stuff is sort of entirely orthogonal to what I did
2021-06-04 10:21:59 +0200berberman(~berberman@user/berberman)
2021-06-04 10:22:10 +0200 <bor0> Is it? We combine State + Either monads?
2021-06-04 10:22:19 +0200 <c_wraith> That's a semantic transformation
2021-06-04 10:22:19 +0200Heffalump(~ganesh@urchin.earth.li) ()
2021-06-04 10:22:30 +0200 <c_wraith> I just did a syntactic transformation
2021-06-04 10:22:57 +0200berberman_(~berberman@user/berberman) (Ping timeout: 272 seconds)
2021-06-04 10:23:44 +0200hughjfchen(~hughjfche@vmi556545.contaboserver.net) (Remote host closed the connection)
2021-06-04 10:24:02 +0200 <bor0> OK, yeah :) I need to get used to translating these mechanically
2021-06-04 10:24:13 +0200ddellaco_(~ddellacos@86.106.121.84) (Ping timeout: 272 seconds)
2021-06-04 10:24:18 +0200fendor_(~fendor@178.165.131.187.wireless.dyn.drei.com)
2021-06-04 10:24:57 +0200 <c_wraith> the big mistake you made was dropping the return in the middle of your definition of combined
2021-06-04 10:25:06 +0200 <bor0> Yeah ^
2021-06-04 10:26:43 +0200fendor(~fendor@178.115.129.101.wireless.dyn.drei.com) (Ping timeout: 244 seconds)
2021-06-04 10:26:48 +0200lavaman(~lavaman@98.38.249.169)
2021-06-04 10:27:46 +0200wonko(~wjc@user/wonko) (Ping timeout: 272 seconds)
2021-06-04 10:30:29 +0200kuribas(~user@ptr-25vy0iaefdcx0vu09ud.18120a2.ip6.access.telenet.be)
2021-06-04 10:31:01 +0200 <kuribas> is it possible to turn some warnings into errors at project level?
2021-06-04 10:31:29 +0200ixlun-(~matthew@109.249.184.235)
2021-06-04 10:31:37 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 272 seconds)
2021-06-04 10:32:25 +0200peterhil(~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi) (Ping timeout: 245 seconds)
2021-06-04 10:32:50 +0200azeem(~azeem@dynamic-adsl-94-34-34-125.clienti.tiscali.it) (Ping timeout: 245 seconds)
2021-06-04 10:35:48 +0200yd502_(~yd502@180.168.212.6)
2021-06-04 10:36:35 +0200werneta(~werneta@128.149.243.107) (Ping timeout: 245 seconds)
2021-06-04 10:36:48 +0200 <sm[m]> kuribas: you can set GHC flags in your package.yaml/cabal file, ghc-options: -Wall -Werror sort of thing
2021-06-04 10:38:04 +0200_ht(~quassel@82-169-194-8.biz.kpn.net)
2021-06-04 10:38:42 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
2021-06-04 10:38:54 +0200 <maerwald> cabal.project is project wide, package.yaml/cabal not
2021-06-04 10:39:38 +0200 <maerwald> kuribas: top-level ghc-options isn't supported in cabal.project yet, so you have to spell out ghc-options for every local project target explicitly
2021-06-04 10:39:40 +0200 <maerwald> I think
2021-06-04 10:40:03 +0200 <kuribas> does ghc-options work in ghci?
2021-06-04 10:40:10 +0200 <kuribas> for example cabal repl?
2021-06-04 10:41:04 +0200 <maerwald> I think so... at least I get warnings about flags clashing with the repl sometimes
2021-06-04 10:41:09 +0200pera(~pera@user/pera)
2021-06-04 10:42:55 +0200dhouthoo(~dhouthoo@178-117-36-167.access.telenet.be) (Quit: WeeChat 3.1)
2021-06-04 10:43:08 +0200dhouthoo(~dhouthoo@178-117-36-167.access.telenet.be)
2021-06-04 10:44:10 +0200yd502_(~yd502@180.168.212.6) (Leaving)
2021-06-04 10:47:29 +0200dunkeln(~dunkeln@94.129.65.28) (Ping timeout: 252 seconds)
2021-06-04 10:50:02 +0200dhil(~dhil@195.213.192.47)
2021-06-04 10:54:17 +0200ddellaco_(~ddellacos@86.106.121.56)
2021-06-04 10:56:10 +0200yd502_(~yd502@180.168.212.6)
2021-06-04 10:56:43 +0200yd502(~Guest75@180.168.212.6) (Quit: Client closed)
2021-06-04 10:56:50 +0200 <kuribas> ok, thanks
2021-06-04 10:56:59 +0200mc47(~yecinem@89.246.239.190)
2021-06-04 10:57:00 +0200node-sh(~node-sh@223.228.233.174) (Ping timeout: 245 seconds)
2021-06-04 10:59:06 +0200ddellaco_(~ddellacos@86.106.121.56) (Ping timeout: 264 seconds)
2021-06-04 11:00:04 +0200sszark(~sszark@h-85-24-213-180.A392.priv.bahnhof.se) (Ping timeout: 272 seconds)
2021-06-04 11:00:10 +0200yd502(~yd502@180.168.212.6)
2021-06-04 11:00:37 +0200nkpart(uid3844@id-3844.highgate.irccloud.com) (Quit: Connection closed for inactivity)
2021-06-04 11:00:46 +0200yd502(~yd502@180.168.212.6) (Read error: Connection reset by peer)
2021-06-04 11:03:20 +0200jumper149(~jumper149@80.240.31.34)
2021-06-04 11:03:40 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds)
2021-06-04 11:04:22 +0200 <jumper149> Hi, whats the difference between STM from GHC.Conc and from Control.Concurrent.STM
2021-06-04 11:04:23 +0200dpl_(~dpl@77-121-78-163.chn.volia.net) (Remote host closed the connection)
2021-06-04 11:04:41 +0200dpl_(~dpl@77-121-78-163.chn.volia.net)
2021-06-04 11:04:51 +0200 <c_wraith> nothing
2021-06-04 11:05:29 +0200 <c_wraith> GHC.Conc is where the actual implementation is located. Control.Concurrent.STM is the interface to it that isn't specific to GHC.
2021-06-04 11:07:14 +0200 <c_wraith> But the actual types exported are the same. You can import STM from either and they will work together
2021-06-04 11:10:57 +0200Torro(Torro@gateway/vpn/protonvpn/torro)
2021-06-04 11:11:38 +0200ddellaco_(~ddellacos@86.106.121.73)
2021-06-04 11:16:47 +0200ddellaco_(~ddellacos@86.106.121.73) (Ping timeout: 272 seconds)
2021-06-04 11:18:28 +0200bor0(~boro@user/bor0) (Quit: Leaving)
2021-06-04 11:19:09 +0200wonko(~wjc@62.115.229.50)
2021-06-04 11:19:25 +0200yd502__(~yd502@180.168.212.6)
2021-06-04 11:21:08 +0200ixlun-(~matthew@109.249.184.235) (Read error: Connection reset by peer)
2021-06-04 11:21:08 +0200ixlun(~matthew@109.249.184.235) (Read error: Connection reset by peer)
2021-06-04 11:22:55 +0200yd502_(~yd502@180.168.212.6) (Ping timeout: 272 seconds)
2021-06-04 11:24:18 +0200Sose(~username@mobile-access-6df04b-135.dhcp.inet.fi) (Ping timeout: 264 seconds)
2021-06-04 11:27:47 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:3547:b6d4:7412:5857) (Remote host closed the connection)
2021-06-04 11:30:40 +0200ddellaco_(~ddellacos@86.106.121.31)
2021-06-04 11:35:20 +0200ddellaco_(~ddellacos@86.106.121.31) (Ping timeout: 252 seconds)
2021-06-04 11:35:26 +0200marinelli(~marinelli@gateway/tor-sasl/marinelli) (Quit: marinelli)
2021-06-04 11:37:33 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:2819:e0f3:7100:f98e)
2021-06-04 11:38:19 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-06-04 11:41:56 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:2819:e0f3:7100:f98e) (Ping timeout: 252 seconds)
2021-06-04 11:43:12 +0200 <absence> i have this contrived c and haskell code: https://pastebin.com/EbegpS7Q after printing "in c before callback" and "in haskell", it just hangs. does throwing an exception in this way violate some ffi rule? can i get it working somehow?
2021-06-04 11:46:20 +0200dunkeln(~dunkeln@94.129.65.28)
2021-06-04 11:47:50 +0200ddellaco_(~ddellacos@86.106.121.20)
2021-06-04 11:48:27 +0200chomwitt(~Pitsikoko@2a02:587:dc02:b00:b16c:5166:feb8:97d5) (Ping timeout: 272 seconds)
2021-06-04 11:51:38 +0200mpt(~tom@p57a566da.dip0.t-ipconnect.de)
2021-06-04 11:52:00 +0200ddellaco_(~ddellacos@86.106.121.20) (Ping timeout: 245 seconds)
2021-06-04 11:58:45 +0200MrKaKe(~bo@2a01:79c:cebf:d688::9e6)
2021-06-04 11:58:50 +0200econo(uid147250@user/econo) (Quit: Connection closed for inactivity)
2021-06-04 11:59:12 +0200MrKaKebjobjo
2021-06-04 12:00:02 +0200pavonia(~user@user/siracusa) (Quit: Bye!)
2021-06-04 12:01:01 +0200dario(~dario@8.43.122.4)
2021-06-04 12:03:13 +0200node-sh(~node-sh@2401:4900:3b29:78ba:5b23:3841:af60:74fd)
2021-06-04 12:03:46 +0200boxscape(~boxscape@user/boxscape)
2021-06-04 12:03:58 +0200ddellaco_(~ddellacos@86.106.121.20)
2021-06-04 12:06:10 +0200fabfianda(~fabfianda@mob-5-90-247-167.net.vodafone.it) (Ping timeout: 245 seconds)
2021-06-04 12:07:12 +0200fabfianda(~fabfianda@net-93-148-121-206.cust.vodafonedsl.it)
2021-06-04 12:07:15 +0200derelict(~winter@2603-6011-f901-9e5b-aed0-a4c6-fbb9-1828.res6.spectrum.com) (Ping timeout: 272 seconds)
2021-06-04 12:08:15 +0200ddellaco_(~ddellacos@86.106.121.20) (Ping timeout: 245 seconds)
2021-06-04 12:08:17 +0200bjobjo(~bo@2a01:79c:cebf:d688::9e6) (Quit: Reconnecting)
2021-06-04 12:08:17 +0200 <boxscape> Is there some sense in which [a] fits the description "free monoid on a" closer than does Seq a? Or are they equally good?
2021-06-04 12:08:24 +0200bjobjo(~bo@2a01:79c:cebf:d688::9e6)
2021-06-04 12:09:19 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
2021-06-04 12:09:48 +0200 <river> @src Seq
2021-06-04 12:09:48 +0200 <lambdabot> Source not found. This mission is too important for me to allow you to jeopardize it.
2021-06-04 12:09:54 +0200 <river> whats seq?
2021-06-04 12:10:04 +0200 <boxscape> % :i Seq
2021-06-04 12:10:04 +0200 <yahb> boxscape: ; <interactive>:1:1: error: Not in scope: `Seq'
2021-06-04 12:10:08 +0200 <c_wraith> They're both sort of bad, in that they have more to the data structure than a free monoid
2021-06-04 12:10:12 +0200 <boxscape> % :i Data.Sequence.Seq
2021-06-04 12:10:14 +0200 <yahb> boxscape: *** Exception: heap overflow
2021-06-04 12:10:19 +0200 <boxscape> c_wraith okay, that does make sense
2021-06-04 12:10:21 +0200 <c_wraith> river: https://hackage.haskell.org/package/containers-0.6.4.1/docs/Data-Sequence.html
2021-06-04 12:10:25 +0200 <boxscape> wait heap overflow?
2021-06-04 12:10:47 +0200 <boxscape> c_wraith is there a way to make a free monoid in haskell without superfluous structure?
2021-06-04 12:10:52 +0200 <wz1000> boxscape: Seq is better, since the free monoidis defined to be strictly finite strings
2021-06-04 12:11:01 +0200 <boxscape> hm I see
2021-06-04 12:11:09 +0200 <c_wraith> :t foldMap
2021-06-04 12:11:10 +0200 <lambdabot> (Foldable t, Monoid m) => (a -> m) -> t a -> m
2021-06-04 12:11:32 +0200bjobjo(~bo@2a01:79c:cebf:d688::9e6) (Client Quit)
2021-06-04 12:11:39 +0200bjobjo(~bo@2a01:79c:cebf:d688::9e6)
2021-06-04 12:12:08 +0200 <c_wraith> forall m. Monoid m => (a -> m) -> m is a free monoid on a
2021-06-04 12:12:19 +0200 <c_wraith> It's not a satisfying one in a lot of ways
2021-06-04 12:12:22 +0200 <boxscape> I see
2021-06-04 12:12:25 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds)
2021-06-04 12:12:32 +0200 <pja> absence: https://downloads.haskell.org/~ghc/8.4.2/docs/html/users_guide/ffi-chap.html#on-the-use-of-hs-exit & http://neilmitchell.blogspot.com/2017/11/haskell-exceptions-and-ffi-wrappers.html seem relevant links.
2021-06-04 12:12:33 +0200 <c_wraith> But it is *exactly* the amount of structure you need
2021-06-04 12:12:45 +0200 <boxscape> okay
2021-06-04 12:13:15 +0200bjobjo(~bo@2a01:79c:cebf:d688::9e6) (Changing host)
2021-06-04 12:13:15 +0200bjobjo(~bo@user/bjobjo)
2021-06-04 12:13:32 +0200 <dminuoso> % :i Data.Sequence.Seq
2021-06-04 12:13:33 +0200 <yahb> dminuoso: *** Exception: heap overflow
2021-06-04 12:13:37 +0200 <dminuoso> What's going on here?
2021-06-04 12:13:42 +0200 <boxscape> no idea
2021-06-04 12:14:05 +0200 <pja> absence: You have a thread which is blocked in an FFI call & you’ve thrown an uncaught exception. hs_exit() is blocked waiting for a thread exit which can never happen.
2021-06-04 12:14:10 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 272 seconds)
2021-06-04 12:14:16 +0200 <dminuoso> Seems to work fine on GHCi 8.8.4
2021-06-04 12:14:24 +0200 <dminuoso> Perhaps this is bug in most recent GHC?
2021-06-04 12:14:34 +0200 <boxscape> let me check
2021-06-04 12:14:53 +0200 <dminuoso> (Possibly the version/flags of the containers package might be relevant too)
2021-06-04 12:14:59 +0200 <boxscape> works in 8.10 and HEAD, so if it was broken it's fixed now
2021-06-04 12:15:06 +0200 <boxscape> I don't have yahb's ghc version installed
2021-06-04 12:15:19 +0200 <dminuoso> What verison is yahb running? I forgot the command
2021-06-04 12:15:20 +0200dhil(~dhil@195.213.192.47) (Ping timeout: 245 seconds)
2021-06-04 12:15:26 +0200 <boxscape> % :!ghc --version
2021-06-04 12:15:26 +0200 <yahb> boxscape: The Glorious Glasgow Haskell Compilation System, version 9.0.1
2021-06-04 12:16:51 +0200 <absence> pja: thanks, i'll have a look at the text and see if i get a better understanding
2021-06-04 12:18:23 +0200 <boxscape> dminuoso I think I've used :i on yahb with this ghc version before without running into this...
2021-06-04 12:18:36 +0200Erutuon(~Erutuon@user/erutuon) (Ping timeout: 272 seconds)
2021-06-04 12:19:41 +0200 <pja> absence: NB. I haven’t actually run your code and checked; my reading may be erroneous :)
2021-06-04 12:20:28 +0200 <boxscape> % :i ala
2021-06-04 12:20:29 +0200 <yahb> boxscape: ala :: (Functor f, Rewrapping s t) => (Unwrapped s -> s) -> ((Unwrapped t -> t) -> f s) -> f (Unwrapped s) -- Defined in `Control.Lens.Wrapped'
2021-06-04 12:20:32 +0200 <boxscape> oh
2021-06-04 12:20:37 +0200 <boxscape> % :i Bool
2021-06-04 12:20:37 +0200 <yahb> boxscape: *** Exception: heap overflow
2021-06-04 12:20:43 +0200 <Hecate> nice
2021-06-04 12:20:45 +0200 <boxscape> I guess it doesn't affect functions
2021-06-04 12:20:52 +0200 <dminuoso> % :q
2021-06-04 12:20:52 +0200 <yahb> dminuoso:
2021-06-04 12:20:54 +0200 <dminuoso> % :i Bool
2021-06-04 12:20:56 +0200 <yahb> dminuoso: type Bool :: *; data Bool = False | True; -- Defined in `GHC.Types'; instance Eq Bool -- Defined in `GHC.Classes'; instance Ord Bool -- Defined in `GHC.Classes'; instance Enum Bool -- Defined in `GHC.Enum'; instance Show Bool -- Defined in `GHC.Show'; instance Data Bool -- Defined in `Data.Data'; instance Lift Bool -- Defined in `Language.Haskell.TH.Syntax'; instance Bits Bool -- Defined in `Data.Bits'
2021-06-04 12:21:01 +0200 <boxscape> ah, that's better
2021-06-04 12:21:13 +0200 <dminuoso> Now Im curious
2021-06-04 12:21:16 +0200yd502__(~yd502@180.168.212.6) (Remote host closed the connection)
2021-06-04 12:21:18 +0200 <dminuoso> Whether that was the wrapper itself, or the GHCi
2021-06-04 12:21:25 +0200 <dminuoso> The latter would be a really weird bug
2021-06-04 12:21:29 +0200yd502__(~yd502@180.168.212.6)
2021-06-04 12:21:36 +0200 <boxscape> hm the wrapper is written is haskell, right?
2021-06-04 12:21:56 +0200 <boxscape> (otherwise the "*** Exception" part of the message would indicate the latter)
2021-06-04 12:22:02 +0200 <dminuoso> mniip might note
2021-06-04 12:22:04 +0200 <dminuoso> know even.
2021-06-04 12:22:08 +0200dyeplexer(~dyeplexer@user/dyeplexer)
2021-06-04 12:23:05 +0200mpt(~tom@p57a566da.dip0.t-ipconnect.de) (Ping timeout: 272 seconds)
2021-06-04 12:25:34 +0200FragByte(~christian@user/fragbyte) (Quit: Quit)
2021-06-04 12:25:40 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Remote host closed the connection)
2021-06-04 12:25:55 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-06-04 12:26:42 +0200 <boxscape> dminuoso once ghci encounters a heap overflow, entering any expression might result in the same heap overflow message again https://gitlab.haskell.org/ghc/ghc/-/issues/14358 - though if this was the problem, that wouldn't explain why :i ala worked
2021-06-04 12:26:47 +0200chomwitt(~Pitsikoko@athedsl-20549.home.otenet.gr)
2021-06-04 12:27:39 +0200FragByte(~christian@user/fragbyte)
2021-06-04 12:28:50 +0200peterhil(~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi)
2021-06-04 12:28:54 +0200 <dminuoso> % let xs = [1..10^6] :: [Int]
2021-06-04 12:28:54 +0200 <yahb> dminuoso:
2021-06-04 12:29:01 +0200 <dminuoso> % Data.List.foldl' (+) 0 xs
2021-06-04 12:29:04 +0200 <yahb> dminuoso: *** Exception: heap overflow
2021-06-04 12:29:07 +0200 <dminuoso> % :i Bool
2021-06-04 12:29:08 +0200 <yahb> dminuoso: *** Exception: heap overflow
2021-06-04 12:29:10 +0200 <dminuoso> % :i ala
2021-06-04 12:29:10 +0200 <yahb> dminuoso: ala :: (Functor f, Rewrapping s t) => (Unwrapped s -> s) -> ((Unwrapped t -> t) -> f s) -> f (Unwrapped s) -- Defined in `Control.Lens.Wrapped'
2021-06-04 12:29:13 +0200 <boxscape> hm
2021-06-04 12:29:14 +0200 <boxscape> okay
2021-06-04 12:29:43 +0200 <absence> pja: i don't think the blog addresses my particular situation, it seems more focused on throwing exceptions within the ffi thread, and not throwing them to other threads outside. i don't think hs_exit is involved here, but your suggestion about the thread being blocked waiting for ffi makes sense, and could result in the deadlock. i'm not sure i understand why the c code can't continue to run after the
2021-06-04 12:29:45 +0200 <dminuoso> boxscape: It seems as if `:i` on non-types is acceptable
2021-06-04 12:29:48 +0200 <dminuoso> % :i Functor
2021-06-04 12:29:48 +0200 <yahb> dminuoso: *** Exception: heap overflow
2021-06-04 12:29:49 +0200 <absence> throwTo though
2021-06-04 12:30:09 +0200 <boxscape> dminuoso I'm surprised that the first expression produced a heap overflow at all without setting +RTS -M20m like in the ticket
2021-06-04 12:30:18 +0200 <dminuoso> why?
2021-06-04 12:30:40 +0200 <boxscape> because it doesn't do that for me locally, and it doesn't seem like [1..10^6] needs that much memory
2021-06-04 12:31:28 +0200 <dminuoso> boxscape: Who ways it produces a heap overflow without setting it?
2021-06-04 12:31:39 +0200 <dminuoso> I dont know how yahb is configured
2021-06-04 12:32:14 +0200 <boxscape> hm that is true, I guess I just would have expected it to be configured with a bit more memory, but I don't have a particularly good reason for that
2021-06-04 12:32:33 +0200 <dminuoso> It's at least reasonable to assume that yahb is severely constrained in terms of resources.
2021-06-04 12:32:37 +0200 <boxscape> yeah
2021-06-04 12:32:37 +0200 <dminuoso> Someone has to pay for that machine. :)
2021-06-04 12:32:54 +0200 <absence> pja: i.e. if i do myThreadId from within the callback, and throw to that id, i do get a forceful shutdown and the "too many hs_exit()s" warning mentioned in the blog
2021-06-04 12:34:44 +0200chomwitt(~Pitsikoko@athedsl-20549.home.otenet.gr) (Ping timeout: 252 seconds)
2021-06-04 12:35:54 +0200ikex(~ash@user/ikex)
2021-06-04 12:36:23 +0200peterhil(~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi) (Ping timeout: 252 seconds)
2021-06-04 12:36:29 +0200 <pja> IIRC, if an FFI C call is marked as safe, it gets run in it’s own thread.
2021-06-04 12:36:47 +0200 <pja> but don’t quote me on that...
2021-06-04 12:37:04 +0200 <pja> (s/it’s/its/)
2021-06-04 12:44:27 +0200v01d4lph4(~v01d4lph4@user/v01d4lph4) (Remote host closed the connection)
2021-06-04 12:44:34 +0200 <pja> so if you throw to the running thread, then that will cause that thread to exit, which in turn allows the main thread to exit. That seems a plausible explanation for the behaviour you’re seeing at least!
2021-06-04 12:45:09 +0200 <dminuoso> pja: Without touching on the rest, its irrespective of safety.
2021-06-04 12:45:34 +0200 <dminuoso> It's described in "Extending the Haskell Foreign Function Interface with Concurrency"
2021-06-04 12:48:02 +0200 <dminuoso> Note in particualr
2021-06-04 12:48:24 +0200 <dminuoso> `Foreign export. Invoking a function declared with foreign export creates a new Haskell thread which is bound to theOS thread making the call"
2021-06-04 12:48:43 +0200 <dminuoso> absence: Try using runInBoundThread.
2021-06-04 12:49:55 +0200dunkeln(~dunkeln@94.129.65.28) (Ping timeout: 245 seconds)
2021-06-04 12:51:49 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-06-04 12:52:24 +0200 <dminuoso> Or see whether `myThreadId` inside `myHaskellFunction` produces a different thread id, I think it should.
2021-06-04 12:56:39 +0200pe200012(~pe200012@119.131.208.84) (Remote host closed the connection)
2021-06-04 12:57:11 +0200pe200012(~pe200012@218.107.17.245)
2021-06-04 12:58:24 +0200zeenk(~zeenk@2a02:2f04:a310:b600:b098:bf18:df4d:4c41)
2021-06-04 13:00:40 +0200 <boxscape> % GHC.RTS.Flags.maxHeapSize . GHC.RTS.Flags.gcFlags <$> GHC.RTS.Flags.getRTSFlags -- dminuoso FWIW the answer yahb gives is consistent with -M200m
2021-06-04 13:00:40 +0200 <yahb> boxscape: 51200
2021-06-04 13:02:00 +0200yd502__(~yd502@180.168.212.6) (Ping timeout: 245 seconds)
2021-06-04 13:05:20 +0200 <absence> pja: if i catch the exception in the main thread, it still hangs, and the exception handler isn't invoked, so it's not related to the main thread exiting at least
2021-06-04 13:08:23 +0200 <absence> dminuoso: yes, the threadid is different. runInBoundThread doesn't change anything
2021-06-04 13:13:51 +0200guest63``(~user@49.5.6.87) (Quit: ERC (IRC client for Emacs 27.1))
2021-06-04 13:14:04 +0200ddellaco_(~ddellacos@89.46.62.130)
2021-06-04 13:15:11 +0200 <dminuoso> How are you wrapping it with runInBoundThread?
2021-06-04 13:15:23 +0200 <dminuoso> Oh, actually this is not what bound thread is about. Mmmm.
2021-06-04 13:15:27 +0200 <dminuoso> bound thread is about the OS thread
2021-06-04 13:15:31 +0200 <dminuoso> not the haskell thread
2021-06-04 13:16:28 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2021-06-04 13:18:44 +0200ddellaco_(~ddellacos@89.46.62.130) (Ping timeout: 252 seconds)
2021-06-04 13:20:23 +0200 <absence> according to the ghc user guide, " Normally when the target of a throwTo is involved in a foreign call, the exception is not raised until the call returns, and in the meantime the caller is blocked." so i guess the result is that the thread is blocking itself
2021-06-04 13:21:14 +0200 <absence> i had hoped the callback could continue to run, and the async exception be raised when it returns, but i guess that's now how it works
2021-06-04 13:23:55 +0200 <absence> not*
2021-06-04 13:25:39 +0200_ht(~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection)
2021-06-04 13:28:20 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:2819:e0f3:7100:f98e)
2021-06-04 13:32:12 +0200 <pja> Yes, I think the thread is “self-blocked”.
2021-06-04 13:32:31 +0200 <pja> but I’m not that familiar with this part of the runtime.
2021-06-04 13:32:34 +0200ddellaco_(~ddellacos@86.106.121.100)
2021-06-04 13:33:15 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:2819:e0f3:7100:f98e) (Ping timeout: 268 seconds)
2021-06-04 13:34:47 +0200WorldSEnder(~martin@88.215.103.12)
2021-06-04 13:34:50 +0200machinedgod(~machinedg@135-23-192-217.cpe.pppoe.ca)
2021-06-04 13:35:14 +0200node-sh(~node-sh@2401:4900:3b29:78ba:5b23:3841:af60:74fd) (Ping timeout: 272 seconds)
2021-06-04 13:37:30 +0200ddellaco_(~ddellacos@86.106.121.100) (Ping timeout: 264 seconds)
2021-06-04 13:37:48 +0200ixlun(~matthew@109.249.184.235)
2021-06-04 13:37:51 +0200ixlun-(~matthew@109.249.184.235)
2021-06-04 13:41:02 +0200node-sh(~node-sh@2401:4900:3b29:78ba:5b23:3841:af60:74fd)
2021-06-04 13:45:05 +0200Guest28(~Guest28@194.68.222.71)
2021-06-04 13:45:44 +0200wallymathieu(~wallymath@81-234-151-21-no94.tbcn.telia.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-06-04 13:46:36 +0200Guest28(~Guest28@194.68.222.71) ()
2021-06-04 13:49:11 +0200ddellaco_(~ddellacos@86.106.121.114)
2021-06-04 13:49:40 +0200ft(~ft@shell.chaostreff-dortmund.de)
2021-06-04 13:52:19 +0200ft(~ft@shell.chaostreff-dortmund.de) (Client Quit)
2021-06-04 13:52:33 +0200ft(~ft@shell.chaostreff-dortmund.de)
2021-06-04 13:54:07 +0200prite(~pritam@user/pritambaral)
2021-06-04 13:54:17 +0200ddellaco_(~ddellacos@86.106.121.114) (Ping timeout: 272 seconds)
2021-06-04 13:54:54 +0200ikex(~ash@user/ikex) (Ping timeout: 264 seconds)
2021-06-04 13:56:14 +0200eight(~eight@user/eight) (Quit: rebooting)
2021-06-04 13:56:33 +0200ikex(~ash@user/ikex)
2021-06-04 13:56:43 +0200eight(~eight@user/eight)
2021-06-04 13:57:01 +0200 <maerwald> how do you pass gcc options to a package in stack.yaml
2021-06-04 13:59:47 +0200dhil(~dhil@195.213.192.47)
2021-06-04 14:00:34 +0200ru0mad(~ru0mad@82-64-17-144.subs.proxad.net) (Ping timeout: 272 seconds)
2021-06-04 14:00:36 +0200 <Hecate> maerwald: I don't think you can
2021-06-04 14:00:51 +0200 <Hecate> I think there is no '--gcc-option' equivalent
2021-06-04 14:01:07 +0200smitop(uid328768@user/smitop)
2021-06-04 14:06:05 +0200ft(~ft@shell.chaostreff-dortmund.de) (Quit: leaving)
2021-06-04 14:06:14 +0200ft(~ft@shell.chaostreff-dortmund.de)
2021-06-04 14:08:57 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-06-04 14:10:15 +0200kw(~user@152.1.137.158) (Remote host closed the connection)
2021-06-04 14:10:25 +0200mccoyb(~textual@2601:182:d000:3b50:6d20:ecfa:c38a:3ddb)
2021-06-04 14:10:42 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
2021-06-04 14:14:55 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 245 seconds)
2021-06-04 14:16:32 +0200Tuplanolla(~Tuplanoll@91-159-68-239.elisa-laajakaista.fi)
2021-06-04 14:20:40 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
2021-06-04 14:21:05 +0200ixlun(~matthew@109.249.184.235) (Read error: Connection reset by peer)
2021-06-04 14:21:05 +0200ixlun-(~matthew@109.249.184.235) (Read error: Connection reset by peer)
2021-06-04 14:21:30 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection)
2021-06-04 14:22:50 +0200ubert(~Thunderbi@p200300ecdf259d40e6b318fffe838f33.dip0.t-ipconnect.de) (Ping timeout: 244 seconds)
2021-06-04 14:24:27 +0200ddellaco_(~ddellacos@89.46.62.56)
2021-06-04 14:29:06 +0200ddellaco_(~ddellacos@89.46.62.56) (Ping timeout: 264 seconds)
2021-06-04 14:29:25 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:a54f:2e66:1417:26d8)
2021-06-04 14:32:55 +0200prite(~pritam@user/pritambaral) (Ping timeout: 272 seconds)
2021-06-04 14:33:41 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:a54f:2e66:1417:26d8) (Ping timeout: 244 seconds)
2021-06-04 14:37:18 +0200ft(~ft@shell.chaostreff-dortmund.de) (Quit: leaving)
2021-06-04 14:37:36 +0200ft(~ft@shell.chaostreff-dortmund.de)
2021-06-04 14:37:57 +0200winny(~winny@2001:19f0:5c01:1de7:5400:1ff:fec6:4ab0) (Changing host)
2021-06-04 14:37:57 +0200winny(~winny@user/winny)
2021-06-04 14:39:50 +0200berberman(~berberman@user/berberman) (Ping timeout: 272 seconds)
2021-06-04 14:40:09 +0200berberman(~berberman@user/berberman)
2021-06-04 14:42:03 +0200dunkeln(~dunkeln@94.129.65.28)
2021-06-04 14:43:22 +0200waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd)
2021-06-04 14:43:33 +0200ddellaco_(~ddellacos@89.46.62.45)
2021-06-04 14:43:38 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
2021-06-04 14:43:40 +0200shriekingnoise(~shrieking@186.137.144.80) (Ping timeout: 245 seconds)
2021-06-04 14:45:41 +0200Tuplanolla(~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.)
2021-06-04 14:48:42 +0200ddellaco_(~ddellacos@89.46.62.45) (Ping timeout: 272 seconds)
2021-06-04 14:49:05 +0200peterhil(~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi)
2021-06-04 14:49:23 +0200reumeth(~reumeth@user/reumeth)
2021-06-04 14:54:10 +0200Kaiepi(~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) (Remote host closed the connection)
2021-06-04 14:55:24 +0200AgentM(~agentm@pool-162-83-130-212.nycmny.fios.verizon.net)
2021-06-04 14:56:57 +0200reumeth(~reumeth@user/reumeth) (Quit: reumeth)
2021-06-04 14:58:48 +0200kuribas(~user@ptr-25vy0iaefdcx0vu09ud.18120a2.ip6.access.telenet.be) (Quit: ERC (IRC client for Emacs 26.3))
2021-06-04 15:00:11 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
2021-06-04 15:00:20 +0200ddellaco_(~ddellacos@89.46.62.58)
2021-06-04 15:01:11 +0200alx741(~alx741@186.178.108.209)
2021-06-04 15:05:13 +0200ddellaco_(~ddellacos@89.46.62.58) (Ping timeout: 272 seconds)
2021-06-04 15:05:21 +0200jlamothe(~jlamothe@198.251.57.81) (Quit: leaving)
2021-06-04 15:07:25 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection)
2021-06-04 15:07:29 +0200ubert(~Thunderbi@p200300ecdf259d40e6b318fffe838f33.dip0.t-ipconnect.de)
2021-06-04 15:07:34 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
2021-06-04 15:09:21 +0200reumeth(~reumeth@user/reumeth)
2021-06-04 15:14:01 +0200wei2912(~wei2912@112.199.250.21) (Quit: Lost terminal)
2021-06-04 15:15:33 +0200ddellaco_(~ddellacos@86.106.121.58)
2021-06-04 15:17:12 +0200waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 272 seconds)
2021-06-04 15:17:18 +0200 <dminuoso> absence: I guess what you could do, is set up a simple loop with an MVar that takes from the mvar and throwTo's. And then you can have your callback put to the MVar.
2021-06-04 15:17:26 +0200zebrag(~chris@user/zebrag)
2021-06-04 15:17:40 +0200 <dminuoso> If you are in need of this style
2021-06-04 15:20:19 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.2-dev)
2021-06-04 15:20:35 +0200 <dminuoso> something along the lines of: do { tid <- myThreadId; mvar <- newEmptyMVar @(); forkIO ( takeMVar mvar >> throwTo someEx tid ); do_the_ffi (putMVar mvar ()) }
2021-06-04 15:21:56 +0200 <dminuoso> Probably better yet, use a specific token like `data Tok = Kill | NeverKill` for the mvar.
2021-06-04 15:22:55 +0200ddellacosta(~ddellacos@89.45.224.40) (Remote host closed the connection)
2021-06-04 15:23:06 +0200ddellacosta(~ddellacos@89.45.224.40)
2021-06-04 15:23:42 +0200ddellacosta(~ddellacos@89.45.224.40) (Remote host closed the connection)
2021-06-04 15:25:58 +0200jlamothe(~jlamothe@198.251.57.81)
2021-06-04 15:26:29 +0200geekosaur(~geekosaur@069-135-003-034.biz.spectrum.com)
2021-06-04 15:26:58 +0200oxide(~lambda@user/oxide)
2021-06-04 15:27:20 +0200ddellaco_(~ddellacos@86.106.121.58) (Ping timeout: 272 seconds)
2021-06-04 15:27:21 +0200ddellacosta(~ddellacos@86.106.121.100)
2021-06-04 15:32:01 +0200slowButPresent(~slowButPr@user/slowbutpresent)
2021-06-04 15:32:13 +0200Kaiepi(~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net)
2021-06-04 15:38:52 +0200 <gentauro> anybody know why `hakyll` is not on Stack LTS? https://www.stackage.org/lts-17.14/hoogle?q=hakyll
2021-06-04 15:39:03 +0200 <gentauro> only a `hakyll-convert` package
2021-06-04 15:39:19 +0200 <gentauro> it is on hackage though https://hackage.haskell.org/package/hakyll
2021-06-04 15:40:53 +0200chomwitt(~Pitsikoko@athedsl-20549.home.otenet.gr)
2021-06-04 15:43:18 +0200mikoto-chan(~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be)
2021-06-04 15:44:26 +0200zebrag(~chris@user/zebrag) (Quit: Konversation terminated!)
2021-06-04 15:44:46 +0200zebrag(~chris@user/zebrag)
2021-06-04 15:46:39 +0200prite(~pritam@user/pritambaral)
2021-06-04 15:54:02 +0200Typedfern(~Typedfern@185.red-83-57-142.dynamicip.rima-tde.net) (Remote host closed the connection)
2021-06-04 15:54:35 +0200neurocyte0(~cj@user/neurocyte)
2021-06-04 15:55:14 +0200bontaq(~user@ool-18e47f8d.dyn.optonline.net)
2021-06-04 15:55:57 +0200ddellaco_(~ddellacos@89.45.224.222)
2021-06-04 15:56:31 +0200Typedfern(~Typedfern@185.red-83-57-142.dynamicip.rima-tde.net)
2021-06-04 15:58:37 +0200mccoyb(~textual@2601:182:d000:3b50:6d20:ecfa:c38a:3ddb) (Quit: My MacBook Air has gone to sleep. ZZZzzz…)
2021-06-04 15:59:00 +0200mccoyb(~textual@2601:182:d000:3b50:6d20:ecfa:c38a:3ddb)
2021-06-04 16:00:54 +0200ddellaco_(~ddellacos@89.45.224.222) (Ping timeout: 272 seconds)
2021-06-04 16:07:22 +0200__monty__(~toonn@user/toonn)
2021-06-04 16:07:24 +0200 <maerwald> I found stackage to be always ad-hoc, so I'm not sure you can find such specific answers
2021-06-04 16:07:48 +0200jakalx(~jakalx@base.jakalx.net) (Error from remote client)
2021-06-04 16:07:52 +0200dunkeln(~dunkeln@94.129.65.28) (Ping timeout: 272 seconds)
2021-06-04 16:09:52 +0200azeem(~azeem@dynamic-adsl-94-34-34-125.clienti.tiscali.it)
2021-06-04 16:11:40 +0200neurocyte0(~cj@user/neurocyte) (Quit: The Lounge - https://thelounge.chat)
2021-06-04 16:12:03 +0200neurocyte8(~neurocyte@46.243.85.149)
2021-06-04 16:12:03 +0200neurocyte8(~neurocyte@46.243.85.149) (Changing host)
2021-06-04 16:12:03 +0200neurocyte8(~neurocyte@user/neurocyte)
2021-06-04 16:12:47 +0200neurocyte8(~neurocyte@user/neurocyte) ()
2021-06-04 16:13:44 +0200neurocyte8(~neurocyte@user/neurocyte)
2021-06-04 16:16:23 +0200neurocyte(~neurocyte@user/neurocyte)
2021-06-04 16:16:30 +0200prite(~pritam@user/pritambaral) (Ping timeout: 264 seconds)
2021-06-04 16:16:57 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
2021-06-04 16:17:16 +0200 <maralorn> gentauro: I mean being on hackage is really not surprising. Nearly every released Haskell project is (and ought to be) on hackage.
2021-06-04 16:17:30 +0200node-sh_(~node-sh@2401:4900:3b35:3eeb:4436:453f:b702:b275)
2021-06-04 16:18:52 +0200 <maralorn> From a nixos perspective I can attest, that hakyll is a bit brittle in regards to version changes in it’s dependencies. It breaks quite often. So I am not surprised that it’s not in stackage, because that would be no small maintenance overhead.
2021-06-04 16:20:47 +0200node-sh(~node-sh@2401:4900:3b29:78ba:5b23:3841:af60:74fd) (Ping timeout: 272 seconds)
2021-06-04 16:22:37 +0200neurocyte(~neurocyte@user/neurocyte) (Quit: WeeChat 3.1)
2021-06-04 16:22:37 +0200neurocyte8neurocyte
2021-06-04 16:23:17 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Remote host closed the connection)
2021-06-04 16:24:59 +0200Philonous(~Philonous@user/philonous) (Quit: ZNC - https://znc.in)
2021-06-04 16:25:01 +0200xff0x_(~xff0x@2001:1a81:5380:1300:5388:81f5:5499:71d2) (Ping timeout: 272 seconds)
2021-06-04 16:25:29 +0200Philonous(~Philonous@user/philonous)
2021-06-04 16:25:44 +0200xff0x_(~xff0x@2001:1a81:5380:1300:eaf6:35b0:7601:60c2)
2021-06-04 16:29:17 +0200ddellaco_(~ddellacos@89.45.224.222)
2021-06-04 16:29:20 +0200Sgeo(~Sgeo@user/sgeo)
2021-06-04 16:30:03 +0200dwt_(~dwt_@c-98-200-58-177.hsd1.tx.comcast.net) (Ping timeout: 265 seconds)
2021-06-04 16:31:01 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:a54f:2e66:1417:26d8)
2021-06-04 16:31:34 +0200 <maerwald> isn't proper maintenance the point of stackage?
2021-06-04 16:33:10 +0200o1lo01ol1o(~o1lo01ol1@c-73-10-81-85.hsd1.nj.comcast.net)
2021-06-04 16:33:40 +0200ddellaco_(~ddellacos@89.45.224.222) (Ping timeout: 245 seconds)
2021-06-04 16:33:46 +0200kw(~user@2605:a601:a615:f600:601:15f2:ebf9:271)
2021-06-04 16:35:24 +0200jakalx(~jakalx@base.jakalx.net)
2021-06-04 16:35:47 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:a54f:2e66:1417:26d8) (Ping timeout: 272 seconds)
2021-06-04 16:36:26 +0200neurocyte(~neurocyte@user/neurocyte) (Quit: The Lounge - https://thelounge.chat)
2021-06-04 16:37:15 +0200malvo(~malvo@malvo.org) (Ping timeout: 272 seconds)
2021-06-04 16:37:58 +0200ixlun(~matthew@109.249.184.235)
2021-06-04 16:38:00 +0200ixlun-(~matthew@109.249.184.235)
2021-06-04 16:39:34 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
2021-06-04 16:39:34 +0200neurocyte(~neurocyte@user/neurocyte)
2021-06-04 16:39:35 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-06-04 16:43:23 +0200bfrk(~Thunderbi@200116b845d01a0023133a647a2f786d.dip.versatel-1u1.de) (Ping timeout: 272 seconds)
2021-06-04 16:44:12 +0200dunkeln(~dunkeln@94.129.65.28)
2021-06-04 16:44:22 +0200 <gentauro> maralorn: got it. Yeah it kind of breaks "a lot"
2021-06-04 16:44:56 +0200 <gentauro> maerwald: stackage has the LTS (long-term-support) so I guess it's the main point
2021-06-04 16:46:10 +0200azeem(~azeem@dynamic-adsl-94-34-34-125.clienti.tiscali.it) (Ping timeout: 245 seconds)
2021-06-04 16:46:14 +0200 <maralorn> maerwald: Well you need somebody who cares about the package.
2021-06-04 16:46:32 +0200 <maralorn> But of course. That is the point.
2021-06-04 16:46:40 +0200fendor_fendor
2021-06-04 16:46:59 +0200fm(~fm@user/fm) (Quit: fm)
2021-06-04 16:49:20 +0200malvo(~malvo@malvo.org)
2021-06-04 16:51:26 +0200allbery_b(~geekosaur@069-135-003-034.biz.spectrum.com)
2021-06-04 16:53:11 +0200geekosaur(~geekosaur@069-135-003-034.biz.spectrum.com) (Ping timeout: 244 seconds)
2021-06-04 16:53:26 +0200larkfisherman(~larkfishe@217.75.204.126)
2021-06-04 16:53:28 +0200node-sh_(~node-sh@2401:4900:3b35:3eeb:4436:453f:b702:b275) (Ping timeout: 272 seconds)
2021-06-04 16:53:47 +0200dhil(~dhil@195.213.192.47) (Ping timeout: 252 seconds)
2021-06-04 16:55:35 +0200 <dminuoso> What is the exact decision process whether something ends up in a stackage resolver?
2021-06-04 16:55:40 +0200 <dminuoso> Who decides on what criteria?
2021-06-04 16:57:02 +0200allbery_bgeekosaur
2021-06-04 16:58:52 +0200oxide(~lambda@user/oxide) (Ping timeout: 244 seconds)
2021-06-04 16:59:03 +0200node-sh_(~node-sh@2401:4900:3b35:3eeb:4436:453f:b702:b275)
2021-06-04 16:59:17 +0200 <maerwald> I've asked that many times too and never got an answer
2021-06-04 16:59:59 +0200azeem(~azeem@dynamic-adsl-94-34-34-125.clienti.tiscali.it)
2021-06-04 17:00:48 +0200oxide(~lambda@user/oxide)
2021-06-04 17:00:51 +0200ddellaco_(~ddellacos@89.46.62.196)
2021-06-04 17:01:09 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-06-04 17:05:01 +0200dut(~dut@user/dut) (Quit: Leaving)
2021-06-04 17:05:01 +0200learner-monad(~ehanneken@user/learner-monad)
2021-06-04 17:05:32 +0200 <adamse> https://github.com/commercialhaskell/stackage/blob/master/MAINTAINERS.md#adding-a-package explains it, doesn't it?
2021-06-04 17:05:42 +0200ddellaco_(~ddellacos@89.46.62.196) (Ping timeout: 264 seconds)
2021-06-04 17:07:53 +0200 <maerwald> adamse: not really. That's about adding a package, it doesn't explain maintenance process, policies, etc
2021-06-04 17:08:16 +0200 <maerwald> so from what I see this is just a CI workflow
2021-06-04 17:08:27 +0200 <maerwald> and nothing else
2021-06-04 17:11:47 +0200Guest38(~textual@188-182-241-27-dynamic.dk.customer.tdc.net) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-06-04 17:13:40 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds)
2021-06-04 17:15:08 +0200larkfisherman(~larkfishe@217.75.204.126) (Quit: Leaving)
2021-06-04 17:20:01 +0200Torro(Torro@gateway/vpn/protonvpn/torro) (Quit: leaving)
2021-06-04 17:24:11 +0200myShoggoth(~myShoggot@97-120-89-117.ptld.qwest.net)
2021-06-04 17:25:07 +0200xff0x_(~xff0x@2001:1a81:5380:1300:eaf6:35b0:7601:60c2) (Ping timeout: 268 seconds)
2021-06-04 17:25:54 +0200xff0x_(~xff0x@2001:1a81:5380:1300:5902:1ae3:48e2:5ce8)
2021-06-04 17:29:54 +0200chaosite(~chaosite@user/chaosite)
2021-06-04 17:35:19 +0200benin03(~benin@183.82.207.15)
2021-06-04 17:38:52 +0200dpl_(~dpl@77-121-78-163.chn.volia.net) (Quit: dpl_)
2021-06-04 17:39:00 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:2510:e0bc:659d:298) (Quit: WeeChat 2.8)
2021-06-04 17:41:36 +0200ddellaco_(~ddellacos@89.45.224.66)
2021-06-04 17:42:37 +0200Ariakenom(~Ariakenom@2001:9b1:efb:fc00:dc99:9b3a:b6b8:6bb9)
2021-06-04 17:44:45 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:a54f:2e66:1417:26d8)
2021-06-04 17:46:42 +0200ddellaco_(~ddellacos@89.45.224.66) (Ping timeout: 268 seconds)
2021-06-04 17:48:41 +0200pe200012(~pe200012@218.107.17.245) (Ping timeout: 245 seconds)
2021-06-04 17:48:51 +0200pe200012(~pe200012@218.107.17.245)
2021-06-04 17:53:26 +0200hnOsmium0001(uid453710@id-453710.stonehaven.irccloud.com)
2021-06-04 17:54:38 +0200thelounge92(~thelounge@cpe-23-240-28-18.socal.res.rr.com) (Read error: Connection reset by peer)
2021-06-04 17:55:01 +0200thelounge92(~thelounge@cpe-23-240-28-18.socal.res.rr.com)
2021-06-04 17:56:22 +0200awth13(~user@193.27.14.133)
2021-06-04 17:56:48 +0200dario(~dario@8.43.122.4) (Ping timeout: 272 seconds)
2021-06-04 17:57:26 +0200boioioing(~boioioing@cpe-76-84-141-127.neb.res.rr.com) (Ping timeout: 272 seconds)
2021-06-04 17:58:24 +0200benin03(~benin@183.82.207.15) (Remote host closed the connection)
2021-06-04 17:58:27 +0200smitopsmitop2
2021-06-04 17:58:41 +0200myShoggoth(~myShoggot@97-120-89-117.ptld.qwest.net) (Ping timeout: 252 seconds)
2021-06-04 17:58:54 +0200myShoggoth(~myShoggot@97-120-89-117.ptld.qwest.net)
2021-06-04 17:59:03 +0200derelict(~winter@2603-6011-f901-9e5b-aed0-a4c6-fbb9-1828.res6.spectrum.com)
2021-06-04 18:04:16 +0200 <maralorn> My impression was: Anyone can add whatever they want. When it breaks and they can‘t or won‘t fix it, it goes out.
2021-06-04 18:04:26 +0200smitop(~smitop@user/smitop)
2021-06-04 18:05:10 +0200 <geekosaur> I'm under the impression it's up to the package maintainer to keep it building with stackage (this has happened to xmonad-contrib a few times)
2021-06-04 18:06:10 +0200pera(~pera@user/pera) (Ping timeout: 245 seconds)
2021-06-04 18:06:43 +0200chomwitt(~Pitsikoko@athedsl-20549.home.otenet.gr) (Ping timeout: 265 seconds)
2021-06-04 18:06:47 +0200amahl(~amahl@dxv5skyjn4s74c7h9slvt-3.rev.dnainternet.fi)
2021-06-04 18:08:51 +0200 <dsal> I'm right at the worst intersection of stack and nix. I can't build my old project because nix doesn't have the old compiler I specified. I can't update it because a bunch of packages have upper bounds defined.
2021-06-04 18:09:08 +0200justsomeguy(~justsomeg@user/justsomeguy) (Ping timeout: 252 seconds)
2021-06-04 18:09:45 +0200 <maralorn> dsal: Any way we can help you?
2021-06-04 18:10:08 +0200 <dsal> Does anyone know how I can get ghc865 available? error: attribute 'ghc865' missing, at (string):1:48
2021-06-04 18:10:26 +0200 <dsal> (my attempts to abandon stack haven't been successful yet)
2021-06-04 18:10:39 +0200 <maralorn> dsal: Well, your best bet is pinning an older nixpkgs.
2021-06-04 18:10:55 +0200 <dsal> Is that a thing I can do for an individual project?
2021-06-04 18:11:04 +0200 <maralorn> dsal: Yeah, definitely.
2021-06-04 18:11:05 +0200neurocyte(~neurocyte@user/neurocyte) (WeeChat 3.1)
2021-06-04 18:11:13 +0200 <maralorn> You can even do it in the stack.yaml
2021-06-04 18:11:16 +0200 <maralorn> I think
2021-06-04 18:11:34 +0200Deide(~Deide@wire.desu.ga)
2021-06-04 18:11:34 +0200Deide(~Deide@wire.desu.ga) (Changing host)
2021-06-04 18:11:34 +0200Deide(~Deide@user/deide)
2021-06-04 18:11:35 +0200abrar(~abrar@static-108-2-152-54.phlapa.fios.verizon.net) (Ping timeout: 245 seconds)
2021-06-04 18:12:44 +0200 <dsal> Hmm... OK. This will be useful info. I have one system where things haven't been updated and I can build my package. How can I find out what that's using that makes it work and then transfer it to this new thing?
2021-06-04 18:12:49 +0200 <dsal> Related: I need to learn nix better.
2021-06-04 18:12:51 +0200 <maralorn> dsal: https://docs.haskellstack.org/en/stable/nix_integration/#package-sources
2021-06-04 18:13:57 +0200ddellaco_(~ddellacos@86.106.143.209)
2021-06-04 18:14:27 +0200 <maralorn> dsal: By the way you could try using ghc865Binary that attribute still exists.
2021-06-04 18:14:57 +0200 <dsal> stack is the thing specifying that.
2021-06-04 18:15:04 +0200abrar(~abrar@static-108-2-152-54.phlapa.fios.verizon.net)
2021-06-04 18:15:14 +0200danidiaz(~ESDPC@static-172-64-63-95.ipcom.comunitel.net)
2021-06-04 18:17:01 +0200boioioing(~boioioing@cpe-76-84-141-127.neb.res.rr.com)
2021-06-04 18:18:11 +0200 <maralorn> Hm, I see. I there has to be a way to override that …
2021-06-04 18:19:02 +0200ddellaco_(~ddellacos@86.106.143.209) (Ping timeout: 252 seconds)
2021-06-04 18:19:19 +0200 <dsal> The docs there don't seem very rich. I don't seem to be able to use a URL in the paths thing, either.
2021-06-04 18:19:37 +0200 <maralorn> You don’t? That’s a bummer.
2021-06-04 18:20:10 +0200 <maralorn> A stupid solution that could at least prove viability of the approach would be checking nixpkgs out locally, manually adding an alias from ghc865 -> ghc865Binary and see what happens.
2021-06-04 18:20:34 +0200 <maralorn> But at this point someone who actually uses stack would be more help to you …
2021-06-04 18:20:53 +0200econo(uid147250@user/econo)
2021-06-04 18:21:13 +0200 <maralorn> I remember peti removing 865 but I don‘t remember exactly when it happened.
2021-06-04 18:22:42 +0200 <dsal> It might just be that I'm specifying this older packages thing incorrectly.
2021-06-04 18:23:18 +0200 <maralorn> Somewhere between April and the 11th of February ghc865 got dropped.
2021-06-04 18:26:05 +0200 <maralorn> dsal: Yeah, I think to use nix-path you need a local copy of nixpkgs. One way would be to add it as a nix-channel.
2021-06-04 18:26:20 +0200 <maralorn> But that’s kinda non-local so not very cool.
2021-06-04 18:26:37 +0200 <dsal> I tried adding https://nixos.org/channels/nixpkgs-20.09-darwin (and .03) and neither seemed to get things working.
2021-06-04 18:27:22 +0200 <maralorn> :-(
2021-06-04 18:27:46 +0200 <dsal> Yeah, I can't find that package. This built in The Past™ at least.
2021-06-04 18:29:14 +0200 <maralorn> Maybe the most flexible thing you can do is writing a shell.nix without a `{ghc}` argument. That might work. And then you can just manually pick the ghc out of nixpkgs.
2021-06-04 18:29:55 +0200nschoe(~quassel@2a01:e0a:8e:a190:4986:fc3e:f94f:76cf) (Ping timeout: 265 seconds)
2021-06-04 18:29:57 +0200 <dsal> Oh, I *can* specify a URL in paths, but it's the same problem of not being able to find the thing.
2021-06-04 18:30:35 +0200 <maralorn> Maybe you can paste an error message?
2021-06-04 18:30:52 +0200 <dsal> The error message is just: error: attribute 'ghc865' missing, at (string):1:48
2021-06-04 18:31:00 +0200 <maralorn> Okay
2021-06-04 18:31:13 +0200 <maralorn> What exactly did you write into the path?
2021-06-04 18:31:19 +0200 <dsal> path: [https://nixos.org/channels/nixpkgs-20.03-darwin/nixexprs.tar.xz]
2021-06-04 18:31:44 +0200 <dsal> That's the first thing that didn't issue a warning that it didn't work at all. I otherwise added all the nix-channels manually.
2021-06-04 18:31:59 +0200 <maralorn> It needs to be path: [nixpkgs=https://nixos.org/channels/nixpkgs-20.03-darwin/nixexprs.tar.xz]
2021-06-04 18:32:14 +0200 <maralorn> The other thing wouldn‘t have an effect.
2021-06-04 18:32:41 +0200 <maralorn> And when that errors urls just don‘t work.
2021-06-04 18:32:53 +0200 <dsal> It was giving me a warning when I got the path wrong.
2021-06-04 18:33:18 +0200 <dsal> In any case, that didn't give the *same* error... so that's nice.
2021-06-04 18:33:32 +0200 <dsal> This might actually be working.
2021-06-04 18:33:32 +0200 <maralorn> \o/
2021-06-04 18:33:43 +0200 <dsal> I'll know in a while, I guess. Thanks!
2021-06-04 18:34:13 +0200boxscape(~boxscape@user/boxscape) (Quit: Connection closed)
2021-06-04 18:34:33 +0200 <dsal> Now to find out what that does on Linux...
2021-06-04 18:34:48 +0200node-sh_(~node-sh@2401:4900:3b35:3eeb:4436:453f:b702:b275) (Ping timeout: 272 seconds)
2021-06-04 18:35:17 +0200Scotty_Trees(~Scotty_Tr@162-234-179-169.lightspeed.brhmal.sbcglobal.net) (Quit: Leaving)
2021-06-04 18:35:58 +0200boxscape(~boxscape@user/boxscape)
2021-06-04 18:36:53 +0200siraben(~siraben@user/siraben) (Quit: node-irc says goodbye)
2021-06-04 18:36:53 +0200psydroid(~psydroidm@user/psydroid) (Quit: node-irc says goodbye)
2021-06-04 18:36:53 +0200sm[m](~sm@plaintextaccounting/sm) (Quit: node-irc says goodbye)
2021-06-04 18:36:53 +0200MatrixTravelerbo(~voyagert2@2001:470:69fc:105::22) (Quit: node-irc says goodbye)
2021-06-04 18:36:53 +0200ac(~aloiscoch@2001:470:69fc:105::65) (Quit: node-irc says goodbye)
2021-06-04 18:36:53 +0200maerwald[m](~maerwaldm@2001:470:69fc:105::1ee) (Quit: node-irc says goodbye)
2021-06-04 18:36:53 +0200maralorn(~maralorn@2001:470:69fc:105::251) (Quit: node-irc says goodbye)
2021-06-04 18:36:53 +0200peddie(~peddie@2001:470:69fc:105::25d) (Quit: node-irc says goodbye)
2021-06-04 18:36:53 +0200fabfianda[m](~fabfianda@2001:470:69fc:105::6db) (Quit: node-irc says goodbye)
2021-06-04 18:36:53 +0200fgaz(~fgaz@2001:470:69fc:105::842) (Quit: node-irc says goodbye)
2021-06-04 18:36:53 +0200the-coot[m](~the-cootm@2001:470:69fc:105::95f) (Quit: node-irc says goodbye)
2021-06-04 18:36:53 +0200srid[m](~sridmatri@2001:470:69fc:105::1c2) (Quit: node-irc says goodbye)
2021-06-04 18:36:53 +0200hjulle[m](~hjullemat@2001:470:69fc:105::1dd) (Quit: node-irc says goodbye)
2021-06-04 18:36:53 +0200jaror[m](~jaror@2001:470:69fc:105::265) (Quit: node-irc says goodbye)
2021-06-04 18:36:53 +0200cdsmith(~cdsmithma@2001:470:69fc:105::284) (Quit: node-irc says goodbye)
2021-06-04 18:36:53 +0200ru0mad[m](~ru0madmat@2001:470:69fc:105::9b2) (Quit: node-irc says goodbye)
2021-06-04 18:36:53 +0200Drezil(~drezilkif@2001:470:69fc:105::7f8) (Quit: node-irc says goodbye)
2021-06-04 18:36:53 +0200cdepillabout[m](~cdepillab@2001:470:69fc:105::3d3) (Quit: node-irc says goodbye)
2021-06-04 18:36:53 +0200kosmikus[m](~andresloe@2001:470:69fc:105::95d) (Quit: node-irc says goodbye)
2021-06-04 18:36:53 +0200adziahel[m](~adziahelm@2001:470:69fc:105::b4d) (Quit: node-irc says goodbye)
2021-06-04 18:36:53 +0200tomferon[m](~tomferon@2001:470:69fc:105::268) (Quit: node-irc says goodbye)
2021-06-04 18:36:53 +0200Morrow[m](~morrowmma@2001:470:69fc:105::1d0) (Quit: node-irc says goodbye)
2021-06-04 18:36:53 +0200Artem[m](~artemtype@2001:470:69fc:105::75b) (Quit: node-irc says goodbye)
2021-06-04 18:36:53 +0200marinelli[m](~marinelli@2001:470:69fc:105::2d8) (Quit: node-irc says goodbye)
2021-06-04 18:36:53 +0200Las[m](~lasmatrix@2001:470:69fc:105::74e) (Quit: node-irc says goodbye)
2021-06-04 18:36:53 +0200zwro[m](~zwromatri@2001:470:69fc:105::1d4) (Quit: node-irc says goodbye)
2021-06-04 18:36:53 +0200amesgen[m](~amesgenam@2001:470:69fc:105::82b) (Quit: node-irc says goodbye)
2021-06-04 18:36:53 +0200Soft(~soft-matr@2001:470:69fc:105::c75) (Quit: node-irc says goodbye)
2021-06-04 18:36:53 +0200bb010g(~bb010gmat@2001:470:69fc:105::9a5) (Quit: node-irc says goodbye)
2021-06-04 18:36:53 +0200eddiemundo(~eddiemund@2001:470:69fc:105::a9c) (Quit: node-irc says goodbye)
2021-06-04 18:37:47 +0200maerwald[m](~maerwaldm@2001:470:69fc:105::1ee)
2021-06-04 18:40:01 +0200ac(~aloiscoch@2001:470:69fc:105::65)
2021-06-04 18:40:01 +0200siraben(~siraben@user/siraben)
2021-06-04 18:40:01 +0200sm[m](~sm@plaintextaccounting/sm)
2021-06-04 18:40:02 +0200MatrixTravelerbo(~voyagert2@2001:470:69fc:105::22)
2021-06-04 18:40:02 +0200psydroid(~psydroidm@2001:470:69fc:105::165)
2021-06-04 18:40:02 +0200fgaz(~fgaz@2001:470:69fc:105::842)
2021-06-04 18:40:02 +0200maralorn(~maralorn@2001:470:69fc:105::251)
2021-06-04 18:40:02 +0200peddie(~peddie@2001:470:69fc:105::25d)
2021-06-04 18:40:02 +0200ru0mad[m](~ru0madmat@2001:470:69fc:105::9b2)
2021-06-04 18:40:02 +0200fabfianda[m](~fabfianda@2001:470:69fc:105::6db)
2021-06-04 18:40:03 +0200Las[m](~lasmatrix@2001:470:69fc:105::74e)
2021-06-04 18:40:03 +0200the-coot[m](~the-cootm@2001:470:69fc:105::95f)
2021-06-04 18:40:13 +0200hjulle[m](~hjullemat@2001:470:69fc:105::1dd)
2021-06-04 18:40:14 +0200Morrow[m](~morrowmma@2001:470:69fc:105::1d0)
2021-06-04 18:40:14 +0200tomferon[m](~tomferon@2001:470:69fc:105::268)
2021-06-04 18:40:14 +0200srid[m](~sridmatri@2001:470:69fc:105::1c2)
2021-06-04 18:40:14 +0200zwro[m](~zwromatri@2001:470:69fc:105::1d4)
2021-06-04 18:40:14 +0200marinelli[m](~marinelli@2001:470:69fc:105::2d8)
2021-06-04 18:40:15 +0200cdepillabout[m](~cdepillab@2001:470:69fc:105::3d3)
2021-06-04 18:40:15 +0200adziahel[m](~adziahelm@2001:470:69fc:105::b4d)
2021-06-04 18:40:15 +0200cdsmith(~cdsmithma@2001:470:69fc:105::284)
2021-06-04 18:40:15 +0200bb010g(~bb010gmat@2001:470:69fc:105::9a5)
2021-06-04 18:40:15 +0200Drezil(~drezilkif@2001:470:69fc:105::7f8)
2021-06-04 18:40:15 +0200Artem[m](~artemtype@2001:470:69fc:105::75b)
2021-06-04 18:40:15 +0200amesgen[m](~amesgenam@2001:470:69fc:105::82b)
2021-06-04 18:40:15 +0200kosmikus[m](~andresloe@2001:470:69fc:105::95d)
2021-06-04 18:40:15 +0200eddiemundo(~eddiemund@2001:470:69fc:105::a9c)
2021-06-04 18:40:15 +0200Soft(~soft-matr@2001:470:69fc:105::c75)
2021-06-04 18:40:15 +0200jaror[m](~jaror@2001:470:69fc:105::265)
2021-06-04 18:41:39 +0200justsomeguy(~justsomeg@user/justsomeguy)
2021-06-04 18:41:56 +0200aweinstock(~aweinstoc@cpe-67-248-65-250.nycap.res.rr.com)
2021-06-04 18:42:48 +0200sclv(sid39734@tooting.irccloud.com) (Changing host)
2021-06-04 18:42:48 +0200sclv(sid39734@haskell/developer/sclv)
2021-06-04 18:43:43 +0200 <dsal> Well, I don't think building this on my Mac is even going to be a thing. It seems that OS X broke a bunch of junk and nix struggled to keep up. Going back in time just opens old wounds.
2021-06-04 18:44:34 +0200 <dsal> But at least I know how to go back in time now. heh. Problem with nix on non-nixos, I guess. Somewhere, some compiler/linker recipe wants to link against /usr/lib/system/libcache.dylib which stopped existing at some point.
2021-06-04 18:48:15 +0200boxscape(~boxscape@user/boxscape) (Ping timeout: 245 seconds)
2021-06-04 18:48:47 +0200mpt(~tom@p57a566da.dip0.t-ipconnect.de)
2021-06-04 18:50:33 +0200tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
2021-06-04 18:50:36 +0200haltux(~haltux@a89-154-181-47.cpe.netcabo.pt)
2021-06-04 18:53:15 +0200mpt(~tom@p57a566da.dip0.t-ipconnect.de) (Ping timeout: 245 seconds)
2021-06-04 18:55:46 +0200justsomeguy(~justsomeg@user/justsomeguy) (Quit: WeeChat 3.0.1)
2021-06-04 18:55:59 +0200justsomeguy(~justsomeg@user/justsomeguy)
2021-06-04 18:57:49 +0200 <justsomeguy> I want to represent a series of evaluation steps in my notes (in lc, and haskell, and math). Is there a widely agreed upon symbol for "simplifies to"?
2021-06-04 18:58:25 +0200motherfsck(~motherfsc@user/motherfsck) (Quit: quit)
2021-06-04 18:58:42 +0200motherfsck(~motherfsc@user/motherfsck)
2021-06-04 18:59:07 +0200chomwitt(~Pitsikoko@athedsl-20549.home.otenet.gr)
2021-06-04 18:59:43 +0200 <monochrom> In big-step operational semantics, expr ⇓ value
2021-06-04 18:59:51 +0200 <opqdonut> justsomeguy: ==> is used often (as an ascii approximation of the evaluation arrow used in LaTeXed papers)
2021-06-04 19:00:30 +0200 <opqdonut> that might get confused with implication in the wrong context of course...
2021-06-04 19:00:51 +0200 <monochrom> In small-step, → or any funny arrow you like.
2021-06-04 19:02:40 +0200pe200012(~pe200012@218.107.17.245) (Ping timeout: 272 seconds)
2021-06-04 19:02:43 +0200smitop(~smitop@user/smitop) (Remote host closed the connection)
2021-06-04 19:03:23 +0200smitop(~smitop@user/smitop)
2021-06-04 19:03:39 +0200 <justsomeguy> Maybe I should avoid arrows, they have so many meaning depending on the usage. Or I suppose I can quote each evaluation step, somehow, and leave the arrows unquoted.
2021-06-04 19:06:17 +0200arjun(~user@user/arjun)
2021-06-04 19:06:24 +0200boxscape(~boxscape@user/boxscape)
2021-06-04 19:06:53 +0200Erutuon(~Erutuon@user/erutuon)
2021-06-04 19:06:58 +0200 <boxscape> My terminal seems to handle unicode characters fine, but ghc error messages and ghci in- and output only display question marks if I use e.g. a greek letter. Is there a way to fix it? (I assume so, since yahb's output seems fine)
2021-06-04 19:07:23 +0200 <boxscape> er
2021-06-04 19:07:24 +0200 <boxscape> never mind
2021-06-04 19:07:32 +0200 <boxscape> I just found the solution -.-
2021-06-04 19:07:42 +0200 <justsomeguy> What was it?
2021-06-04 19:08:03 +0200 <c_wraith> was the terminal not using utf8?
2021-06-04 19:08:05 +0200 <boxscape> well, I still have to figure it out what it was, but it turns out that if I use the ghc.nix script unicode works, so it must be somewhere in there
2021-06-04 19:08:27 +0200jumper149(~jumper149@80.240.31.34) (Quit: WeeChat 3.1)
2021-06-04 19:08:45 +0200 <boxscape> my LANG is en_US.UTF-8 without ghc.nix, is that what you are referring to c_wraith?
2021-06-04 19:08:46 +0200 <monochrom> My ghc gives "Variable not in scope: α :: Char" just fine.
2021-06-04 19:09:42 +0200 <WorldSEnder> justsomeguy: I've seen \leadsto, i.e. ↝ being used
2021-06-04 19:10:01 +0200 <monochrom> Mine is en_CA.UTF-8 so perhaps Canada is better. :)
2021-06-04 19:10:03 +0200 <c_wraith> boxscape: well, I suppose I should have been asking about the interaction between your terminal's setting and your locale settings. Because that's where the problem is going to be
2021-06-04 19:10:11 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-06-04 19:10:12 +0200 <boxscape> hm, okay
2021-06-04 19:10:20 +0200 <boxscape> I don't know a ton about this subject tbj
2021-06-04 19:10:23 +0200 <boxscape> s/j/h
2021-06-04 19:10:44 +0200 <justsomeguy> WorldSEnder: Well, that may work. At least it's not a symbol I'm using anywhere else. Where does that notation come from (or where did you see it used)?
2021-06-04 19:12:14 +0200 <WorldSEnder> If I could remember. I'll see if I can dig it up
2021-06-04 19:13:18 +0200 <justsomeguy> Thank for taking the time to do that :^)
2021-06-04 19:13:23 +0200 <justsomeguy> *Thanks
2021-06-04 19:13:28 +0200 <boxscape> okay, so, running `export LC_ALL=en_US.UTF-8` and then `sudo locale-gen` seems to have fixed it
2021-06-04 19:15:45 +0200 <boxscape> correction, the `sudo locale-gen` is irrelevant
2021-06-04 19:15:52 +0200awth13(~user@193.27.14.133) (Quit: ERC (IRC client for Emacs 27.2))
2021-06-04 19:19:23 +0200 <dsal> Specifying `path: [nixpkgs=https://nixos.org/channels/nixpkgs-20.09-darwin/nixexprs.tar.xz]` doesn't break Linux, but it doesn't fix my Mac. yay
2021-06-04 19:21:07 +0200ixlun-(~matthew@109.249.184.235) (Read error: Connection reset by peer)
2021-06-04 19:21:07 +0200ixlun(~matthew@109.249.184.235) (Read error: Connection reset by peer)
2021-06-04 19:21:34 +0200 <justsomeguy> boxscape: You may want to 'shopt -s globasciiranges' if you use bash pattern expansions like [a-z] a lot, otherwise the characters sort differently for en_US.UTF-8, to become aAbBcC….
2021-06-04 19:21:56 +0200 <boxscape> justsomeguy ah, thank you
2021-06-04 19:22:10 +0200 <WorldSEnder> https://link.springer.com/content/pdf/10.1007/978-3-030-45231-5_30.pdf uses it, but specifically for beta reduction, so I might have misremembered
2021-06-04 19:22:31 +0200 <justsomeguy> boxscape: No problemo. Locale stuff is surprisngly complex.
2021-06-04 19:23:06 +0200 <boxscape> Yeah I'm glad I haven't had to deal with it very much
2021-06-04 19:23:40 +0200awth13(~user@193.27.14.133)
2021-06-04 19:24:21 +0200ddellaco_(~ddellacos@89.46.62.83)
2021-06-04 19:25:20 +0200 <justsomeguy> Thanks for finding that for me, WorldSEnder
2021-06-04 19:27:22 +0200ddellacosta(~ddellacos@86.106.121.100) (Ping timeout: 272 seconds)
2021-06-04 19:28:26 +0200gethuen(uid502979@id-502979.stonehaven.irccloud.com)
2021-06-04 19:28:45 +0200 <WorldSEnder> no problem, I did find a SO answer that uses it now. https://cs.stackexchange.com/a/49890/93561 not much, but I'm not the only one, yay!
2021-06-04 19:31:30 +0200hololeap(hololeap@user/hololeap)
2021-06-04 19:33:40 +0200azeem(~azeem@dynamic-adsl-94-34-34-125.clienti.tiscali.it) (Ping timeout: 245 seconds)
2021-06-04 19:34:12 +0200a6a45081-2b83(~aditya@106.212.70.132)
2021-06-04 19:35:24 +0200ddellacosta(~ddellacos@86.106.143.66)
2021-06-04 19:36:18 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 264 seconds)
2021-06-04 19:37:50 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-06-04 19:39:54 +0200ddellacosta(~ddellacos@86.106.143.66) (Ping timeout: 264 seconds)
2021-06-04 19:41:21 +0200arjun(~user@user/arjun) (ERC (IRC client for Emacs 28.0.50))
2021-06-04 19:41:26 +0200Guest38(~textual@188-182-241-27-dynamic.dk.customer.tdc.net)
2021-06-04 19:44:29 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds)
2021-06-04 19:45:14 +0200azeem(~azeem@dynamic-adsl-94-34-34-125.clienti.tiscali.it)
2021-06-04 19:45:54 +0200justsomeguy(~justsomeg@user/justsomeguy) (Ping timeout: 264 seconds)
2021-06-04 19:47:37 +0200Guest38(~textual@188-182-241-27-dynamic.dk.customer.tdc.net) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-06-04 19:49:16 +0200Guest38(~textual@188-182-241-27-dynamic.dk.customer.tdc.net)
2021-06-04 19:50:23 +0200fjmorazan(~quassel@user/fjmorazan) (Quit: fjmorazan)
2021-06-04 19:50:34 +0200fjmorazan(~quassel@user/fjmorazan)
2021-06-04 19:51:29 +0200dunkeln(~dunkeln@94.129.65.28) (Ping timeout: 272 seconds)
2021-06-04 19:52:28 +0200dunkeln(~dunkeln@94.129.65.28)
2021-06-04 19:53:19 +0200hexfive(~eric@50.35.83.177)
2021-06-04 19:53:57 +0200hexfive(~eric@50.35.83.177) (Client Quit)
2021-06-04 19:55:17 +0200peterhil(~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi) (Ping timeout: 252 seconds)
2021-06-04 19:57:00 +0200dunkeln(~dunkeln@94.129.65.28) (Ping timeout: 245 seconds)
2021-06-04 19:58:16 +0200zebrag(~chris@user/zebrag) (Ping timeout: 245 seconds)
2021-06-04 19:58:49 +0200zebrag(~chris@user/zebrag)
2021-06-04 20:00:17 +0200chddr(~Thunderbi@185.183.93.82)
2021-06-04 20:01:00 +0200zebrag(~chris@user/zebrag) (Client Quit)
2021-06-04 20:01:27 +0200chddr(~Thunderbi@185.183.93.82) (Client Quit)
2021-06-04 20:02:41 +0200jakalx(~jakalx@base.jakalx.net) ()
2021-06-04 20:04:00 +0200zebrag(~chris@user/zebrag)
2021-06-04 20:04:21 +0200wallymathieu(~wallymath@81-234-151-21-no94.tbcn.telia.com)
2021-06-04 20:11:57 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:a54f:2e66:1417:26d8) (Remote host closed the connection)
2021-06-04 20:15:33 +0200taeaad(~taeaad@user/taeaad) (Quit: ZNC 1.7.5+deb4 - https://znc.in)
2021-06-04 20:16:12 +0200fresheyeball(~fresheyeb@c-71-237-105-37.hsd1.co.comcast.net)
2021-06-04 20:16:13 +0200ddellacosta(~ddellacos@86.106.121.209)
2021-06-04 20:17:28 +0200theodorc(theodorc@cassarossa.samfundet.no) (Read error: Connection reset by peer)
2021-06-04 20:18:58 +0200taeaad(~taeaad@user/taeaad)
2021-06-04 20:20:26 +0200teddyc(theodorc@cassarossa.samfundet.no)
2021-06-04 20:20:47 +0200taeaad(~taeaad@user/taeaad) (Client Quit)
2021-06-04 20:21:18 +0200ddellacosta(~ddellacos@86.106.121.209) (Ping timeout: 264 seconds)
2021-06-04 20:21:58 +0200taeaad(~taeaad@user/taeaad)
2021-06-04 20:26:07 +0200winircuser-780(~winircuse@170.250.221.149)
2021-06-04 20:27:44 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer)
2021-06-04 20:29:27 +0200bfrk(~Thunderbi@mue-88-130-48-143.dsl.tropolys.de)
2021-06-04 20:31:16 +0200Guest38(~textual@188-182-241-27-dynamic.dk.customer.tdc.net) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-06-04 20:31:53 +0200ServerStatsDisco(~serversta@2001:470:69fc:105::1a)
2021-06-04 20:32:04 +0200peterhil(~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi)
2021-06-04 20:32:45 +0200mccoyb(~textual@2601:182:d000:3b50:6d20:ecfa:c38a:3ddb) (Quit: My MacBook Air has gone to sleep. ZZZzzz…)
2021-06-04 20:34:02 +0200Guest38(~textual@188-182-241-27-dynamic.dk.customer.tdc.net)
2021-06-04 20:34:28 +0200dyeplexer(~dyeplexer@user/dyeplexer) (Remote host closed the connection)
2021-06-04 20:34:37 +0200winircuser-780(~winircuse@170.250.221.149) (Quit: Powered by WinIRC)
2021-06-04 20:43:15 +0200fresheyeball(~fresheyeb@c-71-237-105-37.hsd1.co.comcast.net) (Quit: WeeChat 2.9)
2021-06-04 20:46:20 +0200jakalx(~jakalx@base.jakalx.net)
2021-06-04 20:54:42 +0200vicfred(~vicfred@user/vicfred)
2021-06-04 20:54:55 +0200fr33domlover(~fr33domlo@angeley.es)
2021-06-04 20:55:11 +0200tinwood(~tinwood@canonical/tinwood) (Remote host closed the connection)
2021-06-04 20:55:15 +0200Baloo_(~Baloo_@141.98.255.150)
2021-06-04 20:57:31 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2021-06-04 20:58:10 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:a54f:2e66:1417:26d8)
2021-06-04 20:58:16 +0200tinwood(~tinwood@general.default.akavanagh.uk0.bigv.io)
2021-06-04 20:58:16 +0200tinwood(~tinwood@general.default.akavanagh.uk0.bigv.io) (Changing host)
2021-06-04 20:58:16 +0200tinwood(~tinwood@canonical/tinwood)
2021-06-04 21:03:37 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 265 seconds)
2021-06-04 21:03:46 +0200 <eggplantade> Is there a name for the algorithm technique of updating objects by replacing them with a pointer to newer data? It's used in garbage collection, unification, and lazy evaluation
2021-06-04 21:04:28 +0200 <lucky> eggplantade: uh, it's not the right term but maybe as a pointer since it's a related idea? copy-on-write
2021-06-04 21:13:59 +0200mpt(~tom@p57a566da.dip0.t-ipconnect.de)
2021-06-04 21:14:39 +0200 <dminuoso> eggplantade: Can you name an example where updating objects by replacing them with a pointer occurs in lazy evaluation?
2021-06-04 21:16:51 +0200a6a45081-2b83(~aditya@106.212.70.132) (Quit: Konversation terminated!)
2021-06-04 21:17:06 +0200haltux(~haltux@a89-154-181-47.cpe.netcabo.pt) (Ping timeout: 264 seconds)
2021-06-04 21:17:25 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 245 seconds)
2021-06-04 21:19:29 +0200Guest10(~Guest10@187.83.249.216.dyn.smithville.net)
2021-06-04 21:19:43 +0200 <eggplantade> A thunk can be implemented as storage for either a closure or a pointer to the closure's evaluated result. The first time the thunk is evaluated, the closure is replaced by a pointer to the evaluated result.
2021-06-04 21:19:51 +0200gaura-(~gaura@49.205.120.227)
2021-06-04 21:22:23 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-06-04 21:22:59 +0200 <gaura-> What is the best way to install haskell on windows 10?
2021-06-04 21:23:10 +0200 <maerwald> gaura-: chocolatey
2021-06-04 21:23:21 +0200 <maerwald> or you beta-test ghcup
2021-06-04 21:23:24 +0200 <maerwald> or you use stack
2021-06-04 21:23:24 +0200bfrk(~Thunderbi@mue-88-130-48-143.dsl.tropolys.de) (Ping timeout: 244 seconds)
2021-06-04 21:23:28 +0200 <Guest10> is there an idiomatic way to reorder a monadic computation based on runtime/term-level information?
2021-06-04 21:23:30 +0200 <Guest10> basically, I have something like "do (a <- monadMa; b <- monadMb; return (f a b))" but I may need to reverse the order of running a & b, and there may be many more steps in the calculation
2021-06-04 21:23:56 +0200Guest9(~Guest9@103.240.170.183)
2021-06-04 21:24:47 +0200 <dminuoso> Guest10: You can use a free monad representation to re-manipulate the structure I guess
2021-06-04 21:25:28 +0200mpt(~tom@p57a566da.dip0.t-ipconnect.de) (Ping timeout: 244 seconds)
2021-06-04 21:26:13 +0200 <dminuoso> Though, you cant do this in the general case
2021-06-04 21:28:13 +0200mastarija(~mastarija@46.188.137.31)
2021-06-04 21:28:37 +0200gaura-(~gaura@49.205.120.227) ()
2021-06-04 21:29:21 +0200 <Guest10> i'm looking into free monads; do you mean that this won't generalize naturally to larger numbers of steps?
2021-06-04 21:30:46 +0200 <maerwald> free monads aren't really free
2021-06-04 21:30:59 +0200 <maerwald> they come with a performancy cost :p
2021-06-04 21:31:13 +0200 <dminuoso> Guest10: No rather that you can't arbitrarily manipulate the structure, but you can generate it easily based on runtime information
2021-06-04 21:31:15 +0200 <monochrom> Guest10, it is not the size, but the data dependency.
2021-06-04 21:31:29 +0200 <dminuoso> And then run some interpreter on that
2021-06-04 21:31:41 +0200 <monochrom> You will have a hard time reordering ma >>= \a -> f a
2021-06-04 21:31:42 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer)
2021-06-04 21:32:17 +0200 <dminuoso> My phrasing "re-manipulate" was poorly chosen. It allows you to express the shape of the monadic computation as data itself, making it easy to express it as a runtime value
2021-06-04 21:32:30 +0200 <dminuoso> This lets you decouple generating the shape from running it
2021-06-04 21:32:42 +0200 <Guest10> oh i see
2021-06-04 21:33:08 +0200 <Guest10> actually that gives me an idea...maybe i could just generate all possible permutations of the calculation order and pick one at runtime?
2021-06-04 21:33:09 +0200 <dminuoso> You might not even need a full blown free monad, consider whether perhaps a simple command interpreter is enough
2021-06-04 21:33:45 +0200 <dminuoso> I dont know enough about your problem domain to say
2021-06-04 21:34:21 +0200AgentM(~agentm@pool-162-83-130-212.nycmny.fios.verizon.net) (Quit: Leaving.)
2021-06-04 21:34:41 +0200 <dminuoso> eggplantade: Im not well versed in STG, I thought the closure wasnt replaced, but rather that the entry code was rewritten to return a value written inside that same closure.
2021-06-04 21:34:54 +0200 <dminuoso> such that the outside pointer remains unchanged
2021-06-04 21:36:38 +0200 <monochrom> No, no code is ever rewritten/overwritten.
2021-06-04 21:36:40 +0200 <eggplantade> Data in the STG is a closure that returns itself, isn't it?
2021-06-04 21:37:03 +0200 <dminuoso> monochrom: How does the self update work then?
2021-06-04 21:37:30 +0200 <monochrom> But, you can always in-place change "Closure ptr_to_code ptr_to_param" to "Value ptr_to_value_on_heap"
2021-06-04 21:38:21 +0200 <monochrom> And when the next GC happens, the "Value ptr_to_value_on_heap" is eliminated.
2021-06-04 21:38:33 +0200 <monochrom> (because it's a middle-person)
2021-06-04 21:39:28 +0200 <dminuoso> Guess its time to download stgi.
2021-06-04 21:39:33 +0200 <dminuoso> See if it still builds :)
2021-06-04 21:39:42 +0200arjun(~user@user/arjun)
2021-06-04 21:39:50 +0200bfrk(~Thunderbi@200116b845d01a0023133a647a2f786d.dip.versatel-1u1.de)
2021-06-04 21:40:05 +0200 <monochrom> Did you know of https://github.com/takenobu-hs/haskell-ghc-illustrated ?
2021-06-04 21:40:43 +0200 <dminuoso> I think I have seen it a long long time ago. Probably when I was really new to Haskell
2021-06-04 21:40:49 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-06-04 21:42:11 +0200 <monochrom> I think it's very valuable to revisit it now. You are now in a position to understand everything it says. :)
2021-06-04 21:42:17 +0200ubert1(~Thunderbi@p200300ecdf259df0e6b318fffe838f33.dip0.t-ipconnect.de)
2021-06-04 21:42:25 +0200boxscape(~boxscape@user/boxscape) (Ping timeout: 245 seconds)
2021-06-04 21:42:31 +0200 <monochrom> It does have one slide "Thunk and update" for this one.
2021-06-04 21:43:03 +0200 <arjun> that looks like a nice weekend read monochrom
2021-06-04 21:43:19 +0200 <monochrom> I think the slide set is very good preparation before reading the STG papers etc.
2021-06-04 21:43:35 +0200ubert(~Thunderbi@p200300ecdf259d40e6b318fffe838f33.dip0.t-ipconnect.de) (Ping timeout: 272 seconds)
2021-06-04 21:43:35 +0200ubert1ubert
2021-06-04 21:44:13 +0200 <monochrom> You can also use it as reference material. (I do.) You skim it to know which questions it answers. Then put it aside. When one day you really need an answer, go again.
2021-06-04 21:45:15 +0200 <monochrom> E.g., I didn't learn the thread stuff until I really had an urge to.
2021-06-04 21:45:17 +0200fluffyballoon(~fluffybal@pat-verona-h.epic.com)
2021-06-04 21:45:42 +0200 <monochrom> I'll use this analogy.
2021-06-04 21:46:17 +0200lavaman(~lavaman@98.38.249.169)
2021-06-04 21:46:32 +0200 <monochrom> the academic papers and even some of GHC wiki : sheet music, the full score of a two-hour-bloody-long symphony
2021-06-04 21:46:37 +0200boxscape(~boxscape@user/boxscape)
2021-06-04 21:46:50 +0200 <monochrom> those slides : a performance of that music
2021-06-04 21:47:12 +0200 <monochrom> For most of us, it makes sense to listen to a performance before reading the score. :)
2021-06-04 21:47:58 +0200 <arjun> monochrom: are you refering to the pdf doc as 'slides'?
2021-06-04 21:47:59 +0200 <monochrom> (BTW who actually wrote a two-hour-bloody-long symphony? Answer: Mahler. :) )
2021-06-04 21:48:04 +0200 <monochrom> Yeah.
2021-06-04 21:48:22 +0200 <arjun> aw'ight
2021-06-04 21:48:36 +0200mpt(~tom@p57a566da.dip0.t-ipconnect.de)
2021-06-04 21:48:45 +0200 <monochrom> So yeah, you have your weekend 4-hour opera-listening afternoon planned now :)
2021-06-04 21:49:05 +0200 <arjun> i am confused. am i being talked to ? : P
2021-06-04 21:49:10 +0200 <monochrom> yeah :)
2021-06-04 21:49:18 +0200 <arjun> right. yea
2021-06-04 21:49:41 +0200 <arjun> i am at that awkward stage anyway. not really a beginner, not really a pro
2021-06-04 21:50:36 +0200 <monochrom> In that case, it's similar to me, there are some parts you are ready to pay attention to, and some other parts you just keep in mind "this exists, I'll come back later".
2021-06-04 21:51:01 +0200 <arjun> sure
2021-06-04 21:51:13 +0200 <arjun> be lazy, like the language
2021-06-04 21:51:43 +0200 <monochrom> which is really like most people's experience with classical music "I listen again two years later and find something new"
2021-06-04 21:51:58 +0200 <arjun> i listen metal
2021-06-04 21:52:12 +0200Guest10(~Guest10@187.83.249.216.dyn.smithville.net) (Quit: Client closed)
2021-06-04 21:52:15 +0200 <monochrom> I hate analogies. But ironically I make the most perfect analogies.
2021-06-04 21:52:43 +0200 <arjun> *insert hulk meme*
2021-06-04 21:52:51 +0200 <arjun> i see that as an absolute win
2021-06-04 21:53:11 +0200 <dminuoso> monochrom: Mmm, I dont like that the generated asm code differs slightly from the sheets, and there's some strange discrepancies with the diagrams.
2021-06-04 21:53:23 +0200 <dminuoso> This is a mind bender already
2021-06-04 21:54:07 +0200 <monochrom> Perhaps it needs updating. Every example was true not long ago.
2021-06-04 21:54:32 +0200Izem(~Izem@bras-base-london1483w-grc-38-65-95-41-91.dsl.bell.ca)
2021-06-04 21:54:54 +0200 <Izem> what is the motivation for do notation?
2021-06-04 21:55:03 +0200 <dminuoso> Well, for starters the slides suggest given `Just 1` the payload of the first closure points at the info table of the second closure
2021-06-04 21:55:06 +0200 <dminuoso> But then you see something like this:
2021-06-04 21:55:14 +0200 <dminuoso> .quadExample.value2_closure+1
2021-06-04 21:55:27 +0200 <dminuoso> Where is this +1 coming from?
2021-06-04 21:55:27 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-06-04 21:55:46 +0200 <lucky> Izem: easily expressing certain imperative-like constructs and reasoning about them in an imperative-like manner
2021-06-04 21:55:59 +0200 <lucky> when you're chaining actions it's syntactic sugar for that, I guess
2021-06-04 21:56:17 +0200Scotty_Trees(~Scotty_Tr@162-234-179-169.lightspeed.brhmal.sbcglobal.net)
2021-06-04 21:56:37 +0200 <lucky> historically it originates specifically with the IO monad and sort of got dragged along with the realization that monads are much more general than just IO
2021-06-04 21:56:38 +0200 <dminuoso> lucky: Think of do-notation as a programmable semicolon/equals-sign from traditional languages. :)
2021-06-04 21:56:47 +0200 <Izem> that makes sense, I was just wondering if there was another way, since Haskell is primarily about expressions
2021-06-04 21:56:49 +0200 <lucky> dminuoso: pretty much
2021-06-04 21:56:55 +0200 <dminuoso> Err, I meant Izem!
2021-06-04 21:57:01 +0200 <lucky> Izem: absolutely, it's just syntactic sugar for a sequence of bind operations
2021-06-04 21:57:12 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:a54f:2e66:1417:26d8) (Remote host closed the connection)
2021-06-04 21:57:14 +0200 <Izem> oh, interesting, what is bind?
2021-06-04 21:57:22 +0200 <lucky> https://en.wikibooks.org/wiki/Haskell/do_notation#Just_sugar
2021-06-04 21:57:31 +0200 <dminuoso> Izem:: So while in <arbitraryimperative language> you can can write `f = g(); z = h(f);` we get to assign meaning to `=`, `;`, and generalize for non-routines too.
2021-06-04 21:57:37 +0200 <Izem> I've been thinking about expressions vs statements for some time know, still confused
2021-06-04 21:57:40 +0200 <monochrom> No no, the payload of the 1st closure points at a heap object, this heap object begins with pointer to info table (of I#).
2021-06-04 21:58:00 +0200 <lucky> a <- getContents; putStrLn a is the same as getContents -> \a >>= putStrLn a --> \_
2021-06-04 21:58:05 +0200 <lucky> \_
2021-06-04 21:58:24 +0200 <Izem> s/know/now/
2021-06-04 21:58:50 +0200 <dminuoso> monochrom: https://gist.github.com/dminuoso/5c6484cb42e5aa4a6d91e1a24e8ffc67
2021-06-04 21:59:42 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-06-04 22:00:11 +0200 <monochrom> Ah! Pointer tagging! Use lsb to indicate "this pointer btw points to a whnf already, and the data construct is the 1st data constructor of its type"
2021-06-04 22:00:12 +0200 <dminuoso> Izem: the terms "statement" is usually a syntactic categorization for some languages, in Haskell we don't have statements.
2021-06-04 22:00:14 +0200 <lucky> Izem: it's a hamfisted explanation, but think of it as constructing an expression that "queues up" a sequence of statements that will only actually be executed at top-level evaluation when main is invoked
2021-06-04 22:00:36 +0200 <dminuoso> Once you accept that we dont have statements, your life will be easier!
2021-06-04 22:00:40 +0200 <lucky> Haskell's do notation tries to make that way of thinking about it more statement-like, but yes, it's all a pure expression technically
2021-06-04 22:00:58 +0200 <arjun> hamfisted
2021-06-04 22:00:59 +0200 <monochrom> So perhaps fast-forward to the "pointer tagging" slide...
2021-06-04 22:01:07 +0200 <arjun> my new favourite word.
2021-06-04 22:01:09 +0200 <Izem> so this bind is the sequencing operation?
2021-06-04 22:01:20 +0200 <dminuoso> monochrom: Oh.
2021-06-04 22:01:30 +0200 <monochrom> :) :) :)
2021-06-04 22:02:18 +0200 <lucky> Izem: Ahhh this is why everyone gets lost haha. In a context where that makes sense (like the IO monad) yes. But bind is a more general property of monads, and monads themselves are more general than a sequence (whether of data or operations)
2021-06-04 22:02:35 +0200 <lucky> Izem: e.g. a list is just a item bound to a list with an item bound to a list... etc.
2021-06-04 22:02:50 +0200 <dminuoso> Im guessing explains the .align 8, to allow pointer tagging
2021-06-04 22:03:01 +0200 <Izem> I'm going to design a programming language that's why I've been taking time to look at how other languages handle this
2021-06-04 22:03:07 +0200 <Izem> lucky interesting
2021-06-04 22:03:08 +0200shriekingnoise(~shrieking@186.137.144.80)
2021-06-04 22:03:14 +0200 <tput> bind is this (>>=) :: Monad m => m a -> (a -> m b) -> m b, this happens to enforce a dependency. we can use it to express sequencing, but it is more general than that
2021-06-04 22:03:19 +0200 <lucky> ^ yes
2021-06-04 22:03:37 +0200 <Izem> so monads are one of the key concepts in haskell, nice.
2021-06-04 22:03:46 +0200 <dminuoso> Oh good. It's been a long time since we flooded unsuspecting newcomers with confusing bind explanations
2021-06-04 22:03:46 +0200 <lucky> it's a mathematical property that when obeyed allows you to generalize about it, it turns out you can reason about sequences of imperative actions, and lists, using the same algorithms and structures
2021-06-04 22:04:03 +0200 <dminuoso> Izem: Are you familiar with JavaScript?
2021-06-04 22:04:06 +0200 <lucky> heh
2021-06-04 22:04:10 +0200 <Izem> yeah in passing
2021-06-04 22:04:26 +0200 <lucky> confusing people about monads is all haskell is good for, besides its beautiful expressivity anyway
2021-06-04 22:04:38 +0200 <arjun> monads are overrated anyway
2021-06-04 22:04:51 +0200 <arjun> team applicative anyone?
2021-06-04 22:04:54 +0200 <lucky> heheh
2021-06-04 22:05:05 +0200 <lucky> that's probably a better place to start, both in theory and in explanation
2021-06-04 22:05:17 +0200 <Izem> do you guys program in clean as well?
2021-06-04 22:05:23 +0200 <arjun> once upon a time, there lived a functor
2021-06-04 22:05:29 +0200juhp(~juhp@128.106.188.199) (Ping timeout: 265 seconds)
2021-06-04 22:05:53 +0200 <dminuoso> Izem: With a bit of squinting we can think of async/await as monadic, so this is one of the things of what Monad matches except traditional "sequence commands and assign results"
2021-06-04 22:06:07 +0200 <dminuoso> (If we look close enough, it's not exactly true, but perhaps to an outsider it might look more motivating)
2021-06-04 22:06:45 +0200 <Izem> oh, sorry I've not really looked in depth at async/await. I did in python though so I guess it's the same?
2021-06-04 22:07:18 +0200ubert(~Thunderbi@p200300ecdf259df0e6b318fffe838f33.dip0.t-ipconnect.de) (Remote host closed the connection)
2021-06-04 22:07:49 +0200 <tput> Haskell is lazy, so in general it's hard to know when something will actually get eval'd, but in (>>=) :: m a -> (a -> m b) -> m b, to get the result we need to use the function of type (a -> m b), but to use that we need an a from the m a. a monad instance for a type describes how to do that (generally without giving access to the 'a' outside of a bind). This let's us force m a to be eval'd before m b.
2021-06-04 22:07:56 +0200juhp(~juhp@128.106.188.199)
2021-06-04 22:08:45 +0200 <arjun> are you okay with your undestanding of typeclasses ?
2021-06-04 22:08:56 +0200 <dminuoso> Well, so in JavaScript you have these promises, and you'd usually work with them as `httpRequest().then((response) => use(response))`. With async/await you can just write this as `const response = await httpRequest(); use(response)`
2021-06-04 22:08:59 +0200 <dminuoso> handwavingly
2021-06-04 22:09:40 +0200 <dminuoso> In Haskell this would correspond to `httpRequest >>= (\response -> use response)`, or written in do-notation `do { response <- httpRequest; use response }`
2021-06-04 22:09:56 +0200 <dminuoso> This is only very suggestive, though
2021-06-04 22:10:49 +0200 <Izem> arjun who is this question for?
2021-06-04 22:10:56 +0200 <Izem> dminuoso thanks
2021-06-04 22:11:21 +0200 <dminuoso> Izem: Similarly, you might have a function concatMap (which maps each element to a list, and then flattens the resulting nested list by one level). So you could either write: `concatMap [1,2,3] (\i -> [10 * i, 20 * i])` or `do { i <- [1,2,3]; [10 * i, 20 * i ]}`
2021-06-04 22:12:05 +0200kw(~user@2605:a601:a615:f600:601:15f2:ebf9:271) (Read error: Connection reset by peer)
2021-06-04 22:12:22 +0200 <arjun> who here is trying to understand monads ?
2021-06-04 22:12:45 +0200kw(~user@2605:a601:a615:f600:601:15f2:ebf9:271)
2021-06-04 22:12:52 +0200 <arjun> when i was new. i tried understanding `What` a monad was. i failed. miserably
2021-06-04 22:13:01 +0200 <arjun> then i just tried using it
2021-06-04 22:13:02 +0200GIANTWORLDKEEPER(~pjetcetal@2.95.204.25) (Quit: EXIT)
2021-06-04 22:13:21 +0200 <arjun> in the most rudimentary terms of my understading say
2021-06-04 22:13:21 +0200 <Izem> that would me me
2021-06-04 22:13:42 +0200 <arjun> anything that implements the fmap function, is a Functor.
2021-06-04 22:13:48 +0200GIANTWORLDKEEPER(~pjetcetal@2.95.204.25)
2021-06-04 22:13:54 +0200 <arjun> you copy ?
2021-06-04 22:14:33 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 244 seconds)
2021-06-04 22:15:05 +0200 <arjun> so, anything that implements the (>>=) function, is a monad
2021-06-04 22:15:27 +0200 <arjun> there are some laws that need to be satified here but apart from that
2021-06-04 22:15:35 +0200 <arjun> if it quacks, it s duck.
2021-06-04 22:15:40 +0200 <arjun> a duckonomy
2021-06-04 22:15:41 +0200 <davean> uh, the laws are a pretty big deal
2021-06-04 22:15:49 +0200 <arjun> a duck*
2021-06-04 22:16:01 +0200 <arjun> davean: so are monads : P
2021-06-04 22:16:06 +0200cjay-(cjay@nerdbox.nerd2nerd.org) (Quit: Reconnecting)
2021-06-04 22:16:12 +0200cjay(cjay@nerdbox.nerd2nerd.org)
2021-06-04 22:16:14 +0200 <dminuoso> monochrom: trick question then, if thats pointer tagging, wouldn't +1 mean Nothing (since that's the first constructor)
2021-06-04 22:16:31 +0200 <tput> I think it's fair to not worry too much about the laws until you're writing your own instances
2021-06-04 22:16:43 +0200cjay(cjay@nerdbox.nerd2nerd.org) (Client Quit)
2021-06-04 22:16:56 +0200cjay(cjay@nerdbox.nerd2nerd.org)
2021-06-04 22:17:15 +0200 <dminuoso> Unless of course GHC changed its pointer tagging rules..
2021-06-04 22:19:57 +0200Guest38(~textual@188-182-241-27-dynamic.dk.customer.tdc.net) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-06-04 22:20:24 +0200danidiaz1(~ESDPC@static-172-64-63-95.ipcom.comunitel.net)
2021-06-04 22:20:26 +0200 <dminuoso> oh wait, im thinking wrong here.
2021-06-04 22:20:42 +0200 <dminuoso> this is the pointer tag for I#
2021-06-04 22:21:15 +0200 <dminuoso> Yeah everything is clicking in suddenly :)
2021-06-04 22:21:47 +0200waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd)
2021-06-04 22:22:21 +0200arjun(~user@user/arjun) (Ping timeout: 268 seconds)
2021-06-04 22:22:53 +0200danidiaz(~ESDPC@static-172-64-63-95.ipcom.comunitel.net) (Ping timeout: 265 seconds)
2021-06-04 22:29:20 +0200prite(~pritam@user/pritambaral)
2021-06-04 22:30:08 +0200pavonia(~user@user/siracusa)
2021-06-04 22:30:23 +0200ixlun(~matthew@109.249.184.235)
2021-06-04 22:31:20 +0200 <ixlun> Hi all. Could someone explain why this doesn't work? https://termbin.com/t1eo
2021-06-04 22:31:48 +0200 <geekosaur> return is not a keyword
2021-06-04 22:31:57 +0200 <geekosaur> return (t + 1)
2021-06-04 22:32:09 +0200 <geekosaur> :t return
2021-06-04 22:32:10 +0200 <lambdabot> Monad m => a -> m a
2021-06-04 22:32:50 +0200 <ixlun> Ah sorry, I missed that one, but I'm still getting the error: Couldn't match type ‘m’ with ‘Either String’
2021-06-04 22:33:13 +0200 <ixlun> Which I don't understand since I thought Either was an instance of MonadThrow
2021-06-04 22:33:35 +0200 <dminuoso> ixlun: Your type signature claims its polymorphically *all* MonadThrow.
2021-06-04 22:33:45 +0200 <geekosaur> yeh
2021-06-04 22:33:57 +0200 <dminuoso> but `x` is locked to Either, only one can be true.
2021-06-04 22:34:00 +0200mikoto-chan(~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) (Ping timeout: 265 seconds)
2021-06-04 22:34:04 +0200 <geekosaur> you claim via your type signature that you can take any MonadThrow, then you specify a particular one
2021-06-04 22:35:31 +0200 <dminuoso> ixlun: The weight of writing a polymorphic value (one that mentions a type variable in its type signature, roughly) is, that the *caller* decides/chooses a type for the type variable. If you write `foo :: MonadThrow m => m Int` it means the caller could pick `foo :: STM Int`
2021-06-04 22:36:26 +0200 <ixlun> Right, and that wouldn't then match with the Either
2021-06-04 22:37:52 +0200 <ixlun> So, why then have an instance of MonadThrow for Either if that can't be translated to the general case?
2021-06-04 22:37:58 +0200 <dminuoso> ixlun: More importantly, your do-notation induces a use of `(>>=) :: Either String Int -> (Int -> Either String Int) -> Either String Int`, so if you inferred the type of the entire do-expression, it'd be `Either String Int`
2021-06-04 22:38:21 +0200 <dminuoso> The point is to use it the other way around, instead of using any particular instance, you only use the methods to stay polymorphically over any
2021-06-04 22:38:48 +0200 <dminuoso> You may only fmap/<*>/pure/=<</throwM
2021-06-04 22:39:12 +0200 <dminuoso> And then it works in any MonadThrow, giving the caller the freedom to use his monad of choice
2021-06-04 22:39:15 +0200smitop2(uid328768@user/smitop) (Quit: Connection closed for inactivity)
2021-06-04 22:39:19 +0200 <dminuoso> Rather than locking into a particular monad
2021-06-04 22:40:19 +0200 <ixlun> Riight, I see. The instances are how the *caller* chooses to 'implement' the error handling
2021-06-04 22:40:29 +0200 <dminuoso> Correct.
2021-06-04 22:41:34 +0200 <ixlun> So, in this instance, how would could I 'lift' the Either to `m Int`?
2021-06-04 22:41:42 +0200 <dminuoso> You cant.
2021-06-04 22:41:59 +0200 <ixlun> Ah.
2021-06-04 22:42:05 +0200 <dminuoso> But you can use throwM.
2021-06-04 22:42:22 +0200 <dminuoso> Note however, that this is for Exceptions.
2021-06-04 22:42:34 +0200 <dminuoso> instance e ~ SomeException => MonadThrow (Either e)
2021-06-04 22:43:09 +0200amahl(~amahl@dxv5skyjn4s74c7h9slvt-3.rev.dnainternet.fi) (Remote host closed the connection)
2021-06-04 22:43:28 +0200 <ixlun> So you're saying that `x` should use `throwM`?
2021-06-04 22:43:41 +0200 <ixlun> Rather than `Left`
2021-06-04 22:43:45 +0200 <dminuoso> MonadThrow really rather generalizes IO exceptions, you probably want to use MonadError rather
2021-06-04 22:49:11 +0200 <ixlun> Okay, I think I'm getting it after doing a bit more reading. Thanks for the help
2021-06-04 22:52:01 +0200machinedgod(~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 245 seconds)
2021-06-04 22:57:34 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:a54f:2e66:1417:26d8)
2021-06-04 22:59:43 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:a54f:2e66:1417:26d8) (Remote host closed the connection)
2021-06-04 22:59:50 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:a54f:2e66:1417:26d8)
2021-06-04 23:02:41 +0200Izem(~Izem@bras-base-london1483w-grc-38-65-95-41-91.dsl.bell.ca) (Quit: Connection closed)
2021-06-04 23:04:03 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine)
2021-06-04 23:05:41 +0200ixlun-(~matthew@109.249.184.235)
2021-06-04 23:08:14 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915)
2021-06-04 23:08:17 +0200mpt(~tom@p57a566da.dip0.t-ipconnect.de) (Ping timeout: 244 seconds)
2021-06-04 23:11:05 +0200chaosite(~chaosite@user/chaosite) (Ping timeout: 252 seconds)
2021-06-04 23:13:57 +0200ddellacosta(~ddellacos@86.106.121.75)
2021-06-04 23:14:06 +0200ddellaco_(~ddellacos@89.46.62.83) (Ping timeout: 264 seconds)
2021-06-04 23:17:08 +0200ikex(~ash@user/ikex) (Ping timeout: 252 seconds)
2021-06-04 23:19:56 +0200mpt(~tom@p57a566da.dip0.t-ipconnect.de)
2021-06-04 23:21:08 +0200ixlun(~matthew@109.249.184.235) (Read error: Connection reset by peer)
2021-06-04 23:21:08 +0200ixlun-(~matthew@109.249.184.235) (Read error: Connection reset by peer)
2021-06-04 23:21:38 +0200chaosite(~chaosite@user/chaosite)
2021-06-04 23:22:33 +0200mastarija(~mastarija@46.188.137.31) (Quit: Leaving)
2021-06-04 23:22:34 +0200haltux(~haltux@a89-154-181-47.cpe.netcabo.pt)
2021-06-04 23:24:42 +0200haltux(~haltux@a89-154-181-47.cpe.netcabo.pt) (Read error: No route to host)
2021-06-04 23:26:10 +0200chaosite(~chaosite@user/chaosite) (Ping timeout: 245 seconds)
2021-06-04 23:31:14 +0200ddellaco_(~ddellacos@86.106.143.157)
2021-06-04 23:31:32 +0200Guest9(~Guest9@103.240.170.183) (Quit: Connection closed)
2021-06-04 23:40:14 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection)
2021-06-04 23:43:26 +0200fendor(~fendor@178.165.131.187.wireless.dyn.drei.com) (Remote host closed the connection)
2021-06-04 23:45:21 +0200imdoor(~imdoor@balticom-142-78-50.balticom.lv) (Quit: imdoor)
2021-06-04 23:47:40 +0200xff0x_(~xff0x@2001:1a81:5380:1300:5902:1ae3:48e2:5ce8) (Ping timeout: 272 seconds)
2021-06-04 23:48:06 +0200xff0x_(~xff0x@2001:1a81:5380:1300:997a:5bba:2f5a:1c40)
2021-06-04 23:48:36 +0200jakalx(~jakalx@base.jakalx.net) ()
2021-06-04 23:50:11 +0200lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2021-06-04 23:50:50 +0200wonko(~wjc@62.115.229.50) (Ping timeout: 272 seconds)
2021-06-04 23:52:52 +0200ddellacosta(~ddellacos@86.106.121.75) (Remote host closed the connection)
2021-06-04 23:53:05 +0200lavaman(~lavaman@98.38.249.169)
2021-06-04 23:53:41 +0200ddellacosta(~ddellacos@86.106.121.75)
2021-06-04 23:54:32 +0200jakalx(~jakalx@base.jakalx.net)
2021-06-04 23:56:31 +0200dhil(~dhil@195.213.192.47)
2021-06-04 23:56:47 +0200pritambaral(~pritam@user/pritambaral)
2021-06-04 23:57:18 +0200prite(~pritam@user/pritambaral) (Ping timeout: 264 seconds)
2021-06-04 23:57:53 +0200ddellacosta(~ddellacos@86.106.121.75) (Ping timeout: 244 seconds)
2021-06-04 23:58:04 +0200Erutuon(~Erutuon@user/erutuon) (Quit: WeeChat 2.8)
2021-06-04 23:58:45 +0200Erutuon(~Erutuon@user/erutuon)
2021-06-04 23:58:51 +0200ddellacosta(~ddellacos@86.106.121.65)