2022/07/20

2022-07-20 00:01:22 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-07-20 00:04:03 +0200segfaultfizzbuzz(~segfaultf@157-131-253-58.fiber.dynamic.sonic.net)
2022-07-20 00:07:15 +0200tomboy64(~tomboy64@user/tomboy64) (Ping timeout: 244 seconds)
2022-07-20 00:19:28 +0200michalz(~michalz@185.246.204.77) (Remote host closed the connection)
2022-07-20 00:19:43 +0200merijn(~merijn@c-001-001-002.client.esciencecenter.eduvpn.nl)
2022-07-20 00:21:41 +0200zebrag(~chris@user/zebrag)
2022-07-20 00:23:57 +0200gmg(~user@user/gehmehgeh) (Quit: Leaving)
2022-07-20 00:26:04 +0200Dutchgriffon(~Laurens@70.36.53.134) (Read error: Connection reset by peer)
2022-07-20 00:27:02 +0200talismanick(~talismani@campus-043-126.ucdavis.edu)
2022-07-20 00:27:44 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:2da3:f583:8579:9c6f) (Remote host closed the connection)
2022-07-20 00:30:15 +0200slack1256(~slack1256@191.126.227.211) (Read error: Connection reset by peer)
2022-07-20 00:36:11 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.5)
2022-07-20 00:40:54 +0200phuegrvs[m](~phuegrvsm@2001:470:69fc:105::1:65e4)
2022-07-20 00:44:42 +0200 <qrpnxz> hmm, I'm thinking Setter would be better called "Mapping". If you actually just had a setter (s -> a -> s), well, that would just be some function. A SEC on the other hand have the power to actually map what you are trying to replace, which then fit into the theme of traversals.
2022-07-20 00:48:47 +0200talismanick(~talismani@campus-043-126.ucdavis.edu) (Ping timeout: 268 seconds)
2022-07-20 00:49:20 +0200merijn(~merijn@c-001-001-002.client.esciencecenter.eduvpn.nl) (Ping timeout: 260 seconds)
2022-07-20 00:51:34 +0200y04nn4471(~y04nn@2001:ac8:28:95::a17e) (Ping timeout: 244 seconds)
2022-07-20 00:56:43 +0200segfaultfizzbuzz(~segfaultf@157-131-253-58.fiber.dynamic.sonic.net) (Ping timeout: 244 seconds)
2022-07-20 00:56:55 +0200pavonia(~user@user/siracusa)
2022-07-20 00:58:51 +0200segfaultfizzbuzz(~segfaultf@157-131-253-58.fiber.dynamic.sonic.net)
2022-07-20 01:01:18 +0200y04nn(~y04nn@2001:ac8:28:95::a17e)
2022-07-20 01:02:24 +0200matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
2022-07-20 01:03:46 +0200mmhat(~mmh@p200300f1c70559dfee086bfffe095315.dip0.t-ipconnect.de) (Quit: WeeChat 3.6)
2022-07-20 01:05:30 +0200jpds1(~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
2022-07-20 01:07:19 +0200jpds1(~jpds@gateway/tor-sasl/jpds)
2022-07-20 01:10:40 +0200dcoutts(~duncan@host86-167-206-10.range86-167.btcentralplus.com) (Ping timeout: 244 seconds)
2022-07-20 01:11:21 +0200pavonia_(~user@user/siracusa)
2022-07-20 01:12:39 +0200pavonia(~user@user/siracusa) (Ping timeout: 272 seconds)
2022-07-20 01:12:44 +0200pavonia_pavonia
2022-07-20 01:19:44 +0200Kevin578(~Kevin578@pool-173-76-179-30.bstnma.fios.verizon.net) (Ping timeout: 255 seconds)
2022-07-20 01:20:50 +0200Kevin578(~Kevin578@pool-173-76-179-30.bstnma.fios.verizon.net)
2022-07-20 01:22:20 +0200talismanick(~talismani@campus-043-126.ucdavis.edu)
2022-07-20 01:28:54 +0200califax(~califax@user/califx) (Quit: ZNC 1.8.2 - https://znc.in)
2022-07-20 01:30:41 +0200califax(~califax@user/califx)
2022-07-20 01:31:27 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-07-20 01:34:59 +0200zeenk(~zeenk@2a02:2f04:a311:2d00:6865:d863:4c93:799f) (Quit: Konversation terminated!)
2022-07-20 01:37:08 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2022-07-20 01:37:30 +0200segfaultfizzbuzz(~segfaultf@157-131-253-58.fiber.dynamic.sonic.net) (Ping timeout: 268 seconds)
2022-07-20 01:38:48 +0200acidjnk_new3(~acidjnk@p200300d6e7058637b1e8edca185469f4.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
2022-07-20 01:39:24 +0200winny_winny
2022-07-20 01:40:31 +0200inversed(~inversed@05412f44.skybroadband.com) (Ping timeout: 272 seconds)
2022-07-20 01:40:51 +0200Lord_of_Life_(~Lord@user/lord-of-life/x-2819915)
2022-07-20 01:41:09 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 272 seconds)
2022-07-20 01:41:56 +0200segfaultfizzbuzz(~segfaultf@157-131-253-58.fiber.dynamic.sonic.net)
2022-07-20 01:42:06 +0200Lord_of_Life_Lord_of_Life
2022-07-20 01:45:35 +0200merijn(~merijn@c-001-001-002.client.esciencecenter.eduvpn.nl)
2022-07-20 01:49:50 +0200waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 240 seconds)
2022-07-20 01:53:22 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:2da3:f583:8579:9c6f)
2022-07-20 01:57:16 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2022-07-20 01:59:36 +0200edinwood(~edinwood@213.205.241.236)
2022-07-20 02:00:58 +0200gurkenglas(~gurkengla@dslb-002-203-144-112.002.203.pools.vodafone-ip.de) (Ping timeout: 240 seconds)
2022-07-20 02:03:41 +0200mvk(~mvk@2607:fea8:5ce3:8500::909a)
2022-07-20 02:03:41 +0200dextaa(~DV@user/dextaa) (Read error: Connection reset by peer)
2022-07-20 02:04:18 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds)
2022-07-20 02:05:11 +0200segfaultfizzbuzz(~segfaultf@157-131-253-58.fiber.dynamic.sonic.net) (Ping timeout: 255 seconds)
2022-07-20 02:05:58 +0200dextaa(~DV@user/dextaa)
2022-07-20 02:06:44 +0200gdown(~gavin@h69-11-149-231.kndrid.broadband.dynamic.tds.net)
2022-07-20 02:07:40 +0200Tuplanolla(~Tuplanoll@91-159-69-97.elisa-laajakaista.fi) (Quit: Leaving.)
2022-07-20 02:11:17 +0200hgolden(~hgolden2@cpe-172-251-233-141.socal.res.rr.com) (Quit: Konversation terminated!)
2022-07-20 02:11:39 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2022-07-20 02:13:20 +0200hgolden(~hgolden2@cpe-172-251-233-141.socal.res.rr.com)
2022-07-20 02:14:39 +0200talismanick(~talismani@campus-043-126.ucdavis.edu) (Ping timeout: 276 seconds)
2022-07-20 02:16:00 +0200segfaultfizzbuzz(~segfaultf@157-131-253-58.fiber.dynamic.sonic.net)
2022-07-20 02:20:30 +0200merijn(~merijn@c-001-001-002.client.esciencecenter.eduvpn.nl) (Ping timeout: 276 seconds)
2022-07-20 02:21:22 +0200winny(~weechat@user/winny) (Ping timeout: 268 seconds)
2022-07-20 02:26:24 +0200winny(~weechat@user/winny)
2022-07-20 02:28:29 +0200naso(~naso@193-116-244-197.tpgi.com.au)
2022-07-20 02:35:44 +0200matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 255 seconds)
2022-07-20 02:36:39 +0200 <Axman6> @hoogle Eq a => a -> [a] -> [[a]]
2022-07-20 02:36:39 +0200 <lambdabot> Happstack.Server.Internal.MessageWrap splitList :: Eq a => a -> [a] -> [[a]]
2022-07-20 02:36:39 +0200 <lambdabot> Data.GI.CodeGen.Util splitOn :: Eq a => a -> [a] -> [[a]]
2022-07-20 02:36:39 +0200 <lambdabot> Hledger.Utils splitAtElement :: Eq a => a -> [a] -> [[a]]
2022-07-20 02:36:51 +0200 <Axman6> @more
2022-07-20 02:36:55 +0200 <Axman6> :(
2022-07-20 02:38:07 +0200lemonsnicks(~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net)
2022-07-20 02:38:37 +0200lemonsni-(~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Ping timeout: 268 seconds)
2022-07-20 02:39:58 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-07-20 02:40:28 +0200segfaultfizzbuzz(~segfaultf@157-131-253-58.fiber.dynamic.sonic.net) (Ping timeout: 268 seconds)
2022-07-20 02:43:38 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds)
2022-07-20 02:44:32 +0200edinwood(~edinwood@213.205.241.236) (Remote host closed the connection)
2022-07-20 02:45:00 +0200vaibhavsagar[m](~vaibhavsa@2001:470:69fc:105::ffe)
2022-07-20 02:47:23 +0200mjs2600(~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) (Quit: ZNC 1.8.2 - https://znc.in)
2022-07-20 02:47:38 +0200mjs2600(~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net)
2022-07-20 02:48:41 +0200lys(sid194105@user/lys) ()
2022-07-20 02:58:50 +0200talismanick(~talismani@2601:200:c100:3850::dd64)
2022-07-20 03:04:34 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-07-20 03:04:51 +0200segfaultfizzbuzz(~segfaultf@157-131-253-58.fiber.dynamic.sonic.net)
2022-07-20 03:05:25 +0200raym(~raym@user/raym)
2022-07-20 03:07:48 +0200edinwood(~edinwood@213.205.241.236)
2022-07-20 03:08:59 +0200matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
2022-07-20 03:09:18 +0200tomboy64(~tomboy64@user/tomboy64)
2022-07-20 03:10:50 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2022-07-20 03:11:32 +0200machinedgod(~machinedg@d172-219-86-154.abhsia.telus.net) (Ping timeout: 272 seconds)
2022-07-20 03:11:57 +0200naso(~naso@193-116-244-197.tpgi.com.au) ()
2022-07-20 03:16:06 +0200merijn(~merijn@c-001-001-002.client.esciencecenter.eduvpn.nl)
2022-07-20 03:16:57 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2022-07-20 03:20:34 +0200califax(~califax@user/califx) (Ping timeout: 268 seconds)
2022-07-20 03:20:34 +0200califax_(~califax@user/califx)
2022-07-20 03:21:46 +0200califax_califax
2022-07-20 03:23:52 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-07-20 03:26:29 +0200 <talismanick> How exactly do pipes and Conduit improve on stream processing (how Kiselyov described somewhat-practical lazy I/O) and what do they do differently from each other?
2022-07-20 03:26:30 +0200 <talismanick> https://okmij.org/ftp/Streams.html
2022-07-20 03:27:20 +0200yauhsien(~yauhsien@61-231-22-68.dynamic-ip.hinet.net)
2022-07-20 03:29:58 +0200 <jackdk> IME, pipes is elegant but I've never successfully constructed a program with it, conduit has a bunch of "pragmatic" concessions that actually make things harder (I still have no idea how to teach amazonka how to use a connect-and-resume conduit as a source, for instance) but because Snoyman and co. did the hard yards building fundamental industrial libs like HTTP clients, it's used everywhere,
2022-07-20 03:29:58 +0200 <jackdk> steamly promises a lot but seems to be unstable (I booted it from a project after a minor version change made using it for file-watching impossible in a way that was previously possible; it may have improved since)
2022-07-20 03:29:58 +0200 <jackdk> I like `streaming`, as it has the type that makes the most sense to me, and I've successfully written a program using it.
2022-07-20 03:30:23 +0200 <talismanick> jackdk: Alright, I'll take a look
2022-07-20 03:31:12 +0200edinwood(~edinwood@213.205.241.236) (Ping timeout: 252 seconds)
2022-07-20 03:31:31 +0200lbseale(~quassel@user/ep1ctetus) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
2022-07-20 03:31:38 +0200yauhsien(~yauhsien@61-231-22-68.dynamic-ip.hinet.net) (Ping timeout: 240 seconds)
2022-07-20 03:32:16 +0200 <jackdk> This means that if you're doing simple things like "stream a file through http-client", conduit is likely a fine choice because adapting between stream types is probably more annoying. But if I was doing a lot of stream transformations within a single program, I would probably lean towards streaming and transform to other streaming libs at the edge of my program
2022-07-20 03:34:31 +0200y04nn(~y04nn@2001:ac8:28:95::a17e) (Ping timeout: 272 seconds)
2022-07-20 03:37:42 +0200marcusxavier(~marcusxav@2804:6660:ff12:ef70:b0fb:b179:1d18:247)
2022-07-20 03:37:56 +0200 <marcusxavier> How can I write this function withou tail?
2022-07-20 03:38:06 +0200 <marcusxavier> skips :: [a] -> [[a]]
2022-07-20 03:38:08 +0200 <marcusxavier> skips [] = []
2022-07-20 03:38:10 +0200 <marcusxavier> skips xs = xs : skips (tail xs)
2022-07-20 03:38:12 +0200 <marcusxavier> y
2022-07-20 03:38:14 +0200 <marcusxavier> Yes
2022-07-20 03:38:34 +0200 <marcusxavier> It's from CIS 194 week's 3
2022-07-20 03:38:36 +0200 <marcusxavier> question 1
2022-07-20 03:38:38 +0200 <marcusxavier> https://www.cis.upenn.edu/~cis1940/spring13/hw/03-rec-poly.pdf
2022-07-20 03:45:30 +0200Kevin578(~Kevin578@pool-173-76-179-30.bstnma.fios.verizon.net) (Ping timeout: 260 seconds)
2022-07-20 03:46:00 +0200nate4(~nate@98.45.169.16)
2022-07-20 03:49:17 +0200Kevin578(~Kevin578@pool-173-76-179-30.bstnma.fios.verizon.net)
2022-07-20 03:50:18 +0200merijn(~merijn@c-001-001-002.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds)
2022-07-20 03:50:39 +0200 <marcusxavier> I found tails function
2022-07-20 03:50:57 +0200lbseale(~quassel@user/ep1ctetus)
2022-07-20 03:51:06 +0200lbseale(~quassel@user/ep1ctetus) (Client Quit)
2022-07-20 03:51:19 +0200nate4(~nate@98.45.169.16) (Ping timeout: 268 seconds)
2022-07-20 03:52:17 +0200lbseale(~quassel@user/ep1ctetus)
2022-07-20 03:52:53 +0200zaquest(~notzaques@5.130.79.72) (Remote host closed the connection)
2022-07-20 03:55:35 +0200jakalx(~jakalx@base.jakalx.net) (Error from remote client)
2022-07-20 03:57:57 +0200frost(~frost@user/frost)
2022-07-20 04:01:01 +0200zaquest(~notzaques@5.130.79.72)
2022-07-20 04:01:08 +0200jakalx(~jakalx@base.jakalx.net)
2022-07-20 04:02:08 +0200 <jackdk> marcusxavier: match `(x:xs)` instead of `xs`
2022-07-20 04:02:24 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2022-07-20 04:02:58 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 240 seconds)
2022-07-20 04:04:12 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-07-20 04:04:16 +0200bontaq(~user@ool-45779fe5.dyn.optonline.net) (Ping timeout: 268 seconds)
2022-07-20 04:05:27 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-07-20 04:05:30 +0200infinity0(~infinity0@185.112.146.113) (Ping timeout: 268 seconds)
2022-07-20 04:05:39 +0200infinity0(~infinity0@185.112.146.113)
2022-07-20 04:05:47 +0200marcusxavier(~marcusxav@2804:6660:ff12:ef70:b0fb:b179:1d18:247) (Quit: WeeChat 3.6)
2022-07-20 04:11:49 +0200infinity0_(~infinity0@185.112.146.113)
2022-07-20 04:11:52 +0200infinity0Guest3129
2022-07-20 04:11:52 +0200infinity0_infinity0
2022-07-20 04:12:17 +0200Guest3129(~infinity0@185.112.146.113) (Ping timeout: 268 seconds)
2022-07-20 04:16:33 +0200sayola1(~sayola@dslb-088-064-186-217.088.064.pools.vodafone-ip.de)
2022-07-20 04:18:09 +0200sayola(~sayola@dslb-088-078-152-210.088.078.pools.vodafone-ip.de) (Ping timeout: 276 seconds)
2022-07-20 04:20:52 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
2022-07-20 04:21:22 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643)
2022-07-20 04:23:20 +0200jpds2(~jpds@gateway/tor-sasl/jpds)
2022-07-20 04:23:28 +0200jpds1(~jpds@gateway/tor-sasl/jpds) (Ping timeout: 268 seconds)
2022-07-20 04:28:10 +0200matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
2022-07-20 04:30:55 +0200 <dsal> @src tail
2022-07-20 04:30:55 +0200 <lambdabot> tail (_:xs) = xs
2022-07-20 04:30:55 +0200 <lambdabot> tail [] = error "Prelude.tail: empty list"
2022-07-20 04:31:24 +0200segfaultfizzbuzz(~segfaultf@157-131-253-58.fiber.dynamic.sonic.net) (Ping timeout: 268 seconds)
2022-07-20 04:33:14 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-07-20 04:39:17 +0200zxx7529(~Thunderbi@user/zxx7529)
2022-07-20 04:46:20 +0200 <qrpnxz> jackdk: i really appreciate that overview of stream libs thanks
2022-07-20 04:46:38 +0200merijn(~merijn@c-001-001-002.client.esciencecenter.eduvpn.nl)
2022-07-20 04:47:13 +0200TonyStone(~TonyStone@cpe-74-76-51-197.nycap.res.rr.com)
2022-07-20 04:51:25 +0200zxx7529(~Thunderbi@user/zxx7529) (Remote host closed the connection)
2022-07-20 04:51:36 +0200zxx7529(~Thunderbi@user/zxx7529)
2022-07-20 04:56:05 +0200td_(~td@muedsl-82-207-238-145.citykom.de) (Ping timeout: 260 seconds)
2022-07-20 04:57:38 +0200td_(~td@muedsl-82-207-238-080.citykom.de)
2022-07-20 04:58:44 +0200pgass(~pg@190.247.245.154) (Remote host closed the connection)
2022-07-20 05:04:05 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 268 seconds)
2022-07-20 05:07:53 +0200segfaultfizzbuzz(~segfaultf@157-131-253-58.fiber.dynamic.sonic.net)
2022-07-20 05:11:30 +0200tomsmeding(~tomsmedin@2a01:4f8:c0c:5e5e::2) (Quit: ZNC 1.8.2 - https://znc.in)
2022-07-20 05:11:44 +0200tomsmeding(~tomsmedin@2a01:4f8:c0c:5e5e::2)
2022-07-20 05:12:43 +0200segfaultfizzbuzz(~segfaultf@157-131-253-58.fiber.dynamic.sonic.net) (Ping timeout: 268 seconds)
2022-07-20 05:12:50 +0200John_Ivan(~John_Ivan@user/john-ivan/x-1515935) (Ping timeout: 255 seconds)
2022-07-20 05:19:07 +0200 <qrpnxz> i haven't touched conduit. Streaming is attractive and i want to learn it. Although the type has me 🤨, the examples have me 😮.
2022-07-20 05:21:21 +0200merijn(~merijn@c-001-001-002.client.esciencecenter.eduvpn.nl) (Ping timeout: 268 seconds)
2022-07-20 05:21:52 +0200bilegeek(~bilegeek@2600:1008:b019:1e26:a9d2:8ab1:892f:24cd)
2022-07-20 05:23:38 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-07-20 05:27:21 +0200 <qrpnxz> by streaming i mean the streaming lib lol
2022-07-20 05:27:56 +0200hexology(~hexology@user/hexology) (Quit: hex on you ...)
2022-07-20 05:28:16 +0200hexology(~hexology@user/hexology)
2022-07-20 05:37:53 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-07-20 05:41:08 +0200matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 255 seconds)
2022-07-20 05:44:15 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-07-20 05:53:05 +0200 <jackdk> `streaming`'s core type is imho one of its most attractive features
2022-07-20 05:57:59 +0200segfaultfizzbuzz(~segfaultf@157-131-253-58.fiber.dynamic.sonic.net)
2022-07-20 05:59:10 +0200nightbreak[Away]nightbreak
2022-07-20 06:02:44 +0200segfaultfizzbuzz(~segfaultf@157-131-253-58.fiber.dynamic.sonic.net) (Ping timeout: 268 seconds)
2022-07-20 06:03:07 +0200gdown-(~gavin@h69-11-149-231.kndrid.broadband.dynamic.tds.net)
2022-07-20 06:07:15 +0200 <qrpnxz> i mean, it looks amazing. I just don't understand it too well. But more I read more i appreciate the library. Kind of like when I first learn about traversable i think this is how i feel about Stream atm
2022-07-20 06:08:49 +0200gdown-(~gavin@h69-11-149-231.kndrid.broadband.dynamic.tds.net) (Remote host closed the connection)
2022-07-20 06:10:09 +0200azimut_(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 268 seconds)
2022-07-20 06:10:58 +0200azimut(~azimut@gateway/tor-sasl/azimut)
2022-07-20 06:11:34 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
2022-07-20 06:14:17 +0200 <davean> jackdk: what do you view as special about "Stream f m r"?
2022-07-20 06:14:23 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 268 seconds)
2022-07-20 06:14:35 +0200 <jackdk> qrpnxz: https://github.com/ivan-m/LambdaJAM-Streaming-exercises
2022-07-20 06:15:56 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-07-20 06:16:08 +0200 <qrpnxz> jackdk: thanks!
2022-07-20 06:16:39 +0200 <jackdk> davean: I find it the easiest to understand out of the libs I've used. Also the `f` parameter and the left-strict pair `Of` that it's often used with seem clever. I should probably have also mentioned `machines` when I was writing about streaming libs but I'm even worse at that one than I am `pipes`
2022-07-20 06:17:11 +0200merijn(~merijn@c-001-001-002.client.esciencecenter.eduvpn.nl)
2022-07-20 06:17:27 +0200 <davean> haha, 'machines' is much more than streaming.
2022-07-20 06:17:47 +0200 <davean> You can setup entire networks
2022-07-20 06:18:20 +0200 <jackdk> yeah we spoke a bit about it many years ago.
2022-07-20 06:18:50 +0200 <davean> conduit and stuff at least handles fan-in
2022-07-20 06:19:30 +0200 <davean> I don't really know streaming though, other than looking at it briefly, so no idea how it does. Its type looks like just a way to talk about free monads.
2022-07-20 06:19:44 +0200 <davean> It looks like you're just building a computation?
2022-07-20 06:20:48 +0200 <davean> I should dig into it at some point
2022-07-20 06:21:25 +0200 <jackdk> it's an arbitrary and possibly-infinite interleaving of functor and monad layers basically. The most common functor is `data Of a b = !a :< b` so you get `Stream (Of a) m r` where the `a`s are evaluated to whnf at least
2022-07-20 06:22:27 +0200 <davean> Right, isn't that basicly what I said?
2022-07-20 06:23:00 +0200 <qrpnxz> is it? lol
2022-07-20 06:23:27 +0200dextaa(~DV@user/dextaa) (Read error: Connection reset by peer)
2022-07-20 06:25:18 +0200 <jackdk> Probably. I think it's a lot like `FreeT` but you don't necessarily have to have single `f` layers between your `m` layers
2022-07-20 06:25:38 +0200dextaa(~DV@user/dextaa)
2022-07-20 06:25:40 +0200 <davean> True, you can have a variable count
2022-07-20 06:25:55 +0200 <davean> though I'm not sure how meaningful that is given 'pure'
2022-07-20 06:26:12 +0200 <davean> maybe I'm missing something but that seems equivilent at first glance
2022-07-20 06:29:13 +0200 <jackdk> I don't think it'll make much of a difference either, aside from a bit of extra packing/unpacking
2022-07-20 06:29:47 +0200 <davean> Yah thats an optimization of value variable based on architecture and workload
2022-07-20 06:33:18 +0200nightbreak(~nightbrea@2600:1700:70d1:d800:78c0:dca8:2899:48b2) (Quit: Signing off for now...)
2022-07-20 06:36:58 +0200mbuf(~Shakthi@122.165.55.71)
2022-07-20 06:39:19 +0200kazaf(~kazaf@94.180.63.53)
2022-07-20 06:42:17 +0200mmhat(~mmh@p200300f1c70559dfee086bfffe095315.dip0.t-ipconnect.de)
2022-07-20 06:44:31 +0200azimut(~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
2022-07-20 06:44:55 +0200azimut(~azimut@gateway/tor-sasl/azimut)
2022-07-20 06:45:10 +0200kazaf(~kazaf@94.180.63.53) (Ping timeout: 252 seconds)
2022-07-20 06:48:32 +0200nate4(~nate@98.45.169.16)
2022-07-20 06:48:34 +0200matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
2022-07-20 06:52:09 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-07-20 06:52:10 +0200merijn(~merijn@c-001-001-002.client.esciencecenter.eduvpn.nl) (Ping timeout: 260 seconds)
2022-07-20 06:54:30 +0200nate4(~nate@98.45.169.16) (Ping timeout: 240 seconds)
2022-07-20 06:54:52 +0200 <Clinton[m]> With "stack" I'm getting a warning about putting... (full message at https://libera.ems.host/_matrix/media/r0/download/libera.chat/7a538c60144e63a7ed04750a8574ce237b92…)
2022-07-20 06:55:08 +0200yauhsien(~yauhsien@61-231-22-68.dynamic-ip.hinet.net)
2022-07-20 07:02:13 +0200gdown-(~gavin@h69-11-149-231.kndrid.broadband.dynamic.tds.net)
2022-07-20 07:02:16 +0200gdown-(~gavin@h69-11-149-231.kndrid.broadband.dynamic.tds.net) (Read error: Connection reset by peer)
2022-07-20 07:02:34 +0200gdown(~gavin@h69-11-149-231.kndrid.broadband.dynamic.tds.net) (Remote host closed the connection)
2022-07-20 07:03:10 +0200gdown(~gavin@h69-11-149-231.kndrid.broadband.dynamic.tds.net)
2022-07-20 07:07:03 +0200segfaultfizzbuzz(~segfaultf@157-131-253-58.fiber.dynamic.sonic.net)
2022-07-20 07:09:58 +0200yauhsien(~yauhsien@61-231-22-68.dynamic-ip.hinet.net) (Ping timeout: 240 seconds)
2022-07-20 07:13:46 +0200 <Axman6> Clinton[m]: FYI, your message was too long for IRC and was cut off after putting (with a link to the rest of the message). Generally on IRC we keep messages short and use paste sites for sharing lots of code or longer questions
2022-07-20 07:13:48 +0200 <Axman6> @where paste
2022-07-20 07:13:48 +0200 <lambdabot> Help us help you: please paste full code, input and/or output at e.g. https://paste.tomsmeding.com
2022-07-20 07:17:50 +0200 <Axman6> As for your actualy question, I haven't used stack for a long time, and I don't know if it's kept up with GHC/Cabal's development
2022-07-20 07:18:36 +0200adanwan(~adanwan@gateway/tor-sasl/adanwan) (Ping timeout: 268 seconds)
2022-07-20 07:18:47 +0200adanwan_(~adanwan@gateway/tor-sasl/adanwan)
2022-07-20 07:18:55 +0200causal(~user@50.35.83.177) (Read error: Connection reset by peer)
2022-07-20 07:18:58 +0200causal_(~user@50.35.83.177)
2022-07-20 07:21:40 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-07-20 07:22:51 +0200zebrag(~chris@user/zebrag) (Quit: Konversation terminated!)
2022-07-20 07:24:06 +0200dcoutts(~duncan@host86-167-206-10.range86-167.btcentralplus.com)
2022-07-20 07:29:48 +0200dextaa(~DV@user/dextaa) (Read error: Connection reset by peer)
2022-07-20 07:31:54 +0200dextaa(~DV@user/dextaa)
2022-07-20 07:32:52 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-07-20 07:32:58 +0200mvk(~mvk@2607:fea8:5ce3:8500::909a) (Ping timeout: 240 seconds)
2022-07-20 07:35:57 +0200adanwan_(~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection)
2022-07-20 07:36:12 +0200adanwan(~adanwan@gateway/tor-sasl/adanwan)
2022-07-20 07:37:50 +0200inversed(~inversed@0545c13e.skybroadband.com)
2022-07-20 07:39:16 +0200 <cdepillabout[m]> Clinton: There's an issue on the stack repo about using stack with `GHC2021`: https://github.com/commercialhaskell/stack/issues/5739. Maybe this is related to what you're seeing?
2022-07-20 07:39:44 +0200bilegeek(~bilegeek@2600:1008:b019:1e26:a9d2:8ab1:892f:24cd) (Quit: Leaving)
2022-07-20 07:40:39 +0200 <talismanick> What's the SoTA in constraint solving with Haskell?
2022-07-20 07:41:33 +0200 <talismanick> namely for package versioning and resolution
2022-07-20 07:43:15 +0200codaraxis__(~codaraxis@user/codaraxis) (Ping timeout: 268 seconds)
2022-07-20 07:44:45 +0200dextaa(~DV@user/dextaa) (Read error: Connection reset by peer)
2022-07-20 07:45:13 +0200gmg(~user@user/gehmehgeh)
2022-07-20 07:45:25 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 244 seconds)
2022-07-20 07:46:09 +0200segfaultfizzbuzz(~segfaultf@157-131-253-58.fiber.dynamic.sonic.net) (Ping timeout: 276 seconds)
2022-07-20 07:46:13 +0200Kevin578_(~Kevin578@pool-173-76-179-30.bstnma.fios.verizon.net)
2022-07-20 07:46:51 +0200dextaa(~DV@user/dextaa)
2022-07-20 07:47:17 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-07-20 07:47:30 +0200Kevin578(~Kevin578@pool-173-76-179-30.bstnma.fios.verizon.net) (Ping timeout: 268 seconds)
2022-07-20 07:47:44 +0200merijn(~merijn@c-001-001-002.client.esciencecenter.eduvpn.nl)
2022-07-20 07:54:53 +0200takuan(~takuan@178-116-218-225.access.telenet.be)
2022-07-20 07:56:56 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-07-20 07:57:26 +0200lys(sid194105@user/lys)
2022-07-20 08:01:32 +0200matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 255 seconds)
2022-07-20 08:15:44 +0200shriekingnoise(~shrieking@201.212.175.181) (Quit: Quit)
2022-07-20 08:18:23 +0200 <[exa]> talismanick: that's a pretty specific area of constraint solving tbh
2022-07-20 08:18:39 +0200lys(sid194105@user/lys) ()
2022-07-20 08:19:22 +0200 <[exa]> but the last time I checked the consensus was "translate to SAT and hope"
2022-07-20 08:20:22 +0200chomwitt(~chomwitt@2a02:587:dc00:5a00:7:bdc0:5a4f:ad30)
2022-07-20 08:22:41 +0200merijn(~merijn@c-001-001-002.client.esciencecenter.eduvpn.nl) (Ping timeout: 272 seconds)
2022-07-20 08:24:47 +0200gdown(~gavin@h69-11-149-231.kndrid.broadband.dynamic.tds.net) (Remote host closed the connection)
2022-07-20 08:28:14 +0200gmg(~user@user/gehmehgeh) (Remote host closed the connection)
2022-07-20 08:28:19 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-07-20 08:29:04 +0200gmg(~user@user/gehmehgeh)
2022-07-20 08:29:58 +0200michalz(~michalz@185.246.204.77)
2022-07-20 08:31:58 +0200PiDelport(uid25146@id-25146.lymington.irccloud.com)
2022-07-20 08:32:16 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-07-20 08:36:06 +0200Vajb(~Vajb@n1zigc3rgo9mpde2w-1.v6.elisa-mobile.fi) (Read error: Connection reset by peer)
2022-07-20 08:36:07 +0200yauhsien(~yauhsien@61-231-22-68.dynamic-ip.hinet.net)
2022-07-20 08:36:28 +0200Vajb(~Vajb@hag-jnsbng11-58c3ad-40.dhcp.inet.fi)
2022-07-20 08:36:33 +0200asarch(~asarch@2806:10ae:7:c863:b7f0:193:285c:8465)
2022-07-20 08:37:59 +0200acidjnk_new3(~acidjnk@p200300d6e70586052d49bed31da73f77.dip0.t-ipconnect.de)
2022-07-20 08:41:32 +0200zeenk(~zeenk@2a02:2f04:a311:2d00:6865:d863:4c93:799f)
2022-07-20 08:47:23 +0200yauhsien(~yauhsien@61-231-22-68.dynamic-ip.hinet.net) (Ping timeout: 272 seconds)
2022-07-20 08:55:25 +0200cfricke(~cfricke@user/cfricke)
2022-07-20 08:55:39 +0200causal_(~user@50.35.83.177) (Quit: WeeChat 3.5)
2022-07-20 09:00:54 +0200`2jt(~jtomas@141.red-88-17-65.dynamicip.rima-tde.net)
2022-07-20 09:02:41 +0200`2jt(~jtomas@141.red-88-17-65.dynamicip.rima-tde.net) (Remote host closed the connection)
2022-07-20 09:03:03 +0200Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2022-07-20 09:04:06 +0200christiansen(~christian@83-95-137-75-dynamic.dk.customer.tdc.net)
2022-07-20 09:04:42 +0200chexum(~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
2022-07-20 09:04:42 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Write error: Connection reset by peer)
2022-07-20 09:04:42 +0200ChaiTRex(~ChaiTRex@user/chaitrex) (Write error: Connection reset by peer)
2022-07-20 09:05:09 +0200ChaiTRex(~ChaiTRex@user/chaitrex)
2022-07-20 09:05:12 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 268 seconds)
2022-07-20 09:05:22 +0200chexum(~quassel@gateway/tor-sasl/chexum)
2022-07-20 09:05:25 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643)
2022-07-20 09:06:03 +0200_ht(~quassel@231-169-21-31.ftth.glasoperator.nl)
2022-07-20 09:06:40 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-07-20 09:09:27 +0200y04nn(~y04nn@2001:ac8:28:95::a17e)
2022-07-20 09:16:50 +0200 <Inst> also, did I just find a hole in the functor laws?
2022-07-20 09:16:57 +0200 <Inst> define fmap as const id
2022-07-20 09:17:02 +0200 <Inst> now everything is a functor
2022-07-20 09:17:40 +0200 <Inst> as long as it satisfies the kind requirement ( * -> * )
2022-07-20 09:18:04 +0200 <[exa]> it is not, it can't produce `f b` from `f a` given `a->b`
2022-07-20 09:18:16 +0200merijn(~merijn@c-001-001-002.client.esciencecenter.eduvpn.nl)
2022-07-20 09:20:25 +0200 <[exa]> :t [fmap, const id]
2022-07-20 09:20:27 +0200 <lambdabot> Functor f => [(b -> b) -> f b -> f b]
2022-07-20 09:21:39 +0200 <[exa]> (it's insufficiently polymorphic, you'd need to make sure that the 2nd argument doesn't unify with the output)
2022-07-20 09:22:07 +0200zmt01(~zmt00@user/zmt00)
2022-07-20 09:23:07 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:2da3:f583:8579:9c6f) (Remote host closed the connection)
2022-07-20 09:24:57 +0200 <n1essa> I'm having trouble googling this, what is this syntax in haskell called? #{size XClassHint}
2022-07-20 09:25:44 +0200zmt00(~zmt00@user/zmt00) (Ping timeout: 255 seconds)
2022-07-20 09:25:54 +0200 <Axman6> Inst: you don't get to choose what a and b are, the user of fmap does, by passing a function, any function, to it
2022-07-20 09:25:55 +0200 <n1essa> ohh it's hsc specific
2022-07-20 09:25:56 +0200y04nn(~y04nn@2001:ac8:28:95::a17e) (Remote host closed the connection)
2022-07-20 09:26:11 +0200y04nn(~y04nn@2001:ac8:28:95::a17e)
2022-07-20 09:27:13 +0200 <[exa]> n1essa: the closest from haskell is probably MagicHash, and maybe OverloadedLabels
2022-07-20 09:27:38 +0200arjun(~arjun@user/arjun)
2022-07-20 09:27:46 +0200 <[exa]> but yeah this is likely something completely different. :]
2022-07-20 09:27:46 +0200 <n1essa> i found it, it's part of hsc2hs
2022-07-20 09:28:05 +0200NaturalNumber(~monadam@137.229.82.64)
2022-07-20 09:28:12 +0200cfricke(~cfricke@user/cfricke) (Quit: WeeChat 3.5)
2022-07-20 09:28:51 +0200`2jt(~jtomas@141.red-88-17-65.dynamicip.rima-tde.net)
2022-07-20 09:28:54 +0200 <Inst> btw what are your guys experiences with the smalltalk community?
2022-07-20 09:28:57 +0200 <Inst> I'm pretty much stalled out
2022-07-20 09:29:01 +0200 <Inst> so monochrome wins, I'm a poser
2022-07-20 09:29:25 +0200 <Axman6> I have never met anyone from the smalltalk community
2022-07-20 09:29:59 +0200 <Inst> also, if you guys can be helpful, can you come up with some projects for me to do?
2022-07-20 09:30:13 +0200 <[exa]> in haskell?
2022-07-20 09:30:22 +0200 <Inst> yeah, but simple ones ;_;
2022-07-20 09:30:26 +0200 <[exa]> wait I'll fetch the looooooooooong list
2022-07-20 09:30:31 +0200 <Inst> thanks <3
2022-07-20 09:30:41 +0200 <Inst> i had a lot of fun exploring Haskell as "definable pseudocode"
2022-07-20 09:30:47 +0200 <Axman6> work your way through these, they are pointless but extremely important: https://blog.tmorris.net/posts/20-intermediate-haskell-exercises/
2022-07-20 09:30:53 +0200 <Inst> but I'm not sure if writing Haskell programs as pseudocode, then defining them to be correct, is marketable
2022-07-20 09:31:03 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2022-07-20 09:31:29 +0200 <[exa]> Inst: if you call it "writing in EDSLs", it's actually a perfectly valid methodology
2022-07-20 09:31:43 +0200 <Inst> i mean marketing
2022-07-20 09:31:45 +0200 <Axman6> I picked that based on your Functor question, it feels like you're at a good point to attempt them
2022-07-20 09:31:51 +0200 <Inst> also ewww
2022-07-20 09:31:57 +0200 <Inst> error "todo"? why that instead of undfeined?
2022-07-20 09:32:21 +0200matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
2022-07-20 09:32:29 +0200 <Axman6> because you're supposed to replace those todos and it will complain at you when you try to use something you haven't defined yet
2022-07-20 09:32:33 +0200 <[exa]> `error "I want to do this in the future"` is a bit more explanatory than "haha nope undefined"
2022-07-20 09:32:39 +0200 <Axman6> undefined is just error "undefined" after all
2022-07-20 09:32:54 +0200 <Axman6> @src undefined
2022-07-20 09:32:54 +0200 <lambdabot> undefined = error "Prelude.undefined"
2022-07-20 09:33:18 +0200 <Inst> https://github.com/liamzee/movies-hw/blob/master/server/app/MoviesServer.hs
2022-07-20 09:33:20 +0200Pickchea(~private@user/pickchea)
2022-07-20 09:33:22 +0200 <Inst> what recent shit I've been doing looks like
2022-07-20 09:34:09 +0200 <Axman6> I guess if you're using servant you're a bit poast those exercises
2022-07-20 09:34:26 +0200 <n1essa> sweet i was able to add a missing method to X11 library.. i should probably figure out how to actually submit this
2022-07-20 09:34:59 +0200 <Inst> we rushed along
2022-07-20 09:35:10 +0200 <[exa]> n1essa: if the library has github, just send a PR, devs will usually guide you through the rest
2022-07-20 09:35:15 +0200 <Inst> i stopped tutoring (at least temporarily) because the stuff I wanted to learn, I couldn't get
2022-07-20 09:35:18 +0200 <Inst> like conduit / pipes
2022-07-20 09:35:24 +0200 <Inst> still not sure whether to use conduit or pipes
2022-07-20 09:35:39 +0200 <Inst> i still can't hack Aeson to work directly with types of Value instead of through the JSON interface
2022-07-20 09:35:46 +0200 <Axman6> do you want to be impressed by the beauty of the abstraction? or write working programs?
2022-07-20 09:35:48 +0200alternateved(~user@staticline-31-183-144-54.toya.net.pl)
2022-07-20 09:36:14 +0200 <Axman6> for the former, use pipes, for the latter, use conduit. Also see jackdk's discussion of the merits of the various streaming libraries a couple of hours ago
2022-07-20 09:36:16 +0200 <Inst> write working programs
2022-07-20 09:38:23 +0200 <Inst> how bad is the code quality there?
2022-07-20 09:38:43 +0200 <[exa]> pretty good tbh
2022-07-20 09:39:13 +0200 <sm> smalltalk & community are awesome. Still doing cool stuff and might take over the world one day
2022-07-20 09:40:27 +0200asarch(~asarch@2806:10ae:7:c863:b7f0:193:285c:8465) (Quit: Leaving)
2022-07-20 09:40:39 +0200 <[exa]> Inst: btw what's the problem with aeson? you generally don't want to work directly with Value
2022-07-20 09:42:08 +0200 <Inst> sm: I'm trying to talk smalltalkers into implementing smalltalk in Haskell for laughs
2022-07-20 09:43:23 +0200 <maerwald[m]> Inst: use streamly, not conduit ;)
2022-07-20 09:44:26 +0200 <Inst> basically, I tried to play code golf as much as I could with previous projects
2022-07-20 09:44:38 +0200 <Inst> this time, I'm trying to be explicit with code, to the extent of using pattern synonyms to obscure Nothing
2022-07-20 09:44:56 +0200 <Inst> on FP discord, btw, we're wondering if we can market Haskell as "functional pseudocode"
2022-07-20 09:45:34 +0200MajorBiscuit(~MajorBisc@wlan-145-94-167-213.wlan.tudelft.nl)
2022-07-20 09:46:12 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-07-20 09:47:22 +0200dschrempf(~dominik@2a01-036d-0118-4212-15b7-3a6a-1add-ee4a.pool6.digikabel.hu)
2022-07-20 09:47:32 +0200 <sm> for implementing a smalltalk VM, you want very fast low level code, zig or rust might be a better fit
2022-07-20 09:48:00 +0200 <sm> smalltalk/FP crossover is interesting though I agree
2022-07-20 09:50:46 +0200cfricke(~cfricke@user/cfricke)
2022-07-20 09:51:10 +0200 <sm> (also, smalltalk already has a very good VM that would be hard to match)
2022-07-20 09:52:28 +0200 <Inst> nah, the smalltalkers just seem cool, reasonably academic
2022-07-20 09:52:35 +0200 <Inst> and supposedly smalltalk OOP is OOP that works
2022-07-20 09:52:42 +0200 <Inst> would be nice to get insights from their community, etc
2022-07-20 09:54:14 +0200NaturalNumber(~monadam@137.229.82.64) (Quit: Have a nice day)
2022-07-20 09:55:07 +0200machinedgod(~machinedg@d172-219-86-154.abhsia.telus.net)
2022-07-20 09:55:40 +0200dschrempf(~dominik@2a01-036d-0118-4212-15b7-3a6a-1add-ee4a.pool6.digikabel.hu) (Quit: WeeChat 3.6)
2022-07-20 09:55:45 +0200fserucas(~fserucas@39.64.114.89.rev.vodafone.pt)
2022-07-20 09:55:59 +0200fserucas(~fserucas@39.64.114.89.rev.vodafone.pt) (Client Quit)
2022-07-20 09:56:14 +0200fserucas(~fserucas@39.64.114.89.rev.vodafone.pt)
2022-07-20 09:59:18 +0200Kaiepi(~Kaiepi@156.34.47.253) (Read error: Connection reset by peer)
2022-07-20 09:59:43 +0200Kaiepi(~Kaiepi@156.34.47.253)
2022-07-20 10:00:33 +0200Tuplanolla(~Tuplanoll@91-159-69-97.elisa-laajakaista.fi)
2022-07-20 10:01:17 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-07-20 10:03:15 +0200`2jt(~jtomas@141.red-88-17-65.dynamicip.rima-tde.net) (Remote host closed the connection)
2022-07-20 10:03:21 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-07-20 10:03:29 +0200yauhsien(~yauhsien@61-231-22-68.dynamic-ip.hinet.net)
2022-07-20 10:04:06 +0200acidjnk_new(~acidjnk@p200300d6e70586052965d2416953e6a6.dip0.t-ipconnect.de)
2022-07-20 10:06:27 +0200dschrempf(~dominik@2a01-036d-0118-4212-276b-c4f1-89b5-cfd7.pool6.digikabel.hu)
2022-07-20 10:07:23 +0200tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz)
2022-07-20 10:07:29 +0200matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
2022-07-20 10:07:51 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
2022-07-20 10:08:10 +0200acidjnk_new3(~acidjnk@p200300d6e70586052d49bed31da73f77.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2022-07-20 10:08:39 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643)
2022-07-20 10:11:53 +0200azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 268 seconds)
2022-07-20 10:12:15 +0200dschrempf(~dominik@2a01-036d-0118-4212-276b-c4f1-89b5-cfd7.pool6.digikabel.hu) (Ping timeout: 260 seconds)
2022-07-20 10:13:48 +0200gmg(~user@user/gehmehgeh) (Remote host closed the connection)
2022-07-20 10:15:10 +0200yauhsien(~yauhsien@61-231-22-68.dynamic-ip.hinet.net) (Ping timeout: 260 seconds)
2022-07-20 10:16:35 +0200gmg(~user@user/gehmehgeh)
2022-07-20 10:19:26 +0200waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340)
2022-07-20 10:23:29 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:20ec:e44c:e765:b535)
2022-07-20 10:23:30 +0200Dorkside69(~dorkside@208.190.197.222) (Remote host closed the connection)
2022-07-20 10:23:44 +0200Dorkside694(~dorkside@208.190.197.222)
2022-07-20 10:23:46 +0200Dorkside694(~dorkside@208.190.197.222) (Remote host closed the connection)
2022-07-20 10:24:00 +0200Dorkside694(~dorkside@208.190.197.222)
2022-07-20 10:24:01 +0200Dorkside694(~dorkside@208.190.197.222) (Remote host closed the connection)
2022-07-20 10:24:14 +0200Dorkside694(~dorkside@208.190.197.222)
2022-07-20 10:24:15 +0200Dorkside694(~dorkside@208.190.197.222) (Remote host closed the connection)
2022-07-20 10:24:28 +0200Dorkside694(~dorkside@208.190.197.222)
2022-07-20 10:24:28 +0200Dorkside694(~dorkside@208.190.197.222) (Remote host closed the connection)
2022-07-20 10:24:41 +0200Dorkside694(~dorkside@208.190.197.222)
2022-07-20 10:24:41 +0200Dorkside694(~dorkside@208.190.197.222) (Remote host closed the connection)
2022-07-20 10:24:55 +0200Dorkside694(~dorkside@208.190.197.222)
2022-07-20 10:24:56 +0200ccntrq(~Thunderbi@exit-3.office.han.de.mhd.medondo.com)
2022-07-20 10:24:56 +0200Dorkside694(~dorkside@208.190.197.222) (Remote host closed the connection)
2022-07-20 10:25:10 +0200Dorkside694(~dorkside@208.190.197.222)
2022-07-20 10:25:11 +0200Dorkside694(~dorkside@208.190.197.222) (Remote host closed the connection)
2022-07-20 10:25:24 +0200Dorkside694(~dorkside@208.190.197.222)
2022-07-20 10:25:24 +0200Dorkside694(~dorkside@208.190.197.222) (Remote host closed the connection)
2022-07-20 10:25:33 +0200acidjnk_new(~acidjnk@p200300d6e70586052965d2416953e6a6.dip0.t-ipconnect.de) (Ping timeout: 272 seconds)
2022-07-20 10:25:37 +0200Dorkside694(~dorkside@208.190.197.222)
2022-07-20 10:25:38 +0200Dorkside694(~dorkside@208.190.197.222) (Remote host closed the connection)
2022-07-20 10:25:49 +0200lys(sid194105@user/lys)
2022-07-20 10:25:51 +0200Dorkside694(~dorkside@208.190.197.222)
2022-07-20 10:25:52 +0200Dorkside694(~dorkside@208.190.197.222) (Remote host closed the connection)
2022-07-20 10:25:58 +0200kaskal(~kaskal@089144220061.atnat0029.highway.webapn.at) (Quit: ZNC - https://znc.in)
2022-07-20 10:26:05 +0200Dorkside694(~dorkside@208.190.197.222)
2022-07-20 10:26:06 +0200Dorkside694(~dorkside@208.190.197.222) (Remote host closed the connection)
2022-07-20 10:26:19 +0200Dorkside694(~dorkside@208.190.197.222)
2022-07-20 10:26:20 +0200Dorkside694(~dorkside@208.190.197.222) (Remote host closed the connection)
2022-07-20 10:26:33 +0200Dorkside694(~dorkside@208.190.197.222)
2022-07-20 10:26:33 +0200Dorkside694(~dorkside@208.190.197.222) (Remote host closed the connection)
2022-07-20 10:26:46 +0200Dorkside694(~dorkside@208.190.197.222)
2022-07-20 10:26:46 +0200Dorkside694(~dorkside@208.190.197.222) (Remote host closed the connection)
2022-07-20 10:26:59 +0200Dorkside694(~dorkside@208.190.197.222)
2022-07-20 10:26:59 +0200Dorkside694(~dorkside@208.190.197.222) (Remote host closed the connection)
2022-07-20 10:27:12 +0200Dorkside694(~dorkside@208.190.197.222)
2022-07-20 10:27:13 +0200Dorkside694(~dorkside@208.190.197.222) (Remote host closed the connection)
2022-07-20 10:27:26 +0200Dorkside694(~dorkside@208.190.197.222)
2022-07-20 10:27:27 +0200Dorkside694(~dorkside@208.190.197.222) (Remote host closed the connection)
2022-07-20 10:27:38 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:20ec:e44c:e765:b535) (Ping timeout: 244 seconds)
2022-07-20 10:27:40 +0200Dorkside694(~dorkside@208.190.197.222)
2022-07-20 10:27:41 +0200Dorkside694(~dorkside@208.190.197.222) (Remote host closed the connection)
2022-07-20 10:27:54 +0200Dorkside694(~dorkside@208.190.197.222)
2022-07-20 10:27:55 +0200Dorkside694(~dorkside@208.190.197.222) (Remote host closed the connection)
2022-07-20 10:28:08 +0200Dorkside694(~dorkside@208.190.197.222)
2022-07-20 10:28:09 +0200Dorkside694(~dorkside@208.190.197.222) (Remote host closed the connection)
2022-07-20 10:28:22 +0200Dorkside694(~dorkside@208.190.197.222)
2022-07-20 10:28:22 +0200Dorkside694(~dorkside@208.190.197.222) (Remote host closed the connection)
2022-07-20 10:28:35 +0200Dorkside694(~dorkside@208.190.197.222)
2022-07-20 10:28:35 +0200Dorkside694(~dorkside@208.190.197.222) (Remote host closed the connection)
2022-07-20 10:28:48 +0200Dorkside694(~dorkside@208.190.197.222)
2022-07-20 10:28:49 +0200Dorkside694(~dorkside@208.190.197.222) (Remote host closed the connection)
2022-07-20 10:29:02 +0200Dorkside694(~dorkside@208.190.197.222)
2022-07-20 10:29:03 +0200Dorkside694(~dorkside@208.190.197.222) (Remote host closed the connection)
2022-07-20 10:29:16 +0200Dorkside694(~dorkside@208.190.197.222)
2022-07-20 10:29:16 +0200Dorkside694(~dorkside@208.190.197.222) (Remote host closed the connection)
2022-07-20 10:29:31 +0200Dorkside694(~dorkside@208.190.197.222)
2022-07-20 10:29:32 +0200Dorkside694(~dorkside@208.190.197.222) (Remote host closed the connection)
2022-07-20 10:29:43 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-07-20 10:29:45 +0200Dorkside694(~dorkside@208.190.197.222)
2022-07-20 10:29:45 +0200Dorkside694(~dorkside@208.190.197.222) (Remote host closed the connection)
2022-07-20 10:29:58 +0200Dorkside694(~dorkside@208.190.197.222)
2022-07-20 10:29:58 +0200Dorkside694(~dorkside@208.190.197.222) (Remote host closed the connection)
2022-07-20 10:29:59 +0200merijn(~merijn@c-001-001-002.client.esciencecenter.eduvpn.nl) (Ping timeout: 272 seconds)
2022-07-20 10:30:12 +0200Dorkside694(~dorkside@208.190.197.222)
2022-07-20 10:30:13 +0200Dorkside694(~dorkside@208.190.197.222) (Remote host closed the connection)
2022-07-20 10:30:26 +0200Dorkside694(~dorkside@208.190.197.222)
2022-07-20 10:30:27 +0200Dorkside694(~dorkside@208.190.197.222) (Remote host closed the connection)
2022-07-20 10:30:40 +0200Dorkside694(~dorkside@208.190.197.222)
2022-07-20 10:30:40 +0200Dorkside694(~dorkside@208.190.197.222) (Remote host closed the connection)
2022-07-20 10:30:54 +0200Dorkside694(~dorkside@208.190.197.222)
2022-07-20 10:30:55 +0200Dorkside694(~dorkside@208.190.197.222) (Remote host closed the connection)
2022-07-20 10:31:08 +0200Dorkside694(~dorkside@208.190.197.222)
2022-07-20 10:31:08 +0200Dorkside694(~dorkside@208.190.197.222) (Remote host closed the connection)
2022-07-20 10:31:21 +0200Dorkside694(~dorkside@208.190.197.222)
2022-07-20 10:31:22 +0200Dorkside694(~dorkside@208.190.197.222) (Remote host closed the connection)
2022-07-20 10:31:35 +0200Dorkside694(~dorkside@208.190.197.222)
2022-07-20 10:31:36 +0200Dorkside694(~dorkside@208.190.197.222) (Remote host closed the connection)
2022-07-20 10:31:49 +0200Dorkside694(~dorkside@208.190.197.222)
2022-07-20 10:31:50 +0200Dorkside694(~dorkside@208.190.197.222) (Remote host closed the connection)
2022-07-20 10:32:03 +0200Dorkside694(~dorkside@208.190.197.222)
2022-07-20 10:32:16 +0200Dorkside694(~dorkside@208.190.197.222)
2022-07-20 10:32:17 +0200Dorkside694(~dorkside@208.190.197.222) (Remote host closed the connection)
2022-07-20 10:32:31 +0200YoungFrog(~youngfrog@39.129-180-91.adsl-dyn.isp.belgacom.be) (Ping timeout: 272 seconds)
2022-07-20 10:32:31 +0200Dorkside694(~dorkside@208.190.197.222)
2022-07-20 10:32:32 +0200Dorkside694(~dorkside@208.190.197.222) (Remote host closed the connection)
2022-07-20 10:32:45 +0200Dorkside694(~dorkside@208.190.197.222)
2022-07-20 10:32:46 +0200Dorkside694(~dorkside@208.190.197.222) (Remote host closed the connection)
2022-07-20 10:32:59 +0200Dorkside694(~dorkside@208.190.197.222)
2022-07-20 10:32:59 +0200Dorkside694(~dorkside@208.190.197.222) (Remote host closed the connection)
2022-07-20 10:33:15 +0200Dorkside694(~dorkside@208.190.197.222)
2022-07-20 10:33:16 +0200Dorkside694(~dorkside@208.190.197.222) (Remote host closed the connection)
2022-07-20 10:33:29 +0200Dorkside694(~dorkside@208.190.197.222)
2022-07-20 10:33:29 +0200Dorkside694(~dorkside@208.190.197.222) (Remote host closed the connection)
2022-07-20 10:33:42 +0200Dorkside694(~dorkside@208.190.197.222)
2022-07-20 10:33:43 +0200Dorkside694(~dorkside@208.190.197.222) (Remote host closed the connection)
2022-07-20 10:33:56 +0200Dorkside694(~dorkside@208.190.197.222)
2022-07-20 10:33:57 +0200Dorkside694(~dorkside@208.190.197.222) (Remote host closed the connection)
2022-07-20 10:34:10 +0200Dorkside694(~dorkside@208.190.197.222)
2022-07-20 10:34:10 +0200Dorkside694(~dorkside@208.190.197.222) (Remote host closed the connection)
2022-07-20 10:34:23 +0200Dorkside694(~dorkside@208.190.197.222)
2022-07-20 10:34:23 +0200Dorkside694(~dorkside@208.190.197.222) (Remote host closed the connection)
2022-07-20 10:34:36 +0200Dorkside694(~dorkside@208.190.197.222)
2022-07-20 10:34:37 +0200Dorkside694(~dorkside@208.190.197.222) (Remote host closed the connection)
2022-07-20 10:34:50 +0200Dorkside694(~dorkside@208.190.197.222)
2022-07-20 10:34:51 +0200Dorkside694(~dorkside@208.190.197.222) (Remote host closed the connection)
2022-07-20 10:34:59 +0200matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 255 seconds)
2022-07-20 10:35:04 +0200Dorkside694(~dorkside@208.190.197.222)
2022-07-20 10:35:05 +0200Dorkside694(~dorkside@208.190.197.222) (Remote host closed the connection)
2022-07-20 10:35:19 +0200Dorkside694(~dorkside@208.190.197.222)
2022-07-20 10:35:20 +0200Dorkside694(~dorkside@208.190.197.222) (Remote host closed the connection)
2022-07-20 10:35:33 +0200Dorkside694(~dorkside@208.190.197.222)
2022-07-20 10:35:33 +0200Dorkside694(~dorkside@208.190.197.222) (Remote host closed the connection)
2022-07-20 10:35:47 +0200Dorkside694(~dorkside@208.190.197.222)
2022-07-20 10:35:47 +0200Dorkside694(~dorkside@208.190.197.222) (Remote host closed the connection)
2022-07-20 10:36:00 +0200Dorkside694(~dorkside@208.190.197.222)
2022-07-20 10:36:01 +0200Dorkside694(~dorkside@208.190.197.222) (Remote host closed the connection)
2022-07-20 10:36:15 +0200Dorkside694(~dorkside@208.190.197.222)
2022-07-20 10:36:16 +0200Dorkside694(~dorkside@208.190.197.222) (Remote host closed the connection)
2022-07-20 10:36:29 +0200Dorkside694(~dorkside@208.190.197.222)
2022-07-20 10:36:30 +0200Dorkside694(~dorkside@208.190.197.222) (Remote host closed the connection)
2022-07-20 10:36:43 +0200Dorkside694(~dorkside@208.190.197.222)
2022-07-20 10:36:44 +0200Dorkside694(~dorkside@208.190.197.222) (Remote host closed the connection)
2022-07-20 10:36:48 +0200lys(sid194105@user/lys) ()
2022-07-20 10:36:57 +0200Dorkside694(~dorkside@208.190.197.222)
2022-07-20 10:36:58 +0200Dorkside694(~dorkside@208.190.197.222) (Remote host closed the connection)
2022-07-20 10:39:11 +0200arjun(~arjun@user/arjun) (Quit: tip toe-ing my way outta here)
2022-07-20 10:40:00 +0200YoungFrog(~youngfrog@39.129-180-91.adsl-dyn.isp.belgacom.be)
2022-07-20 10:47:34 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 268 seconds)
2022-07-20 10:48:42 +0200chomwitt(~chomwitt@2a02:587:dc00:5a00:7:bdc0:5a4f:ad30) (Ping timeout: 264 seconds)
2022-07-20 10:49:01 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-07-20 10:50:35 +0200eagleflo(~aku@163.172.137.34) (Remote host closed the connection)
2022-07-20 10:50:35 +0200Vajb(~Vajb@hag-jnsbng11-58c3ad-40.dhcp.inet.fi) (Read error: Connection reset by peer)
2022-07-20 10:50:44 +0200Vajb(~Vajb@hag-jnsbng11-58c3ad-40.dhcp.inet.fi)
2022-07-20 10:51:56 +0200xsarnik(xsarnik@lounge.fi.muni.cz) (Quit: Ping timeout (120 seconds))
2022-07-20 10:52:08 +0200xsarnik(xsarnik@lounge.fi.muni.cz)
2022-07-20 10:53:08 +0200Athas_(athas@sigkill.dk)
2022-07-20 10:53:27 +0200akshay(~nerdypepp@user/nerdypepper) (Ping timeout: 256 seconds)
2022-07-20 10:54:01 +0200haveo(~haveo@sl35.iuwt.fr) (Ping timeout: 256 seconds)
2022-07-20 10:54:01 +0200koolazer(~koo@user/koolazer) (Ping timeout: 256 seconds)
2022-07-20 10:54:09 +0200haveo(~haveo@sl35.iuwt.fr)
2022-07-20 10:54:16 +0200econo(uid147250@user/econo) (Quit: Connection closed for inactivity)
2022-07-20 10:54:35 +0200tureba(~tureba@tureba.org) (Ping timeout: 256 seconds)
2022-07-20 10:54:35 +0200Athas(athas@sigkill.dk) (Ping timeout: 256 seconds)
2022-07-20 10:54:35 +0200swistak-(~swistak@185.21.216.141) (Ping timeout: 256 seconds)
2022-07-20 10:55:03 +0200gmg(~user@user/gehmehgeh) (Ping timeout: 268 seconds)
2022-07-20 10:55:07 +0200nerdypepper(~nerdypepp@user/nerdypepper)
2022-07-20 10:55:46 +0200tureba(~tureba@tureba.org)
2022-07-20 10:55:50 +0200swistak(~swistak@185.21.216.141)
2022-07-20 10:56:04 +0200koolazer(~koo@user/koolazer)
2022-07-20 10:56:20 +0200gmg(~user@user/gehmehgeh)
2022-07-20 11:02:06 +0200aku(~aku@163.172.137.34)
2022-07-20 11:09:04 +0200merijn(~merijn@c-001-001-002.client.esciencecenter.eduvpn.nl)
2022-07-20 11:10:37 +0200mrvdb(~mrvdb@2001:19f0:5000:8582:5400:ff:fe07:3df5)
2022-07-20 11:12:48 +0200acidjnk_new(~acidjnk@p200300d6e70586052965d2416953e6a6.dip0.t-ipconnect.de)
2022-07-20 11:13:32 +0200Athas_Athas
2022-07-20 11:14:52 +0200yauhsien(~yauhsien@61-231-22-68.dynamic-ip.hinet.net)
2022-07-20 11:15:18 +0200Kaiepi(~Kaiepi@156.34.47.253) (Read error: Connection reset by peer)
2022-07-20 11:17:13 +0200alternateved(~user@staticline-31-183-144-54.toya.net.pl) (Remote host closed the connection)
2022-07-20 11:18:34 +0200y04nn(~y04nn@2001:ac8:28:95::a17e) (Ping timeout: 272 seconds)
2022-07-20 11:20:00 +0200alternateved(~user@staticline-31-183-144-54.toya.net.pl)
2022-07-20 11:20:39 +0200dwt_(~dwt_@c-98-198-103-176.hsd1.tx.comcast.net) (Ping timeout: 272 seconds)
2022-07-20 11:20:49 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-07-20 11:21:14 +0200 <Inst> can I ask about function calls and its effects on Haskell performance?
2022-07-20 11:21:40 +0200 <Inst> is that why people like pointfree (pointless) so much?
2022-07-20 11:23:03 +0200 <sm> they're fast. pointfree is about style and clarity, not (usually?) performance
2022-07-20 11:23:22 +0200Guest26861(~inversed@0545c13e.skybroadband.com)
2022-07-20 11:23:23 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-07-20 11:23:40 +0200xsarnik(xsarnik@lounge.fi.muni.cz) (Quit: Ping timeout (120 seconds))
2022-07-20 11:23:54 +0200xsarnik(xsarnik@lounge.fi.muni.cz)
2022-07-20 11:24:06 +0200 <apache2> pointless :D
2022-07-20 11:24:59 +0200mmhat(~mmh@p200300f1c70559dfee086bfffe095315.dip0.t-ipconnect.de) (Ping timeout: 255 seconds)
2022-07-20 11:25:07 +0200matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
2022-07-20 11:26:03 +0200PiDelport(uid25146@id-25146.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2022-07-20 11:26:25 +0200inversed(~inversed@0545c13e.skybroadband.com) (Ping timeout: 268 seconds)
2022-07-20 11:27:10 +0200talismanick(~talismani@2601:200:c100:3850::dd64) (Ping timeout: 240 seconds)
2022-07-20 11:28:37 +0200benin0(~benin@183.82.28.242)
2022-07-20 11:29:08 +0200dwt_(~dwt_@c-98-198-103-176.hsd1.tx.comcast.net)
2022-07-20 11:33:35 +0200 <tomsmeding> Pointfree style is not about performance in the overwhelming majority of cases
2022-07-20 11:34:44 +0200 <tomsmeding> Converting `foo l = sum (map (*2) l)` to `foo = sum . map (*2)` makes zero difference on performance (modulo sidenotes about inlining, but this function is small anyway so doesn't matter here)
2022-07-20 11:38:23 +0200mmhat(~mmh@p200300f1c705598bee086bfffe095315.dip0.t-ipconnect.de)
2022-07-20 11:38:45 +0200merijn(~merijn@c-001-001-002.client.esciencecenter.eduvpn.nl) (Ping timeout: 268 seconds)
2022-07-20 11:41:53 +0200 <tomsmeding> I've heard said that eta-expanding `map (expensive y) l` to `map (\x -> expensive y x) l` can be slower because it would evaluate `expensive y` multiple times, but I can't seem to reproduce that now
2022-07-20 11:42:05 +0200yauhsien(~yauhsien@61-231-22-68.dynamic-ip.hinet.net) (Ping timeout: 255 seconds)
2022-07-20 11:43:04 +0200John_Ivan(~John_Ivan@user/john-ivan/x-1515935)
2022-07-20 11:48:30 +0200dschrempf(~dominik@2a01-036d-0118-4212-d46d-6351-e702-3690.pool6.digikabel.hu)
2022-07-20 11:54:45 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-07-20 12:12:25 +0200 <Pickchea> Hey, when I define functions I usually choose the signature f :: a -> b -> b over f :: b -> a -> b so I can do things like f a . f b . f c $ x. But then I can't do left associative folds like foldl' f [x, y, z] and instead I have to use foldl' (flip f) [x, y, z]. So which argument order should I opt for in f? Why isn't foldl or its strict version defined as Foldable t => (a -> b -> b) -> b -> t a -> b?
2022-07-20 12:16:13 +0200 <Pickchea> Sorry, let me try that again, that wasn't right.
2022-07-20 12:16:26 +0200 <[exa]> Pickchea: I guess for foldl it's basically for leaving a bit of intuition about "what comes from right"
2022-07-20 12:16:39 +0200 <[Leary]> > foldl f w [x,y,z]
2022-07-20 12:16:41 +0200 <lambdabot> f (f (f w x) y) z
2022-07-20 12:16:47 +0200 <[Leary]> > foldl (flip f) w [x,y,z]
2022-07-20 12:16:48 +0200 <lambdabot> f z (f y (f x w))
2022-07-20 12:16:50 +0200Guest|16(~Guest|16@188.162.228.14)
2022-07-20 12:17:03 +0200 <[Leary]> It keeps things in intuitive order.
2022-07-20 12:18:11 +0200 <Pickchea> Hey, when I define functions I usually choose the signature f :: a -> b -> b over f :: b -> a -> b so I can do things like f a . f b . f c $ x. But then I can't do left associative folds like foldl' f x as and instead I have to use foldl' (flip f) x as. So which argument order should I opt for in f? Why isn't foldl or its strict version defined as Foldable t => (a -> b -> b) -> b -> t a -> b?
2022-07-20 12:18:15 +0200 <[exa]> anyway you're perfectly right that all accumulator-ish functions are done in a way so that the argument that is "mutated" is the last, and left/rightness of foldl simply doesn't fit that view
2022-07-20 12:18:27 +0200 <Pickchea> (Sorry for the spam but had to correct that)
2022-07-20 12:18:42 +0200 <[exa]> (there might be a flipped foldl around)
2022-07-20 12:19:18 +0200 <tomsmeding> :t foldl . flip
2022-07-20 12:19:19 +0200 <lambdabot> Foldable t => (a -> b -> b) -> b -> t a -> b
2022-07-20 12:19:25 +0200 <tomsmeding> :t foldr
2022-07-20 12:19:26 +0200 <lambdabot> Foldable t => (a -> b -> b) -> b -> t a -> b
2022-07-20 12:19:30 +0200 <[exa]> (actually yeah there's flipfoldl' in Relude)
2022-07-20 12:21:11 +0200lys(sid194105@id-194105.uxbridge.irccloud.com)
2022-07-20 12:21:11 +0200 <Pickchea> I see, thanks! Maybe foldl is defined that way to easily distinguish it from foldr by their signatures alone.
2022-07-20 12:21:38 +0200 <tomsmeding> Ocaml actually goes even further than haskell and flips around the initial-value and list arguments: https://v2.ocaml.org/api/List.html (search for fold_left)
2022-07-20 12:21:39 +0200lys(sid194105@id-194105.uxbridge.irccloud.com) (Changing host)
2022-07-20 12:21:39 +0200lys(sid194105@user/lys)
2022-07-20 12:22:53 +0200 <tomsmeding> Pickchea: it's also that foldl (*) z [a,b,c] == ((z*a)*b)*c and foldr (*) z [a,b,c] == a*(b*(c*z))
2022-07-20 12:23:28 +0200 <tomsmeding> Whereas flipfoldl (*) z [a,b,c] == c * (b * (a * z)
2022-07-20 12:23:33 +0200Guest|16(~Guest|16@188.162.228.14) ()
2022-07-20 12:24:12 +0200 <tomsmeding> Which, in a sense, reverses the list in the process; the designers of the haskell prelude thought that was unintuitive, probably
2022-07-20 12:24:20 +0200kjak(~kjak@pool-108-31-68-111.washdc.fios.verizon.net)
2022-07-20 12:25:09 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:20ec:e44c:e765:b535)
2022-07-20 12:25:11 +0200wootehfoot(~wootehfoo@user/wootehfoot)
2022-07-20 12:25:38 +0200naso(~naso@193-116-244-197.tpgi.com.au)
2022-07-20 12:26:27 +0200wootehfoot(~wootehfoo@user/wootehfoot) (Max SendQ exceeded)
2022-07-20 12:27:13 +0200wootehfoot(~wootehfoo@user/wootehfoot)
2022-07-20 12:29:55 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:20ec:e44c:e765:b535) (Ping timeout: 260 seconds)
2022-07-20 12:29:56 +0200Kevin578_(~Kevin578@pool-173-76-179-30.bstnma.fios.verizon.net) (Ping timeout: 268 seconds)
2022-07-20 12:31:02 +0200nate4(~nate@98.45.169.16)
2022-07-20 12:31:37 +0200fserucas(~fserucas@39.64.114.89.rev.vodafone.pt) (Remote host closed the connection)
2022-07-20 12:31:55 +0200fserucas(~fserucas@39.64.114.89.rev.vodafone.pt)
2022-07-20 12:32:01 +0200Kevin578(~Kevin578@pool-173-76-179-30.bstnma.fios.verizon.net)
2022-07-20 12:34:35 +0200merijn(~merijn@c-001-001-002.client.esciencecenter.eduvpn.nl)
2022-07-20 12:34:52 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Ping timeout: 268 seconds)
2022-07-20 12:35:24 +0200notzmv(~zmv@user/notzmv) (Ping timeout: 276 seconds)
2022-07-20 12:36:05 +0200nate4(~nate@98.45.169.16) (Ping timeout: 255 seconds)
2022-07-20 12:38:58 +0200ccntrq(~Thunderbi@exit-3.office.han.de.mhd.medondo.com) (Quit: ccntrq)
2022-07-20 12:46:04 +0200gurkenglas(~gurkengla@dslb-002-203-144-112.002.203.pools.vodafone-ip.de)
2022-07-20 12:49:19 +0200dschrempf(~dominik@2a01-036d-0118-4212-d46d-6351-e702-3690.pool6.digikabel.hu) (Ping timeout: 272 seconds)
2022-07-20 12:49:46 +0200dschrempf(~dominik@2a01-036d-0118-4212-e447-42cf-2986-cbec.pool6.digikabel.hu)
2022-07-20 12:52:45 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 268 seconds)
2022-07-20 12:54:20 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-07-20 13:01:05 +0200matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
2022-07-20 13:02:26 +0200dschrempf(~dominik@2a01-036d-0118-4212-e447-42cf-2986-cbec.pool6.digikabel.hu) (Ping timeout: 272 seconds)
2022-07-20 13:04:58 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 272 seconds)
2022-07-20 13:08:55 +0200pavonia(~user@user/siracusa) (Quit: Bye!)
2022-07-20 13:09:24 +0200merijn(~merijn@c-001-001-002.client.esciencecenter.eduvpn.nl) (Ping timeout: 268 seconds)
2022-07-20 13:09:38 +0200 <chreekat> I have to check the type of foldl/foldr every time still
2022-07-20 13:11:58 +0200 <hpc> there's a cool trick to remembering foldr
2022-07-20 13:12:10 +0200 <hpc> imagine generalizing it to any type
2022-07-20 13:12:25 +0200 <hpc> so say you have foldEither
2022-07-20 13:12:44 +0200 <hpc> Either is "data Either a b = ...", so let's say foldEither produces a 'c'
2022-07-20 13:13:25 +0200 <hpc> and then you put the types of each constructor in order, replacing 'Either a b' with 'c'
2022-07-20 13:13:38 +0200 <hpc> Left :: a -> Either a b, Right :: b -> Either a b
2022-07-20 13:13:55 +0200 <hpc> so foldEither :: (a -> c) -> (b -> c) -> Either a b -> c
2022-07-20 13:14:25 +0200 <hpc> if you do the same thing with lists, [] :: [a], and (:) :: a -> [a] -> [a]
2022-07-20 13:14:42 +0200 <hpc> or, foldList :: b -> (a -> b -> b) -> [a] -> b
2022-07-20 13:15:00 +0200 <hpc> and then because we're silly and inconsistent sometimes, flip those first two arguments :(
2022-07-20 13:15:09 +0200 <hpc> but at least you can remember (a -> b -> b) that way
2022-07-20 13:16:10 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-07-20 13:16:31 +0200 <hpc> this pattern makes a "universal function" for that type (i forget the correct term)
2022-07-20 13:17:03 +0200 <hpc> which can, with the right arguments, turn into any arbitrary function from your data type to something else
2022-07-20 13:17:46 +0200 <hpc> so if you want to make a fold function for some complicated tree type or something, you can use this to write that function without thinking too hard :D
2022-07-20 13:20:40 +0200wootehfoot(~wootehfoo@user/wootehfoot) (Ping timeout: 260 seconds)
2022-07-20 13:24:20 +0200andscape(~andscape@ti0185a400-0748.bb.online.no)
2022-07-20 13:29:21 +0200chomwitt(~chomwitt@2a02:587:dc00:5a00:733a:5ef8:b6d4:755)
2022-07-20 13:31:14 +0200 <[Leary]> Catamorphism? Or, arguably, something like church or scott encoding. If you fiddle with the order there, it's `Either a b -> (forall c. (a -> c) -> (b -> c) -> c)` and `[a] -> (forall b. b -> (a -> b -> b) -> b)` which isomorphisms.
2022-07-20 13:31:31 +0200 <[Leary]> which are*
2022-07-20 13:50:44 +0200frost(~frost@user/frost) (Quit: Client closed)
2022-07-20 13:50:46 +0200NaturalNumber(~monadam@137.229.82.64)
2022-07-20 13:51:42 +0200__monty__(~toonn@user/toonn)
2022-07-20 13:52:56 +0200lys(sid194105@user/lys) ()
2022-07-20 13:53:34 +0200dschrempf(~dominik@2a01-036d-0118-4212-9b1a-a4f7-7f52-61c3.pool6.digikabel.hu)
2022-07-20 13:56:21 +0200Vajb(~Vajb@hag-jnsbng11-58c3ad-40.dhcp.inet.fi) (Read error: Connection reset by peer)
2022-07-20 13:56:38 +0200Vajb(~Vajb@hag-jnsbng11-58c3ad-40.dhcp.inet.fi)
2022-07-20 14:00:51 +0200frost(~frost@user/frost)
2022-07-20 14:04:57 +0200lortabac(~lortabac@37.101.134.31)
2022-07-20 14:05:09 +0200merijn(~merijn@c-001-001-002.client.esciencecenter.eduvpn.nl)
2022-07-20 14:05:11 +0200machinedgod(~machinedg@d172-219-86-154.abhsia.telus.net) (Remote host closed the connection)
2022-07-20 14:05:32 +0200frost(~frost@user/frost) (Ping timeout: 252 seconds)
2022-07-20 14:05:55 +0200machinedgod(~machinedg@d172-219-86-154.abhsia.telus.net)
2022-07-20 14:08:34 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-07-20 14:13:57 +0200NaturalNumber123(~monadam@137.229.82.64)
2022-07-20 14:15:10 +0200king_gs(~Thunderbi@187.201.95.222)
2022-07-20 14:16:32 +0200jmdaemon(~jmdaemon@user/jmdaemon) (Ping timeout: 244 seconds)
2022-07-20 14:16:37 +0200NaturalNumber(~monadam@137.229.82.64) (Ping timeout: 268 seconds)
2022-07-20 14:17:10 +0200matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
2022-07-20 14:17:30 +0200dschrempf(~dominik@2a01-036d-0118-4212-9b1a-a4f7-7f52-61c3.pool6.digikabel.hu) (Ping timeout: 240 seconds)
2022-07-20 14:18:25 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-07-20 14:18:39 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-07-20 14:23:08 +0200matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 255 seconds)
2022-07-20 14:23:30 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 272 seconds)
2022-07-20 14:23:54 +0200NaturalNumber(~monadam@137.229.82.64)
2022-07-20 14:25:52 +0200NaturalNumber123(~monadam@137.229.82.64) (Ping timeout: 268 seconds)
2022-07-20 14:27:21 +0200chexum(~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
2022-07-20 14:27:40 +0200chexum(~quassel@gateway/tor-sasl/chexum)
2022-07-20 14:27:42 +0200dschrempf(~dominik@2a01-036d-0118-4212-00b3-f240-2b0c-0883.pool6.digikabel.hu)
2022-07-20 14:31:18 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2022-07-20 14:31:23 +0200lys(sid194105@id-194105.uxbridge.irccloud.com)
2022-07-20 14:31:45 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 276 seconds)
2022-07-20 14:33:20 +0200lys(sid194105@id-194105.uxbridge.irccloud.com) (Client Quit)
2022-07-20 14:33:20 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-07-20 14:33:53 +0200lortabac(~lortabac@37.101.134.31) (Ping timeout: 268 seconds)
2022-07-20 14:34:47 +0200NaturalNumber(~monadam@137.229.82.64) (Quit: Have a nice day)
2022-07-20 14:35:14 +0200lortabac(~lortabac@37.172.188.172)
2022-07-20 14:36:30 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-07-20 14:37:14 +0200mastarija(~mastarija@2a05:4f46:e02:8c00:c16d:6f16:8e31:78a1)
2022-07-20 14:37:47 +0200 <mastarija> Is there a way to capture raw request header data in servant?
2022-07-20 14:40:07 +0200merijn(~merijn@c-001-001-002.client.esciencecenter.eduvpn.nl) (Ping timeout: 268 seconds)
2022-07-20 14:42:07 +0200coot(~coot@213.134.190.95)
2022-07-20 14:47:47 +0200mastarija(~mastarija@2a05:4f46:e02:8c00:c16d:6f16:8e31:78a1) (Quit: Leaving)
2022-07-20 14:51:09 +0200NaturalNumber(~monadam@137.229.82.64)
2022-07-20 14:52:59 +0200systemfault(sid267009@id-267009.uxbridge.irccloud.com) ()
2022-07-20 14:53:17 +0200systemfault(sid267009@id-267009.uxbridge.irccloud.com)
2022-07-20 14:57:11 +0200John_Ivan(~John_Ivan@user/john-ivan/x-1515935) (Leaving)
2022-07-20 14:58:25 +0200safinaskar(~quassel@178.160.244.66)
2022-07-20 14:58:44 +0200 <safinaskar> where can i see dependent haskell progress?
2022-07-20 14:59:01 +0200 <safinaskar> maybe there is some ghc branch somewhere?
2022-07-20 15:00:39 +0200 <geekosaur[m]> Best to ask in #ghc
2022-07-20 15:04:38 +0200 <safinaskar> ok
2022-07-20 15:04:38 +0200king_gs(~Thunderbi@187.201.95.222) (Read error: Connection reset by peer)
2022-07-20 15:05:58 +0200king_gs(~Thunderbi@187.201.95.222)
2022-07-20 15:07:33 +0200y04nn(~y04nn@2001:ac8:28:95::a17e)
2022-07-20 15:08:44 +0200notzmv(~zmv@user/notzmv)
2022-07-20 15:09:00 +0200lortabac(~lortabac@37.172.188.172) (Quit: WeeChat 2.8)
2022-07-20 15:09:33 +0200lortabac(~lortabac@37.101.76.86)
2022-07-20 15:20:23 +0200NaturalNumber(~monadam@137.229.82.64) (Quit: Have a nice day)
2022-07-20 15:22:35 +0200y04nn(~y04nn@2001:ac8:28:95::a17e) (Ping timeout: 272 seconds)
2022-07-20 15:24:05 +0200y04nn(~y04nn@2001:ac8:28:95::a17e)
2022-07-20 15:26:25 +0200king_gs1(~Thunderbi@2806:103e:29:a1b3:d33d:90f:3255:af90)
2022-07-20 15:26:25 +0200king_gs(~Thunderbi@187.201.95.222) (Read error: Connection reset by peer)
2022-07-20 15:26:25 +0200king_gs1king_gs
2022-07-20 15:32:41 +0200szkl(uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
2022-07-20 15:35:59 +0200matthewmosior(~matthewmo@173.170.253.91) (Remote host closed the connection)
2022-07-20 15:36:00 +0200coot(~coot@213.134.190.95) (Quit: coot)
2022-07-20 15:36:07 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-07-20 15:36:29 +0200merijn(~merijn@c-001-001-002.client.esciencecenter.eduvpn.nl)
2022-07-20 15:40:30 +0200elkcl(~elkcl@broadband-37-110-156-162.ip.moscow.rt.ru) (Ping timeout: 240 seconds)
2022-07-20 15:42:48 +0200king_gs(~Thunderbi@2806:103e:29:a1b3:d33d:90f:3255:af90) (Ping timeout: 244 seconds)
2022-07-20 15:43:19 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2022-07-20 15:46:24 +0200wootehfoot(~wootehfoo@user/wootehfoot)
2022-07-20 15:47:53 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 268 seconds)
2022-07-20 15:48:22 +0200dschrempf(~dominik@2a01-036d-0118-4212-00b3-f240-2b0c-0883.pool6.digikabel.hu) (Ping timeout: 272 seconds)
2022-07-20 15:49:43 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-07-20 15:50:23 +0200bontaq(~user@ool-45779fe5.dyn.optonline.net)
2022-07-20 15:51:36 +0200dextaa(~DV@user/dextaa) (Read error: Connection reset by peer)
2022-07-20 15:52:48 +0200wootehfoot(~wootehfoo@user/wootehfoot) (Ping timeout: 272 seconds)
2022-07-20 15:53:51 +0200dextaa(~DV@user/dextaa)
2022-07-20 15:58:22 +0200jakalx(~jakalx@base.jakalx.net) ()
2022-07-20 16:01:07 +0200jakalx(~jakalx@base.jakalx.net)
2022-07-20 16:02:58 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
2022-07-20 16:04:09 +0200dextaa(~DV@user/dextaa) (Read error: Connection reset by peer)
2022-07-20 16:06:04 +0200dextaa(~DV@user/dextaa)
2022-07-20 16:08:18 +0200mc47(~mc47@xmonad/TheMC47)
2022-07-20 16:10:32 +0200merijn(~merijn@c-001-001-002.client.esciencecenter.eduvpn.nl) (Ping timeout: 272 seconds)
2022-07-20 16:11:08 +0200dschrempf(~dominik@2a01-036d-0118-4212-de0c-8a45-b43e-46f6.pool6.digikabel.hu)
2022-07-20 16:13:15 +0200zxx7529(~Thunderbi@user/zxx7529) (Quit: zxx7529)
2022-07-20 16:14:05 +0200v0d1ch(~v0d1ch@cable-178-148-112-180.dynamic.sbb.rs)
2022-07-20 16:14:24 +0200dextaa(~DV@user/dextaa) (Read error: Connection reset by peer)
2022-07-20 16:16:36 +0200dextaa(~DV@user/dextaa)
2022-07-20 16:17:18 +0200safinaskar(~quassel@178.160.244.66) ()
2022-07-20 16:17:30 +0200Pickchea(~private@user/pickchea) (Ping timeout: 272 seconds)
2022-07-20 16:18:30 +0200christiansen(~christian@83-95-137-75-dynamic.dk.customer.tdc.net) (Ping timeout: 240 seconds)
2022-07-20 16:20:09 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-07-20 16:21:18 +0200matthewmosior(~matthewmo@173.170.253.91) (Remote host closed the connection)
2022-07-20 16:24:08 +0200andscape(~andscape@ti0185a400-0748.bb.online.no) (Ping timeout: 252 seconds)
2022-07-20 16:24:53 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 268 seconds)
2022-07-20 16:26:44 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-07-20 16:31:15 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
2022-07-20 16:32:36 +0200nate4(~nate@98.45.169.16)
2022-07-20 16:32:54 +0200Kevin578(~Kevin578@pool-173-76-179-30.bstnma.fios.verizon.net) (Ping timeout: 268 seconds)
2022-07-20 16:33:17 +0200dextaa(~DV@user/dextaa) (Read error: Connection reset by peer)
2022-07-20 16:33:32 +0200chomwitt(~chomwitt@2a02:587:dc00:5a00:733a:5ef8:b6d4:755) (Ping timeout: 260 seconds)
2022-07-20 16:34:52 +0200yauhsien(~yauhsien@61-231-22-68.dynamic-ip.hinet.net)
2022-07-20 16:35:30 +0200dextaa(~DV@user/dextaa)
2022-07-20 16:37:20 +0200Kevin578(~Kevin578@pool-173-76-179-30.bstnma.fios.verizon.net)
2022-07-20 16:37:28 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Read error: Connection reset by peer)
2022-07-20 16:37:50 +0200nate4(~nate@98.45.169.16) (Ping timeout: 268 seconds)
2022-07-20 16:39:35 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-07-20 16:39:51 +0200rembo10(~rembo10@main.remulis.com) (Quit: ZNC 1.8.2 - https://znc.in)
2022-07-20 16:40:22 +0200yauhsien(~yauhsien@61-231-22-68.dynamic-ip.hinet.net) (Ping timeout: 268 seconds)
2022-07-20 16:40:47 +0200rembo10(~rembo10@main.remulis.com)
2022-07-20 16:41:02 +0200mmhat(~mmh@p200300f1c705598bee086bfffe095315.dip0.t-ipconnect.de) (Quit: WeeChat 3.6)
2022-07-20 16:42:44 +0200coot(~coot@213.134.190.95)
2022-07-20 16:46:18 +0200zxx7529(~Thunderbi@user/zxx7529)
2022-07-20 16:46:54 +0200mrd(~mrd@45.61.147.211) (Changing host)
2022-07-20 16:46:54 +0200mrd(~mrd@user/mrd)
2022-07-20 16:48:32 +0200dextaa(~DV@user/dextaa) (Read error: Connection reset by peer)
2022-07-20 16:50:32 +0200dextaa(~DV@user/dextaa)
2022-07-20 16:50:54 +0200v0d1ch(~v0d1ch@cable-178-148-112-180.dynamic.sbb.rs) (Ping timeout: 252 seconds)
2022-07-20 16:53:07 +0200slack1256(~slack1256@191.125.227.65)
2022-07-20 16:56:37 +0200chexum(~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
2022-07-20 16:56:41 +0200azimut(~azimut@gateway/tor-sasl/azimut)
2022-07-20 16:57:07 +0200Vajb(~Vajb@hag-jnsbng11-58c3ad-40.dhcp.inet.fi) (Read error: Connection reset by peer)
2022-07-20 16:57:17 +0200chexum(~quassel@gateway/tor-sasl/chexum)
2022-07-20 16:58:24 +0200Vajb(~Vajb@n1zigc3rgo9mpde2w-1.v6.elisa-mobile.fi)
2022-07-20 16:59:28 +0200phma(phma@2001:5b0:210b:99d8:7aa7:eab5:6b73:863a) (Read error: Connection reset by peer)
2022-07-20 17:00:13 +0200phma(~phma@host-67-44-208-20.hnremote.net)
2022-07-20 17:00:28 +0200shriekingnoise(~shrieking@201.212.175.181)
2022-07-20 17:03:06 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 264 seconds)
2022-07-20 17:04:54 +0200chomwitt(~chomwitt@2a02:587:dc00:5a00:1751:e625:a0e5:d838)
2022-07-20 17:05:10 +0200v0d1ch(~v0d1ch@cable-178-148-112-180.dynamic.sbb.rs)
2022-07-20 17:06:13 +0200merijn(~merijn@c-001-001-002.client.esciencecenter.eduvpn.nl)
2022-07-20 17:10:52 +0200mc47(~mc47@xmonad/TheMC47) (Remote host closed the connection)
2022-07-20 17:11:45 +0200merijn(~merijn@c-001-001-002.client.esciencecenter.eduvpn.nl) (Ping timeout: 268 seconds)
2022-07-20 17:12:42 +0200motherfsck(~motherfsc@user/motherfsck) (Ping timeout: 264 seconds)
2022-07-20 17:12:43 +0200dschrempf(~dominik@2a01-036d-0118-4212-de0c-8a45-b43e-46f6.pool6.digikabel.hu) (Quit: WeeChat 3.6)
2022-07-20 17:13:07 +0200motherfsck(~motherfsc@user/motherfsck)
2022-07-20 17:13:16 +0200chexum(~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
2022-07-20 17:13:25 +0200chexum_(~quassel@gateway/tor-sasl/chexum)
2022-07-20 17:14:19 +0200chexum_(~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
2022-07-20 17:14:32 +0200chexum(~quassel@gateway/tor-sasl/chexum)
2022-07-20 17:19:31 +0200matthewmosior(~matthewmo@173.170.253.91) (Remote host closed the connection)
2022-07-20 17:24:45 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-07-20 17:26:20 +0200kaskal(~kaskal@089144220061.atnat0029.highway.webapn.at)
2022-07-20 17:28:44 +0200cods(~fred@82-65-232-44.subs.proxad.net) (Ping timeout: 244 seconds)
2022-07-20 17:29:30 +0200jespada(~jespada@200.123.140.126) (Ping timeout: 240 seconds)
2022-07-20 17:29:54 +0200segfaultfizzbuzz(~segfaultf@157-131-253-58.fiber.dynamic.sonic.net)
2022-07-20 17:31:51 +0200pgib(~textual@173.38.117.89)
2022-07-20 17:31:58 +0200cfricke(~cfricke@user/cfricke) (Quit: WeeChat 3.6)
2022-07-20 17:32:06 +0200kaskal(~kaskal@089144220061.atnat0029.highway.webapn.at) (Ping timeout: 268 seconds)
2022-07-20 17:33:30 +0200jespada(~jespada@45.162.228.190)
2022-07-20 17:33:42 +0200szkl(uid110435@id-110435.uxbridge.irccloud.com)
2022-07-20 17:34:52 +0200tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
2022-07-20 17:36:45 +0200chomwitt(~chomwitt@2a02:587:dc00:5a00:1751:e625:a0e5:d838) (Ping timeout: 260 seconds)
2022-07-20 17:39:40 +0200v0d1ch(~v0d1ch@cable-178-148-112-180.dynamic.sbb.rs) (Ping timeout: 252 seconds)
2022-07-20 17:40:50 +0200lortabac(~lortabac@37.101.76.86) (Quit: WeeChat 2.8)
2022-07-20 17:42:42 +0200MajorBiscuit(~MajorBisc@wlan-145-94-167-213.wlan.tudelft.nl) (Ping timeout: 264 seconds)
2022-07-20 17:44:37 +0200wolfshappen(~waff@irc.furworks.de) (Read error: Connection reset by peer)
2022-07-20 17:45:19 +0200wolfshappen(~waff@irc.furworks.de)
2022-07-20 17:45:51 +0200PiDelport(uid25146@id-25146.lymington.irccloud.com)
2022-07-20 17:46:10 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:780e:1ceb:256a:60ab)
2022-07-20 17:46:37 +0200gmg(~user@user/gehmehgeh) (Remote host closed the connection)
2022-07-20 17:47:25 +0200gmg(~user@user/gehmehgeh)
2022-07-20 18:00:06 +0200goran[m](~goranoour@2001:470:69fc:105::2:1b44) (Quit: You have been kicked for being idle)
2022-07-20 18:00:43 +0200Midjak(~Midjak@82.66.147.146)
2022-07-20 18:01:11 +0200king_gs(~Thunderbi@187.201.95.222)
2022-07-20 18:05:57 +0200coot(~coot@213.134.190.95) (Quit: coot)
2022-07-20 18:08:23 +0200drlkf(~drlkf@ns327185.ip-37-187-109.eu) (Quit: q=)
2022-07-20 18:08:36 +0200matthewmosior(~matthewmo@173.170.253.91) (Remote host closed the connection)
2022-07-20 18:16:30 +0200pgib(~textual@173.38.117.89) (Ping timeout: 268 seconds)
2022-07-20 18:20:51 +0200king_gs(~Thunderbi@187.201.95.222) (Read error: Connection reset by peer)
2022-07-20 18:21:47 +0200slack1256(~slack1256@191.125.227.65) (Read error: Connection reset by peer)
2022-07-20 18:21:47 +0200king_gs(~Thunderbi@2806:103e:29:a1b3:d33d:90f:3255:af90)
2022-07-20 18:22:50 +0200slack1256(~slack1256@186.11.21.165)
2022-07-20 18:23:53 +0200MironZ(~MironZ@nat-infra.ehlab.uk) (Ping timeout: 255 seconds)
2022-07-20 18:24:49 +0200use-value(~Thunderbi@2a00:23c6:8a03:2f01:8936:f28b:f369:f4da)
2022-07-20 18:24:52 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-07-20 18:24:54 +0200MironZ(~MironZ@nat-infra.ehlab.uk)
2022-07-20 18:26:15 +0200kaskal(~kaskal@2001:4bb8:2c0:3963:7278:d0d4:9479:4919)
2022-07-20 18:26:59 +0200coot(~coot@213.134.190.95)
2022-07-20 18:28:27 +0200zeenk(~zeenk@2a02:2f04:a311:2d00:6865:d863:4c93:799f) (Quit: Konversation terminated!)
2022-07-20 18:29:11 +0200matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
2022-07-20 18:33:34 +0200Sgeo(~Sgeo@user/sgeo)
2022-07-20 18:35:37 +0200machinedgod(~machinedg@d172-219-86-154.abhsia.telus.net) (Ping timeout: 268 seconds)
2022-07-20 18:40:35 +0200acidjnk_new(~acidjnk@p200300d6e70586052965d2416953e6a6.dip0.t-ipconnect.de) (Ping timeout: 255 seconds)
2022-07-20 18:40:58 +0200econo(uid147250@user/econo)
2022-07-20 18:45:07 +0200chomwitt(~chomwitt@2a02:587:dc00:5a00:5039:967e:7a37:9634)
2022-07-20 18:45:07 +0200Vajb(~Vajb@n1zigc3rgo9mpde2w-1.v6.elisa-mobile.fi) (Read error: Connection reset by peer)
2022-07-20 18:46:14 +0200Vajb(~Vajb@hag-jnsbng11-58c3ad-40.dhcp.inet.fi)
2022-07-20 18:51:18 +0200segfaultfizzbuzz(~segfaultf@157-131-253-58.fiber.dynamic.sonic.net) (Ping timeout: 240 seconds)
2022-07-20 18:54:07 +0200gdown(~gavin@h69-11-149-231.kndrid.broadband.dynamic.tds.net)
2022-07-20 18:55:20 +0200zxx7529(~Thunderbi@user/zxx7529) (Quit: zxx7529)
2022-07-20 18:55:59 +0200segfaultfizzbuzz(~segfaultf@157-131-253-58.fiber.dynamic.sonic.net)
2022-07-20 19:00:30 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
2022-07-20 19:00:38 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-07-20 19:01:24 +0200wootehfoot(~wootehfoo@user/wootehfoot)
2022-07-20 19:03:21 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2022-07-20 19:04:00 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
2022-07-20 19:04:28 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2022-07-20 19:05:17 +0200matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 255 seconds)
2022-07-20 19:05:22 +0200Batzy(~quassel@user/batzy) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
2022-07-20 19:05:32 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
2022-07-20 19:06:31 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2022-07-20 19:06:31 +0200Batzy(~quassel@user/batzy)
2022-07-20 19:07:02 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
2022-07-20 19:07:33 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-07-20 19:08:27 +0200mjs2600(~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) (Quit: ZNC 1.8.2 - https://znc.in)
2022-07-20 19:08:50 +0200segfaultfizzbuzz(~segfaultf@157-131-253-58.fiber.dynamic.sonic.net) (Ping timeout: 240 seconds)
2022-07-20 19:09:59 +0200mjs2600(~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net)
2022-07-20 19:11:30 +0200benin0(~benin@183.82.28.242) (Quit: The Lounge - https://thelounge.chat)
2022-07-20 19:12:58 +0200naso(~naso@193-116-244-197.tpgi.com.au) (Remote host closed the connection)
2022-07-20 19:13:36 +0200naso(~naso@193-116-244-197.tpgi.com.au)
2022-07-20 19:14:33 +0200winny(~weechat@user/winny) (Ping timeout: 268 seconds)
2022-07-20 19:14:35 +0200segfaultfizzbuzz(~segfaultf@157-131-253-58.fiber.dynamic.sonic.net)
2022-07-20 19:14:47 +0200wootehfoot(~wootehfoo@user/wootehfoot) (Ping timeout: 255 seconds)
2022-07-20 19:15:02 +0200winny(~weechat@user/winny)
2022-07-20 19:15:21 +0200tafa(~tafa@user/tafa) (Quit: ZNC - https://znc.in)
2022-07-20 19:16:18 +0200Vajb(~Vajb@hag-jnsbng11-58c3ad-40.dhcp.inet.fi) (Read error: Connection reset by peer)
2022-07-20 19:16:34 +0200tafa(~tafa@user/tafa)
2022-07-20 19:17:31 +0200mbuf(~Shakthi@122.165.55.71) (Quit: Leaving)
2022-07-20 19:18:47 +0200naso(~naso@193-116-244-197.tpgi.com.au) (Ping timeout: 268 seconds)
2022-07-20 19:19:03 +0200Vajb(~Vajb@n1zigc3rgo9mpde2w-1.v6.elisa-mobile.fi)
2022-07-20 19:19:32 +0200auri(~auri@fsf/member/auri) (Quit: No Ping reply in 180 seconds.)
2022-07-20 19:20:42 +0200auri(~auri@fsf/member/auri)
2022-07-20 19:20:43 +0200bjobjo(~bjobjo@user/bjobjo) (Remote host closed the connection)
2022-07-20 19:26:01 +0200naso(~naso@193-116-244-197.tpgi.com.au)
2022-07-20 19:26:03 +0200naso(~naso@193-116-244-197.tpgi.com.au) (Remote host closed the connection)
2022-07-20 19:26:48 +0200Kevin578(~Kevin578@pool-173-76-179-30.bstnma.fios.verizon.net) (Ping timeout: 268 seconds)
2022-07-20 19:28:36 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-07-20 19:32:45 +0200segfaultfizzbuzz(~segfaultf@157-131-253-58.fiber.dynamic.sonic.net) (Ping timeout: 272 seconds)
2022-07-20 19:46:26 +0200segfaultfizzbuzz(~segfaultf@157-131-253-58.fiber.dynamic.sonic.net)
2022-07-20 19:46:51 +0200y04nn(~y04nn@2001:ac8:28:95::a17e) (Remote host closed the connection)
2022-07-20 19:47:11 +0200 <exarkun> this is a syntax error? https://gist.github.com/exarkun/f973f324e7cb1ff2d07e09bce518a159 at line 4, column 5, "parse error on input ‘\’"
2022-07-20 19:49:26 +0200 <exarkun> (but why? or what's the right spelling?)
2022-07-20 19:50:32 +0200 <exarkun> oh I forgot the field names.
2022-07-20 19:52:21 +0200Kevin578(~Kevin578@pool-173-76-179-30.bstnma.fios.verizon.net)
2022-07-20 19:54:01 +0200talismanick(~talismani@campus-043-126.ucdavis.edu)
2022-07-20 19:58:54 +0200chomwitt(~chomwitt@2a02:587:dc00:5a00:5039:967e:7a37:9634) (Ping timeout: 264 seconds)
2022-07-20 20:00:14 +0200waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 255 seconds)
2022-07-20 20:01:29 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Read error: Connection reset by peer)
2022-07-20 20:08:53 +0200acidjnk_new(~acidjnk@p200300d6e70586052965d2416953e6a6.dip0.t-ipconnect.de)
2022-07-20 20:09:34 +0200marcusxavier(~marcusxav@2804:6660:ff12:ef70:d931:8aed:263b:5825)
2022-07-20 20:10:04 +0200 <marcusxavier> I've heard that isn't good use head and tail
2022-07-20 20:10:11 +0200 <marcusxavier> why?
2022-07-20 20:10:19 +0200 <marcusxavier> Can I use take and drop instead?
2022-07-20 20:12:00 +0200 <dolio> Imagine you wrote thousands of lines of code, using `head` many times. Then one day when you run it you see this:
2022-07-20 20:12:02 +0200 <dolio> > head []
2022-07-20 20:12:04 +0200 <lambdabot> *Exception: Prelude.head: empty list
2022-07-20 20:12:32 +0200cheater1__(~Username@user/cheater)
2022-07-20 20:13:00 +0200cheater(~Username@user/cheater) (Ping timeout: 276 seconds)
2022-07-20 20:13:06 +0200cheater1__cheater
2022-07-20 20:15:00 +0200quarkyalice(~quarkyali@user/quarkyalice)
2022-07-20 20:17:42 +0200fockerize(~finn@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
2022-07-20 20:18:10 +0200 <fockerize> what's the recommended library for serialiazing a record data type?
2022-07-20 20:18:58 +0200 <marcusxavier> @dolio, but is there a problem using take and drop?
2022-07-20 20:18:58 +0200 <lambdabot> Unknown command, try @list
2022-07-20 20:19:26 +0200 <fockerize> I'm using brick for writing TUI applications and brick has a global state that i'd like to recover from next time i run the application
2022-07-20 20:19:30 +0200segfaultfizzbuzz(~segfaultf@157-131-253-58.fiber.dynamic.sonic.net) (Ping timeout: 276 seconds)
2022-07-20 20:19:46 +0200 <marcusxavier> And what can I use instead of head and tail? take 1 and drop 1?
2022-07-20 20:21:53 +0200 <sm> interesting fockerize. I'd guess brick's internal state isn't serialisable, rather you'd save and reinitialiase your app state
2022-07-20 20:22:16 +0200 <dolio> It depends on the situation. take and drop won't cause exceptions, but their behavior needs to be appropriate for where you're using them.
2022-07-20 20:22:20 +0200 <sm> simplest way to start is show and read
2022-07-20 20:23:26 +0200 <dolio> If you have a situation where a list is not supposed to be empty, then instead of using head/tail, it's probably better to do a custom pattern match with an error message that tells you where the wrong code is, for when you are mistaken about the list always being empty.
2022-07-20 20:23:41 +0200 <dolio> Er, always non-empty.
2022-07-20 20:24:32 +0200 <dolio> Or you can try to use a type that is never empty, but that may be more work than is saved from other problems.
2022-07-20 20:24:56 +0200 <fockerize> sm: thx i'll take the easy path by using text files
2022-07-20 20:24:58 +0200 <sm> another easy option is use headMay or headDef
2022-07-20 20:26:55 +0200 <sm> you can make them a bit more readable by pretty printing with pretty-show or pretty-simple - IIRC some of these can prettify and still be readable
2022-07-20 20:26:58 +0200 <dolio> Using `take 1` or `headMay` or whatever doesn't make much sense in lieu of `head`, because you need to do matching or similar on the results of those.
2022-07-20 20:27:44 +0200 <monochrom> http://www.vex.net/~trebla/haskell/crossroad.xhtml
2022-07-20 20:28:27 +0200 <monochrom> "if null xs then I can use head and tail else I can't" is an old XY-problem
2022-07-20 20:30:25 +0200 <monochrom> headMay can also indicate an XYZ-problem.
2022-07-20 20:31:02 +0200JoeBloggs7003141(~JoeBloggs@cpc142034-slou6-2-0-cust488.17-4.cable.virginm.net)
2022-07-20 20:31:29 +0200 <monochrom> A person who has not accepted pattern matching as more fundamental is just going to use headMay and then reduce "if null xs then head and tail" to "if just m then fromJust"
2022-07-20 20:32:13 +0200 <sm> there's times these tools fit nicely
2022-07-20 20:32:14 +0200 <monochrom> s/just/isJust/
2022-07-20 20:32:14 +0200 <[exa]> marcusxavier: `take` and `drop` are AFAIK total
2022-07-20 20:32:37 +0200 <monochrom> @quote monochrom safeFromJust
2022-07-20 20:32:37 +0200 <lambdabot> monochrom says: I use safeFromJust :: Maybe a -> Maybe a
2022-07-20 20:32:39 +0200matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
2022-07-20 20:32:55 +0200 <JoeBloggs7003141> is there a difference between using d 7 2 and 7 `div` 2?
2022-07-20 20:33:05 +0200 <[exa]> marcusxavier: which doesn't help much, esp. compared to the pattern matching that is unbelievably much more error-prone
2022-07-20 20:33:06 +0200 <monochrom> take can have the wrong type.
2022-07-20 20:33:10 +0200 <JoeBloggs7003141> div 7 2*
2022-07-20 20:33:24 +0200 <[exa]> JoeBloggs7003141: not much, it's a syntactic sugar for the same thing
2022-07-20 20:33:42 +0200coot(~coot@213.134.190.95) (Quit: coot)
2022-07-20 20:33:46 +0200 <[exa]> JoeBloggs7003141: similarly you can convert 1+2 to: (+) 1 2
2022-07-20 20:33:49 +0200 <monochrom> Also, again, A person who has not accepted pattern matching as more fundamental is just going to use and reduce "if null xs then head and tail" to "if null (take 1 xs) then head"
2022-07-20 20:34:11 +0200nate4(~nate@98.45.169.16)
2022-07-20 20:34:12 +0200 <[exa]> uh I wrote "more error-prone"
2022-07-20 20:34:19 +0200 <[exa]> it should be "less error-prone"
2022-07-20 20:34:27 +0200 <[exa]> whoops.
2022-07-20 20:35:00 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-07-20 20:36:27 +0200 <JoeBloggs7003141> [exa]: alright, thanks
2022-07-20 20:38:43 +0200 <[exa]> JoeBloggs7003141: you can even kindof mix it, just as you can write (+ 1) as a shortcut for (\x -> x + 1), people tend to write (`elem` someSet) as a shortcut for (\x -> elem x someSet)
2022-07-20 20:39:15 +0200nate4(~nate@98.45.169.16) (Ping timeout: 272 seconds)
2022-07-20 20:39:25 +0200matthewmosior(~matthewmo@173.170.253.91) (Remote host closed the connection)
2022-07-20 20:39:31 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-07-20 20:41:14 +0200 <JoeBloggs7003141> cool cool
2022-07-20 20:41:21 +0200 <[exa]> I wouldn't recommend overdoing this, but in places it can make the code super readable. Consider "f `on` show" versus "on f show" (on is from Data.Function, see here https://hackage.haskell.org/package/base-4.16.2.0/docs/Data-Function.html#v:on)
2022-07-20 20:43:00 +0200kenran(~kenran@200116b82b229a00953d13ebb4cd3751.dip.versatel-1u1.de)
2022-07-20 20:43:04 +0200kenran(~kenran@200116b82b229a00953d13ebb4cd3751.dip.versatel-1u1.de) (Client Quit)
2022-07-20 20:43:07 +0200 <JoeBloggs7003141> a model solution to one problem was given as div x y instead of x `div` y which is why I was wondering
2022-07-20 20:44:54 +0200quarkyalice_(~alice@user/quarkyalice/x-8092822)
2022-07-20 20:46:51 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 272 seconds)
2022-07-20 20:47:33 +0200slac69396(~slack1256@191.125.227.65)
2022-07-20 20:48:41 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2022-07-20 20:49:06 +0200 <troydm> I have a lot of expressions like a <|> b <|> c
2022-07-20 20:49:24 +0200 <troydm> anyway I can reduce them to something like somefunc [a,b,c]
2022-07-20 20:49:43 +0200 <[exa]> troydm: choice
2022-07-20 20:49:44 +0200 <[exa]> :t choice
2022-07-20 20:49:45 +0200 <lambdabot> error:
2022-07-20 20:49:46 +0200 <lambdabot> • Variable not in scope: choice
2022-07-20 20:49:46 +0200 <lambdabot> • Perhaps you meant ‘choose’ (imported from Lambdabot.Plugin.Haskell.Eval.Trusted)
2022-07-20 20:49:48 +0200 <[exa]> oh noes.
2022-07-20 20:49:57 +0200 <tomsmeding> > filter (`elem` [1..5]) [-5..10]
2022-07-20 20:49:59 +0200 <lambdabot> [1,2,3,4,5]
2022-07-20 20:50:03 +0200 <glguy> :t asum
2022-07-20 20:50:03 +0200slack1256(~slack1256@186.11.21.165) (Ping timeout: 268 seconds)
2022-07-20 20:50:05 +0200 <lambdabot> (Foldable t, Alternative f) => t (f a) -> f a
2022-07-20 20:50:25 +0200 <monochrom> Sometimes I teach "div x y" and not bother to teach "x `div` y".
2022-07-20 20:50:29 +0200 <[exa]> ah yes, choice is specific to parsecs. Thanks glguy. :]
2022-07-20 20:50:40 +0200Kevin578(~Kevin578@pool-173-76-179-30.bstnma.fios.verizon.net) (Ping timeout: 268 seconds)
2022-07-20 20:50:44 +0200 <troydm> actually I'm using megaparsec
2022-07-20 20:50:47 +0200 <troydm> let me check
2022-07-20 20:50:57 +0200 <monochrom> But eager students handing in "x `div` y" are totally fine.
2022-07-20 20:51:15 +0200 <troydm> attoparsec has it
2022-07-20 20:51:19 +0200 <glguy> What about the ones writing: x` div `y ?
2022-07-20 20:51:29 +0200 <monochrom> Hrm, will it work?
2022-07-20 20:51:42 +0200 <monochrom> > let {x=5; y=1} in x` div `y
2022-07-20 20:51:44 +0200 <lambdabot> 5
2022-07-20 20:51:56 +0200 <monochrom> I think my students never thought of that :)
2022-07-20 20:52:20 +0200 <glguy> > 10` div `do 2+3
2022-07-20 20:52:22 +0200 <lambdabot> 2
2022-07-20 20:52:37 +0200 <monochrom> ooohhhhh
2022-07-20 20:52:54 +0200 <monochrom> Now people will "learn" that do "saves parentheses"
2022-07-20 20:53:03 +0200 <[exa]> troydm: I remember using choice with megaparsec too but can't hoogle it, hopefully they didn't remove it
2022-07-20 20:53:06 +0200 <glguy> You don't want to use up all your parentheses in one place
2022-07-20 20:53:55 +0200 <troydm> isn't it same as foldl1 (<|>)
2022-07-20 20:54:39 +0200matthewmosior(~matthewmo@173.170.253.91) (Remote host closed the connection)
2022-07-20 20:55:15 +0200 <[exa]> ah it's imported there from Control.Monad.Combinators, where it is defined as asum, which is IIRC 'foldr (<|>) empty'
2022-07-20 20:55:32 +0200elkcl(~elkcl@broadband-37-110-156-162.ip.moscow.rt.ru)
2022-07-20 20:55:41 +0200 <[exa]> (with foldl it could not shortcircuit)
2022-07-20 20:56:13 +0200 <troydm> [exa]: I don't understand, explain
2022-07-20 20:56:25 +0200 <troydm> what shorcircuit you are talking about
2022-07-20 20:56:33 +0200talismanick(~talismani@campus-043-126.ucdavis.edu) (Ping timeout: 276 seconds)
2022-07-20 20:56:54 +0200 <[exa]> e.g. if you gave it an infinite list of possibilities it could not succeed on the first one with foldl
2022-07-20 20:57:23 +0200 <troydm> well I'll always have finite set of parsers
2022-07-20 20:57:28 +0200 <troydm> so not sure if I need it
2022-07-20 20:58:10 +0200 <[exa]> then with foldr you at least do not need to evaluate all levels of the nested <|> everytime
2022-07-20 20:58:47 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-07-20 20:59:01 +0200JoeBloggs7003141(~JoeBloggs@cpc142034-slou6-2-0-cust488.17-4.cable.virginm.net) (Remote host closed the connection)
2022-07-20 20:59:20 +0200JoeBloggs7003141(~JoeBloggs@cpc142034-slou6-2-0-cust488.17-4.cable.virginm.net)
2022-07-20 21:01:21 +0200matthewmosior(~matthewmo@173.170.253.91) (Remote host closed the connection)
2022-07-20 21:01:32 +0200elkcl_(~elkcl@broadband-37-110-156-162.ip.moscow.rt.ru)
2022-07-20 21:01:58 +0200elkcl(~elkcl@broadband-37-110-156-162.ip.moscow.rt.ru) (Ping timeout: 240 seconds)
2022-07-20 21:01:58 +0200elkcl_elkcl
2022-07-20 21:04:14 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 268 seconds)
2022-07-20 21:05:45 +0200elkcl_(~elkcl@broadband-37-110-156-162.ip.moscow.rt.ru)
2022-07-20 21:06:06 +0200 <JoeBloggs7003141> I made a mistake https://paste.tomsmeding.com/6cAXmqqI the tested passed exercise 10 but I didn't use recursion, would there be a case where it wouldn't work
2022-07-20 21:06:13 +0200Kevin578(~Kevin578@pool-173-76-179-30.bstnma.fios.verizon.net)
2022-07-20 21:06:32 +0200elkcl(~elkcl@broadband-37-110-156-162.ip.moscow.rt.ru) (Ping timeout: 260 seconds)
2022-07-20 21:06:32 +0200elkcl_elkcl
2022-07-20 21:08:25 +0200 <[exa]> JoeBloggs7003141: that's some kind of exercise that required you to use the recursion?
2022-07-20 21:09:23 +0200 <[exa]> otherwise I guess the definitions are more or less compatible (except for the corner cases, such as when the integers overflow)
2022-07-20 21:09:48 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-07-20 21:12:45 +0200fserucas(~fserucas@39.64.114.89.rev.vodafone.pt) (Quit: Leaving)
2022-07-20 21:18:54 +0200Codex(~terop@91-153-238-204.elisa-laajakaista.fi)
2022-07-20 21:19:26 +0200fockerize(~finn@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Quit: WeeChat 3.5)
2022-07-20 21:21:44 +0200Cale(~cale@cpef48e38ee8583-cm30b7d4b3fc20.cpe.net.cable.rogers.com) (Remote host closed the connection)
2022-07-20 21:21:56 +0200king_gs(~Thunderbi@2806:103e:29:a1b3:d33d:90f:3255:af90) (Quit: king_gs)
2022-07-20 21:29:09 +0200JoeBloggs7003141(~JoeBloggs@cpc142034-slou6-2-0-cust488.17-4.cable.virginm.net) (Remote host closed the connection)
2022-07-20 21:29:26 +0200JoeBloggs7003141(~JoeBloggs@cpc142034-slou6-2-0-cust488.17-4.cable.virginm.net)
2022-07-20 21:36:22 +0200JoeBloggs7003141(~JoeBloggs@cpc142034-slou6-2-0-cust488.17-4.cable.virginm.net) (Remote host closed the connection)
2022-07-20 21:36:40 +0200JoeBloggs7003141(~JoeBloggs@cpc142034-slou6-2-0-cust488.17-4.cable.virginm.net)
2022-07-20 21:37:21 +0200jakalx(~jakalx@base.jakalx.net) ()
2022-07-20 21:38:31 +0200jakalx(~jakalx@base.jakalx.net)
2022-07-20 21:40:30 +0200quarkyalice_(~alice@user/quarkyalice/x-8092822) (Ping timeout: 240 seconds)
2022-07-20 21:41:45 +0200coot(~coot@213.134.190.95)
2022-07-20 21:43:21 +0200chomwitt(~chomwitt@2a02:587:dc00:5a00:ce0a:91e7:ff12:4713)
2022-07-20 21:45:04 +0200JoeBloggs7003141(~JoeBloggs@cpc142034-slou6-2-0-cust488.17-4.cable.virginm.net) (Remote host closed the connection)
2022-07-20 21:45:22 +0200JoeBloggs7003141(~JoeBloggs@cpc142034-slou6-2-0-cust488.17-4.cable.virginm.net)
2022-07-20 21:46:35 +0200RevoGen(~RevoGen@136.167.36.241)
2022-07-20 21:46:36 +0200RevoGen(~RevoGen@136.167.36.241) (Remote host closed the connection)
2022-07-20 21:50:15 +0200JoeBloggs7003141(~JoeBloggs@cpc142034-slou6-2-0-cust488.17-4.cable.virginm.net) (Remote host closed the connection)
2022-07-20 21:50:32 +0200JoeBloggs7003141(~JoeBloggs@cpc142034-slou6-2-0-cust488.17-4.cable.virginm.net)
2022-07-20 21:51:45 +0200Midjak(~Midjak@82.66.147.146) (Quit: This computer has gone to sleep)
2022-07-20 21:52:08 +0200matthewmosior(~matthewmo@173.170.253.91) (Remote host closed the connection)
2022-07-20 21:53:02 +0200ChaiTRex(~ChaiTRex@user/chaitrex) (Ping timeout: 268 seconds)
2022-07-20 21:53:27 +0200ChaiTRex(~ChaiTRex@user/chaitrex)
2022-07-20 21:55:51 +0200afnan(~afnan@45-22-121-40.lightspeed.cicril.sbcglobal.net)
2022-07-20 22:00:04 +0200JoeBloggs7003141(~JoeBloggs@cpc142034-slou6-2-0-cust488.17-4.cable.virginm.net) (Remote host closed the connection)
2022-07-20 22:00:21 +0200JoeBloggs7003141(~JoeBloggs@cpc142034-slou6-2-0-cust488.17-4.cable.virginm.net)
2022-07-20 22:03:07 +0200coot(~coot@213.134.190.95) ()
2022-07-20 22:03:45 +0200coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba)
2022-07-20 22:05:37 +0200JoeBloggs7003141(~JoeBloggs@cpc142034-slou6-2-0-cust488.17-4.cable.virginm.net) (Remote host closed the connection)
2022-07-20 22:05:54 +0200JoeBloggs7003141(~JoeBloggs@cpc142034-slou6-2-0-cust488.17-4.cable.virginm.net)
2022-07-20 22:05:56 +0200_ht(~quassel@231-169-21-31.ftth.glasoperator.nl) (Remote host closed the connection)
2022-07-20 22:07:56 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-07-20 22:11:15 +0200burning_crusade(~asturias@2001:19f0:7001:638:5400:3ff:fef3:8725) (Read error: Connection reset by peer)
2022-07-20 22:11:23 +0200jmdaemon(~jmdaemon@user/jmdaemon)
2022-07-20 22:12:41 +0200alternateved(~user@staticline-31-183-144-54.toya.net.pl) (Remote host closed the connection)
2022-07-20 22:13:51 +0200 <Codex> what's the idea behind monoid?
2022-07-20 22:15:36 +0200 <geekosaur> it generalizes the notion of "combining"
2022-07-20 22:16:40 +0200rburkholder(~blurb@96.45.2.121) (Read error: Connection reset by peer)
2022-07-20 22:17:19 +0200rburkholder(~blurb@96.45.2.121)
2022-07-20 22:18:26 +0200 <geekosaur> more precisely, it's about combining with an identity, such that there is something you can combine that doesn't change anything. (without the identity, it's a semigroup.)
2022-07-20 22:18:54 +0200mikoto-chan(~mikoto-ch@85-76-97-170-nat.elisa-mobile.fi)
2022-07-20 22:20:04 +0200merijn(~merijn@c-001-001-002.client.esciencecenter.eduvpn.nl)
2022-07-20 22:21:01 +0200 <int-e> It may be more useful to consider examples. Strings (concatenation, and the empty string as neutral element). Addition and mutliplication of numbers (not floating point). Composition of functions of type a -> a.
2022-07-20 22:21:29 +0200cheater1__(~Username@user/cheater)
2022-07-20 22:21:40 +0200cheater(~Username@user/cheater) (Ping timeout: 272 seconds)
2022-07-20 22:21:43 +0200cheater1__cheater
2022-07-20 22:23:41 +0200phma(~phma@host-67-44-208-20.hnremote.net) (Read error: Connection reset by peer)
2022-07-20 22:23:47 +0200 <monochrom> You have an associative 2-argument operator, and it has an identity element. That's all. Yes you should look at examples, but you should also find that all examples agree that it's a pretty easy and common thing.
2022-07-20 22:27:10 +0200even4void[m](~even4void@2001:470:69fc:105::2:4b9c)
2022-07-20 22:30:16 +0200JoeBloggs7003141(~JoeBloggs@cpc142034-slou6-2-0-cust488.17-4.cable.virginm.net) (Remote host closed the connection)
2022-07-20 22:30:33 +0200JoeBloggs7003141(~JoeBloggs@cpc142034-slou6-2-0-cust488.17-4.cable.virginm.net)
2022-07-20 22:31:14 +0200gmg(~user@user/gehmehgeh) (Quit: Leaving)
2022-07-20 22:32:52 +0200phma(~phma@host-67-44-208-242.hnremote.net)
2022-07-20 22:37:15 +0200coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot)
2022-07-20 22:44:49 +0200causal(~user@2001:470:ea0f:3:329c:23ff:fe3f:1e0e)
2022-07-20 22:49:41 +0200merijn(~merijn@c-001-001-002.client.esciencecenter.eduvpn.nl) (Ping timeout: 268 seconds)
2022-07-20 22:55:34 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2022-07-20 22:55:37 +0200mikoto-chan(~mikoto-ch@85-76-97-170-nat.elisa-mobile.fi) (Quit: WeeChat 3.4.1)
2022-07-20 22:57:08 +0200matthewmosior(~matthewmo@173.170.253.91) (Remote host closed the connection)
2022-07-20 22:57:15 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-07-20 22:58:01 +0200cods(~fred@82-65-232-44.subs.proxad.net)
2022-07-20 23:00:24 +0200JoeBloggs7003141(~JoeBloggs@cpc142034-slou6-2-0-cust488.17-4.cable.virginm.net) (Remote host closed the connection)
2022-07-20 23:00:41 +0200JoeBloggs7003141(~JoeBloggs@cpc142034-slou6-2-0-cust488.17-4.cable.virginm.net)
2022-07-20 23:03:02 +0200even4void[m](~even4void@2001:470:69fc:105::2:4b9c) ()
2022-07-20 23:03:48 +0200matthewmosior(~matthewmo@173.170.253.91) (Remote host closed the connection)
2022-07-20 23:03:50 +0200mikoto-chan(~mikoto-ch@85-76-97-170-nat.elisa-mobile.fi)
2022-07-20 23:04:43 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-07-20 23:07:18 +0200JoeBloggs7003141(~JoeBloggs@cpc142034-slou6-2-0-cust488.17-4.cable.virginm.net) (Remote host closed the connection)
2022-07-20 23:07:35 +0200JoeBloggs7003141(~JoeBloggs@cpc142034-slou6-2-0-cust488.17-4.cable.virginm.net)
2022-07-20 23:08:49 +0200matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
2022-07-20 23:09:18 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-07-20 23:09:46 +0200matthewmosior(~matthewmo@173.170.253.91) (Remote host closed the connection)
2022-07-20 23:09:53 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-07-20 23:11:32 +0200mjs2600(~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) (Quit: ZNC 1.8.2 - https://znc.in)
2022-07-20 23:11:47 +0200mjs2600(~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net)
2022-07-20 23:13:16 +0200slack1256(~slack1256@186.11.18.101)
2022-07-20 23:14:59 +0200JoeBloggs7003141(~JoeBloggs@cpc142034-slou6-2-0-cust488.17-4.cable.virginm.net) (Remote host closed the connection)
2022-07-20 23:15:16 +0200JoeBloggs7003141(~JoeBloggs@cpc142034-slou6-2-0-cust488.17-4.cable.virginm.net)
2022-07-20 23:15:18 +0200slac69396(~slack1256@191.125.227.65) (Ping timeout: 240 seconds)
2022-07-20 23:15:22 +0200matthewmosior(~matthewmo@173.170.253.91) (Remote host closed the connection)
2022-07-20 23:15:51 +0200bjobjo(~bjobjo@user/bjobjo)
2022-07-20 23:17:29 +0200Kevin578(~Kevin578@pool-173-76-179-30.bstnma.fios.verizon.net) (Ping timeout: 244 seconds)
2022-07-20 23:18:34 +0200zeenk(~zeenk@2a02:2f04:a311:2d00:6865:d863:4c93:799f)
2022-07-20 23:20:14 +0200JoeBloggs7003141(~JoeBloggs@cpc142034-slou6-2-0-cust488.17-4.cable.virginm.net) (Remote host closed the connection)
2022-07-20 23:20:31 +0200JoeBloggs7003141(~JoeBloggs@cpc142034-slou6-2-0-cust488.17-4.cable.virginm.net)
2022-07-20 23:23:10 +0200michalz(~michalz@185.246.204.77) (Remote host closed the connection)
2022-07-20 23:23:46 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-07-20 23:24:00 +0200quarkyalice(~quarkyali@user/quarkyalice) (Quit: quarkyalice)
2022-07-20 23:27:06 +0200JoeBloggs7003141(~JoeBloggs@cpc142034-slou6-2-0-cust488.17-4.cable.virginm.net) (Remote host closed the connection)
2022-07-20 23:27:23 +0200JoeBloggs7003141(~JoeBloggs@cpc142034-slou6-2-0-cust488.17-4.cable.virginm.net)
2022-07-20 23:28:05 +0200matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 255 seconds)
2022-07-20 23:31:57 +0200JoeBloggs7003141(~JoeBloggs@cpc142034-slou6-2-0-cust488.17-4.cable.virginm.net) (Remote host closed the connection)
2022-07-20 23:32:14 +0200JoeBloggs7003141(~JoeBloggs@cpc142034-slou6-2-0-cust488.17-4.cable.virginm.net)
2022-07-20 23:35:30 +0200gleostocha(~runic@104-182-236-205.lightspeed.sntcca.sbcglobal.net)
2022-07-20 23:38:50 +0200JoeBloggs7003141(~JoeBloggs@cpc142034-slou6-2-0-cust488.17-4.cable.virginm.net) (Remote host closed the connection)
2022-07-20 23:39:02 +0200kjak(~kjak@pool-108-31-68-111.washdc.fios.verizon.net) (Quit: leaving)
2022-07-20 23:39:07 +0200JoeBloggs7003141(~JoeBloggs@cpc142034-slou6-2-0-cust488.17-4.cable.virginm.net)
2022-07-20 23:43:41 +0200JoeBloggs7003141(~JoeBloggs@cpc142034-slou6-2-0-cust488.17-4.cable.virginm.net) (Remote host closed the connection)
2022-07-20 23:43:58 +0200JoeBloggs7003141(~JoeBloggs@cpc142034-slou6-2-0-cust488.17-4.cable.virginm.net)
2022-07-20 23:46:15 +0200merijn(~merijn@c-001-001-002.client.esciencecenter.eduvpn.nl)
2022-07-20 23:46:18 +0200mikoto-chan(~mikoto-ch@85-76-97-170-nat.elisa-mobile.fi) (Ping timeout: 264 seconds)
2022-07-20 23:48:37 +0200JoeBloggs7003141(~JoeBloggs@cpc142034-slou6-2-0-cust488.17-4.cable.virginm.net) (Remote host closed the connection)
2022-07-20 23:48:54 +0200JoeBloggs7003141(~JoeBloggs@cpc142034-slou6-2-0-cust488.17-4.cable.virginm.net)
2022-07-20 23:53:28 +0200JoeBloggs7003141(~JoeBloggs@cpc142034-slou6-2-0-cust488.17-4.cable.virginm.net) (Remote host closed the connection)
2022-07-20 23:53:45 +0200JoeBloggs7003141(~JoeBloggs@cpc142034-slou6-2-0-cust488.17-4.cable.virginm.net)
2022-07-20 23:54:52 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-07-20 23:55:56 +0200machinedgod(~machinedg@d172-219-86-154.abhsia.telus.net)
2022-07-20 23:58:19 +0200JoeBloggs7003141(~JoeBloggs@cpc142034-slou6-2-0-cust488.17-4.cable.virginm.net) (Remote host closed the connection)
2022-07-20 23:58:36 +0200JoeBloggs7003141(~JoeBloggs@cpc142034-slou6-2-0-cust488.17-4.cable.virginm.net)
2022-07-20 23:59:19 +0200kaskal(~kaskal@2001:4bb8:2c0:3963:7278:d0d4:9479:4919) (Quit: ZNC - https://znc.in)
2022-07-20 23:59:27 +0200matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)