2022/06/24

2022-06-24 00:01:10 +0200Pickchea(~private@user/pickchea) (Quit: Leaving)
2022-06-24 00:08:12 +0200Sciencentistguy(~sciencent@hacksoc/ordinary-member) (Quit: o/)
2022-06-24 00:10:13 +0200Sciencentistguy(~sciencent@hacksoc/ordinary-member)
2022-06-24 00:13:51 +0200haskellapprenti(~haskellap@204.14.236.211) (Quit: Client closed)
2022-06-24 00:16:41 +0200shapr(~user@2600:4040:2d31:7100:8a04:a12a:c6c2:2309)
2022-06-24 00:16:53 +0200slack1256(~slack1256@191.126.99.212) (Remote host closed the connection)
2022-06-24 00:19:45 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-06-24 00:20:15 +0200michalz(~michalz@185.246.204.97) (Remote host closed the connection)
2022-06-24 00:22:54 +0200merijn(~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) (Ping timeout: 264 seconds)
2022-06-24 00:30:18 +0200sander(~sander@user/sander) (Ping timeout: 276 seconds)
2022-06-24 00:30:18 +0200yauhsien(~yauhsien@61-231-38-201.dynamic-ip.hinet.net)
2022-06-24 00:33:59 +0200gmg(~user@user/gehmehgeh) (Quit: Leaving)
2022-06-24 00:34:33 +0200yauhsien(~yauhsien@61-231-38-201.dynamic-ip.hinet.net) (Ping timeout: 248 seconds)
2022-06-24 00:34:36 +0200sander(~sander@user/sander)
2022-06-24 00:36:49 +0200pleo(~pleo@user/pleo) (Quit: quit)
2022-06-24 00:36:52 +0200acidjnk(~acidjnk@dynamic-046-114-168-206.46.114.pool.telefonica.de) (Ping timeout: 272 seconds)
2022-06-24 00:37:18 +0200mshiraeeshi(~shiraeesh@46.34.206.119) (Ping timeout: 240 seconds)
2022-06-24 00:38:45 +0200jgeerds(~jgeerds@55d45f48.access.ecotel.net) (Ping timeout: 276 seconds)
2022-06-24 00:39:51 +0200unit73e(~emanuel@2001:818:e8dd:7c00:32b5:c2ff:fe6b:5291)
2022-06-24 00:42:02 +0200Guest4431(~Guest44@2a01cb0589202e009cd3bf02702e3314.ipv6.abo.wanadoo.fr)
2022-06-24 00:43:32 +0200 <Guest4431> Hello here. I'm considering buying Real World Haskell book. But it has been edited in 2007. Im wondering, do the free, web version is more up to date than the paper version ?
2022-06-24 00:45:24 +0200 <geekosaur> they're the same, but the online one has an associated wiki with updates
2022-06-24 00:45:50 +0200 <hpc> http://book.realworldhaskell.org/read/installing-ghc-and-haskell-libraries.html mentions "late 2008" and has XP screenshots
2022-06-24 00:45:54 +0200 <hpc> so probably not?
2022-06-24 00:47:20 +0200bgamari(~bgamari@2001:470:e438::1) (Quit: ZNC 1.8.2 - https://znc.in)
2022-06-24 00:51:33 +0200bgamari(~bgamari@64.223.226.161)
2022-06-24 00:54:58 +0200jmdaemon(~jmdaemon@user/jmdaemon)
2022-06-24 00:56:24 +0200even4void(even4void@came.here.for-some.fun) (Quit: fBNC - https://bnc4free.com)
2022-06-24 00:57:22 +0200andreas303(andreas303@ip227.orange.bnc4free.com) (Quit: fBNC - https://bnc4free.com)
2022-06-24 00:58:05 +0200 <unit73e> huh, so I was going to implement my animation SDL thingy but turns out someone already made it
2022-06-24 00:58:33 +0200 <unit73e> just goes to show I should search hackage more
2022-06-24 00:58:55 +0200catern(~sbaugh@2604:2000:8fc0:b:a9c7:866a:bf36:3407) (Ping timeout: 258 seconds)
2022-06-24 00:59:21 +0200xacktm(xacktm@user/xacktm) (Quit: fBNC - https://bnc4free.com)
2022-06-24 00:59:38 +0200chomwitt(~chomwitt@2a02:587:dc0d:e600:4907:a32:4c72:2e8c) (Ping timeout: 240 seconds)
2022-06-24 01:01:08 +0200jmcarthur(~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net)
2022-06-24 01:01:34 +0200 <unit73e> I do have a stupid question. let's say a package is unmaintained. now what? can someone else pick it or it's dead?
2022-06-24 01:01:44 +0200alp(~alp@user/alp)
2022-06-24 01:03:34 +0200 <hpc> the hackage admins can transfer ownership, there's a policy documented somewhere on how, iirc it's contact the maintainer and get 3 months of silence?
2022-06-24 01:05:05 +0200 <unit73e> ok thanks. because as I see it in haskell the naming scheme is very simple. it's just the name of the package.
2022-06-24 01:06:51 +0200Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2022-06-24 01:08:56 +0200jmcarthur(~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Quit: My MacBook Air has gone to sleep. ZZZzzz…)
2022-06-24 01:10:32 +0200even4void(even4void@came.here.for-some.fun)
2022-06-24 01:13:07 +0200stackdroid18(14094@user/stackdroid) (Quit: hasta la vista... tchau!)
2022-06-24 01:13:58 +0200bontaq(~user@ool-45779fe5.dyn.optonline.net) (Ping timeout: 240 seconds)
2022-06-24 01:14:45 +0200andreas303(andreas303@ip227.orange.bnc4free.com)
2022-06-24 01:17:33 +0200moet(~moet@mobile-166-171-249-250.mycingular.net)
2022-06-24 01:19:53 +0200sander(~sander@user/sander) (Ping timeout: 248 seconds)
2022-06-24 01:20:00 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 268 seconds)
2022-06-24 01:21:26 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-06-24 01:23:52 +0200sander(~sander@user/sander)
2022-06-24 01:24:05 +0200Lord_of_Life_(~Lord@user/lord-of-life/x-2819915)
2022-06-24 01:24:06 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 264 seconds)
2022-06-24 01:25:18 +0200dsrt^(~dsrt@50.237.44.186) (Ping timeout: 264 seconds)
2022-06-24 01:25:20 +0200Lord_of_Life_Lord_of_Life
2022-06-24 01:25:31 +0200xacktm(xacktm@user/xacktm)
2022-06-24 01:25:39 +0200 <jackdk> hpc, unit73e: https://wiki.haskell.org/Taking_over_a_package is the policy
2022-06-24 01:25:58 +0200 <jackdk> Although the wiki seems to be struggling right now?
2022-06-24 01:26:24 +0200Topsi(~Topsi@dyndsl-095-033-088-224.ewe-ip-backbone.de) (Read error: Connection reset by peer)
2022-06-24 01:26:37 +0200 <unit73e> jackdk, I was able to read it. looks straightfoward.
2022-06-24 01:26:49 +0200 <unit73e> thanks
2022-06-24 01:26:55 +0200 <jackdk> (Yeah, wiki's fine. My browser was chucking a tanty)
2022-06-24 01:31:43 +0200xff0x(~xff0x@b133147.ppp.asahi-net.or.jp) (Ping timeout: 268 seconds)
2022-06-24 01:34:52 +0200 <hpc> is chucking a tanty when it goes right wazzock, or just a wee bit barmy? :P
2022-06-24 01:35:55 +0200gurkenglas(~gurkengla@dslb-002-207-014-022.002.207.pools.vodafone-ip.de)
2022-06-24 01:40:37 +0200 <raehik> does anyone know if we have a Google Cloud lib for Haskell, like AWS/amazonka? I looked around but couldn't find one
2022-06-24 01:40:58 +0200 <raehik> that had much reach anyway
2022-06-24 01:42:56 +0200xff0x(~xff0x@2405:6580:b080:900:6f91:670e:f20c:cfe)
2022-06-24 01:43:26 +0200ubert(~Thunderbi@p200300ecdf0da521adf2b2fea6746db1.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
2022-06-24 01:43:27 +0200 <hpc> as it so happens, there's one literally called amazonka
2022-06-24 01:44:01 +0200 <hpc> it's got a zillion subpackages, so at the very least it's matching the sprawling nature of aws itself :D
2022-06-24 01:44:14 +0200 <geekosaur> I think that's what they were referring to
2022-06-24 01:44:30 +0200 <geekosaur> but I don't know of a google cloud equivalent
2022-06-24 01:45:06 +0200Guest4431(~Guest44@2a01cb0589202e009cd3bf02702e3314.ipv6.abo.wanadoo.fr) (Quit: Client closed)
2022-06-24 01:45:38 +0200unit73e(~emanuel@2001:818:e8dd:7c00:32b5:c2ff:fe6b:5291) (Ping timeout: 240 seconds)
2022-06-24 01:45:54 +0200nate4(~nate@98.45.169.16)
2022-06-24 01:45:57 +0200merijn(~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl)
2022-06-24 01:46:01 +0200 <hpc> oh wow, i can't read
2022-06-24 01:48:48 +0200mvk(~mvk@2607:fea8:5ce3:8500::4588)
2022-06-24 01:50:30 +0200nate4(~nate@98.45.169.16) (Ping timeout: 264 seconds)
2022-06-24 01:50:38 +0200 <raehik> gotcha then no one will mind if I push a tiny package handling only what I've needed
2022-06-24 02:12:42 +0200alp(~alp@user/alp) (Ping timeout: 264 seconds)
2022-06-24 02:13:15 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:99c9:a0a4:f69e:b22e) (Remote host closed the connection)
2022-06-24 02:13:49 +0200 <jackdk> raehik: it's called gogol and it's not especially well-maintained
2022-06-24 02:14:09 +0200 <raehik> jackdk: I just finished looking at it. fantastic internals
2022-06-24 02:14:35 +0200 <jackdk> raehik: I'm helping out with the maintenance of amazonka, but work is an AWS shop; I have no energy to do the same to gogol
2022-06-24 02:15:13 +0200 <raehik> it doesn't support the Identity Platform which I need
2022-06-24 02:16:08 +0200 <raehik> if I do upload something it will be specifically just for authentication (since that will help folks who want to interface with apps based on gcloud)
2022-06-24 02:18:31 +0200 <jackdk> There are a few non-amazonka AWS libraries, so there's precedent for that sort of thing
2022-06-24 02:18:32 +0200ezzieyguywuf(~Unknown@user/ezzieyguywuf) (Remote host closed the connection)
2022-06-24 02:20:11 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:99c9:a0a4:f69e:b22e)
2022-06-24 02:20:26 +0200merijn(~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) (Ping timeout: 268 seconds)
2022-06-24 02:21:13 +0200ezzieyguywuf(~Unknown@user/ezzieyguywuf)
2022-06-24 02:22:10 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2022-06-24 02:23:15 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-06-24 02:23:16 +0200 <raehik> apparently Identity Platform doesn't have an entry in Google's magical API JSON schema directory. so gogol doesn't gen bindings. guess I'll have a look
2022-06-24 02:26:11 +0200jmcarthur(~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net)
2022-06-24 02:27:58 +0200_xor(~xor@74.215.182.83) (Ping timeout: 240 seconds)
2022-06-24 02:30:16 +0200_xor(~xor@74.215.182.83)
2022-06-24 02:32:08 +0200gurkenglas(~gurkengla@dslb-002-207-014-022.002.207.pools.vodafone-ip.de) (Ping timeout: 272 seconds)
2022-06-24 02:43:34 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Quit: WeeChat 3.5)
2022-06-24 02:44:24 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2022-06-24 02:44:41 +0200ezzieyguywuf(~Unknown@user/ezzieyguywuf) (Ping timeout: 248 seconds)
2022-06-24 02:46:20 +0200xff0x(~xff0x@2405:6580:b080:900:6f91:670e:f20c:cfe) (Ping timeout: 268 seconds)
2022-06-24 02:49:53 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:99c9:a0a4:f69e:b22e) (Remote host closed the connection)
2022-06-24 02:50:29 +0200sebastiandb(~sebastian@pool-108-31-128-56.washdc.fios.verizon.net)
2022-06-24 02:51:39 +0200ezzieyguywuf(~Unknown@user/ezzieyguywuf)
2022-06-24 02:52:18 +0200waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 240 seconds)
2022-06-24 02:55:18 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 264 seconds)
2022-06-24 02:58:58 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:99c9:a0a4:f69e:b22e)
2022-06-24 03:02:40 +0200simeon(~pi@dslb-088-069-178-224.088.069.pools.vodafone-ip.de) (Ping timeout: 244 seconds)
2022-06-24 03:08:32 +0200sebastiandb(~sebastian@pool-108-31-128-56.washdc.fios.verizon.net) (Ping timeout: 268 seconds)
2022-06-24 03:12:00 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2022-06-24 03:18:07 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2022-06-24 03:24:54 +0200nunggu(~q@user/nunggu)
2022-06-24 03:28:50 +0200nate4(~nate@98.45.169.16)
2022-06-24 03:29:31 +0200frost(~frost@user/frost)
2022-06-24 03:31:29 +0200Unicorn_Princess(~Unicorn_P@93-103-228-248.dynamic.t-2.net) (Remote host closed the connection)
2022-06-24 03:31:56 +0200dsrt^(~dsrt@50.237.44.186)
2022-06-24 03:34:20 +0200xff0x(~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp)
2022-06-24 03:36:17 +0200nate4(~nate@98.45.169.16) (Ping timeout: 268 seconds)
2022-06-24 03:40:24 +0200ezzieyguywuf(~Unknown@user/ezzieyguywuf) (Remote host closed the connection)
2022-06-24 03:41:51 +0200simeon(~pi@dslb-088-071-128-104.088.071.pools.vodafone-ip.de)
2022-06-24 03:43:18 +0200mvk(~mvk@2607:fea8:5ce3:8500::4588) (Ping timeout: 264 seconds)
2022-06-24 03:45:21 +0200Batzy_Btayz
2022-06-24 03:45:24 +0200BtayzBatzy
2022-06-24 03:45:51 +0200z0k(~z0k@206.84.141.12)
2022-06-24 03:46:42 +0200merijn(~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl)
2022-06-24 03:47:00 +0200slack1256(~slack1256@191.125.99.212)
2022-06-24 03:49:48 +0200ezzieyguywuf(~Unknown@user/ezzieyguywuf)
2022-06-24 03:50:40 +0200sebastiandb(~sebastian@pool-108-31-128-56.washdc.fios.verizon.net)
2022-06-24 03:59:26 +0200Henson(~kvirc@107-179-133-201.cpe.teksavvy.com) (Quit: KVIrc 5.0.0 Aria http://www.kvirc.net/)
2022-06-24 04:09:42 +0200machinedgod(~machinedg@66.244.246.252) (Ping timeout: 264 seconds)
2022-06-24 04:10:41 +0200slac55811(~slack1256@186.11.81.205)
2022-06-24 04:11:12 +0200perrierjouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.5)
2022-06-24 04:12:28 +0200tcard(~tcard@p2878075-ipngn18701hodogaya.kanagawa.ocn.ne.jp) (Remote host closed the connection)
2022-06-24 04:13:09 +0200slack1256(~slack1256@191.125.99.212) (Ping timeout: 256 seconds)
2022-06-24 04:17:37 +0200tcard(~tcard@p2878075-ipngn18701hodogaya.kanagawa.ocn.ne.jp)
2022-06-24 04:19:04 +0200finn_elija(~finn_elij@user/finn-elija/x-0085643)
2022-06-24 04:19:04 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
2022-06-24 04:19:04 +0200finn_elijaFinnElija
2022-06-24 04:21:05 +0200merijn(~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds)
2022-06-24 04:21:36 +0200yauhsien(~yauhsien@61-231-38-201.dynamic-ip.hinet.net)
2022-06-24 04:23:09 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 268 seconds)
2022-06-24 04:23:58 +0200mikoto-chan(~mikoto-ch@esm-84-240-99-143.netplaza.fi)
2022-06-24 04:27:02 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2022-06-24 04:30:43 +0200zebrag(~chris@user/zebrag) (Ping timeout: 256 seconds)
2022-06-24 04:33:06 +0200yauhsien(~yauhsien@61-231-38-201.dynamic-ip.hinet.net) (Ping timeout: 272 seconds)
2022-06-24 04:40:19 +0200jmcarthur(~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Quit: My MacBook Air has gone to sleep. ZZZzzz…)
2022-06-24 04:43:11 +0200sebastiandb(~sebastian@pool-108-31-128-56.washdc.fios.verizon.net) (Quit: Leaving)
2022-06-24 04:59:30 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 264 seconds)
2022-06-24 05:00:09 +0200td_(~td@94.134.91.184) (Ping timeout: 268 seconds)
2022-06-24 05:01:14 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-06-24 05:01:18 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 240 seconds)
2022-06-24 05:01:34 +0200td_(~td@muedsl-82-207-238-027.citykom.de)
2022-06-24 05:06:02 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 272 seconds)
2022-06-24 05:08:53 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-06-24 05:18:18 +0200jmcarthur(~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net)
2022-06-24 05:21:45 +0200nunggu(~q@user/nunggu) (Ping timeout: 268 seconds)
2022-06-24 05:25:00 +0200nunggu(~q@user/nunggu)
2022-06-24 05:31:29 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
2022-06-24 05:33:28 +0200nunggu(~q@user/nunggu) (Remote host closed the connection)
2022-06-24 05:34:16 +0200nunggu(~q@user/nunggu)
2022-06-24 05:37:07 +0200Alleria(~AllahuAkb@68.65.161.35)
2022-06-24 05:45:55 +0200merijn(~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl)
2022-06-24 05:47:15 +0200coot(~coot@213.134.190.95)
2022-06-24 05:47:39 +0200razetime(~quassel@49.207.193.240)
2022-06-24 05:48:05 +0200yauhsien(~yauhsien@61-231-38-201.dynamic-ip.hinet.net)
2022-06-24 05:48:10 +0200Alleria(~AllahuAkb@68.65.161.35) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2022-06-24 05:48:40 +0200Alleria(~AllahuAkb@68.65.161.35)
2022-06-24 05:49:07 +0200nate4(~nate@98.45.169.16)
2022-06-24 05:53:38 +0200yauhsien(~yauhsien@61-231-38-201.dynamic-ip.hinet.net) (Ping timeout: 240 seconds)
2022-06-24 05:54:06 +0200nate4(~nate@98.45.169.16) (Ping timeout: 264 seconds)
2022-06-24 05:57:38 +0200 <hololeap> I can't figure out if a Monad instance for SomeParseResult is possible. I'm thinking not. http://sprunge.us/oADV0I
2022-06-24 06:01:30 +0200Alleria(~AllahuAkb@68.65.161.35) (Quit: Textual IRC Client: www.textualapp.com)
2022-06-24 06:09:05 +0200leeb(~leeb@KD106154144179.au-net.ne.jp)
2022-06-24 06:09:27 +0200 <hololeap> possibly for the same reason that you can't make a monad out of: Monad m => Maybe (m a)
2022-06-24 06:10:25 +0200 <hololeap> you can't make the inner computation within 'm' affect the outer constructor
2022-06-24 06:10:53 +0200 <hololeap> or maybe I'm totally wrong here
2022-06-24 06:12:54 +0200yauhsien(~yauhsien@61-231-38-201.dynamic-ip.hinet.net)
2022-06-24 06:20:46 +0200merijn(~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) (Ping timeout: 272 seconds)
2022-06-24 06:21:36 +0200gentauro(~gentauro@user/gentauro) (Read error: Connection reset by peer)
2022-06-24 06:24:38 +0200mikoto-chan(~mikoto-ch@esm-84-240-99-143.netplaza.fi) (Ping timeout: 268 seconds)
2022-06-24 06:24:58 +0200yauhsien(~yauhsien@61-231-38-201.dynamic-ip.hinet.net) (Ping timeout: 240 seconds)
2022-06-24 06:26:36 +0200mikoto-chan(~mikoto-ch@esm-84-240-99-143.netplaza.fi)
2022-06-24 06:27:30 +0200gentauro(~gentauro@user/gentauro)
2022-06-24 06:40:13 +0200dschrempf(~dominik@070-207.dynamic.dsl.fonira.net)
2022-06-24 06:40:44 +0200dschrempf(~dominik@070-207.dynamic.dsl.fonira.net) (Client Quit)
2022-06-24 06:43:05 +0200yauhsien(~yauhsien@61-231-38-201.dynamic-ip.hinet.net)
2022-06-24 06:43:28 +0200 <mon_aaraj> huh... weird, i've decided to try out the Optics library instead of lens, but it seemz like it doesn't have any `worded` alternative.. I've looked everywhere, any idea what it could be?
2022-06-24 06:56:38 +0200adanwan(~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection)
2022-06-24 06:57:06 +0200adanwan(~adanwan@gateway/tor-sasl/adanwan)
2022-06-24 07:05:18 +0200 <dsal> :t worded
2022-06-24 07:05:19 +0200 <lambdabot> (Indexable Int p, Applicative f) => p String (f String) -> String -> f String
2022-06-24 07:05:43 +0200 <dsal> Can you just use `words`?
2022-06-24 07:05:44 +0200 <dsal> :t words
2022-06-24 07:05:46 +0200 <lambdabot> String -> [String]
2022-06-24 07:08:35 +0200takuan(~takuan@178-116-218-225.access.telenet.be)
2022-06-24 07:15:27 +0200azimut(~azimut@gateway/tor-sasl/azimut)
2022-06-24 07:15:28 +0200mtjm(~mutantmel@2604:a880:2:d0::208b:d001) (Remote host closed the connection)
2022-06-24 07:16:32 +0200mtjm(~mutantmel@2604:a880:2:d0::208b:d001)
2022-06-24 07:24:04 +0200michalz(~michalz@185.246.204.97)
2022-06-24 07:25:16 +0200phma(~phma@2001:5b0:211f:4838:bc99:a0da:9cf3:c583) (Read error: Connection reset by peer)
2022-06-24 07:26:14 +0200phma(~phma@host-67-44-209-11.hnremote.net)
2022-06-24 07:29:23 +0200img(~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
2022-06-24 07:29:40 +0200img(~img@user/img)
2022-06-24 07:32:15 +0200vglfr(~vglfr@88.155.8.225)
2022-06-24 07:36:25 +0200leeb(~leeb@KD106154144179.au-net.ne.jp) (Ping timeout: 248 seconds)
2022-06-24 07:38:24 +0200leeb(~leeb@KD106154144157.au-net.ne.jp)
2022-06-24 07:45:49 +0200merijn(~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl)
2022-06-24 07:47:32 +0200moet(~moet@mobile-166-171-249-250.mycingular.net) (Ping timeout: 272 seconds)
2022-06-24 07:53:54 +0200 <mon_aaraj> i can, but it isn't an optic that focuses pieces of the full structure
2022-06-24 07:54:10 +0200 <mon_aaraj> which `worded` is, and it allows me to program in an entirely optical manner
2022-06-24 08:02:21 +0200liz(~liz@host86-159-158-175.range86-159.btcentralplus.com)
2022-06-24 08:06:47 +0200nunggu(~q@user/nunggu) (Remote host closed the connection)
2022-06-24 08:07:38 +0200mikoto-chan(~mikoto-ch@esm-84-240-99-143.netplaza.fi) (Ping timeout: 240 seconds)
2022-06-24 08:07:52 +0200nunggu(~q@user/nunggu)
2022-06-24 08:11:19 +0200dsrt^(~dsrt@50.237.44.186) (Ping timeout: 268 seconds)
2022-06-24 08:11:58 +0200liz(~liz@host86-159-158-175.range86-159.btcentralplus.com) (Ping timeout: 240 seconds)
2022-06-24 08:17:27 +0200dyeplexer(~dyeplexer@user/dyeplexer)
2022-06-24 08:18:54 +0200dsrt^(~dsrt@50.237.44.186)
2022-06-24 08:20:09 +0200merijn(~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) (Ping timeout: 248 seconds)
2022-06-24 08:25:36 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-06-24 08:26:00 +0200 <dsal> You could write worded atop words pretty easily in that case. The lens implementation is `worded f = fmap unwords . conjoined traverse (indexing traverse) f . words`
2022-06-24 08:26:20 +0200 <dsal> microlens is `worded f = fmap unwords . traverse f . words`
2022-06-24 08:28:18 +0200z0k(~z0k@206.84.141.12) (Ping timeout: 264 seconds)
2022-06-24 08:30:09 +0200z0k(~z0k@206.84.143.68)
2022-06-24 08:30:31 +0200gmg(~user@user/gehmehgeh)
2022-06-24 08:30:36 +0200frost(~frost@user/frost) (Quit: Ping timeout (120 seconds))
2022-06-24 08:36:19 +0200mikoto-chan(~mikoto-ch@esm-84-240-99-143.netplaza.fi)
2022-06-24 08:38:28 +0200azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 268 seconds)
2022-06-24 08:38:50 +0200z0k(~z0k@206.84.143.68) (Ping timeout: 272 seconds)
2022-06-24 08:39:19 +0200Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2022-06-24 08:39:20 +0200azimut(~azimut@gateway/tor-sasl/azimut)
2022-06-24 08:40:04 +0200mastarija(~mastarija@2a05:4f46:e02:8c00:8952:fd3b:3e41:ddea)
2022-06-24 08:40:55 +0200dsrt^(~dsrt@50.237.44.186) (Ping timeout: 268 seconds)
2022-06-24 08:47:01 +0200chomwitt(~chomwitt@2a02:587:dc0d:e600:8f05:e6fa:1178:1d79)
2022-06-24 08:54:16 +0200jakalx(~jakalx@base.jakalx.net) ()
2022-06-24 08:55:44 +0200acidjnk(~acidjnk@dynamic-046-114-168-206.46.114.pool.telefonica.de)
2022-06-24 08:56:27 +0200alp(~alp@user/alp)
2022-06-24 09:00:16 +0200azimut(~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
2022-06-24 09:00:34 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Read error: Connection reset by peer)
2022-06-24 09:00:56 +0200hsw(~hsw@2001-b030-2303-0104-0172-0025-0012-0132.hinet-ip6.hinet.net) (Remote host closed the connection)
2022-06-24 09:01:01 +0200azimut(~azimut@gateway/tor-sasl/azimut)
2022-06-24 09:01:16 +0200hsw(~hsw@2001-b030-2303-0104-0172-0025-0012-0132.hinet-ip6.hinet.net)
2022-06-24 09:05:59 +0200 <Axman6> That's an unlawful traversal right?
2022-06-24 09:09:58 +0200dyeplexer(~dyeplexer@user/dyeplexer) (Ping timeout: 240 seconds)
2022-06-24 09:10:09 +0200merijn(~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl)
2022-06-24 09:11:57 +0200zeenk(~zeenk@2a02:2f04:a301:3d00:39df:1c4b:8a55:48d3)
2022-06-24 09:13:51 +0200 <Axman6> > let worded f = fmap unwords . traverse f . words in worded (const "") "Hello, world"
2022-06-24 09:13:53 +0200 <lambdabot> error:
2022-06-24 09:13:53 +0200 <lambdabot> • Couldn't match type ‘Char’ with ‘[Char]’
2022-06-24 09:13:53 +0200 <lambdabot> Expected type: String -> [String]
2022-06-24 09:14:20 +0200 <Axman6> > let worded f = fmap unwords . traverse f . words in worded (Just . const "") "Hello, world"
2022-06-24 09:14:21 +0200 <lambdabot> Just " "
2022-06-24 09:14:45 +0200 <Axman6> > let worded f = fmap unwords . traverse f . words in worded (Just) "Hello, world"
2022-06-24 09:14:46 +0200 <lambdabot> Just "Hello, world"
2022-06-24 09:15:06 +0200merijn(~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) (Ping timeout: 264 seconds)
2022-06-24 09:16:29 +0200acidjnk_new(~acidjnk@dynamic-046-114-168-206.46.114.pool.telefonica.de)
2022-06-24 09:16:41 +0200acidjnk(~acidjnk@dynamic-046-114-168-206.46.114.pool.telefonica.de) (Ping timeout: 268 seconds)
2022-06-24 09:18:37 +0200jakalx(~jakalx@base.jakalx.net)
2022-06-24 09:21:52 +0200Pickchea(~private@user/pickchea)
2022-06-24 09:22:46 +0200dyeplexer(~dyeplexer@user/dyeplexer)
2022-06-24 09:26:21 +0200acidjnk_new3(~acidjnk@dynamic-046-114-168-206.46.114.pool.telefonica.de)
2022-06-24 09:29:08 +0200nunggu(~q@user/nunggu) (Remote host closed the connection)
2022-06-24 09:29:55 +0200nunggu(~q@user/nunggu)
2022-06-24 09:30:06 +0200acidjnk_new(~acidjnk@dynamic-046-114-168-206.46.114.pool.telefonica.de) (Ping timeout: 264 seconds)
2022-06-24 09:31:25 +0200ubert(~Thunderbi@p200300ecdf0da5c0c858ae0629519002.dip0.t-ipconnect.de)
2022-06-24 09:31:58 +0200 <dminuoso> mon_aaraj: Use `ifolding words`
2022-06-24 09:33:05 +0200chele(~chele@user/chele)
2022-06-24 09:34:10 +0200 <dminuoso> (Or `folding` if you dont care about indices)
2022-06-24 09:35:35 +0200ubert(~Thunderbi@p200300ecdf0da5c0c858ae0629519002.dip0.t-ipconnect.de) (Remote host closed the connection)
2022-06-24 09:35:53 +0200ubert(~Thunderbi@p200300ecdf0da5c0b08d08d51a120a85.dip0.t-ipconnect.de)
2022-06-24 09:36:25 +0200 <dminuoso> Incidentally this works in plain `lens` as well
2022-06-24 09:36:30 +0200 <dminuoso> :t folding words
2022-06-24 09:36:31 +0200 <lambdabot> (Contravariant f, Applicative f) => (String -> f String) -> String -> f String
2022-06-24 09:40:14 +0200pavonia(~user@user/siracusa) (Quit: Bye!)
2022-06-24 09:41:11 +0200eod|fserucas(~eod|fseru@193.65.114.89.rev.vodafone.pt)
2022-06-24 09:41:14 +0200eod|fserucas_(~eod|fseru@193.65.114.89.rev.vodafone.pt)
2022-06-24 09:42:30 +0200MajorBiscuit(~MajorBisc@wlan-145-94-167-213.wlan.tudelft.nl)
2022-06-24 09:48:37 +0200tzh_(~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz)
2022-06-24 09:50:54 +0200machinedgod(~machinedg@66.244.246.252)
2022-06-24 09:51:30 +0200nate4(~nate@98.45.169.16)
2022-06-24 09:52:00 +0200merijn(~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl)
2022-06-24 09:52:27 +0200vglfr(~vglfr@88.155.8.225) (Ping timeout: 268 seconds)
2022-06-24 09:53:41 +0200vglfr(~vglfr@coupling.penchant.volia.net)
2022-06-24 09:56:33 +0200nate4(~nate@98.45.169.16) (Ping timeout: 256 seconds)
2022-06-24 09:59:01 +0200hughjfchen(~hughjfche@vmi556545.contaboserver.net) (Quit: WeeChat 2.8)
2022-06-24 09:59:15 +0200coot(~coot@213.134.190.95) (Quit: coot)
2022-06-24 09:59:51 +0200__monty__(~toonn@user/toonn)
2022-06-24 10:03:55 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 256 seconds)
2022-06-24 10:09:58 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:99c9:a0a4:f69e:b22e) (Remote host closed the connection)
2022-06-24 10:18:58 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 240 seconds)
2022-06-24 10:19:13 +0200acidjnk_new3(~acidjnk@dynamic-046-114-168-206.46.114.pool.telefonica.de) (Read error: Connection reset by peer)
2022-06-24 10:19:26 +0200acidjnk_new3(~acidjnk@dynamic-046-114-168-206.46.114.pool.telefonica.de)
2022-06-24 10:20:39 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-06-24 10:31:37 +0200ccntrq(~Thunderbi@2a01:c23:9556:e100:66b1:7f27:4ed9:da23)
2022-06-24 10:31:40 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-06-24 10:32:35 +0200jonathanx(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Remote host closed the connection)
2022-06-24 10:32:57 +0200jgeerds(~jgeerds@55d45f48.access.ecotel.net)
2022-06-24 10:35:44 +0200jonathanx(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se)
2022-06-24 10:40:30 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:cd28:27b2:2677:8e87)
2022-06-24 10:40:32 +0200gurkenglas(~gurkengla@dslb-002-203-144-112.002.203.pools.vodafone-ip.de)
2022-06-24 10:41:52 +0200shriekingnoise(~shrieking@201.212.175.181) (Quit: Quit)
2022-06-24 10:43:35 +0200vglfr(~vglfr@coupling.penchant.volia.net) (Ping timeout: 256 seconds)
2022-06-24 10:43:53 +0200cfricke(~cfricke@user/cfricke)
2022-06-24 10:44:24 +0200vglfr(~vglfr@coupling.penchant.volia.net)
2022-06-24 10:44:35 +0200jonathanx(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Remote host closed the connection)
2022-06-24 10:45:29 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:cd28:27b2:2677:8e87) (Ping timeout: 268 seconds)
2022-06-24 10:45:42 +0200acidjnk_new3(~acidjnk@dynamic-046-114-168-206.46.114.pool.telefonica.de) (Read error: Connection reset by peer)
2022-06-24 10:46:01 +0200acidjnk(~acidjnk@dynamic-046-114-168-206.46.114.pool.telefonica.de)
2022-06-24 10:46:26 +0200acidjnk_new(~acidjnk@dynamic-046-114-168-206.46.114.pool.telefonica.de)
2022-06-24 10:47:13 +0200jonathanx(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se)
2022-06-24 10:50:20 +0200acidjnk(~acidjnk@dynamic-046-114-168-206.46.114.pool.telefonica.de) (Ping timeout: 246 seconds)
2022-06-24 10:53:08 +0200yauhsien(~yauhsien@61-231-38-201.dynamic-ip.hinet.net) (Remote host closed the connection)
2022-06-24 10:56:25 +0200vglfr(~vglfr@coupling.penchant.volia.net) (Remote host closed the connection)
2022-06-24 10:56:25 +0200yauhsien(~yauhsien@61-231-38-201.dynamic-ip.hinet.net)
2022-06-24 10:57:17 +0200vglfr(~vglfr@coupling.penchant.volia.net)
2022-06-24 10:57:22 +0200Guest3(~Guest3@43.21.135.77.rev.sfr.net)
2022-06-24 11:00:13 +0200thonoht[m](~thonohtma@2001:470:69fc:105::d7be) (Quit: You have been kicked for being idle)
2022-06-24 11:00:18 +0200marinelli[m](~marinelli@2001:470:69fc:105::2d8) (Quit: You have been kicked for being idle)
2022-06-24 11:00:19 +0200vglfr(~vglfr@coupling.penchant.volia.net) (Remote host closed the connection)
2022-06-24 11:00:24 +0200 <Guest3> hello, i have a function f that sends arguments to g or h functions with many arguments (a1, a2, a3…) and a case of pattern matching (Case1, case2) where i would like not to repeat the arguments for conciseness :
2022-06-24 11:00:25 +0200 <Guest3> f C1 a1 a2 a3 … = g a1 a2 a3 …
2022-06-24 11:00:25 +0200 <Guest3> f C2 a1 a2 a3 … = h a1 a2 a3 …
2022-06-24 11:00:26 +0200 <Guest3> is there a way to write something like :
2022-06-24 11:00:26 +0200 <Guest3> f C1 = g
2022-06-24 11:00:27 +0200 <Guest3> f C2 = h
2022-06-24 11:00:32 +0200amongas666[m](~amongas66@2001:470:69fc:105::2:fea) (Quit: You have been kicked for being idle)
2022-06-24 11:00:44 +0200 <Guest3> or should i refactor it all into something more idiomatic?
2022-06-24 11:00:53 +0200amongas666[m](~amongas66@2001:470:69fc:105::2:fea)
2022-06-24 11:01:03 +0200elfi2125[m](~elfi2125m@2001:470:69fc:105::2:13d6) (Quit: You have been kicked for being idle)
2022-06-24 11:01:06 +0200thonoht[m](~thonohtma@2001:470:69fc:105::d7be)
2022-06-24 11:01:16 +0200vglfr(~vglfr@coupling.penchant.volia.net)
2022-06-24 11:01:18 +0200yauhsien(~yauhsien@61-231-38-201.dynamic-ip.hinet.net) (Ping timeout: 264 seconds)
2022-06-24 11:01:25 +0200marinelli[m](~marinelli@2001:470:69fc:105::2d8)
2022-06-24 11:01:26 +0200 <merijn> Guest3: You can't quite do what you suggest, but you can simplify it a bit (in case you have many more cases than C1 and C2
2022-06-24 11:01:39 +0200elfi2125[m](~elfi2125m@2001:470:69fc:105::2:13d6)
2022-06-24 11:01:48 +0200 <Guest3> i have more cases but they are different from these two first cases
2022-06-24 11:02:03 +0200 <merijn> Ah, then it probably won't quite work out
2022-06-24 11:02:16 +0200 <Guest3> yes i am not sure what to do :s
2022-06-24 11:02:31 +0200thonoht[m](~thonohtma@2001:470:69fc:105::d7be) ()
2022-06-24 11:02:43 +0200 <merijn> Guest3: This is what I had in mind: https://paste.tomsmeding.com/1oJEODy1
2022-06-24 11:02:52 +0200marinelli[m](~marinelli@2001:470:69fc:105::2d8) ()
2022-06-24 11:03:01 +0200 <merijn> (obviously this assumes g and h have the same type
2022-06-24 11:03:03 +0200 <merijn> )
2022-06-24 11:03:18 +0200 <Guest3> they have
2022-06-24 11:03:35 +0200yauhsien(~yauhsien@61-231-38-201.dynamic-ip.hinet.net)
2022-06-24 11:03:38 +0200 <Guest3> this is good ty
2022-06-24 11:03:38 +0200amongas666[m](~amongas66@2001:470:69fc:105::2:fea) ()
2022-06-24 11:04:18 +0200Pickchea(~private@user/pickchea) (Ping timeout: 240 seconds)
2022-06-24 11:04:38 +0200 <merijn> Guest3: It's a common trick to factor out the "different" part of a repeat expression like that
2022-06-24 11:05:10 +0200elfi2125[m](~elfi2125m@2001:470:69fc:105::2:13d6) ()
2022-06-24 11:05:24 +0200 <Guest3> ok, it's funny i am getting really comfortable with advanced concepts like writer monads and all, but still sometimes i can't think of such tricks
2022-06-24 11:06:15 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 256 seconds)
2022-06-24 11:06:27 +0200 <merijn> Guest3: Practice makes perfect ;)
2022-06-24 11:06:44 +0200coot(~coot@213.134.190.95)
2022-06-24 11:08:02 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-06-24 11:10:05 +0200 <_________> Guest3: did you try writing 'f C1 = g', 'f C2 = h' ? why it doesn't work for you ?
2022-06-24 11:10:06 +0200vglfr(~vglfr@coupling.penchant.volia.net) (Read error: Connection reset by peer)
2022-06-24 11:10:53 +0200 <Guest3> I got an error which was like : "different number of arguments in pattern matching" because i have more cases i guess
2022-06-24 11:12:29 +0200 <_________> and you don't get this error with case ? weird
2022-06-24 11:13:01 +0200 <Guest3> i need to refactor yes
2022-06-24 11:13:05 +0200 <[Leary]> If you wrote bespoke functions like g and h for the other cases too, the error would go away.
2022-06-24 11:13:27 +0200 <Guest3> yes i would need to avoid having to specify the arguments
2022-06-24 11:13:48 +0200 <[Leary]> Equivalently, you can transform f x = y to f = \x -> y.
2022-06-24 11:15:43 +0200 <Guest3> why would that help?
2022-06-24 11:16:30 +0200 <_________> hmm, if you don't want to handle all cases, you could add `f _ = error`
2022-06-24 11:17:02 +0200 <[Leary]> Just to equalise the args. That's a generic f; in your case I meant f C3 = \a1 a2 ... -> ...
2022-06-24 11:17:14 +0200 <Guest3> oh ok yes
2022-06-24 11:18:41 +0200 <Guest3> i have to handle all cases and i return Maybe a, so that Nothing means it did not make sense to compute
2022-06-24 11:19:02 +0200vglfr(~vglfr@coupling.penchant.volia.net)
2022-06-24 11:19:32 +0200 <Guest3> thx for the help all of you
2022-06-24 11:23:47 +0200nunggu(~q@user/nunggu) (Remote host closed the connection)
2022-06-24 11:24:35 +0200nunggu(~q@user/nunggu)
2022-06-24 11:25:28 +0200jakalx(~jakalx@base.jakalx.net) (Error from remote client)
2022-06-24 11:31:48 +0200jakalx(~jakalx@base.jakalx.net)
2022-06-24 11:33:06 +0200Hemmo(~IceChat95@2001:999:48c:6368:7048:df38:ec8b:cf65)
2022-06-24 11:34:11 +0200misterfish(~misterfis@ip214-130-173-82.adsl2.static.versatel.nl)
2022-06-24 11:35:01 +0200econo(uid147250@user/econo) (Quit: Connection closed for inactivity)
2022-06-24 11:35:09 +0200 <Hemmo> Hey! Any tips on why this won't compile?? The first one is the function that won't work and below it is the error message. The function checkList works though and it's a similar situation??
2022-06-24 11:35:10 +0200 <Hemmo> https://paste.tomsmeding.com/pr5DcDfX
2022-06-24 11:35:38 +0200 <Hemmo> I tried changing String to [Char] too with no difference :s
2022-06-24 11:37:09 +0200 <[Leary]> You've shadowed `name`.
2022-06-24 11:37:58 +0200jmdaemon(~jmdaemon@user/jmdaemon) (Ping timeout: 240 seconds)
2022-06-24 11:42:47 +0200 <Hemmo> Oh my. How simple. Thanks!
2022-06-24 11:46:02 +0200zeenk(~zeenk@2a02:2f04:a301:3d00:39df:1c4b:8a55:48d3) (Quit: Konversation terminated!)
2022-06-24 11:48:58 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-06-24 11:49:34 +0200Kaiepi(~Kaiepi@156.34.47.253) (Read error: Connection reset by peer)
2022-06-24 11:50:32 +0200acidjnk_new(~acidjnk@dynamic-046-114-168-206.46.114.pool.telefonica.de) (Ping timeout: 246 seconds)
2022-06-24 11:50:41 +0200Infinite(~Infinite@49.39.122.144)
2022-06-24 11:53:04 +0200frost(~frost@user/frost)
2022-06-24 11:57:18 +0200nate4(~nate@98.45.169.16)
2022-06-24 12:01:29 +0200lisbeths(uid135845@id-135845.lymington.irccloud.com)
2022-06-24 12:03:37 +0200merijn(~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) (Ping timeout: 248 seconds)
2022-06-24 12:03:41 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-06-24 12:05:14 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 246 seconds)
2022-06-24 12:05:35 +0200nate4(~nate@98.45.169.16) (Ping timeout: 246 seconds)
2022-06-24 12:06:49 +0200acidjnk_new(~acidjnk@dynamic-046-114-168-206.46.114.pool.telefonica.de)
2022-06-24 12:07:22 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-06-24 12:10:15 +0200perrierjouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca)
2022-06-24 12:19:10 +0200dyeplexer(~dyeplexer@user/dyeplexer) (Read error: Connection reset by peer)
2022-06-24 12:19:13 +0200xff0x(~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 268 seconds)
2022-06-24 12:23:20 +0200mc47(~mc47@xmonad/TheMC47)
2022-06-24 12:23:21 +0200mima(~mmh@aftr-62-216-210-68.dynamic.mnet-online.de) (Ping timeout: 248 seconds)
2022-06-24 12:24:50 +0200gurkenglas(~gurkengla@dslb-002-203-144-112.002.203.pools.vodafone-ip.de) (Ping timeout: 246 seconds)
2022-06-24 12:27:46 +0200Kaiepi(~Kaiepi@156.34.47.253)
2022-06-24 12:30:03 +0200merijn(~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl)
2022-06-24 12:31:56 +0200jonathanx(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Remote host closed the connection)
2022-06-24 12:41:35 +0200Unicorn_Princess(~Unicorn_P@93-103-228-248.dynamic.t-2.net)
2022-06-24 13:01:03 +0200coot(~coot@213.134.190.95) (Quit: coot)
2022-06-24 13:02:58 +0200merijn(~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds)
2022-06-24 13:04:38 +0200Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
2022-06-24 13:05:16 +0200Vajb(~Vajb@85-76-45-218-nat.elisa-mobile.fi)
2022-06-24 13:06:01 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2022-06-24 13:08:14 +0200dsrt^(~dsrt@50.237.44.186)
2022-06-24 13:08:22 +0200Infinite(~Infinite@49.39.122.144) (Ping timeout: 252 seconds)
2022-06-24 13:12:27 +0200Vajb(~Vajb@85-76-45-218-nat.elisa-mobile.fi) (Read error: Connection reset by peer)
2022-06-24 13:12:56 +0200Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
2022-06-24 13:14:22 +0200 <Hemmo> Oh my. How simple. Thanks!
2022-06-24 13:14:31 +0200 <Hemmo> Ewops.
2022-06-24 13:16:12 +0200Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
2022-06-24 13:16:27 +0200Vajb(~Vajb@2001:999:40:4c50:1b24:879c:6df3:1d06)
2022-06-24 13:17:25 +0200xff0x(~xff0x@2405:6580:b080:900:9d54:6002:d2f9:ffa6)
2022-06-24 13:17:39 +0200merijn(~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl)
2022-06-24 13:23:12 +0200merijn(~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) (Ping timeout: 272 seconds)
2022-06-24 13:27:46 +0200Kaipei(~Kaiepi@156.34.47.253)
2022-06-24 13:28:19 +0200 <Hemmo> How could I make it so that, if my month or day is under 10, then it inputs a 0 before the number of the day or month? E.g I have "2020-02-02" instead of "2020-2-2"
2022-06-24 13:28:22 +0200 <Hemmo> https://paste.tomsmeding.com/DVX34MsE
2022-06-24 13:28:44 +0200 <Hemmo> First one is the one I have now and the second is an attempt at inputting a 0 there
2022-06-24 13:29:22 +0200 <Hemmo> I did something similar before by pattern matching the Show instance in a different context, but not sure how to proceed with this
2022-06-24 13:29:35 +0200mima(~mmh@dhcp-138-246-3-183.dynamic.eduroam.mwn.de)
2022-06-24 13:30:08 +0200 <Hemmo> Heres an edited one though https://paste.tomsmeding.com/eLe204gk
2022-06-24 13:30:26 +0200 <Hemmo> With data type decl for month and functions for them
2022-06-24 13:30:48 +0200dsrt^(~dsrt@50.237.44.186) (Ping timeout: 272 seconds)
2022-06-24 13:31:22 +0200Kaiepi(~Kaiepi@156.34.47.253) (Ping timeout: 268 seconds)
2022-06-24 13:31:40 +0200 <sm> if you want to depend on time, you can use https://hackage.haskell.org/package/time-1.13/docs/Data-Time-Format.html#v:formatTime
2022-06-24 13:31:58 +0200 <sm> otherwise, you could use printf "%2d" ...
2022-06-24 13:32:02 +0200cfricke(~cfricke@user/cfricke) (Ping timeout: 246 seconds)
2022-06-24 13:32:33 +0200 <sm> otherotherwise, you could write special cases for < 10
2022-06-24 13:35:53 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-06-24 13:37:00 +0200fweht(uid404746@id-404746.lymington.irccloud.com)
2022-06-24 13:41:58 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-06-24 13:42:32 +0200 <Hemmo> I would probably have to write special cases. You mean using case expressions in the show instance?
2022-06-24 13:43:05 +0200superbil(~superbil@1-34-176-171.hinet-ip.hinet.net) (Ping timeout: 265 seconds)
2022-06-24 13:43:30 +0200superbil(~superbil@1-34-176-171.hinet-ip.hinet.net)
2022-06-24 13:49:48 +0200mastarija(~mastarija@2a05:4f46:e02:8c00:8952:fd3b:3e41:ddea) (Quit: Leaving)
2022-06-24 13:52:24 +0200alexhandy(~trace@user/trace)
2022-06-24 13:53:11 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-06-24 13:53:34 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Ping timeout: 268 seconds)
2022-06-24 13:53:35 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2022-06-24 13:54:59 +0200geekosaur(~geekosaur@xmonad/geekosaur)
2022-06-24 13:56:38 +0200 <sm> or if then else
2022-06-24 13:58:34 +0200dyeplexer(~dyeplexer@user/dyeplexer)
2022-06-24 14:00:40 +0200Ram-Z(~Ram-Z@li1814-254.members.linode.com) (Quit: ZNC - http://znc.in)
2022-06-24 14:01:03 +0200 <lisbeths> is haskell based off of pure lambda calculus?
2022-06-24 14:01:44 +0200 <hpc> if you go back far enough, sure
2022-06-24 14:01:52 +0200 <hpc> it's closer to system f
2022-06-24 14:02:27 +0200Ram-Z(Ram-Z@2a01:7e01::f03c:91ff:fe57:d2df)
2022-06-24 14:02:38 +0200nate4(~nate@98.45.169.16)
2022-06-24 14:03:12 +0200whatsupdoc(uid509081@id-509081.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
2022-06-24 14:03:28 +0200shiraeeshi(~shiraeesh@109.166.57.222)
2022-06-24 14:07:18 +0200z0k(~z0k@206.84.143.59)
2022-06-24 14:10:19 +0200Hemmo(~IceChat95@2001:999:48c:6368:7048:df38:ec8b:cf65) (Quit: Pull the pin and count to what?)
2022-06-24 14:11:00 +0200dsrt^(~dsrt@50.237.44.186)
2022-06-24 14:12:42 +0200mima(~mmh@dhcp-138-246-3-183.dynamic.eduroam.mwn.de) (Ping timeout: 264 seconds)
2022-06-24 14:12:53 +0200cfricke(~cfricke@user/cfricke)
2022-06-24 14:15:36 +0200merijn(~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl)
2022-06-24 14:15:47 +0200acidjnk_new(~acidjnk@dynamic-046-114-168-206.46.114.pool.telefonica.de) (Ping timeout: 246 seconds)
2022-06-24 14:19:58 +0200nate4(~nate@98.45.169.16) (Ping timeout: 240 seconds)
2022-06-24 14:21:47 +0200Infinite(~Infinite@49.39.122.144)
2022-06-24 14:22:34 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-06-24 14:29:45 +0200 <dminuoso> System FC now, even
2022-06-24 14:34:50 +0200motherfsck(~motherfsc@user/motherfsck) (Ping timeout: 240 seconds)
2022-06-24 14:35:17 +0200motherfsck(~motherfsc@user/motherfsck)
2022-06-24 14:39:14 +0200mima(~mmh@dhcp-138-246-3-183.dynamic.eduroam.mwn.de)
2022-06-24 14:46:16 +0200pleo(~pleo@user/pleo)
2022-06-24 14:49:02 +0200dsrt^(~dsrt@50.237.44.186) (Ping timeout: 246 seconds)
2022-06-24 14:49:54 +0200merijn(~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) (Ping timeout: 264 seconds)
2022-06-24 14:55:23 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-06-24 14:57:27 +0200zeenk(~zeenk@2a02:2f04:a301:3d00:39df:1c4b:8a55:48d3)
2022-06-24 14:58:01 +0200koz(~koz@121.99.240.58) (Ping timeout: 256 seconds)
2022-06-24 14:59:27 +0200koz(~koz@121.99.240.58)
2022-06-24 15:01:40 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-06-24 15:12:08 +0200alp(~alp@user/alp) (Remote host closed the connection)
2022-06-24 15:12:18 +0200frost(~frost@user/frost) (Ping timeout: 252 seconds)
2022-06-24 15:12:27 +0200alp(~alp@user/alp)
2022-06-24 15:12:40 +0200Infinite(~Infinite@49.39.122.144) (Ping timeout: 252 seconds)
2022-06-24 15:22:29 +0200causal(~user@50.35.83.177) (Quit: WeeChat 3.5)
2022-06-24 15:25:26 +0200Vajb(~Vajb@2001:999:40:4c50:1b24:879c:6df3:1d06) (Read error: Connection reset by peer)
2022-06-24 15:25:48 +0200Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
2022-06-24 15:32:28 +0200dsrt^(~dsrt@50.237.44.186)
2022-06-24 15:43:27 +0200BusConscious(~martin@ip5f5bdf01.dynamic.kabel-deutschland.de)
2022-06-24 15:44:00 +0200jakalx(~jakalx@base.jakalx.net) ()
2022-06-24 15:46:13 +0200wagle(~wagle@quassel.wagle.io) (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.)
2022-06-24 15:46:41 +0200wagle(~wagle@quassel.wagle.io)
2022-06-24 15:46:51 +0200jakalx(~jakalx@base.jakalx.net)
2022-06-24 15:48:00 +0200merijn(~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl)
2022-06-24 15:48:21 +0200zaquest(~notzaques@5.130.79.72) (Remote host closed the connection)
2022-06-24 15:49:38 +0200zaquest(~notzaques@5.130.79.72)
2022-06-24 15:51:38 +0200coot(~coot@213.134.190.95)
2022-06-24 15:59:37 +0200 <lisbeths> is it possible to implement haskell atop pure lambda calculus?
2022-06-24 15:59:58 +0200 <geekosaur> pure lambda calculus has no notion of values
2022-06-24 16:00:26 +0200 <merijn> lisbeths: eh, you're gonna have to give a more concrete definition of "possible", "implement", "haskell" and "pure lambda calculus" :p
2022-06-24 16:00:39 +0200jafarlihi(~user@188.253.231.49)
2022-06-24 16:03:09 +0200 <geekosaur> you can use church encoding to encode values as functions, but at some point you have to inject something into it and the untyped lambda calculus doesn't give you anything to inject except more functions
2022-06-24 16:04:15 +0200 <geekosaur> there are also questions about laziness (pure LC is lazy but in a mathematical fashion instead of a computable one)
2022-06-24 16:04:35 +0200 <dminuoso> lisbeths: System F(C) already is very close to lambda calculus already.
2022-06-24 16:04:57 +0200 <dminuoso> The intermediate language GHC compiles to, called Core, is essentially just System FC
2022-06-24 16:05:32 +0200 <dminuoso> So you could imagine your wish being fulfilled already.
2022-06-24 16:05:49 +0200Guest3(~Guest3@43.21.135.77.rev.sfr.net) (Quit: Client closed)
2022-06-24 16:06:09 +0200 <geekosaur> depending on your definition of "pure"
2022-06-24 16:06:49 +0200 <geekosaur> (also which lambda calculus? untyped? simply typed? some other elaboration on it, like system fc or f(omega) or etc.?)
2022-06-24 16:08:26 +0200mjan22640(~Srain@212.17.33.215)
2022-06-24 16:08:55 +0200 <[exa]> lisbeths: lambda calculus forms a turing-complete system so you can literally implement anything in it
2022-06-24 16:09:03 +0200 <[exa]> but that's the answer you didn't want to hear I guess
2022-06-24 16:10:50 +0200werneta(~werneta@137.79.203.93)
2022-06-24 16:12:28 +0200werneta(~werneta@137.79.203.93) (Remote host closed the connection)
2022-06-24 16:16:05 +0200xacktm(xacktm@user/xacktm) (Quit: fBNC - https://bnc4free.com)
2022-06-24 16:16:08 +0200even4void(even4void@came.here.for-some.fun) (Quit: fBNC - https://bnc4free.com)
2022-06-24 16:16:12 +0200andreas303(andreas303@ip227.orange.bnc4free.com) (Quit: fBNC - https://bnc4free.com)
2022-06-24 16:18:38 +0200cfricke(~cfricke@user/cfricke) (Ping timeout: 272 seconds)
2022-06-24 16:23:32 +0200dyeplexer(~dyeplexer@user/dyeplexer) (Ping timeout: 246 seconds)
2022-06-24 16:24:20 +0200jafarlihi(~user@188.253.231.49) (Ping timeout: 272 seconds)
2022-06-24 16:27:07 +0200 <merijn> [exa]: Correction *some* lambda calculi form Turing complete systems :p
2022-06-24 16:28:45 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2022-06-24 16:29:47 +0200ccntrq(~Thunderbi@2a01:c23:9556:e100:66b1:7f27:4ed9:da23) (Remote host closed the connection)
2022-06-24 16:30:04 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-06-24 16:32:14 +0200superbil(~superbil@1-34-176-171.hinet-ip.hinet.net) (Ping timeout: 265 seconds)
2022-06-24 16:32:30 +0200slac55811(~slack1256@186.11.81.205) (Ping timeout: 264 seconds)
2022-06-24 16:32:40 +0200superbil(~superbil@1-34-176-171.hinet-ip.hinet.net)
2022-06-24 16:34:07 +0200Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
2022-06-24 16:34:23 +0200misterfish(~misterfis@ip214-130-173-82.adsl2.static.versatel.nl) (Ping timeout: 246 seconds)
2022-06-24 16:35:25 +0200 <BusConscious> can I make Bool an instance of Num
2022-06-24 16:36:49 +0200 <[exa]> BusConscious: why not
2022-06-24 16:36:57 +0200dyeplexer(~dyeplexer@user/dyeplexer)
2022-06-24 16:37:14 +0200shriekingnoise(~shrieking@201.212.175.181)
2022-06-24 16:38:12 +0200Vajb(~Vajb@2001:999:40:4c50:1b24:879c:6df3:1d06)
2022-06-24 16:38:13 +0200jinsun__(~jinsun@user/jinsun)
2022-06-24 16:38:13 +0200jinsun(~jinsun@user/jinsun) (Killed (iridium.libera.chat (Nickname regained by services)))
2022-06-24 16:38:13 +0200jinsun__jinsun
2022-06-24 16:38:25 +0200 <[exa]> you might have some semantic trouble with producing a reasonable lawful (-) and negate, but you may as well choose not to care that much about the semantics
2022-06-24 16:40:08 +0200 <geekosaur> Num's laws are a bit dubious anyway
2022-06-24 16:40:29 +0200 <[exa]> +1 ^
2022-06-24 16:40:43 +0200 <geekosaur> the main problem with making Bool an instance of Num is it increases the sphere of possible logic errors the compiler will no longer catch for you
2022-06-24 16:41:01 +0200jinsun__(~jinsun@user/jinsun)
2022-06-24 16:41:01 +0200jinsunGuest2644
2022-06-24 16:41:01 +0200Guest2644(~jinsun@user/jinsun) (Killed (osmium.libera.chat (Nickname regained by services)))
2022-06-24 16:41:01 +0200jinsun__jinsun
2022-06-24 16:41:09 +0200 <BusConscious> mhmm while possible i don't think making Bool an instance of Num is going to help me
2022-06-24 16:41:29 +0200 <geekosaur> so what's your actual problem?
2022-06-24 16:42:02 +0200even4void(even4void@came.here.for-some.fun)
2022-06-24 16:42:55 +0200 <BusConscious> So I'm implemenenting a parser for arithmetic expressions as in 1.7.2 of https://pubs.opengroup.org/onlinepubs/009604499/utilities/xcu_chap01.html#tag_01_07_02_01
2022-06-24 16:43:58 +0200 <BusConscious> here the boolean operators && || and ! operate on Integers instead of bools in the way that 2 && 3 ==1 and !0 =1 !2=0 ..
2022-06-24 16:44:32 +0200 <geekosaur> sounds like yiou really want Data.Bits
2022-06-24 16:44:44 +0200jinsun(~jinsun@user/jinsun) (Client Quit)
2022-06-24 16:44:49 +0200 <BusConscious> Now I could write some function bool2IntF:: (Bool -> Bool -> Bool) -> (Int -> Int -> Int)
2022-06-24 16:45:16 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:cd28:27b2:2677:8e87)
2022-06-24 16:45:17 +0200 <geekosaur> and your "not" is (/= 0)
2022-06-24 16:45:45 +0200 <BusConscious> but maybe there is some type voodoo I could do to make haskell's boolean operators these kind of "boolean operators"
2022-06-24 16:46:08 +0200 <BusConscious> geekosaur: ok that's reasonably short
2022-06-24 16:46:10 +0200 <geekosaur> not really, I just wouldn't use them. as I said, you want Data.Bits
2022-06-24 16:46:18 +0200 <geekosaur> > 2 .&. 3
2022-06-24 16:46:20 +0200 <lambdabot> 2
2022-06-24 16:46:35 +0200 <BusConscious> that's not logical but bitwise and
2022-06-24 16:46:52 +0200 <BusConscious> I also do that, but for & not &&
2022-06-24 16:47:23 +0200pavonia(~user@user/siracusa)
2022-06-24 16:47:41 +0200 <geekosaur> oh, you want a Boolean class. that's been done by others but isn't in base
2022-06-24 16:47:49 +0200 <geekosaur> it gets brought up occasionally
2022-06-24 16:48:15 +0200 <geekosaur> kinda the opposite of what you initially asked for, it'd be Instance Boolean Int where ...
2022-06-24 16:48:48 +0200 <BusConscious> yeah but Bool is not a type class .. or is Boolean?
2022-06-24 16:49:09 +0200 <geekosaur> as I said, it's been done but isn't in base
2022-06-24 16:49:56 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:cd28:27b2:2677:8e87) (Ping timeout: 268 seconds)
2022-06-24 16:50:15 +0200 <geekosaur> https://hackage.haskell.org/package/heyting-algebras
2022-06-24 16:50:38 +0200 <geekosaur> in math terms you want a Boolean algebra over Int
2022-06-24 16:52:19 +0200 <dolio> Probably not a proper boolean algebra, strictly speaking.
2022-06-24 16:52:56 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 246 seconds)
2022-06-24 16:54:21 +0200_ht(~quassel@231-169-21-31.ftth.glasoperator.nl)
2022-06-24 16:54:54 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-06-24 16:55:44 +0200dyeplexer(~dyeplexer@user/dyeplexer) (Ping timeout: 246 seconds)
2022-06-24 16:56:24 +0200superbil(~superbil@1-34-176-171.hinet-ip.hinet.net) (Ping timeout: 265 seconds)
2022-06-24 16:57:04 +0200 <geekosaur> in any case, for this I'm not sure I'd even bother with classes or whatever, just define my own "boolean" operators
2022-06-24 16:57:08 +0200Sgeo(~Sgeo@user/sgeo)
2022-06-24 16:57:24 +0200 <geekosaur> there's no particular reason to reuse the Haskell ones
2022-06-24 16:57:42 +0200 <BusConscious> ok
2022-06-24 16:57:50 +0200superbil(~superbil@1-34-176-171.hinet-ip.hinet.net)
2022-06-24 16:58:09 +0200 <BusConscious> Can I name these like the Haskell ones. Is there "overloading" in haskell?
2022-06-24 16:58:28 +0200 <geekosaur> "overloading" is via typeclasses, otherwise no
2022-06-24 16:59:25 +0200 <geekosaur> > let x .&&. y = fromEnum $ (x /= 0) && (y /= 0) in 2 .&&. 3
2022-06-24 16:59:27 +0200 <lambdabot> 1
2022-06-24 16:59:30 +0200 <merijn> BusConscious: You can't overload exist ones, but you can shadow them (i.e. hide them and define new ones with the same name)
2022-06-24 16:59:41 +0200 <geekosaur> kinda cheating with fromEnum but it does the right thing
2022-06-24 16:59:55 +0200xacktm(xacktm@user/xacktm)
2022-06-24 17:00:10 +0200andreas303(andreas303@ip227.orange.bnc4free.com)
2022-06-24 17:01:10 +0200 <geekosaur> > let x .||. y = fromEnum $ x /= 0 || y /= 0 in 2 .||. 3
2022-06-24 17:01:11 +0200 <lambdabot> 1
2022-06-24 17:02:14 +0200 <geekosaur> could do those /='s with toEnum instead, which makes it a bit clearer what's going on perhaps
2022-06-24 17:02:29 +0200 <BusConscious> ah so I can't really get around the additional dots
2022-06-24 17:02:40 +0200 <geekosaur> > let x .||. y = fromEnum $ toEnum x || toEnum y in 2 .||. 3
2022-06-24 17:02:41 +0200 <lambdabot> *Exception: Prelude.Enum.Bool.toEnum: bad argument
2022-06-24 17:02:43 +0200lyle(~lyle@104.246.145.85)
2022-06-24 17:02:56 +0200 <geekosaur> whoops, right, checks range. stick with /= 0
2022-06-24 17:03:07 +0200 <BusConscious> I mean I could try to hide the usual boolean operators, but that would not make my code any simpler
2022-06-24 17:03:16 +0200 <geekosaur> you could define your own Boolean typeclass, but I wouldn't bither, just use custom operators
2022-06-24 17:03:19 +0200 <geekosaur> it's not worth it
2022-06-24 17:05:30 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2022-06-24 17:05:31 +0200 <int-e> . o O ( I like how you put the "bit" into "bother" )
2022-06-24 17:07:18 +0200gmg(~user@user/gehmehgeh) (Remote host closed the connection)
2022-06-24 17:07:18 +0200nunggu(~q@user/nunggu) (Remote host closed the connection)
2022-06-24 17:08:13 +0200nunggu(~q@user/nunggu)
2022-06-24 17:08:14 +0200 <lyle> I'm stuck on how to share an environment amongst functions. Code here: https://paste.tomsmeding.com/wo12L2Ev
2022-06-24 17:08:18 +0200gmg(~user@user/gehmehgeh)
2022-06-24 17:08:35 +0200dyeplexer(~dyeplexer@user/dyeplexer)
2022-06-24 17:10:11 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-06-24 17:10:12 +0200 <int-e> you'll need another runReaderT inside the forkIO
2022-06-24 17:11:03 +0200jafarlihi(~user@188.253.231.49)
2022-06-24 17:11:15 +0200 <geekosaur> also, if you're just retrieving it into a variable and using it, might as well just pass it as a parameter instead of using Reader
2022-06-24 17:12:27 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-06-24 17:13:25 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-06-24 17:13:44 +0200 <shiraeeshi> given this equality:
2022-06-24 17:13:49 +0200 <shiraeeshi> t = 2 * O(n/2) + O(log n)
2022-06-24 17:14:00 +0200 <shiraeeshi> can I say that
2022-06-24 17:14:04 +0200 <shiraeeshi> t = O(n)
2022-06-24 17:14:06 +0200 <shiraeeshi> ?
2022-06-24 17:15:35 +0200 <shiraeeshi> in other words, if you add something sub-linear to something linear, the result is still linear, right?
2022-06-24 17:16:11 +0200 <dolio> Yes.
2022-06-24 17:16:34 +0200 <shiraeeshi> good
2022-06-24 17:16:58 +0200dyeplexer(~dyeplexer@user/dyeplexer) (Ping timeout: 240 seconds)
2022-06-24 17:18:29 +0200 <shiraeeshi> it means that I managed to solve the problem I was asking about yesterday, using induction
2022-06-24 17:18:55 +0200jafarlihi(~user@188.253.231.49) (Ping timeout: 268 seconds)
2022-06-24 17:19:27 +0200 <dolio> Oh, nice.
2022-06-24 17:19:38 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:cd28:27b2:2677:8e87)
2022-06-24 17:21:11 +0200jafarlihi(~user@188.253.234.203)
2022-06-24 17:22:30 +0200leib(~leib@2405:201:900a:f088:e9cb:3827:2e7e:6775)
2022-06-24 17:23:36 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-06-24 17:25:31 +0200even4void(even4void@came.here.for-some.fun) (Quit: fBNC - https://bnc4free.com)
2022-06-24 17:25:42 +0200xacktm(xacktm@user/xacktm) (Quit: fBNC - https://bnc4free.com)
2022-06-24 17:26:27 +0200andreas303(andreas303@ip227.orange.bnc4free.com) (Quit: fBNC - https://bnc4free.com)
2022-06-24 17:27:04 +0200N3r1um(~igloo@122.sub-174-205-34.myvzw.com)
2022-06-24 17:28:59 +0200dyeplexer(~dyeplexer@user/dyeplexer)
2022-06-24 17:31:26 +0200merijn(~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) (Ping timeout: 246 seconds)
2022-06-24 17:33:21 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-06-24 17:34:30 +0200jgeerds(~jgeerds@55d45f48.access.ecotel.net) (Ping timeout: 240 seconds)
2022-06-24 17:37:25 +0200N3r1um(~igloo@122.sub-174-205-34.myvzw.com) (Ping timeout: 268 seconds)
2022-06-24 17:39:12 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:cd28:27b2:2677:8e87) (Remote host closed the connection)
2022-06-24 17:40:10 +0200misterfish(~misterfis@ip214-130-173-82.adsl2.static.versatel.nl)
2022-06-24 17:42:02 +0200jinsun(~jinsun@user/jinsun)
2022-06-24 17:42:27 +0200andreas303(andreas303@ip227.orange.bnc4free.com)
2022-06-24 17:44:08 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Quit: Leaving)
2022-06-24 17:45:37 +0200geekosaur(~geekosaur@xmonad/geekosaur)
2022-06-24 17:49:12 +0200andreas303(andreas303@ip227.orange.bnc4free.com) (Ping timeout: 272 seconds)
2022-06-24 17:51:53 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:cd28:27b2:2677:8e87)
2022-06-24 17:54:49 +0200jafarlihi(~user@188.253.234.203) (Quit: WeeChat 3.5)
2022-06-24 17:58:34 +0200merijn(~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl)
2022-06-24 18:00:12 +0200Ash[m](~signal-wa@2001:470:69fc:105::1:2318) (Quit: You have been kicked for being idle)
2022-06-24 18:02:19 +0200hinny[m](~hinnymatr@2001:470:69fc:105::2:18ed) (Quit: You have been kicked for being idle)
2022-06-24 18:03:13 +0200jgeerds(~jgeerds@55d45f48.access.ecotel.net)
2022-06-24 18:04:06 +0200Infinite(~Infinite@49.39.124.23)
2022-06-24 18:05:28 +0200 <lyle> int-e, geekosaur: Thanks for checking it out!
2022-06-24 18:05:49 +0200hinny[m](~hinnymatr@2001:470:69fc:105::2:18ed)
2022-06-24 18:07:50 +0200misterfish(~misterfis@ip214-130-173-82.adsl2.static.versatel.nl) (Ping timeout: 246 seconds)
2022-06-24 18:08:31 +0200hinny[m](~hinnymatr@2001:470:69fc:105::2:18ed) ()
2022-06-24 18:09:13 +0200even4void(even4void@came.here.for-some.fun)
2022-06-24 18:09:16 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:cd28:27b2:2677:8e87) (Remote host closed the connection)
2022-06-24 18:10:38 +0200jgeerds(~jgeerds@55d45f48.access.ecotel.net) (Ping timeout: 240 seconds)
2022-06-24 18:12:29 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2022-06-24 18:13:49 +0200nunggu(~q@user/nunggu) (Ping timeout: 268 seconds)
2022-06-24 18:15:02 +0200jmcarthur(~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Ping timeout: 268 seconds)
2022-06-24 18:18:42 +0200dyeplexer(~dyeplexer@user/dyeplexer) (Ping timeout: 264 seconds)
2022-06-24 18:18:50 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:cd28:27b2:2677:8e87)
2022-06-24 18:20:23 +0200nate4(~nate@98.45.169.16)
2022-06-24 18:23:30 +0200andreas303(~andreas30@ip227.orange.bnc4free.com)
2022-06-24 18:24:38 +0200MajorBiscuit(~MajorBisc@wlan-145-94-167-213.wlan.tudelft.nl) (Ping timeout: 240 seconds)
2022-06-24 18:27:20 +0200xacktm(xacktm@user/xacktm)
2022-06-24 18:27:42 +0200nate4(~nate@98.45.169.16) (Ping timeout: 264 seconds)
2022-06-24 18:30:58 +0200shiraeeshi(~shiraeesh@109.166.57.222) (Ping timeout: 240 seconds)
2022-06-24 18:31:19 +0200dyeplexer(~dyeplexer@user/dyeplexer)
2022-06-24 18:33:32 +0200merijn(~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) (Ping timeout: 272 seconds)
2022-06-24 18:35:05 +0200tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
2022-06-24 18:36:58 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 240 seconds)
2022-06-24 18:38:55 +0200slack1256(~slack1256@191.126.227.81)
2022-06-24 18:39:19 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-06-24 18:40:21 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-06-24 18:40:41 +0200pleo(~pleo@user/pleo) (Quit: quit)
2022-06-24 18:41:33 +0200shiraeeshi(~shiraeesh@109.166.57.222)
2022-06-24 18:48:18 +0200mima(~mmh@dhcp-138-246-3-183.dynamic.eduroam.mwn.de) (Ping timeout: 240 seconds)
2022-06-24 18:58:19 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-06-24 18:58:35 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 246 seconds)
2022-06-24 19:00:38 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-06-24 19:06:45 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:cd28:27b2:2677:8e87) (Remote host closed the connection)
2022-06-24 19:08:45 +0200yauhsien(~yauhsien@61-231-38-201.dynamic-ip.hinet.net) (Remote host closed the connection)
2022-06-24 19:09:00 +0200notzmv(~zmv@user/notzmv) (Ping timeout: 272 seconds)
2022-06-24 19:11:28 +0200yauhsien(~yauhsien@61-231-38-201.dynamic-ip.hinet.net)
2022-06-24 19:12:56 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 246 seconds)
2022-06-24 19:13:33 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-06-24 19:14:25 +0200merijn(~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl)
2022-06-24 19:14:59 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-06-24 19:16:36 +0200yauhsien(~yauhsien@61-231-38-201.dynamic-ip.hinet.net) (Ping timeout: 272 seconds)
2022-06-24 19:16:49 +0200gmg(~user@user/gehmehgeh) (Remote host closed the connection)
2022-06-24 19:17:41 +0200gmg(~user@user/gehmehgeh)
2022-06-24 19:19:14 +0200merijn(~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) (Ping timeout: 246 seconds)
2022-06-24 19:19:14 +0200moet(~moet@lib-02-subnet-194.rdns.cenic.net)
2022-06-24 19:19:16 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
2022-06-24 19:20:22 +0200lisbeths(uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2022-06-24 19:24:08 +0200yauhsien(~yauhsien@61-231-38-201.dynamic-ip.hinet.net)
2022-06-24 19:35:14 +0200ubert(~Thunderbi@p200300ecdf0da5c0b08d08d51a120a85.dip0.t-ipconnect.de) (Remote host closed the connection)
2022-06-24 19:36:18 +0200machinedgod(~machinedg@66.244.246.252) (Ping timeout: 240 seconds)
2022-06-24 19:41:56 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 272 seconds)
2022-06-24 19:43:18 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-06-24 19:44:45 +0200arj0019(~arj0019@162.218.254.7)
2022-06-24 19:51:53 +0200 <arj0019> Given a list La = [n, n1, n2, ..., n100], and Lb = [[n], [n, n1], [n, n1, n2], ..., [n, n1, n2, ..., n100]], does Lb grow exponentially large? I am attempting to process timeseries data where at each point in time, the presented data is all data avaliable up to that date. It is assumed that the data is complete, and constant resolution, so there is no actual time index (just the list index).
2022-06-24 19:53:20 +0200dsrt^(~dsrt@50.237.44.186) (Ping timeout: 272 seconds)
2022-06-24 19:57:46 +0200arj0019(~arj0019@162.218.254.7) (Remote host closed the connection)
2022-06-24 19:58:03 +0200arj0019(~arj0019@162.218.254.7)
2022-06-24 19:58:10 +0200werneta(~werneta@137.78.30.207)
2022-06-24 19:58:26 +0200 <hololeap> you'll most likely want to use something other than a regular list for that, probably vectors so you have O(1) lookups
2022-06-24 19:59:25 +0200 <hololeap> but this is hard to say without knowing more and why you're building something like Lb
2022-06-24 20:01:00 +0200 <hololeap> if Lb grows exponentially large depends on how you are processing it and how that interacts with lazy evaluation
2022-06-24 20:01:17 +0200notzmv(~zmv@user/notzmv)
2022-06-24 20:04:18 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-06-24 20:04:29 +0200 <arj0019> It is not my intention to support lookups. The consumers of this timeseries data are not given access to the relevant timestamps. Instead, it is my intention to provide the data to consumers with the assumption that the data is complete. The first item in the list is the most recent, and consumers can do operations such as 'take 10' to get the 10 most recent points. Do you still think that a list is the incorrect data structure? The data is only aggregated
2022-06-24 20:06:09 +0200arj0019(~arj0019@162.218.254.7) (Remote host closed the connection)
2022-06-24 20:06:26 +0200arj0019(~arj0019@162.218.254.7)
2022-06-24 20:06:27 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:cd28:27b2:2677:8e87)
2022-06-24 20:07:08 +0200 <arj0019> now that I think about it, a fold may be better for what I am doing. I can slowly grow the accumulator by prepending the next data point. The only complication is that I would need to figure out how to have two accumulators; one for my output, and one to hold the growing input. Maybe I use a nested fold???
2022-06-24 20:07:49 +0200briandaed(~briandaed@109.95.143.14.r.toneticgroup.pl)
2022-06-24 20:08:30 +0200mikoto-chan(~mikoto-ch@esm-84-240-99-143.netplaza.fi) (Ping timeout: 268 seconds)
2022-06-24 20:10:58 +0200arj0019(~arj0019@162.218.254.7) (Remote host closed the connection)
2022-06-24 20:11:09 +0200 <monochrom> One single foldr/foldl that returns a tuple. Then a fst/snd to pick out the final answer.
2022-06-24 20:11:15 +0200arj0019(~arj0019@162.218.254.7)
2022-06-24 20:11:34 +0200dsrt^(~dsrt@50.237.44.186)
2022-06-24 20:11:42 +0200leib(~leib@2405:201:900a:f088:e9cb:3827:2e7e:6775) (Ping timeout: 272 seconds)
2022-06-24 20:12:06 +0200 <ski> arj0019 : the size of `Lb' is quadratic in the size of `La'
2022-06-24 20:12:35 +0200 <ski> <monochrom> One single foldr/foldl that returns a tuple. Then a fst/snd to pick out the final answer.
2022-06-24 20:15:00 +0200arj0019(~arj0019@162.218.254.7) (Remote host closed the connection)
2022-06-24 20:15:17 +0200arj0019(~arj0019@162.218.254.7)
2022-06-24 20:15:42 +0200 <ski> arj0019 : are you aware that you're quitting and rejoining repeatedly ?
2022-06-24 20:16:04 +0200slack1256(~slack1256@191.126.227.81) (Read error: Connection reset by peer)
2022-06-24 20:17:37 +0200slack1256(~slack1256@186.11.81.205)
2022-06-24 20:18:32 +0200mima(~mmh@aftr-62-216-210-207.dynamic.mnet-online.de)
2022-06-24 20:18:56 +0200merijn(~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl)
2022-06-24 20:21:01 +0200pleo(~pleo@user/pleo)
2022-06-24 20:21:47 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-06-24 20:23:51 +0200slack1256(~slack1256@186.11.81.205) (Remote host closed the connection)
2022-06-24 20:24:42 +0200dyeplexer(~dyeplexer@user/dyeplexer) (Ping timeout: 264 seconds)
2022-06-24 20:26:21 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:cd28:27b2:2677:8e87) (Remote host closed the connection)
2022-06-24 20:26:23 +0200 <ski> if you want to represent `Lb', it may be better to represent the lists reversed, that way they can share tails; or you could use vector slices ..
2022-06-24 20:27:21 +0200razetime(~quassel@49.207.193.240) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
2022-06-24 20:27:35 +0200 <ski> .. but it's not really clear to me what you're doing / you want to do, whether you actually want/need to represent `Lb' at all, where the timeseries data points are coming from, how you get a hold of them
2022-06-24 20:28:38 +0200 <ski> arj0019 : at this point, perhaps showing some code might help. ior trying to explain the context more
2022-06-24 20:29:12 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-06-24 20:30:12 +0200Infinite(~Infinite@49.39.124.23) (Ping timeout: 252 seconds)
2022-06-24 20:31:08 +0200alexhandy2(~trace@user/trace)
2022-06-24 20:32:40 +0200AndChat-624225(~trace@user/trace)
2022-06-24 20:33:04 +0200 <BusConscious> Say I have function f a -> b -> c and I have a tuple (a,b) : Whats the most idiomatic way to obtain the function f' (a,b) = f a b ?
2022-06-24 20:33:07 +0200alexhandy(~trace@user/trace) (Read error: Connection reset by peer)
2022-06-24 20:33:31 +0200 <ski> f' = uncurry f
2022-06-24 20:33:41 +0200 <BusConscious> ah ok thanks
2022-06-24 20:33:51 +0200 <BusConscious> gotta remember that
2022-06-24 20:34:43 +0200HotblackDesiato(~HotblackD@gateway/tor-sasl/hotblackdesiato) (Remote host closed the connection)
2022-06-24 20:34:47 +0200 <ski> f `uncurry` (a,b) -- you can also write it like this, if you'd want to
2022-06-24 20:35:32 +0200alexhandy2(~trace@user/trace) (Ping timeout: 246 seconds)
2022-06-24 20:35:56 +0200alexhandy(~trace@user/trace)
2022-06-24 20:36:08 +0200HotblackDesiato(~HotblackD@gateway/tor-sasl/hotblackdesiato)
2022-06-24 20:37:23 +0200 <arj0019> Unfortunately I do not have code yet; I am trying to get a map of how to solve the problem first. The data that I am processing is financial data; only price for the first iteration of my system (price vs time for a large number of assets). I will only be looking at price data. I intend to have a type called `factor`, of which instances must implement two functions: `rank` and `rate`. For example, a `factor` can be used to rank the various assets by their
2022-06-24 20:38:00 +0200jespada(~jespada@cpc121022-nmal24-2-0-cust171.19-2.cable.virginm.net) (Quit: Textual IRC Client: www.textualapp.com)
2022-06-24 20:38:11 +0200 <arj0019> oof on msg length limit...
2022-06-24 20:38:52 +0200 <arj0019> For example, a `factor` can be used to rank the various assets by their price data series.
2022-06-24 20:39:18 +0200AndChat-624225(~trace@user/trace) (Ping timeout: 240 seconds)
2022-06-24 20:39:27 +0200 <arj0019> When running a historical analysis, I need to have snapshots that represent all data that was known at a point in time.
2022-06-24 20:40:20 +0200adanwan(~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection)
2022-06-24 20:41:02 +0200adanwan(~adanwan@gateway/tor-sasl/adanwan)
2022-06-24 20:42:15 +0200 <ski> "a type called `factor`, of which instances must implement two functions: `rank` and `rate`" -- this sounds like OO-speak, to me. iiuc, we'd say it contains two components/fields `rank' and `rate', being functions (or maybe it contains the result of performing those operations ?)
2022-06-24 20:44:11 +0200 <ski> (in the former case, the functions in a `Factor' would be applied to some data to compute rank and rate. in the latter case, you'd apply a function of the data to compute the `Factor' containing the rank and rate results)
2022-06-24 20:44:41 +0200kimjetwav(~user@2607:fea8:2340:da00:59a1:33be:cb76:515a) (Ping timeout: 248 seconds)
2022-06-24 20:45:38 +0200 <arj0019> Yea, sorry. My only real experience is with OOP. I'm a mechanical engineer, so I don't have much of a background in this stuff. Hopefully changing that soon with a CSSE degree.
2022-06-24 20:45:40 +0200 <ski> "I need to have snapshots that represent all data that was known at a point in time." -- so far, it sounds like using a tail, perhaps with `take'/`drop'/`splitAt', or during incremental processing, would provide you with those snapshots
2022-06-24 20:46:23 +0200 <ski> arj0019 : no worry, just pointing out the differing terminologies, in order to help smooth communication
2022-06-24 20:47:35 +0200mikoto-chan(~mikoto-ch@esm-84-240-99-143.netplaza.fi)
2022-06-24 20:47:48 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:cd28:27b2:2677:8e87)
2022-06-24 20:49:28 +0200arj0019(~arj0019@162.218.254.7) (Remote host closed the connection)
2022-06-24 20:49:45 +0200arj0019(~arj0019@162.218.254.7)
2022-06-24 20:50:11 +0200Infinite(~Infinite@49.39.124.23)
2022-06-24 20:50:11 +0200coot(~coot@213.134.190.95) (Quit: coot)
2022-06-24 20:50:27 +0200 <BusConscious> yay! Arithmetic expansion works on first try!
2022-06-24 20:51:03 +0200 <BusConscious> honestly the thing i like most about haskell is that when eventually I get all the types right it just works
2022-06-24 20:51:59 +0200merijn(~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) (Ping timeout: 246 seconds)
2022-06-24 20:52:11 +0200 <arj0019> I think I understand what you mean by tail. I first analyze the full list, then grab the tail and run analysis on that, and just continue down the 'loop' with each new tail. this correctly avoids look ahead bias, as the analysis only sees the data avaliable at that index and futher back (since data is sorted with most recent at the begining).
2022-06-24 20:53:51 +0200arj0019(~arj0019@162.218.254.7) (Remote host closed the connection)
2022-06-24 20:54:08 +0200arj0019(~arj0019@162.218.254.7)
2022-06-24 20:54:10 +0200 <arj0019> That allows my analysis functions to analyze a data series and output a single analysis output, and I can do historical tests by doing the recursive tail analysis.
2022-06-24 20:54:43 +0200 <ski> yes
2022-06-24 20:55:27 +0200 <arj0019> Can you explain more about list vs vectors, or provide a reference? thanks for the help. Sorry I am probably filling the chat with DC/RC messages, not sure why I have connection problems.
2022-06-24 20:55:43 +0200 <ski> however, it could be that the analysis of the data series could reuse the result of the analysis of the tail of the data series, thereby avoiding redoing computations multiple times
2022-06-24 20:56:00 +0200adanwan(~adanwan@gateway/tor-sasl/adanwan) (Ping timeout: 268 seconds)
2022-06-24 20:56:03 +0200adanwan_(~adanwan@gateway/tor-sasl/adanwan)
2022-06-24 20:56:20 +0200 <ski> if this is the case, with the analysis you're aiming for, you should probably try to take advantage of this
2022-06-24 20:57:15 +0200 <ski> "not sure why I have connection problems" -- well, one situation in which this happens often is people chatting on a mobile
2022-06-24 20:57:26 +0200 <ski> anyway, list tails
2022-06-24 20:57:36 +0200 <ski> > inits [0,1,2,3,4,5,6,7]
2022-06-24 20:57:37 +0200 <lambdabot> [[],[0],[0,1],[0,1,2],[0,1,2,3],[0,1,2,3,4],[0,1,2,3,4,5],[0,1,2,3,4,5,6],[0...
2022-06-24 20:58:23 +0200 <ski> in this case, each of the result lists are allocated separately, so the amount of memory space that's required to store all these elements at the same time is quadratic in the size of the original list
2022-06-24 20:58:27 +0200 <ski> however, with
2022-06-24 20:58:30 +0200 <ski> > tails [0,1,2,3,4,5,6,7]
2022-06-24 20:58:32 +0200 <lambdabot> [[0,1,2,3,4,5,6,7],[1,2,3,4,5,6,7],[2,3,4,5,6,7],[3,4,5,6,7],[4,5,6,7],[5,6,...
2022-06-24 20:59:20 +0200 <ski> each list is the tail of the previous list, so the lists share almost all their space (apart from the first element / cons cell). so, in this case, the stoage space is only linear
2022-06-24 20:59:43 +0200 <ski> (this was why i was suggesting representing `LB' with the individual lists reversed)
2022-06-24 21:00:04 +0200 <arj0019> i assume this is an optimization inside GHC? since fundamentally i dont see a difference in the contents.
2022-06-24 21:01:11 +0200 <arj0019> or is it because the 'inits' uses concatenation, and the 'tails' uses prepending?
2022-06-24 21:02:00 +0200 <ski> (btw, it should also be noted that, with lazy evaluation,it's quite common that not all of a list is materialized at the same time. you could walk down a list, the elements (and cons cells) you pass could be GCed (unless you hold on to a reference to them), while the elements further down to the tail hasn't been allocated and computed yet. further, fusion optimization could make it so that the cons cells are
2022-06-24 21:02:06 +0200 <ski> never allocated, the elements passed directly from the producer, in one part of the program, to the consumer, in another part, "under the covers")
2022-06-24 21:02:26 +0200 <ski> arj0019 : this is because lists are (right-leaning/associated) single-linked lists, in Haskell
2022-06-24 21:02:29 +0200 <ski> @src []
2022-06-24 21:02:29 +0200 <lambdabot> data [] a = [] | a : [a]
2022-06-24 21:02:57 +0200 <ski> `[0,1,2,3]' means `0 : 1 : 2 : 3 : []', which means `0 : (1 : (2 : (3 : [])))'
2022-06-24 21:03:55 +0200 <arj0019> and Haskell/GHC uses this property of lists to more efficently generate the output of tails [1,2,3..]
2022-06-24 21:03:56 +0200 <ski> so, `tail [0,1,2,3]' just reaches into the list, and returns back to you the `1 : 2 : 3 : []' part. it doesn't allocate any new list cells/nodes
2022-06-24 21:04:17 +0200 <arj0019> that is very neat. exactly what I needed
2022-06-24 21:04:25 +0200 <ski> otoh, `init [0,1,2,3]' will allocate the cells in `0 : 1 : 2 : []' for you (sharing the elements (the numbers) themselves)
2022-06-24 21:04:53 +0200 <ski> (and `inits' and `tails' are similar, except they return all initial and tail segments, not just skipping one element)
2022-06-24 21:05:42 +0200unit73e(~emanuel@2001:818:e8dd:7c00:32b5:c2ff:fe6b:5291)
2022-06-24 21:05:43 +0200 <ski> @src init
2022-06-24 21:05:43 +0200 <lambdabot> init [x] = []
2022-06-24 21:05:43 +0200 <lambdabot> init (x:xs) = x : init xs
2022-06-24 21:05:43 +0200 <lambdabot> init [] = error "Prelude.init: empty list"
2022-06-24 21:05:46 +0200 <ski> @src tail
2022-06-24 21:05:46 +0200 <lambdabot> tail (_:xs) = xs
2022-06-24 21:05:46 +0200 <lambdabot> tail [] = error "Prelude.tail: empty list"
2022-06-24 21:05:56 +0200 <ski> note that `init' is recursively defined, while `tail' isn't
2022-06-24 21:06:39 +0200 <ski> (and `init' does a `:' (allocation) call in the result (after the `='), while `tail' doesn't)
2022-06-24 21:07:23 +0200 <arj0019> so `tail' benefits from being non recursive here?
2022-06-24 21:07:59 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:cd28:27b2:2677:8e87) (Remote host closed the connection)
2022-06-24 21:08:23 +0200 <ski> well .. the point was more to show that `tail' only reaches into the first cons cell of the list, and returns whatever is stored in its "tail" component (the part after the `:', namely `xs' in the `_:xs' pattern, in the definition above)
2022-06-24 21:08:51 +0200machinedgod(~machinedg@66.244.246.252)
2022-06-24 21:09:03 +0200 <ski> while `init', otoh, actually (recursively) traverses the whole list that you give to it (while allocating new cons cells for each cons cell that it passes by, except for the last one)
2022-06-24 21:09:47 +0200 <ski> arj0019 : anyway, vector slicing, docs are here : <https://hackage.haskell.org/package/vector-0.13.0.0/docs/Data-Vector.html#g:6>
2022-06-24 21:10:58 +0200zeenk(~zeenk@2a02:2f04:a301:3d00:39df:1c4b:8a55:48d3) (Quit: Konversation terminated!)
2022-06-24 21:12:52 +0200yauhsien(~yauhsien@61-231-38-201.dynamic-ip.hinet.net) (Remote host closed the connection)
2022-06-24 21:13:28 +0200yauhsien(~yauhsien@61-231-38-201.dynamic-ip.hinet.net)
2022-06-24 21:13:38 +0200 <arj0019> I found a neat package called "ghc-datasize", and I was able to verify that using `tails' results in lower memory consumption than `inits'
2022-06-24 21:13:39 +0200 <ski> a list is not (necessarily) contiguously allocated. a vector is basically an array, so is contiguously allocated, except that apart from keeping track of the contiguous chunk of memory, it also keeps track of an offset and a length for that (equivalent to a start and end), so that you can slice out parts of a vector, and still share the storage chunk
2022-06-24 21:16:17 +0200 <ski> (vectors also have powerful loop fusion, meaning that often you'll actually not materialize intermediate vectors in your computations, they'll be optimized away)
2022-06-24 21:16:33 +0200 <arj0019> if you want to see my highly scientific testing of the data sizes from `init' and `tails', you can review it here https://paste.tomsmeding.com/6oOInWHP .
2022-06-24 21:17:38 +0200yauhsien(~yauhsien@61-231-38-201.dynamic-ip.hinet.net) (Ping timeout: 240 seconds)
2022-06-24 21:18:06 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 264 seconds)
2022-06-24 21:18:08 +0200 <arj0019> Thanks for all the help. The IRC here has a great reputation, and you did not disappoint. Hopefully I can assist others eventually.
2022-06-24 21:18:18 +0200 <ski> you should use `$!!'
2022-06-24 21:18:38 +0200 <arj0019> i tried, and GHCI complained...
2022-06-24 21:18:47 +0200 <ski> you need to import `Control.DeepSeq'
2022-06-24 21:19:20 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-06-24 21:19:23 +0200 <ski> ghci> :m + Control.DeepSeq
2022-06-24 21:19:33 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2022-06-24 21:20:34 +0200 <geekosaur> actually "import Control.Deepseq" works too
2022-06-24 21:20:49 +0200 <geekosaur> unimporting still requires :m
2022-06-24 21:21:19 +0200 <ski> well, i guess there's `recursiveSizeNF' you could use, as well
2022-06-24 21:21:38 +0200 <ski> geekosaur : yea, i know .. still not used to that :)
2022-06-24 21:22:18 +0200td_(~td@muedsl-82-207-238-027.citykom.de) (Ping timeout: 264 seconds)
2022-06-24 21:23:41 +0200 <arj0019> You can see the '$!!' analysis here: https://paste.tomsmeding.com/miJzVUVw . It better shows the size difference. I am surprised how significant it is for such a small list.
2022-06-24 21:23:47 +0200td_(~td@94.134.91.109)
2022-06-24 21:24:04 +0200 <geekosaur> lists are pretty wasteful, yeh
2022-06-24 21:24:36 +0200 <geekosaur> under the right ciircumstances they compile down to *very* tight loops, but are otherwise probably best avoided
2022-06-24 21:26:08 +0200liz_(~liz@host86-159-158-175.range86-159.btcentralplus.com)
2022-06-24 21:26:42 +0200 <arj0019> I need to research 'vectors' as mentioned by SKI. I am still very new to Haskell.
2022-06-24 21:27:22 +0200 <ski> @quote is.more.of.a.control.structure
2022-06-24 21:27:22 +0200 <lambdabot> elliott says: ... [a] is more of a control structure than a data structure.
2022-06-24 21:28:07 +0200 <geekosaur> I've been saying that for a while ("a loop encoded as data")
2022-06-24 21:28:25 +0200 <arj0019> is `tails' just a fold of `tail'? and a fold of `tail' to get the same result as `tails', would be equally efficient?
2022-06-24 21:28:28 +0200 <ski> yea, it's old folklore
2022-06-24 21:30:05 +0200 <ski> hm, basically every list-consuming function could be defined in terms of `foldr' .. so that doesn't tay too much
2022-06-24 21:30:24 +0200Kaiepi(~Kaiepi@156.34.47.253)
2022-06-24 21:31:39 +0200 <ski> i guess it's a `scanr', or an `unfoldr'
2022-06-24 21:31:55 +0200 <arj0019> I guess my question is does `tails' have some special super-efficient logic, or is it no different than using `tail' a bunch of times
2022-06-24 21:32:20 +0200 <arj0019> the type signature does not answer my question
2022-06-24 21:32:25 +0200 <arj0019> > :t tails
2022-06-24 21:32:27 +0200 <lambdabot> <hint>:1:1: error: parse error on input ‘:’
2022-06-24 21:32:31 +0200 <geekosaur> :t tails
2022-06-24 21:32:32 +0200 <lambdabot> [a] -> [[a]]
2022-06-24 21:32:53 +0200 <geekosaur> it just loops over the list returning the "xs" part of each cons cell
2022-06-24 21:33:03 +0200 <geekosaur> no special logic needed
2022-06-24 21:33:06 +0200Kaipei(~Kaiepi@156.34.47.253) (Ping timeout: 264 seconds)
2022-06-24 21:33:12 +0200 <ski> > tails [0,1,2,3]
2022-06-24 21:33:13 +0200 <lambdabot> [[0,1,2,3],[1,2,3],[2,3],[3],[]]
2022-06-24 21:33:16 +0200 <ski> > scanr (:) [] [0,1,2,3]
2022-06-24 21:33:17 +0200 <lambdabot> [[0,1,2,3],[1,2,3],[2,3],[3],[]]
2022-06-24 21:33:21 +0200 <ski> > unfoldr (\xs0 -> case xs0 of [] -> Nothing; _:xs -> Just (xs0,xs)) [0,1,2,3] -- not quite
2022-06-24 21:33:23 +0200 <lambdabot> [[0,1,2,3],[1,2,3],[2,3],[3]]
2022-06-24 21:33:58 +0200 <ski> > [0,1,2,3] : unfoldr (\case [] -> Nothing; _:xs -> Just (xs,xs)) [0,1,2,3]
2022-06-24 21:34:00 +0200 <lambdabot> [[0,1,2,3],[1,2,3],[2,3],[3],[]]
2022-06-24 21:34:16 +0200 <ski> @src tails
2022-06-24 21:34:16 +0200 <lambdabot> tails [] = [[]]
2022-06-24 21:34:16 +0200 <lambdabot> tails xxs@(_:xs) = xxs : tails xs
2022-06-24 21:34:27 +0200 <ski> arj0019 : ^ that's the logic of `tails'
2022-06-24 21:34:41 +0200 <ski> it's just a plain recursion, traversing the list, while building a new list
2022-06-24 21:35:24 +0200 <ski> (the `xxs@(_:xs)' pattern names the whole list input `xxs', while also naming its tail `xs')
2022-06-24 21:36:35 +0200 <arj0019> it is interesting that `tails' does not use `tail' in it's definition
2022-06-24 21:36:38 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-06-24 21:36:56 +0200 <ski> > foldr (\x xss@(xs:_) -> (x:xs):xss) [[]] [0,1,2,3] -- this implementation, via `foldr', doesn't share tails, though :(
2022-06-24 21:36:57 +0200 <geekosaur> "tail" is just the "xs" pattern match
2022-06-24 21:36:58 +0200 <lambdabot> [[0,1,2,3],[1,2,3],[2,3],[3],[]]
2022-06-24 21:37:01 +0200 <geekosaur> @src tail
2022-06-24 21:37:02 +0200 <lambdabot> tail (_:xs) = xs
2022-06-24 21:37:02 +0200 <lambdabot> tail [] = error "Prelude.tail: empty list"
2022-06-24 21:37:47 +0200 <ski> arj0019 : instead of `tails xxs@(_:xs) = xxs : tails xs', it could say `tails xxs = xxs : tails (tail xxs)' .. but there's not much point, when a pattern-match gives you the same
2022-06-24 21:40:26 +0200arj0019(~arj0019@162.218.254.7) (Remote host closed the connection)
2022-06-24 21:40:43 +0200arj0019(~arj0019@162.218.254.7)
2022-06-24 21:41:20 +0200z0k(~z0k@206.84.143.59) (Ping timeout: 246 seconds)
2022-06-24 21:43:25 +0200 <ski> arj0019 : in general, accessors like `fst',`snd',`head',`tail' (especially partial ones, like the latter two) (also predicates like `null') tend to not be used that often, since when one could replace them with a pattern-match that's approximately as clear (often it is clearer, at least with a little practice reading Haskell), and better due to exhaustiveness/completeness checking
2022-06-24 21:43:31 +0200 <ski> (`-Wincomplete-uni-patterns',`-Wincomplete-patterns'), one tends to do that
2022-06-24 21:43:43 +0200alexhandy2(~trace@user/trace)
2022-06-24 21:46:38 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-06-24 21:47:43 +0200alexhandy(~trace@user/trace) (Ping timeout: 256 seconds)
2022-06-24 21:49:05 +0200MajorBiscuit(~MajorBisc@86-88-79-148.fixed.kpn.net)
2022-06-24 21:49:20 +0200acidjnk_new(~acidjnk@dynamic-046-114-173-051.46.114.pool.telefonica.de)
2022-06-24 21:51:04 +0200arj0019(~arj0019@162.218.254.7) (Remote host closed the connection)
2022-06-24 21:51:21 +0200arj0019(~arj0019@162.218.254.7)
2022-06-24 21:51:43 +0200 <arj0019> I see that you have referred to two language extensions. It is my understanding, that language extensions exist to allow for language research and development. Would you agree that a Haskell beginner should avoid language extensions? IMO, the Haskell devs know better than me, and I am probably better off working within the structure that they have defined for now. Do you agree?
2022-06-24 21:52:34 +0200 <ski> two ?
2022-06-24 21:52:43 +0200pleo(~pleo@user/pleo) (Quit: quit)
2022-06-24 21:55:12 +0200 <ski> i'd say some extensions are pretty benign, like `FlexibleInstances',`FlexibleContexts' .. and, yes, `LambdaCase' (and some other syntactical ones)
2022-06-24 21:56:26 +0200 <hololeap> arj0019: I was scared of language extensions when I first started learning and thought that learning base haskell would be hard enough, but quite a few of them add some very minor quality of life improvements
2022-06-24 21:57:58 +0200 <ski> i'd still be very wary of code using `OverlappingInstances' or `IncoherentInstances', though (or the equivalent pragmas)
2022-06-24 21:58:42 +0200 <arj0019> I have seen some used for type constrains that look very useful. I just want to avoid engaging in bad habits early on. When I am more experienced, I think I will be able to better assess the cost/benefit of implementing a language extension
2022-06-24 21:58:44 +0200MajorBiscuit(~MajorBisc@86-88-79-148.fixed.kpn.net) (Ping timeout: 272 seconds)
2022-06-24 21:59:25 +0200 <hololeap> arj0019: also, I think you're mistaking e.g. `-Wincomplete-uni-patterns' as a language extension. it actually turns on a specific type of warning
2022-06-24 21:59:36 +0200 <ski> ah .. that's why i was confused
2022-06-24 21:59:57 +0200 <arj0019> oh, I was unaware that was a feature. sorry for the confusion
2022-06-24 22:00:22 +0200 <hololeap> arj0019: what version of GHC are you using?
2022-06-24 22:01:17 +0200 <arj0019> my GHCI presents version 8.10.7 . Is it safe to assume GHC has a matching version?
2022-06-24 22:01:50 +0200 <arj0019> I can confirm that GHC is also 8.10.7
2022-06-24 22:01:50 +0200Vajb(~Vajb@2001:999:40:4c50:1b24:879c:6df3:1d06) (Read error: Connection reset by peer)
2022-06-24 22:02:00 +0200 <arj0019> Glasgow Haskell Compiler, Version 8.10.7, stage 2 booted by GHC version 8.8.3
2022-06-24 22:02:07 +0200 <dolio> I think the truth is that with only one Haskell implementation, there isn't a lot of motivation to codify a lot of things that are GHC extensions relative to the official report. However, you can't necessarily tell which extensions are just things you might as well turn on as a new user.
2022-06-24 22:02:14 +0200 <ski> (btw, `-Wall' will turn on those two warnings above, and a bunch more)
2022-06-24 22:03:03 +0200 <dolio> I guess GHC is fixing that by defining sets of GHC extensions that are more 'blessed'.
2022-06-24 22:03:11 +0200Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
2022-06-24 22:03:56 +0200 <ski> arj0019 : you can probably ask in here, for a particular extension, whether it's considered pretty basic and benign, or more advanced, or possibly dangerous in some way
2022-06-24 22:04:55 +0200 <arj0019> I see many of you are adding my tag as a context in your message. There is also a purple highlight. Is that still a message that others can see, and am I replying correctly?
2022-06-24 22:05:41 +0200 <ski> (btw, lurking in here, to see what other people are talking about, possibly learning stuff, is a good excuse to stay connected to the channel)
2022-06-24 22:06:04 +0200 <hololeap> most irc clients highlight a message with your nick in it
2022-06-24 22:06:10 +0200 <darkling> arj0019: I saw that question, and many people prefixing with your nick, so yes, that's normal and correct.
2022-06-24 22:06:10 +0200 <hololeap> that's all it is
2022-06-24 22:07:39 +0200 <ski> i see every message in white, in my IRC client. different irc clients may display things differently, e.g. auto-colorizing nicknames in front of messages, or the whole message, and possibly highlighting messages that is directed to you, or possibly mentions your nickname
2022-06-24 22:07:41 +0200jakalx(~jakalx@base.jakalx.net) (Error from remote client)
2022-06-24 22:07:55 +0200 <arj0019> ski : yes, I plan to listen to what others discuss with the goal of learning best practices and development processes.
2022-06-24 22:08:24 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:cd28:27b2:2677:8e87)
2022-06-24 22:09:44 +0200jakalx(~jakalx@base.jakalx.net)
2022-06-24 22:09:52 +0200 <hololeap> arj0019: this is a pretty good reference for which language extensions are "benign" or not: https://web.archive.org/web/20220513191346/dev.stephendiehl.com/hask/#language-extensions
2022-06-24 22:09:56 +0200 <ski> there's also private messaging. you could try `/msg someone message here ..' or `/query someone' (without the quotes) .. however, if it's about a general question/comment that the other people in the channel could gain from seeing, or could possibly respond to as well, it's probably better to not do it privately
2022-06-24 22:11:04 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:cd28:27b2:2677:8e87) (Remote host closed the connection)
2022-06-24 22:11:14 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:cd28:27b2:2677:8e87)
2022-06-24 22:11:42 +0200econo(uid147250@user/econo)
2022-06-24 22:11:53 +0200 <arj0019> Sounds like the benign extensions are safe for beginners: "Benign implies both that importing the extension won’t change the semantics of the module if not used and that enabling it makes it no easier to shoot yourself in the foot."
2022-06-24 22:12:25 +0200whatsupdoc(uid509081@id-509081.hampstead.irccloud.com)
2022-06-24 22:12:30 +0200 <hololeap> yeah, exactly
2022-06-24 22:15:06 +0200 <hololeap> but here's the full list/docs for 8.10.7 : https://downloads.haskell.org/ghc/8.10.7/docs/html/users_guide/glasgow_exts.html
2022-06-24 22:15:34 +0200 <hololeap> and the docs for -W : https://downloads.haskell.org/ghc/8.10.7/docs/html/users_guide/using-warnings.html
2022-06-24 22:15:57 +0200merijn(~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl)
2022-06-24 22:17:12 +0200 <ski> arj0019 : anyway, i was confused before, since i only thought i used one extension, namely `LambdaCase', in the second `unfoldr' example. specifically, `\case [] -> Nothing; _:xs -> Just (xs,xs)' means the same thing as `\xs0 of case xs0 of [] -> Nothing; _:xs -> Just (xs,xs)', it just avoids the tedium of having to invent a name `xs0' for the input of the lambda function, also reduces clutter (mental, and
2022-06-24 22:17:18 +0200 <ski> syntactical)
2022-06-24 22:17:37 +0200 <hololeap> ski, it looks like -Wall does _not_ turn on -Wincomplete-uni-patterns, at least that's what the docs for 8.10.7 say
2022-06-24 22:17:50 +0200 <geekosaur> correct, it defaults off
2022-06-24 22:18:15 +0200 <ski> (if you try that example in the GHC interactor, it'll suggest the `LambdaCase' extension for you)
2022-06-24 22:20:02 +0200arj0019(~arj0019@162.218.254.7) (Remote host closed the connection)
2022-06-24 22:20:16 +0200 <hololeap> this is also a pretty good beginner-friendly reference for some language extensions: https://blog.ocharles.org.uk/pages/2014-12-01-24-days-of-ghc-extensions.html
2022-06-24 22:20:19 +0200arj0019(~arj0019@162.218.254.7)
2022-06-24 22:21:03 +0200 <ski> hololeap : i checked <https://www.haskell.org/ghc/docs/latest/html/users_guide/using-warnings.html>, which is apparently 9.2.2, and also tried it out (apparently 9.2.3)
2022-06-24 22:23:03 +0200 <ski> <hololeap> this is also a pretty good beginner-friendly reference for some language extensions: https://blog.ocharles.org.uk/pages/2014-12-01-24-days-of-ghc-extensions.html
2022-06-24 22:23:06 +0200 <ski> arj0019 ^
2022-06-24 22:23:07 +0200_ht(~quassel@231-169-21-31.ftth.glasoperator.nl) (Remote host closed the connection)
2022-06-24 22:24:15 +0200arj0019(~arj0019@162.218.254.7) (Remote host closed the connection)
2022-06-24 22:24:33 +0200nate4(~nate@98.45.169.16)
2022-06-24 22:24:42 +0200arj0019(~arj0019@162.218.254.7)
2022-06-24 22:24:43 +0200 <hololeap> it looks like they changed it at some point after 8.10.7, ski, because it says in the docs for that version: "Turns on all warning options that indicate potentially suspicious code. The warnings that are _not_ enabled by -Wall are ... -Wincomplete-uni-patterns ..."
2022-06-24 22:26:03 +0200ncf(~n@monade.li) (Quit: Fairfarren.)
2022-06-24 22:26:12 +0200ncf(~n@monade.li)
2022-06-24 22:26:48 +0200 <ski> i see. ty for the checking
2022-06-24 22:28:11 +0200 <hololeap> I'm not sure those docs are 100% accurate
2022-06-24 22:29:15 +0200 <hololeap> in the latest version of the docs, it doesn't mention -Wprepositive-qualified-module as one of the ones not enabled -Wall, which I find unlikely
2022-06-24 22:29:34 +0200 <hololeap> and it doesn't even mention -Wprepositive-qualified-module in the docs for 9.0.2 which I know for a fact is there
2022-06-24 22:29:38 +0200nate4(~nate@98.45.169.16) (Ping timeout: 240 seconds)
2022-06-24 22:30:04 +0200 <hololeap> s/not enabled -Wall/not enabled by -Wall
2022-06-24 22:33:08 +0200 <hololeap> yeah, the warning has been there since 8.10.1, but didn't show up in the "warnings" section of the docs until sometime after 9.0.2
2022-06-24 22:34:45 +0200yauhsien(~yauhsien@61-231-38-201.dynamic-ip.hinet.net)
2022-06-24 22:37:16 +0200arj0019(~arj0019@162.218.254.7) (Remote host closed the connection)
2022-06-24 22:37:33 +0200arj0019(~arj0019@162.218.254.7)
2022-06-24 22:39:51 +0200yauhsien(~yauhsien@61-231-38-201.dynamic-ip.hinet.net) (Ping timeout: 256 seconds)
2022-06-24 22:40:41 +0200jgeerds(~jgeerds@55d45f48.access.ecotel.net)
2022-06-24 22:41:10 +0200shiraeeshi(~shiraeesh@109.166.57.222) (Ping timeout: 272 seconds)
2022-06-24 22:44:40 +0200gurkenglas(~gurkengla@dslb-002-203-144-112.002.203.pools.vodafone-ip.de)
2022-06-24 22:45:32 +0200brettgilio(~brettgili@c9yh.net) (Remote host closed the connection)
2022-06-24 22:46:00 +0200sjanssen(~sjanssenm@2001:470:69fc:105::1:61d8) (*.net *.split)
2022-06-24 22:46:00 +0200edmundnoble(sid229620@id-229620.helmsley.irccloud.com) (*.net *.split)
2022-06-24 22:46:00 +0200cbarrett(sid192934@id-192934.helmsley.irccloud.com) (*.net *.split)
2022-06-24 22:46:00 +0200parseval(sid239098@id-239098.helmsley.irccloud.com) (*.net *.split)
2022-06-24 22:46:00 +0200grfn(sid449115@id-449115.helmsley.irccloud.com) (*.net *.split)
2022-06-24 22:46:00 +0200lottaquestions(~nick@2607:fa49:5041:a200:f103:73aa:e770:b5d1) (*.net *.split)
2022-06-24 22:46:00 +0200bitonic(~bitonic@2001:470:69fc:105::1812) (*.net *.split)
2022-06-24 22:46:00 +0200Nate[m](~m52957mat@2001:470:69fc:105::1:591a) (*.net *.split)
2022-06-24 22:46:00 +0200steve[m](~stevetrou@2001:470:69fc:105::e0b) (*.net *.split)
2022-06-24 22:46:00 +0200gdd1(~gdd@2001:470:1f13:187:7f5b:6c09:f7ed:fdf0) (*.net *.split)
2022-06-24 22:46:00 +0200alexfmpe[m](~alexfmpem@2001:470:69fc:105::38ba) (*.net *.split)
2022-06-24 22:46:00 +0200tapas(sid467876@id-467876.ilkley.irccloud.com) (*.net *.split)
2022-06-24 22:46:01 +0200feetwind(~mike@user/feetwind) (*.net *.split)
2022-06-24 22:46:01 +0200tomboy64(~tomboy64@user/tomboy64) (*.net *.split)
2022-06-24 22:46:01 +0200berberman(~berberman@user/berberman) (*.net *.split)
2022-06-24 22:46:01 +0200yahb2(~yahb2@2a01:4f8:c0c:5c7b::2) (*.net *.split)
2022-06-24 22:46:01 +0200mcfrdy(~mcfrdy@user/mcfrdy) (*.net *.split)
2022-06-24 22:46:01 +0200teddyc(theodorc@cassarossa.samfundet.no) (*.net *.split)
2022-06-24 22:46:01 +0200ozkutuk(~ozkutuk@176.240.173.153) (*.net *.split)
2022-06-24 22:46:01 +0200goran[m](~goranoour@2001:470:69fc:105::2:1b44) (*.net *.split)
2022-06-24 22:46:01 +0200AWizzArd_(~code@gehrels.uberspace.de) (*.net *.split)
2022-06-24 22:46:01 +0200koolazer(~koo@user/koolazer) (*.net *.split)
2022-06-24 22:46:01 +0200romes[m](~romesmatr@2001:470:69fc:105::2:1660) (*.net *.split)
2022-06-24 22:46:01 +0200zwro[m](~zwromatri@2001:470:69fc:105::1d4) (*.net *.split)
2022-06-24 22:46:01 +0200mzan(~quassel@mail.asterisell.com) (*.net *.split)
2022-06-24 22:46:01 +0200madnight(~madnight@static.59.103.201.195.clients.your-server.de) (*.net *.split)
2022-06-24 22:46:01 +0200nerdypepper(~nerdypepp@user/nerdypepper) (*.net *.split)
2022-06-24 22:46:01 +0200sloorush(~sloorush@52.187.184.81) (*.net *.split)
2022-06-24 22:46:01 +0200wrengr(~wrengr@249.189.233.35.bc.googleusercontent.com) (*.net *.split)
2022-06-24 22:46:01 +0200barrucadu(~barrucadu@carcosa.barrucadu.co.uk) (*.net *.split)
2022-06-24 22:46:01 +0200supersven(sid501114@id-501114.ilkley.irccloud.com) (*.net *.split)
2022-06-24 22:46:01 +0200Trattue(~Trattue@152.70.182.158) (*.net *.split)
2022-06-24 22:46:01 +0200lyxia(~lyxia@poisson.chat) (*.net *.split)
2022-06-24 22:46:01 +0200pieguy128(~pieguy128@bras-base-mtrlpq5031w-grc-35-70-24-248-224.dsl.bell.ca) (*.net *.split)
2022-06-24 22:46:01 +0200APic(apic@apic.name) (*.net *.split)
2022-06-24 22:46:01 +0200noctux(~noctux@user/noctux) (*.net *.split)
2022-06-24 22:46:01 +0200polux(~polux@51-15-169-172.rev.poneytelecom.eu) (*.net *.split)
2022-06-24 22:46:08 +0200AWizzArd(~code@gehrels.uberspace.de)
2022-06-24 22:46:10 +0200supersven(sid501114@id-501114.ilkley.irccloud.com)
2022-06-24 22:46:11 +0200noctux(~noctux@user/noctux)
2022-06-24 22:46:14 +0200APic(apic@apic.name)
2022-06-24 22:46:16 +0200sloorush(~sloorush@52.187.184.81)
2022-06-24 22:46:17 +0200tapas(sid467876@id-467876.ilkley.irccloud.com)
2022-06-24 22:46:17 +0200lyxia(~lyxia@poisson.chat)
2022-06-24 22:46:19 +0200teddyc(theodorc@cassarossa.samfundet.no)
2022-06-24 22:46:21 +0200polux(~polux@51-15-169-172.rev.poneytelecom.eu)
2022-06-24 22:46:27 +0200parseval(sid239098@id-239098.helmsley.irccloud.com)
2022-06-24 22:46:32 +0200feetwind(~mike@2406:d501::79ae:5f3e)
2022-06-24 22:46:32 +0200mzan(~quassel@mail.asterisell.com)
2022-06-24 22:46:34 +0200wrengr(~wrengr@249.189.233.35.bc.googleusercontent.com)
2022-06-24 22:46:36 +0200koolazer(~koo@user/koolazer)
2022-06-24 22:46:48 +0200feetwind(~mike@2406:d501::79ae:5f3e) (Signing in (feetwind))
2022-06-24 22:46:48 +0200feetwind(~mike@user/feetwind)
2022-06-24 22:46:54 +0200ozkutuk(~ozkutuk@176.240.173.153)
2022-06-24 22:47:07 +0200edmundnoble(sid229620@id-229620.helmsley.irccloud.com)
2022-06-24 22:47:08 +0200tomboy64(~tomboy64@user/tomboy64)
2022-06-24 22:47:11 +0200pieguy128(~pieguy128@bras-base-mtrlpq5031w-grc-35-70-24-248-224.dsl.bell.ca)
2022-06-24 22:47:17 +0200cbarrett(sid192934@id-192934.helmsley.irccloud.com)
2022-06-24 22:47:19 +0200madnight(~madnight@static.59.103.201.195.clients.your-server.de)
2022-06-24 22:47:22 +0200mcfrdy(~mcfrdy@user/mcfrdy)
2022-06-24 22:47:22 +0200lottaquestions(~nick@2607:fa49:5041:a200:d970:339e:3d32:94d)
2022-06-24 22:47:26 +0200gdd1(~gdd@129.199.146.230)
2022-06-24 22:47:27 +0200berberman(~berberman@user/berberman)
2022-06-24 22:47:36 +0200grfn(sid449115@id-449115.helmsley.irccloud.com)
2022-06-24 22:47:50 +0200Trattue(~Trattue@152.70.182.158)
2022-06-24 22:47:52 +0200nate4(~nate@98.45.169.16)
2022-06-24 22:48:17 +0200nerdypepper(~nerdypepp@user/nerdypepper)
2022-06-24 22:48:27 +0200romes[m](~romesmatr@2001:470:69fc:105::2:1660)
2022-06-24 22:48:31 +0200mc47(~mc47@xmonad/TheMC47) (Remote host closed the connection)
2022-06-24 22:48:55 +0200sjanssen(~sjanssenm@2001:470:69fc:105::1:61d8)
2022-06-24 22:49:18 +0200inversed(~inversed@97e3d74e.skybroadband.com) (Ping timeout: 240 seconds)
2022-06-24 22:49:35 +0200pleo(~pleo@user/pleo)
2022-06-24 22:50:26 +0200inversed(~inversed@97e3d74e.skybroadband.com)
2022-06-24 22:50:53 +0200lyle(~lyle@104.246.145.85) (Quit: WeeChat 3.5)
2022-06-24 22:51:10 +0200zwro[m](~zwromatri@2001:470:69fc:105::1d4)
2022-06-24 22:51:17 +0200barrucadu(~barrucadu@carcosa.barrucadu.co.uk)
2022-06-24 22:51:38 +0200alexfmpe[m](~alexfmpem@2001:470:69fc:105::38ba)
2022-06-24 22:51:49 +0200brettgilio(~brettgili@c9yh.net)
2022-06-24 22:54:27 +0200steve[m](~stevetrou@2001:470:69fc:105::e0b)
2022-06-24 22:54:30 +0200Nate[m](~m52957mat@2001:470:69fc:105::1:591a)
2022-06-24 22:55:30 +0200Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
2022-06-24 22:56:57 +0200Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
2022-06-24 22:58:04 +0200moonsheep(~user@user/moonsheep)
2022-06-24 22:58:15 +0200k``(~user@152.1.137.158)
2022-06-24 22:59:25 +0200goran[m](~goranoour@2001:470:69fc:105::2:1b44)
2022-06-24 23:01:07 +0200bitonic(~bitonic@2001:470:69fc:105::1812)
2022-06-24 23:01:30 +0200k`(~user@152.1.137.158) (Ping timeout: 240 seconds)
2022-06-24 23:02:21 +0200 <moonsheep> Hi there! Is there a way to do a data-parallel iterate in accelerate?
2022-06-24 23:02:36 +0200 <moonsheep> I'm looking for an equivalent for the Exp iterate but in Acc
2022-06-24 23:02:55 +0200 <moonsheep> I've tried to use awhile, but I'm not sure how should I implemented the counter
2022-06-24 23:03:03 +0200 <moonsheep> *implement
2022-06-24 23:04:50 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-06-24 23:08:29 +0200 <mon_aaraj> dminuoso: thank you so very much for that `worded` alternative! it works perfectly!
2022-06-24 23:10:12 +0200 <moonsheep> By the way, I've also tried good ol' recursion, but for some reason it eats up all of my video memory.
2022-06-24 23:10:24 +0200 <moonsheep> I think the array gets copied each time instead of being reused.
2022-06-24 23:10:26 +0200Infinite(~Infinite@49.39.124.23) (Ping timeout: 252 seconds)
2022-06-24 23:12:35 +0200 <hololeap> @hackage derivingvia-extras -- this is kinda cool
2022-06-24 23:12:35 +0200 <lambdabot> https://hackage.haskell.org/package/derivingvia-extras -- this is kinda cool
2022-06-24 23:13:54 +0200pleo(~pleo@user/pleo) (Ping timeout: 264 seconds)
2022-06-24 23:16:30 +0200arj0019(~arj0019@162.218.254.7) (Remote host closed the connection)
2022-06-24 23:16:34 +0200fweht(uid404746@id-404746.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2022-06-24 23:16:47 +0200arj0019(~arj0019@162.218.254.7)
2022-06-24 23:17:56 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 246 seconds)
2022-06-24 23:19:41 +0200winny(~weechat@user/winny) (Ping timeout: 268 seconds)
2022-06-24 23:21:04 +0200acidjnk_new(~acidjnk@dynamic-046-114-173-051.46.114.pool.telefonica.de) (Ping timeout: 272 seconds)
2022-06-24 23:22:44 +0200arj0019(~arj0019@162.218.254.7) (Remote host closed the connection)
2022-06-24 23:23:01 +0200arj0019(~arj0019@162.218.254.7)
2022-06-24 23:24:36 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2022-06-24 23:25:13 +0200alp(~alp@user/alp) (Ping timeout: 268 seconds)
2022-06-24 23:25:38 +0200MajorBiscuit(~MajorBisc@2a02-a461-129d-1-193d-75d8-745d-e91e.fixed6.kpn.net)
2022-06-24 23:25:55 +0200 <mon_aaraj> I have another issue, HLS seems to be complaining about non-existent issues. It errors on some lines but if I try to run the program it runs perfectly. Here's the entirety of the code, and the response of HLS: https://bpa.st/Y5TQ
2022-06-24 23:26:29 +0200pleo(~pleo@user/pleo)
2022-06-24 23:27:32 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-06-24 23:27:52 +0200 <hololeap> I'm not sure HLS is stable on ghc 9.2
2022-06-24 23:28:36 +0200 <hololeap> you can try generating a hie.yaml and see if that helps: `gen-hie | tee hie.yaml`
2022-06-24 23:29:28 +0200alp(~alp@user/alp)
2022-06-24 23:29:55 +0200 <hololeap> also, when you say "run the program" do you mean run "cabal build" ?
2022-06-24 23:30:02 +0200winny(~weechat@user/winny)
2022-06-24 23:30:54 +0200some02(~cat@user/sudden) (Ping timeout: 276 seconds)
2022-06-24 23:31:07 +0200sudden(~cat@user/sudden)
2022-06-24 23:31:42 +0200 <hololeap> Completed (1 file worked, 0 files failed) -- this looks like a success to me. what editor are you using?
2022-06-24 23:33:42 +0200xacktm(xacktm@user/xacktm) (Quit: fBNC - https://bnc4free.com)
2022-06-24 23:33:43 +0200andreas303(~andreas30@ip227.orange.bnc4free.com) (Quit: fBNC - https://bnc4free.com)
2022-06-24 23:34:17 +0200even4void(even4void@came.here.for-some.fun) (Quit: fBNC - https://bnc4free.com)
2022-06-24 23:35:57 +0200arj0019(~arj0019@162.218.254.7) (Remote host closed the connection)
2022-06-24 23:36:14 +0200arj0019(~arj0019@162.218.254.7)
2022-06-24 23:36:16 +0200MajorBiscuit(~MajorBisc@2a02-a461-129d-1-193d-75d8-745d-e91e.fixed6.kpn.net) (Ping timeout: 272 seconds)
2022-06-24 23:36:34 +0200takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2022-06-24 23:39:58 +0200arj0019(~arj0019@162.218.254.7) (Remote host closed the connection)
2022-06-24 23:40:15 +0200arj0019(~arj0019@162.218.254.7)
2022-06-24 23:41:04 +0200arj0019(~arj0019@162.218.254.7) ()
2022-06-24 23:43:21 +0200son0p(~ff@181.136.122.143) (Ping timeout: 248 seconds)
2022-06-24 23:49:13 +0200nate4(~nate@98.45.169.16) (Ping timeout: 248 seconds)
2022-06-24 23:49:18 +0200zeenk(~zeenk@2a02:2f04:a301:3d00:39df:1c4b:8a55:48d3)
2022-06-24 23:49:45 +0200michalz(~michalz@185.246.204.97) (Remote host closed the connection)
2022-06-24 23:49:48 +0200 <mon_aaraj> hololeap: I mean `cabal build` and `cabal run` both work, and the program functions as expected. I'm using doom emacs with lsp and emacs enabled, withh GHCUP using the last version that supports ghc 9.2.2 (which is the version that i use)
2022-06-24 23:50:15 +0200 <mon_aaraj> yes, it succeeded error-checking the file, the issue is that it's errors are wrong, because they're not errors a all
2022-06-24 23:52:49 +0200andreas303(andreas303@ip227.orange.bnc4free.com)
2022-06-24 23:52:56 +0200briandaed(~briandaed@109.95.143.14.r.toneticgroup.pl) (Ping timeout: 246 seconds)
2022-06-24 23:53:44 +0200 <maerwald> sounds like it could be hlint
2022-06-24 23:54:11 +0200even4void(even4void@came.here.for-some.fun)
2022-06-24 23:57:25 +0200BusConscious(~martin@ip5f5bdf01.dynamic.kabel-deutschland.de) (Quit: Lost terminal)