2020/12/27

2020-12-27 00:00:13 +0100jpds(~jpds@gateway/tor-sasl/jpds)
2020-12-27 00:01:12 +0100sand_dull(~theuser@c-73-149-95-105.hsd1.ct.comcast.net)
2020-12-27 00:02:34 +0100axeman-(~axeman_@ip5f5af023.dynamic.kabel-deutschland.de)
2020-12-27 00:06:13 +0100sand_dull(~theuser@c-73-149-95-105.hsd1.ct.comcast.net) (Ping timeout: 264 seconds)
2020-12-27 00:07:25 +0100axeman-(~axeman_@ip5f5af023.dynamic.kabel-deutschland.de) (Ping timeout: 264 seconds)
2020-12-27 00:07:29 +0100bitmagie(~Thunderbi@200116b8069f51006cd1f289aa9319d9.dip.versatel-1u1.de) (Quit: bitmagie)
2020-12-27 00:13:12 +0100heatsink(~heatsink@2600:1700:bef1:5e10:d66:2904:6201:20dc)
2020-12-27 00:17:57 +0100heatsink(~heatsink@2600:1700:bef1:5e10:d66:2904:6201:20dc) (Ping timeout: 260 seconds)
2020-12-27 00:19:09 +0100chang(~textual@host-173-230-65-85.njjcmar.clients.pavlovmedia.com)
2020-12-27 00:20:00 +0100hackagefadno-braids 0.1.4 - Braid representations in Haskell https://hackage.haskell.org/package/fadno-braids-0.1.4 (spopejoy)
2020-12-27 00:20:01 +0100cheater(~user@unaffiliated/cheater) (Ping timeout: 264 seconds)
2020-12-27 00:20:23 +0100chang(~textual@host-173-230-65-85.njjcmar.clients.pavlovmedia.com) (Client Quit)
2020-12-27 00:21:00 +0100gehmehgeh(~ircuser1@gateway/tor-sasl/gehmehgeh) (Quit: Leaving)
2020-12-27 00:22:55 +0100cyphase(~cyphase@unaffiliated/cyphase) (Ping timeout: 246 seconds)
2020-12-27 00:23:16 +0100knupfer(~Thunderbi@87.123.206.19) (Ping timeout: 246 seconds)
2020-12-27 00:24:11 +0100son0p(~son0p@181.136.122.143) (Quit: Lost terminal)
2020-12-27 00:24:28 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-12-27 00:27:18 +0100usr256(~usr25@unaffiliated/usr25)
2020-12-27 00:29:36 +0100Varis(~Tadas@unaffiliated/varis) (Remote host closed the connection)
2020-12-27 00:30:16 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
2020-12-27 00:30:58 +0100usr25(~usr25@unaffiliated/usr25) (Ping timeout: 268 seconds)
2020-12-27 00:31:39 +0100cheater(~user@unaffiliated/cheater)
2020-12-27 00:33:09 +0100cyphase(~cyphase@unaffiliated/cyphase)
2020-12-27 00:33:37 +0100Varis(~Tadas@unaffiliated/varis)
2020-12-27 00:33:45 +0100jamm(~jamm@unaffiliated/jamm)
2020-12-27 00:33:48 +0100fendor_(~fendor@178.165.131.209.wireless.dyn.drei.com) (Remote host closed the connection)
2020-12-27 00:38:22 +0100jamm(~jamm@unaffiliated/jamm) (Ping timeout: 260 seconds)
2020-12-27 00:41:30 +0100hackagefadno 1.1.5 - Minimal library for music generation and notation https://hackage.haskell.org/package/fadno-1.1.5 (spopejoy)
2020-12-27 00:41:38 +0100o1lo01ol1o(~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Remote host closed the connection)
2020-12-27 00:43:30 +0100chang(~textual@host-173-230-65-85.njjcmar.clients.pavlovmedia.com)
2020-12-27 00:44:49 +0100chang(~textual@host-173-230-65-85.njjcmar.clients.pavlovmedia.com) (Client Quit)
2020-12-27 00:46:19 +0100t3xp4t(~texinwien@213162073014.public.t-mobile.at) (Remote host closed the connection)
2020-12-27 00:50:30 +0100MOSCOS(~MOSCOS@152.32.70.55)
2020-12-27 00:52:50 +0100heatsink(~heatsink@2600:1700:bef1:5e10:d66:2904:6201:20dc)
2020-12-27 00:52:58 +0100fuzzypixelz(~fuzzypixe@eth-west-pareq2-46-193-4-100.wb.wifirst.net)
2020-12-27 00:53:12 +0100 <fuzzypixelz> hello again!
2020-12-27 00:53:25 +0100Mikagami(~MOSCOS@122.54.107.175) (Ping timeout: 240 seconds)
2020-12-27 00:54:11 +0100Mikagami(~MOSCOS@122.54.107.175)
2020-12-27 00:55:03 +0100mp___(~mp@hell.cx)
2020-12-27 00:56:00 +0100MOSCOS(~MOSCOS@152.32.70.55) (Ping timeout: 256 seconds)
2020-12-27 00:56:09 +0100 <fuzzypixelz> I feel as though monad semantics have an unspoken rule. Is it often the case that a monad has a "value" inside it but also keeps track of "side effects"? As in, when we use "return" or reason about which value gets passed though f in m >>= f, we always mean one specific value, but we never explicitly say what that value is, and we never explicitly say that we're propagating the "side effects" through
2020-12-27 00:56:57 +0100 <fuzzypixelz> all the important things about how the monad works are implicit in the definition for >>=
2020-12-27 00:57:00 +0100kupi(uid212005@gateway/web/irccloud.com/x-ttgkkxztoohxubhs)
2020-12-27 00:58:44 +0100 <koz_> fuzzypixelz: A monad (or Monad) is 100% what its definition and laws say it is. Talking about having 'a value' 'inside' anything may work as an analogy for some instances, but not all.
2020-12-27 00:58:50 +0100 <koz_> For example, consider lists.
2020-12-27 01:00:19 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-12-27 01:00:20 +0100 <fuzzypixelz> how is the List monad implemented?
2020-12-27 01:05:56 +0100justanotheruser(~justanoth@unaffiliated/justanotheruser) (Ping timeout: 240 seconds)
2020-12-27 01:06:50 +0100hexo(~hexo@gateway/tor-sasl/hexo) (Remote host closed the connection)
2020-12-27 01:07:07 +0100hexo(~hexo@gateway/tor-sasl/hexo)
2020-12-27 01:07:14 +0100nbloomf(~nbloomf@2601:285:401:7490:7cac:6860:a8aa:a8b5)
2020-12-27 01:07:45 +0100 <hpc> fuzzypixelz: you could probably work it out from the type of (>>=) alone
2020-12-27 01:07:57 +0100 <hpc> the list-specific definition has a name in base already
2020-12-27 01:07:58 +0100zv(~zv@unaffiliated/zv) (Ping timeout: 268 seconds)
2020-12-27 01:08:04 +0100 <hpc> just find the thing with the matching type
2020-12-27 01:11:36 +0100xcmw(~textual@2601:541:4404:bb5c:da1:4077:f440:d41d) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-12-27 01:11:37 +0100star_cloud(~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Ping timeout: 264 seconds)
2020-12-27 01:12:18 +0100forell(~forell@unaffiliated/forell) (Quit: ZNC - https://znc.in)
2020-12-27 01:13:13 +0100xcmw(~textual@2601:541:4404:bb5c:45e9:79c8:9e49:8272)
2020-12-27 01:15:07 +0100forell(~forell@unaffiliated/forell)
2020-12-27 01:17:03 +0100christo(~chris@81.96.113.213)
2020-12-27 01:17:14 +0100star_cloud(~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com)
2020-12-27 01:18:18 +0100christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-12-27 01:18:35 +0100christo(~chris@81.96.113.213)
2020-12-27 01:22:25 +0100kam1(~kam1@24.231.108.143) (Ping timeout: 264 seconds)
2020-12-27 01:22:34 +0100erolm_a(~erolm_a@82.24.185.133) (Remote host closed the connection)
2020-12-27 01:22:49 +0100justanotheruser(~justanoth@unaffiliated/justanotheruser)
2020-12-27 01:28:46 +0100usr256(~usr25@unaffiliated/usr25) (Quit: Leaving)
2020-12-27 01:29:39 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-27 01:30:21 +0100grfn(sid449115@gateway/web/irccloud.com/x-srwltizlxwnoqbuo) (Read error: Connection reset by peer)
2020-12-27 01:30:35 +0100grfn(sid449115@gateway/web/irccloud.com/x-gvqnniezalopymkh)
2020-12-27 01:30:50 +0100gregberns_(sid315709@gateway/web/irccloud.com/x-ytsmrswniuqtuqcd) (Read error: Connection reset by peer)
2020-12-27 01:30:57 +0100buggymcbugfix(sid432603@gateway/web/irccloud.com/x-rqdusgvomktjpfec) (Ping timeout: 272 seconds)
2020-12-27 01:31:04 +0100nh2(sid309956@gateway/web/irccloud.com/x-newgxrpdrbwqztzy) (Read error: Connection reset by peer)
2020-12-27 01:31:12 +0100gregberns_(sid315709@gateway/web/irccloud.com/x-phrllwxzagbamfvs)
2020-12-27 01:31:12 +0100johs(sid246410@gateway/web/irccloud.com/x-kzxpikhjkxlgpcaf) (Read error: Connection reset by peer)
2020-12-27 01:31:14 +0100elvishjerricco(sid237756@NixOS/user/ElvishJerricco) (Ping timeout: 264 seconds)
2020-12-27 01:31:23 +0100buggymcbugfix(sid432603@gateway/web/irccloud.com/x-hcmmgqvkcqtrgzrw)
2020-12-27 01:31:23 +0100nh2(sid309956@gateway/web/irccloud.com/x-pdfxeblewufvmyjr)
2020-12-27 01:31:27 +0100johs(sid246410@gateway/web/irccloud.com/x-ngyseqelgtwcfjec)
2020-12-27 01:31:32 +0100elvishjerricco(sid237756@NixOS/user/ElvishJerricco)
2020-12-27 01:32:25 +0100nbloomf(~nbloomf@2601:285:401:7490:7cac:6860:a8aa:a8b5) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-12-27 01:34:04 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 260 seconds)
2020-12-27 01:35:01 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds)
2020-12-27 01:35:19 +0100nbloomf(~nbloomf@2601:285:401:7490:5dd:b3c7:6755:f5d8)
2020-12-27 01:35:36 +0100star_cloud(~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Ping timeout: 240 seconds)
2020-12-27 01:36:07 +0100heatsink(~heatsink@2600:1700:bef1:5e10:d66:2904:6201:20dc) (Remote host closed the connection)
2020-12-27 01:37:25 +0100alx741(~alx741@181.196.69.246) (Ping timeout: 264 seconds)
2020-12-27 01:37:31 +0100 <koz_> Or just look up the instance of Monad for list.
2020-12-27 01:37:39 +0100 <koz_> It's in base, you can just go to the Haddocks and click 'Source'.
2020-12-27 01:38:58 +0100mbomba(~mbomba@bras-base-toroon2719w-grc-53-142-114-5-26.dsl.bell.ca)
2020-12-27 01:39:05 +0100Anthaas(~Anthaas@unaffiliated/anthaas) (Ping timeout: 240 seconds)
2020-12-27 01:41:08 +0100Anthaas(~Anthaas@unaffiliated/anthaas)
2020-12-27 01:43:38 +0100star_cloud(~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com)
2020-12-27 01:48:27 +0100 <exarkun> `Data.ByteString.replicate 5 (fromIntegral $ Data.Char.ord 'b')` seems a bit roundabout. any shortcut I'm missing?
2020-12-27 01:49:22 +0100sfvm(~sfvm@37.228.215.77)
2020-12-27 01:49:25 +0100Tario(~Tario@201.192.165.173) (Ping timeout: 264 seconds)
2020-12-27 01:49:33 +0100alx741(~alx741@181.196.68.114)
2020-12-27 01:51:10 +0100nbloomf(~nbloomf@2601:285:401:7490:5dd:b3c7:6755:f5d8) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-12-27 01:52:45 +0100g-belmonte(~g-belmont@2804:14c:8786:9576:8453:7874:d18c:94e0) (Quit: Leaving)
2020-12-27 01:53:35 +0100star_cloud(~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Excess Flood)
2020-12-27 01:54:54 +0100Tario(~Tario@200.119.187.162)
2020-12-27 01:54:54 +0100star_cloud(~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com)
2020-12-27 01:56:08 +0100mbomba(~mbomba@bras-base-toroon2719w-grc-53-142-114-5-26.dsl.bell.ca) (Quit: WeeChat 3.0)
2020-12-27 01:57:02 +0100dandart(~Thunderbi@2a00:23c7:f5a6:d001:e847:506b:5204:fefb) (Ping timeout: 264 seconds)
2020-12-27 01:58:38 +0100 <MarcelineVQ> -XOverloadedStrings "bbbbb"
2020-12-27 01:59:57 +0100 <MarcelineVQ> I've not tried that tho :>
2020-12-27 02:00:35 +0100jedws(~jedws@121.209.189.201)
2020-12-27 02:01:16 +0100mp___(~mp@hell.cx) (Ping timeout: 240 seconds)
2020-12-27 02:04:21 +0100nbloomf(~nbloomf@2601:285:401:7490:3c91:45bd:b003:9468)
2020-12-27 02:04:32 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-12-27 02:06:21 +0100zebrag(~inkbottle@aaubervilliers-654-1-158-75.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!)
2020-12-27 02:09:03 +0100zebrag(~inkbottle@aaubervilliers-654-1-158-75.w86-212.abo.wanadoo.fr)
2020-12-27 02:09:38 +0100acarrico(~acarrico@dhcp-68-142-39-249.greenmountainaccess.net) (Ping timeout: 268 seconds)
2020-12-27 02:10:20 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
2020-12-27 02:10:39 +0100dandart(~Thunderbi@2a00:23c7:f5a6:d001:e847:506b:5204:fefb)
2020-12-27 02:12:07 +0100kam1(~kam1@24.231.108.143)
2020-12-27 02:15:03 +0100gzj(~gzj@unaffiliated/gzj)
2020-12-27 02:16:30 +0100fuzzypixelz(~fuzzypixe@eth-west-pareq2-46-193-4-100.wb.wifirst.net) (Quit: Leaving.)
2020-12-27 02:16:30 +0100christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-12-27 02:17:41 +0100Tuplanolla(~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.)
2020-12-27 02:19:12 +0100Rudd0(~Rudd0@185.189.115.103) (Ping timeout: 272 seconds)
2020-12-27 02:19:31 +0100jess(jess@freenode/staff/jess) (Quit: Leaving)
2020-12-27 02:20:05 +0100nbloomf(~nbloomf@2601:285:401:7490:3c91:45bd:b003:9468) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-12-27 02:21:37 +0100dandart(~Thunderbi@2a00:23c7:f5a6:d001:e847:506b:5204:fefb) (Ping timeout: 260 seconds)
2020-12-27 02:22:22 +0100ezzieyguywuf(~Unknown@unaffiliated/ezzieyguywuf) (Remote host closed the connection)
2020-12-27 02:23:04 +0100dandart(~Thunderbi@2a00:23c7:f5a6:d001:e847:506b:5204:fefb)
2020-12-27 02:23:39 +0100elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Quit: Leaving)
2020-12-27 02:24:04 +0100ezzieyguywuf(~Unknown@unaffiliated/ezzieyguywuf)
2020-12-27 02:24:28 +0100pthariensflame(~pthariens@2600:6c52:7280:100:8887:1c0b:34b5:2175)
2020-12-27 02:24:43 +0100pthariensflame(~pthariens@2600:6c52:7280:100:8887:1c0b:34b5:2175) (Client Quit)
2020-12-27 02:26:41 +0100Tario(~Tario@200.119.187.162) (Read error: Connection reset by peer)
2020-12-27 02:27:11 +0100Tario(~Tario@201.192.165.173)
2020-12-27 02:29:34 +0100ransom(~c4264035@8.47.12.52)
2020-12-27 02:29:56 +0100christo(~chris@81.96.113.213)
2020-12-27 02:33:14 +0100 <_deepfire> Hmm, it's a bit sad that 'connection' seems to only be client-oriented..
2020-12-27 02:33:58 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-27 02:34:08 +0100Fischmiep(~Fischmiep@134.101.184.201)
2020-12-27 02:36:31 +0100heatsink(~heatsink@2600:1700:bef1:5e10:d66:2904:6201:20dc)
2020-12-27 02:36:35 +0100heatsink(~heatsink@2600:1700:bef1:5e10:d66:2904:6201:20dc) (Remote host closed the connection)
2020-12-27 02:36:40 +0100Deide(~Deide@217.155.19.23) (Read error: Connection reset by peer)
2020-12-27 02:36:44 +0100heatsink(~heatsink@2600:1700:bef1:5e10:d66:2904:6201:20dc)
2020-12-27 02:37:12 +0100Fischmie1(~Fischmiep@149.224.60.139) (Ping timeout: 256 seconds)
2020-12-27 02:37:28 +0100Deide(~Deide@217.155.19.23)
2020-12-27 02:38:18 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Client Quit)
2020-12-27 02:38:40 +0100vicfred(~vicfred@unaffiliated/vicfred) (Quit: Leaving)
2020-12-27 02:38:41 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-27 02:41:12 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-12-27 02:42:52 +0100columbarius(~columbari@i5E86B32A.versanet.de) (Ping timeout: 260 seconds)
2020-12-27 02:43:01 +0100vicfred(~vicfred@unaffiliated/vicfred)
2020-12-27 02:43:54 +0100Anthaas(~Anthaas@unaffiliated/anthaas) (Ping timeout: 272 seconds)
2020-12-27 02:45:02 +0100columbarius(~columbari@i5E86B330.versanet.de)
2020-12-27 02:46:46 +0100Anthaas(~Anthaas@unaffiliated/anthaas)
2020-12-27 02:55:06 +0100FreeBirdLjj(~freebirdl@101.80.150.113)
2020-12-27 02:58:59 +0100dandart(~Thunderbi@2a00:23c7:f5a6:d001:e847:506b:5204:fefb) (Ping timeout: 272 seconds)
2020-12-27 02:59:37 +0100FreeBirdLjj(~freebirdl@101.80.150.113) (Ping timeout: 264 seconds)
2020-12-27 02:59:45 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
2020-12-27 03:00:06 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-27 03:00:52 +0100dandart(~Thunderbi@2a00:23c7:f5a6:d001:e847:506b:5204:fefb)
2020-12-27 03:01:52 +0100CMCDragonkai2(~Thunderbi@120.18.14.124)
2020-12-27 03:05:03 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 256 seconds)
2020-12-27 03:08:45 +0100shatriff(~vitaliish@176-52-216-242.irishtelecom.com)
2020-12-27 03:08:52 +0100kam1(~kam1@24.231.108.143) (Ping timeout: 260 seconds)
2020-12-27 03:09:41 +0100Deide(~Deide@217.155.19.23) (Quit: Seeee yaaaa)
2020-12-27 03:09:49 +0100jb55(~jb55@gateway/tor-sasl/jb55) (Remote host closed the connection)
2020-12-27 03:10:08 +0100 <exarkun> Hm https://hackage.haskell.org/package/base32-0.2.0.0/docs/Data-ByteString-Base32.html#v:encodeBase32… is weird
2020-12-27 03:10:13 +0100jb55(~jb55@gateway/tor-sasl/jb55)
2020-12-27 03:10:15 +0100 <exarkun> Maybe even ... broken?
2020-12-27 03:10:56 +0100 <koz_> topos: ^
2020-12-27 03:11:05 +0100 <exarkun> > encodeBase32Unpadded "\n&\250\240\218B\n\t\225[\137\222a\253d\206" == encodeBase32Unpadded "\n&\250\240\218B\n\t\225[\137\222a\253d\206"
2020-12-27 03:11:07 +0100 <exarkun> False
2020-12-27 03:11:07 +0100 <lambdabot> error:
2020-12-27 03:11:08 +0100 <lambdabot> Variable not in scope: encodeBase32Unpadded :: [Char] -> a0error:
2020-12-27 03:11:08 +0100 <lambdabot> Variable not in scope: encodeBase32Unpadded :: [Char] -> a0
2020-12-27 03:11:30 +0100 <exarkun> (those are the same strings fwiw)
2020-12-27 03:12:48 +0100 <exarkun> if I'd rather have a correct base32 encoder than a fast one, is there another library out there anyone would recommend?
2020-12-27 03:13:02 +0100 <topos> is it valid utf8-encoded text?
2020-12-27 03:13:23 +0100 <exarkun> the input or the output?
2020-12-27 03:13:32 +0100acidjnk_new(~acidjnk@pd9e0b8fb.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2020-12-27 03:13:36 +0100 <topos> input
2020-12-27 03:13:48 +0100 <exarkun> no
2020-12-27 03:14:02 +0100roconnor(~roconnor@host-45-78-199-13.dyn.295.ca)
2020-12-27 03:14:14 +0100 <topos> https://github.com/emilypi/Base32/blob/b02886217a16a7118f1e899a0ba71897fe5f91a5/src/Data/Text/Enco…
2020-12-27 03:14:39 +0100 <topos> ah you're encoding hmm.
2020-12-27 03:15:15 +0100 <exarkun> It seems like it leaks a bit of uninitialized memory into the last output ... word ... or something
2020-12-27 03:15:40 +0100wei2912(~wei2912@unaffiliated/wei2912)
2020-12-27 03:15:42 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
2020-12-27 03:15:49 +0100 <topos> it might be that you end up with a non-canonical encoding here. I'd have to investigate. Could you open an issue?
2020-12-27 03:15:55 +0100 <exarkun> yes
2020-12-27 03:16:37 +0100 <topos> The problem with Base32 is it's only spec'd up to utf8 - anything involving unicode encodings is underspecified behavior
2020-12-27 03:16:55 +0100 <topos> i've done some work to fix this in our base64 implementation, but i haven't seen it in base32, so thanks for raising it
2020-12-27 03:18:36 +0100rekahsoft(~rekahsoft@cpe0008a20f982f-cm64777d666260.cpe.net.cable.rogers.com) (Ping timeout: 240 seconds)
2020-12-27 03:19:14 +0100dandart(~Thunderbi@2a00:23c7:f5a6:d001:e847:506b:5204:fefb) (Ping timeout: 264 seconds)
2020-12-27 03:21:02 +0100 <topos> Weird - i can't repro this on my laptop. I'm on a MBP
2020-12-27 03:21:06 +0100 <exarkun> For encoding, I'm surprised utf8 or unicode has anything to do with it. I thought base32 would be dependent on bytes (and ascii) alone.
2020-12-27 03:21:23 +0100 <ephemient> I can't repro here either, all I get is "*** Exception: Cannot decode byte '\xc?': Data.Text.Internal.Encoding.decodeUtf8: Invalid UTF-8 stream for varying values of ?
2020-12-27 03:21:27 +0100 <exarkun> Hmh. I'll add more platform info to the issue I filed then.
2020-12-27 03:21:48 +0100 <exarkun> ephemient: I think that both the exception and varying values of ? is also proof of one or more bugs
2020-12-27 03:22:06 +0100 <topos> exarkun: https://github.com/haskell/base64-bytestring/issues/24
2020-12-27 03:22:07 +0100 <exarkun> I also get the exceptions, maybe more often than not, but eventually I also get an incorrect non-exception result
2020-12-27 03:22:14 +0100 <topos> here was an example of a suprising result
2020-12-27 03:23:21 +0100kam1(~kam1@24.231.108.143)
2020-12-27 03:23:38 +0100 <exarkun> topos: Okay, yea, I see.
2020-12-27 03:23:40 +0100 <topos> https://github.com/emilypi/base64/blob/0c0d18d2e032abcb95d42f549237317a1cc7859b/test/Main.hs#L380
2020-12-27 03:23:44 +0100 <topos> with some of the weirdness tested here
2020-12-27 03:24:25 +0100 <exarkun> Now I've gotta wonder ... I'm trying to interop with an existing system that uses unpadded base32 and probably has only ever had exactly one implementation using the Python base32 implementation. I wonder what *that* does.
2020-12-27 03:25:29 +0100 <topos> alot of algos don't care about this behavior cuz it's a rare use-case (everyone is usually dealing with utf8
2020-12-27 03:25:29 +0100 <topos> or ascii strings exclusively!) We're special. We have special problems lmao
2020-12-27 03:25:55 +0100 <topos> but i'm happy to try patching it up so we don't have to deal
2020-12-27 03:26:50 +0100 <exarkun> yea in my case I'm trying to round-trip 128 bit aes keys
2020-12-27 03:27:24 +0100 <exarkun> filed https://github.com/emilypi/Base32/issues/11
2020-12-27 03:27:39 +0100 <topos> that seems like it'd be fine, but we're now 2 people who can't repro. I wonder what the problem is :x
2020-12-27 03:28:37 +0100 <topos> it may be that i have to amend the `encode*` texty functions to decode as Latin1 in the bytestring case.
2020-12-27 03:29:08 +0100 <topos> no, these should land squarely in ascii
2020-12-27 03:29:09 +0100 <topos> hmm
2020-12-27 03:29:53 +0100xcmw(~textual@2601:541:4404:bb5c:45e9:79c8:9e49:8272) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-12-27 03:30:09 +0100xiinotulp(~q@node-uhx.pool-125-24.dynamic.totinternet.net)
2020-12-27 03:30:44 +0100nbloomf(~nbloomf@2601:285:401:7490:119:c227:6928:4d26)
2020-12-27 03:30:57 +0100 <koz_> I would _laugh_ if this gets argumentum-ad-serpentumed.
2020-12-27 03:31:07 +0100 <koz_> (aka it's an idiotsyncracy in the Python implementation)
2020-12-27 03:31:16 +0100heatsink(~heatsink@2600:1700:bef1:5e10:d66:2904:6201:20dc) (Remote host closed the connection)
2020-12-27 03:31:25 +0100star_cloud(~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Ping timeout: 240 seconds)
2020-12-27 03:33:11 +0100toorevitimirp(~tooreviti@117.182.181.108)
2020-12-27 03:33:19 +0100plutoniix(~q@node-uln.pool-125-24.dynamic.totinternet.net) (Ping timeout: 246 seconds)
2020-12-27 03:33:44 +0100kam1(~kam1@24.231.108.143) (Remote host closed the connection)
2020-12-27 03:35:34 +0100xcmw(~textual@2601:541:4404:bb5c:45e9:79c8:9e49:8272)
2020-12-27 03:35:55 +0100heatsink(~heatsink@2600:1700:bef1:5e10:d66:2904:6201:20dc)
2020-12-27 03:40:36 +0100StoneToad(~StoneToad@104-192-232-50.ppp.storm.ca) (Ping timeout: 240 seconds)
2020-12-27 03:41:22 +0100jmchael(~jmchael@81.174.205.210) (Ping timeout: 246 seconds)
2020-12-27 03:41:30 +0100StoneToad(~StoneToad@104-192-232-50.ppp.storm.ca)
2020-12-27 03:42:45 +0100CMCDragonkai2(~Thunderbi@120.18.14.124) (Ping timeout: 240 seconds)
2020-12-27 03:44:09 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-12-27 03:46:11 +0100 <topos> exarkun: big thonk. Could you confirm what version of base32 that nixpkgs brings in for you?
2020-12-27 03:46:58 +0100 <topos> it doesn't look like stackage has updated to 0.2 despite it being the latest on hackage for almost a year. I wonder if nixpkgs is bringing in the 0.1.x series which had this issue
2020-12-27 03:47:45 +0100 <topos> if it's that, the problem could already be fixed, and you'd just have to pin to latest.
2020-12-27 03:47:55 +0100 <topos> nixpkgs relies on stackage for curation iirc
2020-12-27 03:49:15 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
2020-12-27 03:52:27 +0100cads(~cads@ip-64-72-99-232.lasvegas.net)
2020-12-27 03:52:30 +0100cads2(~cads@ip-64-72-99-232.lasvegas.net)
2020-12-27 03:53:11 +0100xcmw(~textual@2601:541:4404:bb5c:45e9:79c8:9e49:8272) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-12-27 03:55:46 +0100jamm(~jamm@unaffiliated/jamm)
2020-12-27 03:55:48 +0100xff0x_(~fox@2001:1a81:5288:9200:20a5:5657:38a6:e5de) (Ping timeout: 260 seconds)
2020-12-27 03:56:10 +0100xiinotulp(~q@node-uhx.pool-125-24.dynamic.totinternet.net) (Quit: Leaving)
2020-12-27 03:57:15 +0100xff0x_(~fox@2001:1a81:52bd:9700:bad9:3cb6:8ce9:4998)
2020-12-27 03:58:29 +0100matryoshka(~matryoshk@2606:6080:1002:8:3285:30e:de43:8809) (Quit: ZNC 1.8.2 - https://znc.in)
2020-12-27 03:58:49 +0100matryoshka(~matryoshk@184.75.223.227)
2020-12-27 04:00:25 +0100 <ephemient> https://www.stackage.org/diff/nightly-2020-07-22/nightly-2020-07-23 stackage-nightly has base32-0.2.0.0 since months ago, so I guess it'll happen whenever lts-15 comes out...
2020-12-27 04:01:05 +0100 <topos> it's still at 1.1.2.0 in 16.27 :x
2020-12-27 04:01:32 +0100Kronic(~Kronic___@84.203.96.46)
2020-12-27 04:01:33 +0100 <ephemient> ok I have no clue
2020-12-27 04:01:36 +0100 <topos> yeah, nightly will work. I wonder if they need help bumping it, or if the bytestring >=0.11 stufff is delaying
2020-12-27 04:02:47 +0100 <topos> https://www.stackage.org/lts-16.27/package/base32-0.1.1.2
2020-12-27 04:02:49 +0100 <topos> ackkk
2020-12-27 04:02:58 +0100 <topos> why don't they update major versions ;_;
2020-12-27 04:03:08 +0100 <koz_> Stackage, rofl.
2020-12-27 04:03:39 +0100 <topos> i updated in friggin July
2020-12-27 04:05:37 +0100toorevitimirp(~tooreviti@117.182.181.108) (Ping timeout: 264 seconds)
2020-12-27 04:06:03 +0100 <koz_> @pl \x -> f x $> x
2020-12-27 04:06:03 +0100 <lambdabot> ($>) =<< f
2020-12-27 04:06:14 +0100 <koz_> OK, maybe not lol.
2020-12-27 04:08:51 +0100 <MarcelineVQ> beats liftA2 ($>) f id
2020-12-27 04:09:01 +0100theDon(~td@94.134.91.197) (Ping timeout: 246 seconds)
2020-12-27 04:09:09 +0100 <koz_> MarcelineVQ: You mean ($>) <$> f <*> id amirite?
2020-12-27 04:09:22 +0100 <MarcelineVQ> You've gone too far this time
2020-12-27 04:09:25 +0100 <koz_> Maximize the APL
2020-12-27 04:09:54 +0100 <koz_> (the 'A' in APL clearly stands for 'Applicative' here)
2020-12-27 04:11:08 +0100theDon(~td@muedsl-82-207-238-021.citykom.de)
2020-12-27 04:11:16 +0100 <topos> i could see `(<$) =<< f` as being "fire the missile, but I keep the launch codes"
2020-12-27 04:11:39 +0100 <topos> the applicative version is... degenerate, and suspect.
2020-12-27 04:13:03 +0100 <koz_> In what sense is it either of those things?
2020-12-27 04:13:15 +0100xcmw(~textual@2601:541:4404:bb5c:45e9:79c8:9e49:8272)
2020-12-27 04:15:30 +0100xirhtogal(~lagothrix@unaffiliated/lagothrix)
2020-12-27 04:15:30 +0100lagothrix(~lagothrix@unaffiliated/lagothrix) (Killed (beckett.freenode.net (Nickname regained by services)))
2020-12-27 04:15:30 +0100xirhtogallagothrix
2020-12-27 04:17:13 +0100sand_dull(~theuser@c-73-149-95-105.hsd1.ct.comcast.net)
2020-12-27 04:19:00 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-12-27 04:21:30 +0100hackagetext-ansi 0.1.0.2 - Text styling for ANSI terminals. https://hackage.haskell.org/package/text-ansi-0.1.0.2 (mitchellwrosen)
2020-12-27 04:23:21 +0100 <Kronic> Hey there, so, is there a neat way to generate a list of all of the possible data constructors for a given type? Say for example if I have data MyType = A | B, I want to produce a list of [A,B] :: [MyType]
2020-12-27 04:28:18 +0100 <Kronic> Oh I think I found how to do it. Thank you for your attention anyway
2020-12-27 04:28:47 +0100sand_dull(~theuser@c-73-149-95-105.hsd1.ct.comcast.net) (Ping timeout: 260 seconds)
2020-12-27 04:30:00 +0100 <topos> koz_: i'm being dramatic. \x -> f x $> x is definitely my +1 :P
2020-12-27 04:30:42 +0100 <koz_> topos: I guess I need to work on my humour detectors - they seem to have bugs.
2020-12-27 04:31:16 +0100 <heatsink> I haven't written a parser in a while. Is parsec still the library to use?
2020-12-27 04:31:59 +0100 <topos> Kronic:
2020-12-27 04:31:59 +0100 <topos> > data MyType = A | B deriving (Show, Enum)
2020-12-27 04:31:59 +0100 <topos> > enumFrom A
2020-12-27 04:32:01 +0100 <lambdabot> <hint>:1:1: error: <hint>:1:1: error: parse error on input ‘data’
2020-12-27 04:32:02 +0100 <lambdabot> error: Data constructor not in scope: A
2020-12-27 04:32:14 +0100 <topos> damn no multiline
2020-12-27 04:32:25 +0100 <Kronic> from minBound is what I used
2020-12-27 04:32:45 +0100toorevitimirp(~tooreviti@117.182.181.108)
2020-12-27 04:32:52 +0100 <Kronic> I was reading a stackoverflow answer on the matter and it lead me off the trail with a lot of Data.Data stuff then snuck that in at the bottom lol
2020-12-27 04:34:29 +0100 <dsal> :t [minBound..]
2020-12-27 04:34:30 +0100 <lambdabot> (Bounded a, Enum a) => [a]
2020-12-27 04:36:53 +0100Ariakenom(~Ariakenom@2001:9b1:efb:fc00:b05d:6d6f:5196:856c) (Quit: Leaving)
2020-12-27 04:37:00 +0100toorevitimirp(~tooreviti@117.182.181.108) (Ping timeout: 256 seconds)
2020-12-27 04:39:23 +0100xelxebar(~xelxebar@gateway/tor-sasl/xelxebar) (Ping timeout: 240 seconds)
2020-12-27 04:39:45 +0100xelxebar(~xelxebar@gateway/tor-sasl/xelxebar)
2020-12-27 04:39:49 +0100toorevitimirp(~tooreviti@117.182.181.108)
2020-12-27 04:39:54 +0100Kronic(~Kronic___@84.203.96.46) (Quit: Leaving)
2020-12-27 04:44:08 +0100cheater1(~user@unaffiliated/cheater)
2020-12-27 04:45:24 +0100cheater(~user@unaffiliated/cheater) (Ping timeout: 260 seconds)
2020-12-27 04:45:33 +0100cheater1cheater
2020-12-27 04:47:37 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 256 seconds)
2020-12-27 04:49:21 +0100jamm(~jamm@unaffiliated/jamm) (Ping timeout: 268 seconds)
2020-12-27 04:53:17 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2020-12-27 04:57:19 +0100mp___(~mp@hell.cx)
2020-12-27 05:00:30 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-27 05:01:58 +0100mp___(~mp@hell.cx) (Ping timeout: 272 seconds)
2020-12-27 05:04:18 +0100sand_dull(~theuser@c-73-149-95-105.hsd1.ct.comcast.net)
2020-12-27 05:04:54 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-12-27 05:05:01 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 264 seconds)
2020-12-27 05:05:28 +0100Rudd0(~Rudd0@185.189.115.103)
2020-12-27 05:12:09 +0100Guest26(6b4dd34e@gateway/web/cgi-irc/kiwiirc.com/ip.107.77.211.78)
2020-12-27 05:14:20 +0100 <Guest26> hello I need to buy a cheap computer on which I can run the Haskell platform
2020-12-27 05:15:26 +0100 <Guest26> is there a cheap computer that I can get for that
2020-12-27 05:16:23 +0100drbean(~drbean@TC210-63-209-25.static.apol.com.tw)
2020-12-27 05:17:01 +0100 <Guest26> hello can you help me pick a cheap computer to run the Haskell platform for toy projects
2020-12-27 05:17:40 +0100rekahsoft(~rekahsoft@cpe0008a20f982f-cm64777d666260.cpe.net.cable.rogers.com)
2020-12-27 05:20:18 +0100 <Guest26> I’m starting to think no one can receive my questions
2020-12-27 05:22:10 +0100cr3(~cr3@192-222-143-195.qc.cable.ebox.net) (Quit: leaving)
2020-12-27 05:23:02 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-12-27 05:24:00 +0100hackagefadno-braids 0.1.5 - Braid representations in Haskell https://hackage.haskell.org/package/fadno-braids-0.1.5 (spopejoy)
2020-12-27 05:24:07 +0100 <Guest26> Merlin: can you help me I need to buy a cheap computer laptop for running toy Haskell programs
2020-12-27 05:24:31 +0100star_cloud(~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com)
2020-12-27 05:24:52 +0100 <Guest26> merjin: can you help me
2020-12-27 05:26:13 +0100 <Guest26> merijn can you help me
2020-12-27 05:26:17 +0100 <koz_> Guest26: This is a quiet time for the channel. There are folks around, but they are likely asleep.
2020-12-27 05:26:25 +0100 <koz_> Spamming them with messages will not get you help any faster.
2020-12-27 05:26:35 +0100 <Guest26> Yes it will
2020-12-27 05:26:52 +0100dax(dax@bitbot/dax) ()
2020-12-27 05:28:25 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds)
2020-12-27 05:30:06 +0100gzj(~gzj@unaffiliated/gzj) (Remote host closed the connection)
2020-12-27 05:30:26 +0100gzj(~gzj@unaffiliated/gzj)
2020-12-27 05:30:34 +0100chang(~textual@host-173-230-65-85.njjcmar.clients.pavlovmedia.com)
2020-12-27 05:31:17 +0100chang(~textual@host-173-230-65-85.njjcmar.clients.pavlovmedia.com) (Client Quit)
2020-12-27 05:35:03 +0100Unhammer(~Unhammer@gateway/tor-sasl/unhammer) (Ping timeout: 240 seconds)
2020-12-27 05:39:49 +0100Guest26(6b4dd34e@gateway/web/cgi-irc/kiwiirc.com/ip.107.77.211.78) (Ping timeout: 264 seconds)
2020-12-27 05:40:29 +0100hackagefadno 1.1.6 - Minimal library for music generation and notation https://hackage.haskell.org/package/fadno-1.1.6 (spopejoy)
2020-12-27 05:46:08 +0100DirefulSalt(DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt)
2020-12-27 05:47:05 +0100DirefulSalt(DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt) (Remote host closed the connection)
2020-12-27 05:47:27 +0100DirefulSalt(DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt)
2020-12-27 05:48:59 +0100solonarv(~solonarv@astrasbourg-653-1-157-135.w90-6.abo.wanadoo.fr) (Ping timeout: 260 seconds)
2020-12-27 05:49:05 +0100machinedgod(~machinedg@24.105.81.50) (Ping timeout: 240 seconds)
2020-12-27 05:49:06 +0100Unhammer(~Unhammer@gateway/tor-sasl/unhammer)
2020-12-27 05:56:54 +0100rekahsoft(~rekahsoft@cpe0008a20f982f-cm64777d666260.cpe.net.cable.rogers.com) (Ping timeout: 256 seconds)
2020-12-27 05:59:01 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-12-27 05:59:55 +0100Sheilong(uid293653@gateway/web/irccloud.com/x-zpekbjdaicilgtst) ()
2020-12-27 06:01:26 +0100toorevitimirp(~tooreviti@117.182.181.108) (Ping timeout: 256 seconds)
2020-12-27 06:04:04 +0100 <Feuermagier> anything that runs IRC will probably run Haskell
2020-12-27 06:04:59 +0100 <dsal> It's pretty hard for me to compile anything useful on some of my computers.
2020-12-27 06:05:02 +0100m0rphism(~m0rphism@HSI-KBW-085-216-104-059.hsi.kabelbw.de) (Ping timeout: 260 seconds)
2020-12-27 06:05:56 +0100 <Feuermagier> a raspberry pi will compile almost anything
2020-12-27 06:06:33 +0100 <Feuermagier> however I have witnessed a RaspberryPi 1 spending multiple days on a single program
2020-12-27 06:09:00 +0100 <dsal> It takes more memory and space than I have available on some machines.
2020-12-27 06:09:15 +0100 <leafiest> I wouldn't suggest an RPI for Haskell if you're starting out, there'll be tool chain trouble shooting and you might have to get creative with swap partitions
2020-12-27 06:10:05 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds)
2020-12-27 06:10:41 +0100 <Feuermagier> the rpi4 has up to 8gb of ram. assuming haskell can handle arm it should do fine
2020-12-27 06:10:47 +0100 <leafiest> If you're just poking around, a VPS like digital ocean or linode would be fine. Running it for a couple hours, saving your stuff, and destroying it would be super cheap
2020-12-27 06:11:25 +0100 <leafiest> 8GB! That is nice. Last I tried was on a 2 with 1GB of RAM
2020-12-27 06:11:26 +0100 <dsal> Just because you *can* buy a computer with "pi" in the name that can do some things doesn't mean every computer anyone might have does.
2020-12-27 06:11:30 +0100 <Feuermagier> leafiest, have never used one of those before. do they just provide you with a VM?
2020-12-27 06:11:45 +0100 <dsal> I tend to run my builds on AWS.
2020-12-27 06:12:10 +0100 <leafiest> Yep, or AWS. You pick the OS + distro + version and you're off
2020-12-27 06:12:22 +0100 <Feuermagier> what do they charge by?
2020-12-27 06:13:24 +0100 <ephemient> https://gitlab.haskell.org/ghc/ghc/-/wikis/platforms ARM is a Tier 2 platform, not guaranteed to work in every GHC release
2020-12-27 06:13:24 +0100hnOsmium0001hnOsmium0002
2020-12-27 06:13:30 +0100 <leafiest> Digital ocean is hourly, AWS I'm not sure
2020-12-27 06:13:47 +0100 <dsal> There are two ARMs at different tiers as well.
2020-12-27 06:14:18 +0100hnOsmium0002hnOsmium0001
2020-12-27 06:14:42 +0100 <ephemient> well yes, and it doesn't include Apple M1 either, which has some more issues to work through: https://gitlab.haskell.org/ghc/ghc/-/issues/18664
2020-12-27 06:16:07 +0100 <dsal> My main computer here is an obscure 64-bit ARM machine. It's great except for all the things from the recent conversation.
2020-12-27 06:17:27 +0100netsoundW1(~netsoundW@185.204.1.185) (Remote host closed the connection)
2020-12-27 06:17:38 +0100 <leafiest> I prefer having my haskell setup off laptop for storage reasons too. Installing even a handful of GHC versions + libraries takes a bunch of space
2020-12-27 06:18:31 +0100 <dsal> I had a pretty small SSD in my older machine. It was mostly various haskell stuff.
2020-12-27 06:19:07 +0100 <dsal> Some combination of nix and stack and too many projects consumes all available storage.
2020-12-27 06:23:25 +0100aricon1(~aricon@178.239.168.171)
2020-12-27 06:26:38 +0100rayyyy(~nanoz@gateway/tor-sasl/nanoz)
2020-12-27 06:27:31 +0100 <koz_> :t (*>)
2020-12-27 06:27:32 +0100 <lambdabot> Applicative f => f a -> f b -> f b
2020-12-27 06:27:38 +0100 <koz_> :t ($>)
2020-12-27 06:27:39 +0100 <lambdabot> Functor f => f a -> b -> f b
2020-12-27 06:30:20 +0100 <dsal> :t ($>€)
2020-12-27 06:30:21 +0100 <lambdabot> error:
2020-12-27 06:30:22 +0100 <lambdabot> • Variable not in scope: $>€
2020-12-27 06:30:22 +0100 <lambdabot> • Perhaps you meant ‘$>’ (imported from Data.Functor.Apply)
2020-12-27 06:32:54 +0100Saukk(~Saukk@2001:998:ec:954:1c59:9bb5:b94c:3)
2020-12-27 06:32:56 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2020-12-27 06:34:01 +0100coot(~coot@37.30.55.131.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
2020-12-27 06:34:17 +0100coot(~coot@37.30.55.131.nat.umts.dynamic.t-mobile.pl)
2020-12-27 06:35:43 +0100 <xerox_> dsal: which obscure 64bit arm do you use?
2020-12-27 06:36:29 +0100 <dsal> Some random Orange Pi I got from Ali Express a couple years ago. Tiny thing with an 8GB SSD.
2020-12-27 06:36:36 +0100 <dsal> Er. flash chip
2020-12-27 06:36:51 +0100 <xerox_> neat (:
2020-12-27 06:39:13 +0100bitmagie(~Thunderbi@200116b806d8760031bf37bceaa67a81.dip.versatel-1u1.de)
2020-12-27 06:39:32 +0100 <dsal> Yeah, it's great. Runs my mqttd and a bunch of other utilities without fail. I've got it wired up through a couple 18650s, so I can unplug it and move it around if I want. I had a bunch of power outages here not too long ago.
2020-12-27 06:39:37 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:f0ca:b34:ab31:1410) (Remote host closed the connection)
2020-12-27 06:44:07 +0100gzj(~gzj@unaffiliated/gzj) (Remote host closed the connection)
2020-12-27 06:44:27 +0100gzj(~gzj@unaffiliated/gzj)
2020-12-27 06:48:29 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:f0ca:b34:ab31:1410)
2020-12-27 06:50:03 +0100philopsos(~caecilius@gateway/tor-sasl/caecilius) (Ping timeout: 240 seconds)
2020-12-27 06:52:52 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:f0ca:b34:ab31:1410) (Ping timeout: 260 seconds)
2020-12-27 06:56:10 +0100leafiest(~leafiest@c-73-118-152-9.hsd1.wa.comcast.net) (Ping timeout: 256 seconds)
2020-12-27 06:57:50 +0100bitmagie(~Thunderbi@200116b806d8760031bf37bceaa67a81.dip.versatel-1u1.de) (Quit: bitmagie)
2020-12-27 07:00:36 +0100cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 240 seconds)
2020-12-27 07:00:51 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-27 07:01:20 +0100berberman_(~berberman@unaffiliated/berberman)
2020-12-27 07:01:58 +0100xcmw(~textual@2601:541:4404:bb5c:45e9:79c8:9e49:8272) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-12-27 07:02:12 +0100berberman(~berberman@unaffiliated/berberman) (Ping timeout: 260 seconds)
2020-12-27 07:03:37 +0100leafiest(~leafiest@c-73-118-152-9.hsd1.wa.comcast.net)
2020-12-27 07:05:28 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 256 seconds)
2020-12-27 07:05:51 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-12-27 07:11:01 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds)
2020-12-27 07:21:20 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:f0ca:b34:ab31:1410)
2020-12-27 07:25:46 +0100paintcan(~user@cpe-69-206-241-99.nyc.res.rr.com) (Remote host closed the connection)
2020-12-27 07:25:59 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:f0ca:b34:ab31:1410) (Ping timeout: 268 seconds)
2020-12-27 07:25:59 +0100paintcan(~user@cpe-69-206-241-99.nyc.res.rr.com)
2020-12-27 07:29:18 +0100 <koz_> I use an old laptop for long-running services.
2020-12-27 07:29:30 +0100 <koz_> It's pretty great, since its battery is like a built-in UPS for short power outages.
2020-12-27 07:33:31 +0100 <topos> https://www.infoq.com/news/2020/12/haskell-foundation-launched/
2020-12-27 07:33:38 +0100 <topos> oh hey look, HF got its first syndication
2020-12-27 07:33:45 +0100sand_dull(~theuser@c-73-149-95-105.hsd1.ct.comcast.net) (Ping timeout: 240 seconds)
2020-12-27 07:35:06 +0100 <koz_> topos: :partyhat:
2020-12-27 07:35:18 +0100 <topos> :)
2020-12-27 07:35:20 +0100 <topos> back to sleep
2020-12-27 07:35:47 +0100revtintin(~revtintin@42.61.242.247)
2020-12-27 07:37:02 +0100 <koz_> topos: You are like Sleeping Beauty, except instead of prince PDAs, you are awoken by people mentioning the Haskell Foundation.
2020-12-27 07:37:10 +0100danso(~dan@69-165-210-185.cable.teksavvy.com) (Quit: WeeChat 3.0)
2020-12-27 07:37:15 +0100 <koz_> Like, you're a combination of Candyman and Sleeping Beauty.
2020-12-27 07:37:24 +0100 <koz_> (Sleeping Candyman?)
2020-12-27 07:37:44 +0100jedws(~jedws@121.209.189.201) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-12-27 07:39:19 +0100chang(~textual@host-173-230-65-85.njjcmar.clients.pavlovmedia.com)
2020-12-27 07:40:08 +0100Gurkenglas(~Gurkengla@unaffiliated/gurkenglas)
2020-12-27 07:40:32 +0100chang(~textual@host-173-230-65-85.njjcmar.clients.pavlovmedia.com) (Client Quit)
2020-12-27 07:41:05 +0100ransom(~c4264035@8.47.12.52) (Ping timeout: 240 seconds)
2020-12-27 07:42:39 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-12-27 07:43:52 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-12-27 07:47:16 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds)
2020-12-27 07:50:22 +0100ransom(~c4264035@70-59-31-144.hlrn.qwest.net)
2020-12-27 07:51:47 +0100Tario(~Tario@201.192.165.173) (Ping timeout: 260 seconds)
2020-12-27 07:52:25 +0100chang(~textual@host-173-230-65-85.njjcmar.clients.pavlovmedia.com)
2020-12-27 07:53:38 +0100chang(~textual@host-173-230-65-85.njjcmar.clients.pavlovmedia.com) (Client Quit)
2020-12-27 07:54:55 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:f0ca:b34:ab31:1410)
2020-12-27 07:59:22 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:f0ca:b34:ab31:1410) (Ping timeout: 260 seconds)
2020-12-27 08:09:41 +0100chang(~textual@host-173-230-65-85.njjcmar.clients.pavlovmedia.com)
2020-12-27 08:10:39 +0100chang(~textual@host-173-230-65-85.njjcmar.clients.pavlovmedia.com) (Client Quit)
2020-12-27 08:12:57 +0100LaGoon_(~LaGoon@51.194.80.91) (Ping timeout: 265 seconds)
2020-12-27 08:13:24 +0100Mikagami(~MOSCOS@122.54.107.175) (Remote host closed the connection)
2020-12-27 08:13:50 +0100Mikagami(~MOSCOS@122.54.107.175)
2020-12-27 08:13:56 +0100olligobber(~olligobbe@unaffiliated/olligobber) (Ping timeout: 240 seconds)
2020-12-27 08:15:12 +0100 <whataday> data Jaon = String String | Int Int | List [Json] | Map String Json
2020-12-27 08:15:42 +0100 <whataday> how to parse "{"a": {"b": 1}}" to Map "a" (Map "b" (Int 1))
2020-12-27 08:17:10 +0100 <whataday> how to use parse recursive?
2020-12-27 08:18:13 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds)
2020-12-27 08:22:14 +0100takuan(~takuan@178-116-218-225.access.telenet.be)
2020-12-27 08:24:03 +0100ransom(~c4264035@70-59-31-144.hlrn.qwest.net) (Quit: Textual IRC Client: www.textualapp.com)
2020-12-27 08:24:06 +0100gzj(~gzj@unaffiliated/gzj) (Remote host closed the connection)
2020-12-27 08:24:26 +0100gzj(~gzj@unaffiliated/gzj)
2020-12-27 08:25:33 +0100xcmw(~textual@2601:541:4404:bb5c:bdbe:6686:7b89:115d)
2020-12-27 08:26:10 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-12-27 08:26:21 +0100 <Maxdamantus> That's a funny map representation.
2020-12-27 08:26:40 +0100 <Maxdamantus> wonder if it was meant to be `Map [(String, Json)]`
2020-12-27 08:26:57 +0100 <Maxdamantus> or `Map (M.Map String Json)`
2020-12-27 08:28:10 +0100 <koz_> Or Map (HashMap Text Json).
2020-12-27 08:28:35 +0100 <Maxdamantus> Hopefully not that.
2020-12-27 08:28:44 +0100ishutin_(~Ishutin@92-249-150-129.static.digikabel.hu) (Remote host closed the connection)
2020-12-27 08:29:12 +0100 <Maxdamantus> aiui `Text` is not a sufficient representation for JSON strings.
2020-12-27 08:29:38 +0100 <koz_> Maxdamantus: Uhh, given that this is more-or-less verbatim the Aeson representation, I would _love_ to know why.
2020-12-27 08:29:56 +0100 <Maxdamantus> Doesn't `Text` only represent well-formed Unicode strings?
2020-12-27 08:30:06 +0100 <Maxdamantus> JSON strings are sequences of 16-bit code units.
2020-12-27 08:30:17 +0100 <Maxdamantus> Not necessarily well-formed Unicode.
2020-12-27 08:30:35 +0100 <koz_> How would that make String any more suitable?
2020-12-27 08:30:49 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 246 seconds)
2020-12-27 08:31:36 +0100 <whataday> Map [(String, Json)] is better than mine
2020-12-27 08:31:36 +0100 <Maxdamantus> Because you can at least map the ill-formed Unicode strings to `String`
2020-12-27 08:31:58 +0100 <whataday> I'd like how to parse recursive stuff?
2020-12-27 08:32:02 +0100 <Maxdamantus> eg, "\ud800" just maps to "\55296"
2020-12-27 08:32:24 +0100 <koz_> Maxdamantus: In that case, I have to wonder why the authors of Aeson thought this OK.
2020-12-27 08:32:30 +0100nullniverse(~null@unaffiliated/nullniverse)
2020-12-27 08:32:48 +0100 <koz_> I'd be the first person to admit not knowing the vagarities of Unicode or JSON, but that sounds like a _terrifying_ omission if what you're saying is correct.
2020-12-27 08:33:04 +0100 <Maxdamantus> People make mistakes due to historic handling of Unicode. Sometimes they can be fixed.
2020-12-27 08:33:18 +0100 <Maxdamantus> https://github.com/tc39/ecma262/issues/944
2020-12-27 08:34:12 +0100 <Maxdamantus> It will still be hacky when representing JSON strings as `String`, but at least you have a sensible round trip.
2020-12-27 08:34:28 +0100 <Maxdamantus> Presumably Aeson will just fail to parse some JSON strings.
2020-12-27 08:34:38 +0100 <Maxdamantus> (like the one I wrote above)
2020-12-27 08:34:44 +0100 <koz_> I honestly dunno, but that sounds like a pretty scary omission to me.
2020-12-27 08:35:21 +0100 <koz_> But Aeson uses Text pretty much everywhere anything string-like is dealt with vis-a-vis JSON.
2020-12-27 08:35:49 +0100 <whataday> actually I wonder if we can parse a json string to a type? like {"a":1} to Map<String, Int>
2020-12-27 08:36:16 +0100 <Maxdamantus> It's not so much scary, but the sort of issue that is typical of systems designed around UTF-16. You can see that I pointed out a similar issue with `JSON.stringify` in JS itself.
2020-12-27 08:36:41 +0100 <whataday> {"a": {"b": 2}} to Map<String, Map<String, Int>>
2020-12-27 08:36:53 +0100 <koz_> Text uses UTF-16 internally.
2020-12-27 08:37:10 +0100 <koz_> whataday: How are you parsing? The answer will depend on that not least of all.
2020-12-27 08:37:13 +0100 <Maxdamantus> (they've since addressed that in the standard, so `JSON.stringify` should now have a different behaviour, meaning it can always get a round-trip to well-formed Unicode)
2020-12-27 08:37:30 +0100hackagefactor 1.1 - Factoring integers and polynomials https://hackage.haskell.org/package/factor-1.1 (JoeHurd)
2020-12-27 08:37:38 +0100 <whataday> koz_ parsec?
2020-12-27 08:38:03 +0100 <koz_> whataday: So you're rolling your own JSON parsing?
2020-12-27 08:38:27 +0100 <koz_> Maxdamantus: I wonder how many implementations will conform to this change.
2020-12-27 08:38:29 +0100 <koz_> Or how quickly.
2020-12-27 08:38:32 +0100 <whataday> yes
2020-12-27 08:39:09 +0100 <Maxdamantus> koz_: you mean the `JSON.stringify` change? I think it's been implemented Spidermonkey and V8 for a while, can't remember if it's enabled yet.
2020-12-27 08:39:11 +0100 <whataday> I know the raw json string, I know the definition type in haskell, I don't know how to transform
2020-12-27 08:39:33 +0100 <koz_> Maxdamantus: Yeah, but those aren't the only JSON parsers out there.
2020-12-27 08:39:37 +0100 <Maxdamantus> Seems to be enabled in Firefox.
2020-12-27 08:40:16 +0100 <Maxdamantus> and Chrome.
2020-12-27 08:40:50 +0100 <koz_> whataday: Without seeing how you wrote the JSON parsing logic, it's hard for me to answer.
2020-12-27 08:41:20 +0100 <Maxdamantus> The Aeson thing is probably trickier, since that's a case of simply emitting the wrong type of value.
2020-12-27 08:41:47 +0100 <Maxdamantus> (personally, I would argue that something like `Data.Text` is generally not what people should be using for text processing in pretty much all cases anyway)
2020-12-27 08:42:05 +0100gzj(~gzj@unaffiliated/gzj) (Remote host closed the connection)
2020-12-27 08:42:21 +0100 <koz_> Why do you think so?
2020-12-27 08:42:27 +0100gzj(~gzj@unaffiliated/gzj)
2020-12-27 08:42:52 +0100 <Maxdamantus> The best representation for strings would just be bytes, with the convention of using UTF-8 (or "WTF-8" for supporting UTF-16-based things, like this)
2020-12-27 08:43:12 +0100 <Maxdamantus> Because it's not clear what `Data.Text` tries to solve over any other representation.
2020-12-27 08:43:23 +0100 <Maxdamantus> it's just an unnecessarily restrictive representation of text.
2020-12-27 08:43:53 +0100 <koz_> Meaning a packed byte array in UTF-16?
2020-12-27 08:44:02 +0100 <koz_> (which is what I understand it to be)
2020-12-27 08:44:30 +0100 <Maxdamantus> Supposedly the UTF-16 bit is meant to be an implementation detail. `Data.Text` is for well-formed Unicode strings.
2020-12-27 08:44:47 +0100 <Maxdamantus> ie, sequences of Unicode scalar values.
2020-12-27 08:45:11 +0100 <koz_> But why do you consider this 'overly restrictive'?
2020-12-27 08:45:43 +0100wildlander(~wildlande@unaffiliated/wildlander)
2020-12-27 08:46:25 +0100 <Maxdamantus> It's incapable of representing the common external text formats, which are basically 8-bit sequences and 16-bit sequences.
2020-12-27 08:46:50 +0100 <Maxdamantus> A filename on Linux is a sequence of 8-bit units.
2020-12-27 08:46:59 +0100jamm(~jamm@unaffiliated/jamm)
2020-12-27 08:47:00 +0100 <Maxdamantus> A filename on Windows is a sequence of 16-bit units.
2020-12-27 08:47:19 +0100 <Maxdamantus> Using 8-bit strings, you can handle both quite nicely.
2020-12-27 08:47:58 +0100 <Maxdamantus> For the Windows filenames, you'll just use WTF-8, which lets you encode filenames containing ill-formed Unicode (which is allowed on Windows)
2020-12-27 08:49:00 +0100 <Maxdamantus> Similarly, filenames on Linux can also contain ill-formed Unicode.
2020-12-27 08:50:00 +0100 <Maxdamantus> And unless you're writing a font renderer, you probably don't actually care that it's ill-formed.
2020-12-27 08:51:17 +0100jamm(~jamm@unaffiliated/jamm) (Ping timeout: 260 seconds)
2020-12-27 08:51:32 +0100 <Maxdamantus> In the few cases where you need to do things based on Unicode, you can do just as well by treating the bytes as UTF-8 as much as you can and just allowing the ill-formed bytes to be passed through.
2020-12-27 08:52:44 +0100 <Maxdamantus> And there isn't even much point in trying to group things by code points (let alone assuming things to be scalar values), since even a "code point" doesn't represent a human-level character.
2020-12-27 08:53:40 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-12-27 08:53:50 +0100tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz)
2020-12-27 08:53:53 +0100 <Maxdamantus> "á" is two code points. "á" is one code point. Those should represent the same character, but I represented it in different ways. The `Data.Text` values will be different.
2020-12-27 08:54:28 +0100 <koz_> Maxdamantus: Different in the sense of 'different representation', or different in the sense of '(==)-ing them will give False'?
2020-12-27 08:54:43 +0100 <Maxdamantus> koz_: both.
2020-12-27 08:54:55 +0100 <Maxdamantus> > "á" == "á"
2020-12-27 08:54:58 +0100 <lambdabot> False
2020-12-27 08:55:16 +0100 <whataday> koz_ https://paste.ubuntu.com/p/Gkrzvh6H8B/
2020-12-27 08:55:19 +0100 <koz_> Maxdamantus: That would type as String, not Text.
2020-12-27 08:55:32 +0100 <Maxdamantus> koz_: you'll get the same result if you convert them to Text.
2020-12-27 08:56:10 +0100 <Maxdamantus> > Text.pack "á" == Text.pack "á"
2020-12-27 08:56:13 +0100 <lambdabot> error:
2020-12-27 08:56:13 +0100 <lambdabot> Not in scope: ‘Text.pack’
2020-12-27 08:56:13 +0100 <lambdabot> No module named ‘Text’ is imported.error:
2020-12-27 08:56:23 +0100 <Maxdamantus> Meh, however you do it.
2020-12-27 08:56:39 +0100 <koz_> % import qualified Data.Text as Text
2020-12-27 08:56:40 +0100 <yahb> koz_:
2020-12-27 08:56:43 +0100 <Maxdamantus> > Data.Text.pack "á" == Data.Text.pack "á"
2020-12-27 08:56:46 +0100 <lambdabot> error:
2020-12-27 08:56:46 +0100 <lambdabot> Not in scope: ‘Data.Text.pack’
2020-12-27 08:56:46 +0100 <lambdabot> No module named ‘Data.Text’ is imported.error:
2020-12-27 08:57:07 +0100 <koz_> % Text.pack "foo" == Text.pack "foo"
2020-12-27 08:57:07 +0100 <yahb> koz_: True
2020-12-27 08:57:16 +0100 <koz_> Maxdamantus: Try using yahb. ^
2020-12-27 08:57:26 +0100 <Maxdamantus> % import qualified Data.Text as Text
2020-12-27 08:57:26 +0100 <yahb> Maxdamantus:
2020-12-27 08:57:30 +0100 <Maxdamantus> % Text.pack "á" == Text.pack "á"
2020-12-27 08:57:30 +0100 <yahb> Maxdamantus: False
2020-12-27 08:57:57 +0100 <koz_> whataday: You want to do something similar to parseList, except you want a parser which can parse a pair of property key and property value. That'll give you a list of pairs.
2020-12-27 08:58:25 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2020-12-27 08:58:54 +0100 <koz_> I'm not sure how your parseList actually parses lists though, since nowhere does it specify how the contents of the stuff that isn't separators is handled.
2020-12-27 08:58:59 +0100Empry(~Empry@747405286.vpn.mgn.ru)
2020-12-27 08:59:06 +0100 <Maxdamantus> koz_: in case you haven't seen it yet: https://utf8everywhere.org/
2020-12-27 08:59:17 +0100 <koz_> Maxdamantus: I have! I'm a big fan of it actually.
2020-12-27 08:59:22 +0100 <Maxdamantus> koz_: haven't read that in a while, but I suspect it mostly aligns with my views.
2020-12-27 08:59:47 +0100Empry(~Empry@747405286.vpn.mgn.ru) (Client Quit)
2020-12-27 09:00:00 +0100 <Maxdamantus> Right, so `Data.Text` goes against that.
2020-12-27 09:00:03 +0100Empry(~Empry@747405286.vpn.mgn.ru)
2020-12-27 09:00:25 +0100 <Maxdamantus> for one, it's not even UTF-8, but even if it used UTF-8 internally, that article is not just advocating for UTF-8 as an implementation detail.
2020-12-27 09:00:36 +0100 <Maxdamantus> It's advocating for byte strings with UTF-8 as the convention.
2020-12-27 09:01:17 +0100 <koz_> So the equivalent would be to like, have Text be a newtype over ByteString essentially?
2020-12-27 09:01:40 +0100 <koz_> And then have functions related to UTF-8 defined over that.
2020-12-27 09:01:59 +0100 <koz_> (the fact that Text is not UTF-8 bothers me deeply, I can assure you)
2020-12-27 09:02:28 +0100 <Maxdamantus> Sure, but that's a bit different to what `Text` does.
2020-12-27 09:02:45 +0100 <Maxdamantus> Since `Text` is not a minimal wrapper around its internal representation. It hides its internal representation.
2020-12-27 09:02:48 +0100nbloomf(~nbloomf@2601:285:401:7490:119:c227:6928:4d26) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-12-27 09:03:35 +0100 <Maxdamantus> Unless they've changed it in the last couple of years, its internal representation is UTF-16 strings, but it doesn't provide direct access to the UTF-16 string. If you ask for the length, it gives you the number of code points, not the number of UTF-16 code units.
2020-12-27 09:04:28 +0100 <koz_> According to this: 2https://hackage.haskell.org/package/text-1.2.4.0/docs/src/Data.Text.Internal.html#Text, it's an array of Word16s.
2020-12-27 09:05:06 +0100 <koz_> Although A.Array is secretly this: https://hackage.haskell.org/package/text-1.2.4.0/docs/src/Data.Text.Array.html#Array
2020-12-27 09:06:15 +0100 <Maxdamantus> Right, an array of UTF-16 code units.
2020-12-27 09:06:57 +0100 <Maxdamantus> (or "secretly" where each UTF-16 code unit is two bytes in a `ByteArray`)
2020-12-27 09:07:22 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-12-27 09:07:27 +0100al3x27(~plovs@85.254.74.40)
2020-12-27 09:08:07 +0100 <Maxdamantus> https://hackage.haskell.org/package/text-1.2.4.0/docs/src/Data.Text.Internal.Fusion.Common.html#le…
2020-12-27 09:08:35 +0100 <Maxdamantus> So the `length` function unnecessarily loops through the array to figure out how long it actually is.
2020-12-27 09:09:02 +0100 <Maxdamantus> That notion of `length` is not actually useful.
2020-12-27 09:09:29 +0100hololeap(~hololeap@unaffiliated/hololeap)
2020-12-27 09:09:44 +0100 <koz_> Length in this case being 'number of code units'?
2020-12-27 09:09:53 +0100 <Maxdamantus> No, number of Unicode code points.
2020-12-27 09:10:11 +0100 <koz_> Ah, some of them need 2 code units, right?
2020-12-27 09:10:15 +0100 <koz_> (in UTF-16 anyway)
2020-12-27 09:10:51 +0100 <Maxdamantus> Counting Unicode code points is not useful for humans, and it's only useful for computers if they're using something that actually indexes Unicode code points, which nothing should be doing (cf. utf8everywhere)
2020-12-27 09:11:28 +0100 <Maxdamantus> Yes, because humans probably don't care that "á" is 2 code points. Any Hungarian human will just see it as a single character.
2020-12-27 09:11:50 +0100 <Maxdamantus> (Hungarian is one language that uses that letter)
2020-12-27 09:11:55 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 265 seconds)
2020-12-27 09:12:00 +0100 <koz_> I would argue that any _non_-Hungarian human would also see it as a single symbol.
2020-12-27 09:12:17 +0100 <Maxdamantus> Sure.
2020-12-27 09:13:17 +0100 <Maxdamantus> To some extent a human at least does care about the underlying representation size, since that's how much space is required to store it.
2020-12-27 09:13:47 +0100 <Maxdamantus> I might care whether my file is 1 MiB or 2 MiB.
2020-12-27 09:13:55 +0100 <koz_> Yes, that's definitely true.
2020-12-27 09:14:03 +0100 <tomsmeding> koz_: belated ":D" from your message of ~12.5 hours ago
2020-12-27 09:14:11 +0100 <koz_> tomsmeding: Yay! Time travel jokes!
2020-12-27 09:14:42 +0100 <Maxdamantus> So "á" is 3 bytes and "á" is 2 bytes.
2020-12-27 09:14:46 +0100 <ephemient> everything else kinda sucks
2020-12-27 09:14:55 +0100 <ephemient> counting grapheme clusters changes with different versions of Unicode
2020-12-27 09:14:59 +0100plateau(~plateau@51.194.80.91)
2020-12-27 09:15:48 +0100jamm(~jamm@unaffiliated/jamm)
2020-12-27 09:16:41 +0100 <ephemient> or heck, even geographic location
2020-12-27 09:17:20 +0100 <koz_> ephemient: Wait wat.
2020-12-27 09:17:39 +0100 <ephemient> [regional indicator T] [regional indicator W] is a single grapheme for most of the world, but every major OS disables that particular cluster in China
2020-12-27 09:18:17 +0100 <koz_> OK, I am simultaneously unsurprised to hear this, and horrified to hear this.
2020-12-27 09:19:37 +0100 <arahael> ephemient: Which regions are those? If that's say, Taiwan, then I'm unsurprised, but... Yeah... I find it rather inane. :(
2020-12-27 09:20:06 +0100 <ephemient> yes, that is the region code for Taiwan
2020-12-27 09:21:03 +0100 <koz_> arahael: The fact that I recognized this as Taiwan is why I'm unsurprised.
2020-12-27 09:21:11 +0100ranpoom(uid201163@gateway/web/irccloud.com/x-nmgbmotwdhwgtcby)
2020-12-27 09:21:48 +0100 <arahael> I _am_ curious though - what does china call that particular island?
2020-12-27 09:23:06 +0100rmk236(~lcampos@2a02:908:3616:b100:d0f7:308c:96bf:b55d)
2020-12-27 09:23:31 +0100 <ephemient> (possibly OT but) it is called Taiwan, but considered a province, not a country
2020-12-27 09:23:44 +0100 <Maxdamantus> I think they still call it Taiwan, but they consider it to be a province of China (as in their country)
2020-12-27 09:28:00 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-12-27 09:31:13 +0100 <ephemient> anyhow, just to be clear… I am from Taiwan and do believe in its continuing existence as an independent country, but wasn't trying to drag that into conversation here. just pointing out that Unicode is subject to crazy external variables like that
2020-12-27 09:31:40 +0100 <koz_> ephemient: Don't worry - I totally get the reason it was mentioned.
2020-12-27 09:31:55 +0100 <koz_> (and frankly, so far, it's been a really good learning experience for me!)
2020-12-27 09:32:03 +0100 <koz_> (it's 100% why I spend time in #haskell)
2020-12-27 09:33:35 +0100nullniverse(~null@unaffiliated/nullniverse) (Remote host closed the connection)
2020-12-27 09:35:19 +0100 <siraben> TIL TW isn't a regional indicator
2020-12-27 09:36:27 +0100aricon1(~aricon@178.239.168.171) (Remote host closed the connection)
2020-12-27 09:42:22 +0100heatsink(~heatsink@2600:1700:bef1:5e10:d66:2904:6201:20dc) (Remote host closed the connection)
2020-12-27 09:46:05 +0100Empry(~Empry@747405286.vpn.mgn.ru) (Read error: Connection reset by peer)
2020-12-27 09:47:05 +0100bliminse(~bliminse@host109-158-83-118.range109-158.btcentralplus.com) (Quit: leaving)
2020-12-27 09:48:11 +0100rmk236(~lcampos@2a02:908:3616:b100:d0f7:308c:96bf:b55d) (Quit: Leaving.)
2020-12-27 09:48:28 +0100rmk236(~lcampos@2a02:908:3616:b100:d0f7:308c:96bf:b55d)
2020-12-27 09:52:04 +0100tzlil(~tzlil@unaffiliated/tzlil) (Ping timeout: 256 seconds)
2020-12-27 09:53:20 +0100tzlil(~tzlil@unaffiliated/tzlil)
2020-12-27 09:56:06 +0100Lowl3v3l(~Lowl3v3l@dslb-084-062-101-233.084.062.pools.vodafone-ip.de) (Quit: Leaving.)
2020-12-27 09:57:10 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:f0ca:b34:ab31:1410)
2020-12-27 09:58:04 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:f0ca:b34:ab31:1410) (Remote host closed the connection)
2020-12-27 09:58:58 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:f0ca:b34:ab31:1410)
2020-12-27 10:02:16 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
2020-12-27 10:02:41 +0100 <arahael> ephemient: Ah, I'm going to assume that Taiwan as a province, vs Taiwan as a country, has a slightly different glyph, then?
2020-12-27 10:03:13 +0100 <arahael> ephemient: And I realise, I am aware of the politics involved, indeed (sadly) no need to drag that into here, I agree.
2020-12-27 10:03:37 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:f0ca:b34:ab31:1410) (Ping timeout: 260 seconds)
2020-12-27 10:06:17 +0100 <ephemient> there is no glyph for taiwan-as-a-province. 🇹🇼 is taiwan-as-a-country
2020-12-27 10:07:12 +0100 <arahael> Ah, I see.
2020-12-27 10:07:21 +0100heatsink(~heatsink@2600:1700:bef1:5e10:2d7a:8bca:7799:994c)
2020-12-27 10:07:36 +0100 <arahael> Interesting. In Australia, we have flags for each state, in addition to a country flag. I'm not sure if all those are part of unicode.
2020-12-27 10:08:12 +0100 <ephemient> technically there are 1-character abbreviations for every Chinese province, and under that system it would be 台, but that's not what 🇹‌🇼 would display
2020-12-27 10:08:20 +0100 <arahael> Ah, interestingly - it is: 🏴󠁡󠁵󠁮󠁳󠁷󠁿 (But it displays incorrectly)
2020-12-27 10:08:48 +0100 <arahael> (Should look kind of like https://en.wikipedia.org/wiki/Flag_of_New_South_Wales )
2020-12-27 10:09:00 +0100 <arahael> ephemient: Fascinating.
2020-12-27 10:09:12 +0100 <arahael> There are _always_ weird edge cases with very interesting stories behind them.
2020-12-27 10:11:29 +0100hackageprettyprinter-compat-annotated-wl-pprint 1.1 - Drop-in compatibility package to migrate from »annotated-wl-pprint« to »prettyprinter«. https://hackage.haskell.org/package/prettyprinter-compat-annotated-wl-pprint-1.1 (sjakobi)
2020-12-27 10:11:55 +0100 <arahael> ephemient: ANyway, so I was assuming that china also had flags for the various provinces as well!
2020-12-27 10:12:22 +0100heatsink(~heatsink@2600:1700:bef1:5e10:2d7a:8bca:7799:994c) (Ping timeout: 260 seconds)
2020-12-27 10:13:39 +0100 <ephemient> they do not, by law (!!) and even if they did, there's no way China would accept a flag for Taiwan before the others…
2020-12-27 10:15:34 +0100 <arahael> Interesting, and yeah, indeed. I suspect in Australia's case, this is British influence (Ie, being a Naval empire at the time)
2020-12-27 10:15:56 +0100 <arahael> Australia used to be separate "colonies" - practically separate countries.
2020-12-27 10:16:04 +0100 <ephemient> well okay, more edge cases… Hong Kong 🇭🇰 and Macau 🇲🇴 have flags, but those are kind of special cases
2020-12-27 10:16:07 +0100 <arahael> So perhaps that's why.
2020-12-27 10:16:13 +0100jamm(~jamm@unaffiliated/jamm) (Remote host closed the connection)
2020-12-27 10:16:32 +0100 <arahael> Ah, interesting - I notice those are also island nations, aren't they?
2020-12-27 10:17:11 +0100 <arahael> Well, "nation" being a poor choice of word, but they'd have had to have considerable time on the ocean.
2020-12-27 10:17:51 +0100 <ephemient> never nations in their own right; they were taken and held by foreign powers before being "returned" to China
2020-12-27 10:18:08 +0100Tuplanolla(~Tuplanoll@91-159-68-239.elisa-laajakaista.fi)
2020-12-27 10:18:35 +0100 <arahael> Ah - are they perchance their "original" flags?
2020-12-27 10:18:58 +0100 <arahael> Kept for essentially business reasons on the sea.
2020-12-27 10:20:11 +0100 <ephemient> no, these are their current representation, as they are supposedly autonomous due to the terms of their return (not completely true, but…)
2020-12-27 10:21:09 +0100hollisb(~hollisb@139.28.218.235)
2020-12-27 10:21:55 +0100 <arahael> The more I learn about china, the more I learn that the different groups (throughout china!) are many and varied, it's really a fascinating country, I was focusing on the flags, though. :) Anyway, I think I've gone off-topic enough here, though happy for you to DM if you want to chat more.
2020-12-27 10:22:30 +0100 <ephemient> sure, I have been trying to be somewhat restrained here :D
2020-12-27 10:23:31 +0100 <arahael> No worries. :D Yeah, it's tricky, especially in my case as I'm not chinese.
2020-12-27 10:23:40 +0100 <arahael> (Or perhaps even despite that)
2020-12-27 10:25:24 +0100_ht(~quassel@82-169-194-8.biz.kpn.net)
2020-12-27 10:26:59 +0100pavonia(~user@unaffiliated/siracusa) (Read error: Connection reset by peer)
2020-12-27 10:29:03 +0100pjb(~t@2a01cb04063ec5009cc234517582f902.ipv6.abo.wanadoo.fr)
2020-12-27 10:30:04 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-12-27 10:31:10 +0100drbean(~drbean@TC210-63-209-25.static.apol.com.tw) (Ping timeout: 256 seconds)
2020-12-27 10:31:56 +0100pavonia(~user@unaffiliated/siracusa)
2020-12-27 10:33:58 +0100revtintin(~revtintin@42.61.242.247) (Quit: WeeChat 1.9.1)
2020-12-27 10:35:37 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds)
2020-12-27 10:37:35 +0100hnOsmium0001(uid453710@gateway/web/irccloud.com/x-yqhkburhkutpkobh) (Quit: Connection closed for inactivity)
2020-12-27 10:38:00 +0100jamm(~jamm@unaffiliated/jamm)
2020-12-27 10:40:43 +0100jb55(~jb55@gateway/tor-sasl/jb55) (Ping timeout: 240 seconds)
2020-12-27 10:42:03 +0100jb55(~jb55@gateway/tor-sasl/jb55)
2020-12-27 10:43:50 +0100leah2(~leah@vuxu.org) (Ping timeout: 264 seconds)
2020-12-27 10:46:24 +0100 <toppler> Any experienced pipes users about? I'd like to know how to witness a category "Proxy x' x a b m r" where x', x m and r are held fixed. The idea is that composition hooks up the ends of the upstream. So I can then take a "Server a b m r" and a "Producer a m r" and obtain a "Producer b m r", where the input producer feeds the server to obtain its outputs.
2020-12-27 10:46:38 +0100 <toppler> *hooks up the ends of the downstream
2020-12-27 10:47:56 +0100hollisb(~hollisb@139.28.218.235) (Ping timeout: 240 seconds)
2020-12-27 10:57:24 +0100leah2(~leah@vuxu.org)
2020-12-27 10:59:30 +0100gzj(~gzj@unaffiliated/gzj) (Ping timeout: 256 seconds)
2020-12-27 11:06:31 +0100coot(~coot@37.30.55.131.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
2020-12-27 11:07:28 +0100coot(~coot@37.30.55.131.nat.umts.dynamic.t-mobile.pl)
2020-12-27 11:07:45 +0100Saukk(~Saukk@2001:998:ec:954:1c59:9bb5:b94c:3) (Remote host closed the connection)
2020-12-27 11:09:45 +0100Torro(Torro@gateway/vpn/protonvpn/torro)
2020-12-27 11:09:47 +0100 <Torro> Hello
2020-12-27 11:10:38 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-12-27 11:11:53 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:f0ca:b34:ab31:1410)
2020-12-27 11:12:45 +0100Lowl3v3l(~Lowl3v3l@dslb-084-062-101-233.084.062.pools.vodafone-ip.de)
2020-12-27 11:15:42 +0100axeman-(~axeman_@ip5f5af023.dynamic.kabel-deutschland.de)
2020-12-27 11:16:32 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:f0ca:b34:ab31:1410) (Ping timeout: 260 seconds)
2020-12-27 11:16:41 +0100acidjnk_new(~acidjnk@p200300d0c704e700e5445d72d706d0ae.dip0.t-ipconnect.de)
2020-12-27 11:17:14 +0100chris8142(~chris8142@srvnet-01-071.ikbnet.co.at)
2020-12-27 11:17:26 +0100wwwww(~wwwww@unaffiliated/wwwww) ("WeeChat 2.3")
2020-12-27 11:19:00 +0100hackagearch-hs 0.6.2.0 - Distribute hackage packages to archlinux https://hackage.haskell.org/package/arch-hs-0.6.2.0 (berberman)
2020-12-27 11:19:52 +0100axeman-(~axeman_@ip5f5af023.dynamic.kabel-deutschland.de) (Ping timeout: 246 seconds)
2020-12-27 11:20:07 +0100cosimone(~cosimone@93-47-228-249.ip115.fastwebnet.it)
2020-12-27 11:21:16 +0100 <gentauro> merijn: after adding `"-with-rtsopts=-N -qg"` to my .cabal file yesterday, I noticed that only one (out of 8) of my threads is doing work when my app executes …
2020-12-27 11:22:01 +0100sfvm(~sfvm@37.228.215.77) (Quit: Lost terminal)
2020-12-27 11:22:04 +0100 <gentauro> shouldn't `async` (`mapConcurrently`) use all the available `cores`/`threads` on a machine?
2020-12-27 11:23:47 +0100axeman-(~axeman_@2a02:8109:86c0:1f98:983e:b838:a39f:f660)
2020-12-27 11:24:45 +0100gzj(~gzj@unaffiliated/gzj)
2020-12-27 11:25:56 +0100jamm(~jamm@unaffiliated/jamm) (Remote host closed the connection)
2020-12-27 11:26:28 +0100Lowl3v3l(~Lowl3v3l@dslb-084-062-101-233.084.062.pools.vodafone-ip.de) (Quit: Leaving.)
2020-12-27 11:27:32 +0100Nipo1(~Nipo@217.146.82.202)
2020-12-27 11:27:50 +0100GirL28(~ilanekle@95.70.130.147)
2020-12-27 11:29:32 +0100kori(~kori@arrowheads/kori) (Quit: WeeChat 2.8)
2020-12-27 11:30:10 +0100fendor(~fendor@178.165.131.209.wireless.dyn.drei.com)
2020-12-27 11:30:25 +0100wei2912(~wei2912@unaffiliated/wei2912) (Remote host closed the connection)
2020-12-27 11:30:30 +0100Morendil(5a1d8753@lfbn-cae-1-426-83.w90-29.abo.wanadoo.fr)
2020-12-27 11:31:03 +0100Morendil(5a1d8753@lfbn-cae-1-426-83.w90-29.abo.wanadoo.fr) (Remote host closed the connection)
2020-12-27 11:31:42 +0100olligobber(olligobber@gateway/vpn/privateinternetaccess/olligobber)
2020-12-27 11:32:59 +0100 <c_wraith> I wouldn't expect that in most situations I'd want to use mapConcurrently
2020-12-27 11:33:08 +0100GirL28(~ilanekle@95.70.130.147) (Quit: � Www.Kelebek.Org Mutlaka Download Edin! Kelebek Final irc.kelebek.org �y wToprak �)
2020-12-27 11:33:09 +0100star_cloud(~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Remote host closed the connection)
2020-12-27 11:33:24 +0100star_cloud(~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com)
2020-12-27 11:34:10 +0100 <gentauro> c_wraith: I'm retrieving many (small JSON) files from a web server, so by using `curl` it takes forever, that's why I hope that using Haskell + `async` would minimize that (and it does)
2020-12-27 11:34:27 +0100 <c_wraith> yeah, I would expect that not to use multiple CPUs meaningfully
2020-12-27 11:34:28 +0100 <gentauro> but I would have thought that `async` on Haskell knew how to use all `cores`/`threads`
2020-12-27 11:34:44 +0100knupfer(~Thunderbi@i5E86B4B8.versanet.de)
2020-12-27 11:34:49 +0100 <c_wraith> why would you expect waiting on the network to use CPU time?
2020-12-27 11:34:52 +0100 <Rembane> gentauro: IIRc it does, but you need to enable them when you run the program and when you compile the program.
2020-12-27 11:35:34 +0100 <gentauro> Rembane: I guess this `"-with-rtsopts=-N -qg"` does it?
2020-12-27 11:38:36 +0100 <c_wraith> also, that's not enough options. You need to be compiling with -threaded if you want to use multiple cores. Though it really doesn't matter for this program.
2020-12-27 11:38:56 +0100 <gentauro> c_wraith: I have the `-threaded` flag
2020-12-27 11:38:58 +0100 <Rembane> gentauro: Yeah, and what c_wraith said. How many threads do you start?
2020-12-27 11:39:25 +0100 <c_wraith> But mostly, the relevant part is: why do you expect this to use significant CPU on multiple cores?
2020-12-27 11:39:43 +0100 <c_wraith> If all you're doing concurrently is downloading, that's basically 0 cpu
2020-12-27 11:40:09 +0100 <Rembane> I would nuance it to say that it's the IO part of the CPU if you look at it in top, but it is clearly an IO bound operation
2020-12-27 11:41:25 +0100Cthalupa(~cthulhu@47.186.47.75) (Ping timeout: 240 seconds)
2020-12-27 11:41:43 +0100 <c_wraith> also, -qg is turning the parallel gc off. So that's a good way to make load show on only one CPU
2020-12-27 11:42:00 +0100 <c_wraith> if the gc has any significant run time
2020-12-27 11:42:00 +0100gehmehgeh(~ircuser1@gateway/tor-sasl/gehmehgeh)
2020-12-27 11:42:45 +0100 <gentauro> 11:38 < Rembane> gentauro: Yeah, and what c_wraith said. How many threads do you start?
2020-12-27 11:42:48 +0100 <gentauro> how can I see this?
2020-12-27 11:43:08 +0100Cthalupa(~cthulhu@47.186.47.75)
2020-12-27 11:43:13 +0100star_cloud(~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Excess Flood)
2020-12-27 11:43:23 +0100cosimone(~cosimone@93-47-228-249.ip115.fastwebnet.it) (Quit: cosimone)
2020-12-27 11:44:27 +0100star_cloud(~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com)
2020-12-27 11:44:37 +0100vfaronov(~vfaronov@broadband-95-84-210-78.ip.moscow.rt.ru)
2020-12-27 11:44:49 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2020-12-27 11:45:01 +0100 <Rembane> gentauro: Every async-call creates a new thread, otherwise I don't know.
2020-12-27 11:45:28 +0100Varis(~Tadas@unaffiliated/varis) (Remote host closed the connection)
2020-12-27 11:45:38 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-12-27 11:46:59 +0100Sgeo(~Sgeo@ool-18b98aa4.dyn.optonline.net) (Read error: Connection reset by peer)
2020-12-27 11:49:27 +0100 <gentauro> Rembane: I don't think lightweith threads created by async will appear in `htop`
2020-12-27 11:49:33 +0100 <gentauro> (unless I'm mistaken)
2020-12-27 11:49:37 +0100cosimone(~cosimone@2001:b07:ae5:db26:1fb3:ef3f:ece2:c6f8)
2020-12-27 11:50:57 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2020-12-27 11:52:43 +0100knupfer(~Thunderbi@i5E86B4B8.versanet.de) (Quit: knupfer)
2020-12-27 11:52:45 +0100knupfer1(~Thunderbi@200116b82ce1390011c2e96866d4c980.dip.versatel-1u1.de)
2020-12-27 11:52:55 +0100 <Rembane> gentauro: No they won't, they are internal to GHC. GHC will start OS threads equal to the number of cores on the computer.
2020-12-27 11:52:57 +0100cads2(~cads@ip-64-72-99-232.lasvegas.net) (Read error: Connection reset by peer)
2020-12-27 11:53:09 +0100cads2(~cads@ip-64-72-99-232.lasvegas.net)
2020-12-27 11:53:33 +0100cads(~cads@ip-64-72-99-232.lasvegas.net) (Read error: Connection reset by peer)
2020-12-27 11:53:35 +0100knupfer1(~Thunderbi@200116b82ce1390011c2e96866d4c980.dip.versatel-1u1.de) (Client Quit)
2020-12-27 11:53:44 +0100knupfer(~Thunderbi@200116b82ce139007d4c30859b33405f.dip.versatel-1u1.de)
2020-12-27 11:54:07 +0100knupfer(~Thunderbi@200116b82ce139007d4c30859b33405f.dip.versatel-1u1.de) (Client Quit)
2020-12-27 11:54:15 +0100cads(~cads@ip-64-72-99-232.lasvegas.net)
2020-12-27 11:54:16 +0100knupfer(~Thunderbi@200116b82ce13900e9b9c54daa57559b.dip.versatel-1u1.de)
2020-12-27 11:58:15 +0100m0rphism(~m0rphism@HSI-KBW-085-216-104-059.hsi.kabelbw.de)
2020-12-27 12:00:00 +0100Lowl3v3l(~Lowl3v3l@dslb-084-062-101-233.084.062.pools.vodafone-ip.de)
2020-12-27 12:00:43 +0100xcmw(~textual@2601:541:4404:bb5c:bdbe:6686:7b89:115d) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-12-27 12:03:06 +0100knupfer(~Thunderbi@200116b82ce13900e9b9c54daa57559b.dip.versatel-1u1.de) (Quit: knupfer)
2020-12-27 12:03:10 +0100 <gentauro> Rembane: that's my understanding
2020-12-27 12:03:20 +0100knupfer(~Thunderbi@200116b82ce13900c903e21a51e6c26c.dip.versatel-1u1.de)
2020-12-27 12:03:44 +0100 <gentauro> btw, anybody using `lsp` in `emacs`? How do I restart it? Sometimes it just hangs and doesn't really get updated when I make changes to some other modules …
2020-12-27 12:04:30 +0100knupfer(~Thunderbi@200116b82ce13900c903e21a51e6c26c.dip.versatel-1u1.de) (Client Quit)
2020-12-27 12:04:35 +0100ADG1089__(~aditya@223.235.213.117)
2020-12-27 12:04:39 +0100knupfer(~Thunderbi@200116b82ce13900058f81f4b372c6ff.dip.versatel-1u1.de)
2020-12-27 12:07:52 +0100rmk236(~lcampos@2a02:908:3616:b100:d0f7:308c:96bf:b55d) (Quit: Leaving.)
2020-12-27 12:08:31 +0100heatsink(~heatsink@2600:1700:bef1:5e10:2d7a:8bca:7799:994c)
2020-12-27 12:08:40 +0100rmk236(~lcampos@ip-37-201-211-236.hsi13.unitymediagroup.de)
2020-12-27 12:09:24 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:f0ca:b34:ab31:1410)
2020-12-27 12:10:19 +0100cosimone(~cosimone@2001:b07:ae5:db26:1fb3:ef3f:ece2:c6f8) ("Ciao!")
2020-12-27 12:10:22 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:f0ca:b34:ab31:1410) (Remote host closed the connection)
2020-12-27 12:13:05 +0100gzj(~gzj@unaffiliated/gzj) (Remote host closed the connection)
2020-12-27 12:13:14 +0100heatsink(~heatsink@2600:1700:bef1:5e10:2d7a:8bca:7799:994c) (Ping timeout: 264 seconds)
2020-12-27 12:13:25 +0100gzj(~gzj@unaffiliated/gzj)
2020-12-27 12:13:26 +0100Franciman(~francesco@host-82-49-79-73.retail.telecomitalia.it)
2020-12-27 12:14:28 +0100Varis(~Tadas@unaffiliated/varis)
2020-12-27 12:16:31 +0100christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-12-27 12:16:48 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:f0ca:b34:ab31:1410)
2020-12-27 12:19:48 +0100knupfer(~Thunderbi@200116b82ce13900058f81f4b372c6ff.dip.versatel-1u1.de) (Ping timeout: 260 seconds)
2020-12-27 12:21:09 +0100hexo(~hexo@gateway/tor-sasl/hexo) (Remote host closed the connection)
2020-12-27 12:21:17 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:f0ca:b34:ab31:1410) (Ping timeout: 260 seconds)
2020-12-27 12:21:26 +0100hexo(~hexo@gateway/tor-sasl/hexo)
2020-12-27 12:22:25 +0100ADG1089__(~aditya@223.235.213.117) (Remote host closed the connection)
2020-12-27 12:25:23 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-12-27 12:33:32 +0100rmk236(~lcampos@ip-37-201-211-236.hsi13.unitymediagroup.de) (Ping timeout: 272 seconds)
2020-12-27 12:34:28 +0100rmk236(~lcampos@2a02:908:3616:b100:d0f7:308c:96bf:b55d)
2020-12-27 12:41:23 +0100ClaudiusMaximus(~claude@196.67.6.51.dyn.plus.net)
2020-12-27 12:41:23 +0100ClaudiusMaximus(~claude@196.67.6.51.dyn.plus.net) (Changing host)
2020-12-27 12:41:23 +0100ClaudiusMaximus(~claude@unaffiliated/claudiusmaximus)
2020-12-27 12:43:07 +0100gzj(~gzj@unaffiliated/gzj) (Remote host closed the connection)
2020-12-27 12:43:22 +0100Tops2(~Tobias@dyndsl-095-033-027-251.ewe-ip-backbone.de)
2020-12-27 12:43:27 +0100gzj(~gzj@unaffiliated/gzj)
2020-12-27 12:46:36 +0100chris8142(~chris8142@srvnet-01-071.ikbnet.co.at) (Quit: WeeChat 3.0)
2020-12-27 12:48:16 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:f0ca:b34:ab31:1410)
2020-12-27 12:48:19 +0100 <ij> is hashmap not a hashtable? why is this O(log n)? https://hackage.haskell.org/package/unordered-containers-0.2.13.0/docs/Data-HashMap-Strict.html#v:…
2020-12-27 12:52:49 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:f0ca:b34:ab31:1410) (Ping timeout: 268 seconds)
2020-12-27 12:53:21 +0100axeman-(~axeman_@2a02:8109:86c0:1f98:983e:b838:a39f:f660) (Remote host closed the connection)
2020-12-27 12:55:04 +0100 <tomsmeding> ij: it's a tree map where the key is a hash of your actual key
2020-12-27 12:55:31 +0100 <tomsmeding> but because it then knows the key is an integer, it should be able to do quite a bit better than just a Map
2020-12-27 12:55:37 +0100 <tomsmeding> i.e. like IntMap
2020-12-27 12:55:54 +0100 <ij> I want to solve computational puzzles, so I need O(1) for really fast lookups
2020-12-27 12:56:04 +0100 <tomsmeding> it could theoretically have O(1) lookup, but then an array could too
2020-12-27 12:56:17 +0100 <tomsmeding> it can't have O(1) update, because it's still a pure, persistent data structure
2020-12-27 12:56:39 +0100 <ij> only for lookups :) updates can be quite slow
2020-12-27 12:56:42 +0100 <tomsmeding> what about an array, possibly indexed by a hash?
2020-12-27 12:57:16 +0100 <ij> I guess that wold work, if I check that hash % arraySize never clashes
2020-12-27 12:57:30 +0100 <ij> or I could just offload that to HashTable
2020-12-27 12:58:02 +0100 <tomsmeding> one reasonable way to implement a hashtable in an impure setting is an array with a tree map for each non-unique value
2020-12-27 12:58:06 +0100 <tomsmeding> s/value/key/
2020-12-27 12:58:20 +0100 <tomsmeding> but quadratic indexing is better; perhaps there's already a library for this :)
2020-12-27 12:58:28 +0100 <int-e> there's https://hackage.haskell.org/package/hashtables
2020-12-27 12:58:37 +0100 <ij> what's quadtratic indexing?
2020-12-27 12:59:07 +0100 <tomsmeding> sorry, quadratic probing
2020-12-27 12:59:13 +0100 <tomsmeding> that's a keyword that will give results
2020-12-27 12:59:36 +0100 <ij> I'll take a look
2020-12-27 12:59:46 +0100tomsmedinggoes for lunch, will be back in a while
2020-12-27 12:59:50 +0100 <ij> ok, I have to join my friends / sunshine enjoyers
2020-12-27 13:05:09 +0100 <c_wraith> ij: it's not like there's such a thing as an O(1) hash table anyway. Every claim to the contrary is ignoring the cost of hashing, which seems like magical thinking
2020-12-27 13:07:10 +0100drbean(~drbean@TC210-63-209-213.static.apol.com.tw)
2020-12-27 13:09:01 +0100gzj(~gzj@unaffiliated/gzj) (Remote host closed the connection)
2020-12-27 13:09:20 +0100gzj(~gzj@unaffiliated/gzj)
2020-12-27 13:09:54 +0100heatsink(~heatsink@2600:1700:bef1:5e10:2d7a:8bca:7799:994c)
2020-12-27 13:11:00 +0100hackagestomp-queue 0.5.0 - Stompl Client Library https://hackage.haskell.org/package/stomp-queue-0.5.0 (TobiasSchoofs)
2020-12-27 13:11:07 +0100gzj(~gzj@unaffiliated/gzj) (Remote host closed the connection)
2020-12-27 13:11:26 +0100gzj(~gzj@unaffiliated/gzj)
2020-12-27 13:12:54 +0100rayyyy(~nanoz@gateway/tor-sasl/nanoz) (Remote host closed the connection)
2020-12-27 13:13:19 +0100rayyyy(~nanoz@gateway/tor-sasl/nanoz)
2020-12-27 13:13:58 +0100axeman-(~axeman_@ip5f5af023.dynamic.kabel-deutschland.de)
2020-12-27 13:14:26 +0100heatsink(~heatsink@2600:1700:bef1:5e10:2d7a:8bca:7799:994c) (Ping timeout: 264 seconds)
2020-12-27 13:14:59 +0100mnrmnaugh(~mnrmnaugh@unaffiliated/mnrmnaugh)
2020-12-27 13:15:49 +0100gekh(~gkh@thor.kevinhill.nl) (Ping timeout: 260 seconds)
2020-12-27 13:17:58 +0100Tops21(~Tobias@dyndsl-095-033-027-251.ewe-ip-backbone.de)
2020-12-27 13:18:25 +0100hiroaki_(~hiroaki@ip4d168e73.dynamic.kabel-deutschland.de) (Ping timeout: 265 seconds)
2020-12-27 13:18:44 +0100axeman-(~axeman_@ip5f5af023.dynamic.kabel-deutschland.de) (Ping timeout: 260 seconds)
2020-12-27 13:21:48 +0100Tops2(~Tobias@dyndsl-095-033-027-251.ewe-ip-backbone.de) (Ping timeout: 265 seconds)
2020-12-27 13:22:21 +0100gekh(~gkh@thor.kevinhill.nl)
2020-12-27 13:27:53 +0100tzlil(~tzlil@unaffiliated/tzlil) (Ping timeout: 272 seconds)
2020-12-27 13:28:55 +0100tzlil(~tzlil@unaffiliated/tzlil)
2020-12-27 13:30:30 +0100hackagestompl 0.6.0 - Stomp Parser and Utilities https://hackage.haskell.org/package/stompl-0.6.0 (TobiasSchoofs)
2020-12-27 13:34:16 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2020-12-27 13:34:29 +0100hackageSTMonadTrans 0.4.5 - A monad transformer version of the ST monad https://hackage.haskell.org/package/STMonadTrans-0.4.5 (JosefSvenningsson)
2020-12-27 13:34:43 +0100 <tomsmeding> ij: you have sunshine? christmas in NL this year is storm and rain lol
2020-12-27 13:36:32 +0100tzlil(~tzlil@unaffiliated/tzlil) (Ping timeout: 260 seconds)
2020-12-27 13:36:45 +0100tzlil(~tzlil@unaffiliated/tzlil)
2020-12-27 13:37:52 +0100 <tomsmeding> ij: resolving collisions with a Map for each key is already implemented in this package apparently: https://hackage.haskell.org/package/static-hash-0.0.1/docs/Data-StaticHash.html (very short source code, so please read before using)
2020-12-27 13:39:10 +0100hexfive(~hexfive@50-47-142-195.evrt.wa.frontiernet.net) (Quit: i must go. my people need me.)
2020-12-27 13:39:40 +0100axeman-(~axeman_@2a02:8109:86c0:1f98:983e:b838:a39f:f660)
2020-12-27 13:39:42 +0100 <tomsmeding> I don't see where its apparent "O(N)" complexity in the worst case would come from; I'd expect that to be log(N)
2020-12-27 13:40:27 +0100awk(~mnrmnaugh@unaffiliated/mnrmnaugh)
2020-12-27 13:41:49 +0100hiroaki_(~hiroaki@ip4d16fa3b.dynamic.kabel-deutschland.de)
2020-12-27 13:45:58 +0100StoneToad(~StoneToad@104-192-232-50.ppp.storm.ca) (Ping timeout: 265 seconds)
2020-12-27 13:46:57 +0100StoneToad(~StoneToad@104-192-232-50.ppp.storm.ca)
2020-12-27 13:48:07 +0100gzj(~gzj@unaffiliated/gzj) (Remote host closed the connection)
2020-12-27 13:48:27 +0100gzj(~gzj@unaffiliated/gzj)
2020-12-27 13:55:13 +0100elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
2020-12-27 13:56:20 +0100Tops2(~Tobias@dyndsl-095-033-027-251.ewe-ip-backbone.de)
2020-12-27 13:56:29 +0100hackagestomp-queue 0.5.1 - Stompl Client Library https://hackage.haskell.org/package/stomp-queue-0.5.1 (TobiasSchoofs)
2020-12-27 13:59:36 +0100Tops21(~Tobias@dyndsl-095-033-027-251.ewe-ip-backbone.de) (Ping timeout: 240 seconds)
2020-12-27 14:04:01 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-12-27 14:04:13 +0100 <gentauro> somebody should rename `lsp` to `cookie-monster`, where cookie is RAM xD
2020-12-27 14:05:55 +0100knupfer(~Thunderbi@200116b82ce13900387740fffe8a4305.dip.versatel-1u1.de)
2020-12-27 14:06:30 +0100hackagetermonad 4.0.1.2 - Terminal emulator configurable in Haskell https://hackage.haskell.org/package/termonad-4.0.1.2 (cdepillabout)
2020-12-27 14:06:33 +0100knupfer(~Thunderbi@200116b82ce13900387740fffe8a4305.dip.versatel-1u1.de) (Remote host closed the connection)
2020-12-27 14:06:42 +0100knupfer(~Thunderbi@200116b82ce13900243e6c450a7c9cdd.dip.versatel-1u1.de)
2020-12-27 14:08:55 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds)
2020-12-27 14:10:29 +0100hackageindexed-traversable 0.1.1 - FunctorWithIndex, FoldableWithIndex, TraversableWithIndex https://hackage.haskell.org/package/indexed-traversable-0.1.1 (phadej)
2020-12-27 14:10:45 +0100heatsink(~heatsink@2600:1700:bef1:5e10:2d7a:8bca:7799:994c)
2020-12-27 14:11:30 +0100tomsmedingnomnomnomnomnomnomnom
2020-12-27 14:15:02 +0100heatsink(~heatsink@2600:1700:bef1:5e10:2d7a:8bca:7799:994c) (Ping timeout: 260 seconds)
2020-12-27 14:16:34 +0100axeman-(~axeman_@2a02:8109:86c0:1f98:983e:b838:a39f:f660) (Remote host closed the connection)
2020-12-27 14:16:41 +0100jmchael(~jmchael@81.174.205.210)
2020-12-27 14:17:06 +0100jamm(~jamm@unaffiliated/jamm)
2020-12-27 14:19:39 +0100aoei(~aoei@li2174-104.members.linode.com) (Quit: ZNC 1.7.5 - https://znc.in)
2020-12-27 14:20:56 +0100 <ij> c_wraith, O(1) lookup after hashing and I'm talking in contrast to O(log n) lookup
2020-12-27 14:21:14 +0100aoei(~aoei@li2174-104.members.linode.com)
2020-12-27 14:21:17 +0100 <c_wraith> that's magical thinking, alright.
2020-12-27 14:21:28 +0100 <ij> why?
2020-12-27 14:21:37 +0100pavonia(~user@unaffiliated/siracusa) (Quit: Bye!)
2020-12-27 14:21:39 +0100 <c_wraith> because you can't just not do the hashing
2020-12-27 14:22:41 +0100acarrico(~acarrico@dhcp-68-142-39-249.greenmountainaccess.net)
2020-12-27 14:22:56 +0100 <c_wraith> It's like saying a BST is O(1) when the element you're searching for is always the root
2020-12-27 14:23:15 +0100 <c_wraith> (or always a maximum depth from the root, even)
2020-12-27 14:23:35 +0100aoei(~aoei@li2174-104.members.linode.com) (Client Quit)
2020-12-27 14:24:42 +0100 <ij> tomsmeding, the sunshine is very occasional – but we sometimes get it :) in the baltics
2020-12-27 14:24:47 +0100 <ij> c_wraith, do you think I'm delusional or wrong?
2020-12-27 14:25:19 +0100 <c_wraith> I'm saying you're not paying attention to what actually matters: If you write the code, does it perform adequately?
2020-12-27 14:25:59 +0100 <ij> it's a computational puzzle...
2020-12-27 14:26:20 +0100 <ij> it does *not* perform adequately, I'm just trying to pick some low hanging fruit
2020-12-27 14:26:30 +0100hackagestomp-conduit 0.5.0 - Stompl Conduit Client https://hackage.haskell.org/package/stomp-conduit-0.5.0 (TobiasSchoofs)
2020-12-27 14:26:48 +0100 <c_wraith> so? log n is insignificant compared to constant factors unless n is huge
2020-12-27 14:27:49 +0100DirefulSalt(DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt) (Remote host closed the connection)
2020-12-27 14:28:11 +0100DirefulSalt(DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt)
2020-12-27 14:28:38 +0100 <c_wraith> If you accidentally have an extra O(n) factor, that quickly becomes a big deal. If you don't see one of those, you probably should be benchmarking.
2020-12-27 14:29:03 +0100 <ij> my solver is currently spending most of the time churning numbers
2020-12-27 14:29:07 +0100gzj(~gzj@unaffiliated/gzj) (Read error: Connection reset by peer)
2020-12-27 14:29:27 +0100gzj(~gzj@unaffiliated/gzj)
2020-12-27 14:29:35 +0100 <ij> it's hashing already anyway, because the computations are ineffective and were meant to be shoved into a lookup function
2020-12-27 14:30:10 +0100 <ij> if I can spend little ram which would speed up every cycle of the solver, I would be interested in seeing that
2020-12-27 14:30:20 +0100 <ij> gentauro, I mean cookies
2020-12-27 14:30:27 +0100Nipo1(~Nipo@217.146.82.202) (Remote host closed the connection)
2020-12-27 14:30:32 +0100 <int-e> Well, log_2(10^6) (say) is 20, which can be a quite noticable factor. On the other hand, O() is way too coarse for this comparison since it abstracts from constant factors and from small input sizes...
2020-12-27 14:31:08 +0100DavidEichmann(~david@2a01:4b00:ea36:d800:88d0:5df4:2a3a:eef9)
2020-12-27 14:33:18 +0100rayyyy(~nanoz@gateway/tor-sasl/nanoz) (Remote host closed the connection)
2020-12-27 14:34:31 +0100 <ij> O() being too coarse is a good point. one which I am never happy to remember about
2020-12-27 14:35:08 +0100 <ij> ok, the my lookup tables aren't big enough (though I have bigger ones in mind)
2020-12-27 14:35:45 +0100gzj(~gzj@unaffiliated/gzj) (Ping timeout: 240 seconds)
2020-12-27 14:36:04 +0100axeman-(~axeman_@2a02:8109:86c0:1f98:983e:b838:a39f:f660)
2020-12-27 14:36:48 +0100 <ij> Data.HashMap is has log_16 n – that means I probably won't gain much
2020-12-27 14:37:12 +0100 <ij> well, at least I can focus on other changes
2020-12-27 14:37:50 +0100justanotheruser(~justanoth@unaffiliated/justanotheruser) (Ping timeout: 264 seconds)
2020-12-27 14:38:37 +0100hiroaki_(~hiroaki@ip4d16fa3b.dynamic.kabel-deutschland.de) (Ping timeout: 264 seconds)
2020-12-27 14:41:03 +0100jess(jess@freenode/staff/jess)
2020-12-27 14:43:42 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-12-27 14:44:00 +0100hackagefp-ieee 0.1.0 - https://hackage.haskell.org/package/fp-ieee-0.1.0 (aratamizuki)
2020-12-27 14:44:33 +0100jamm(~jamm@unaffiliated/jamm) (Remote host closed the connection)
2020-12-27 14:44:39 +0100 <todda7> If you have a type List[X], what's the X called?
2020-12-27 14:45:17 +0100__monty__(~toonn@unaffiliated/toonn)
2020-12-27 14:46:16 +0100mmfood(~mmfood@45.91.21.48)
2020-12-27 14:47:31 +0100o1lo01ol1o(~o1lo01ol1@bl11-140-216.dsl.telepac.pt)
2020-12-27 14:47:50 +0100drbean(~drbean@TC210-63-209-213.static.apol.com.tw) (Ping timeout: 265 seconds)
2020-12-27 14:48:41 +0100jamm(~jamm@unaffiliated/jamm)
2020-12-27 14:49:29 +0100da39a3ee5e6b4b0d(~da39a3ee5@2403:6200:8876:f14e:453d:14dc:75b2:51ff)
2020-12-27 14:50:52 +0100hiroaki_(~hiroaki@ip4d168e73.dynamic.kabel-deutschland.de)
2020-12-27 14:51:00 +0100hackagerounded-hw 0.2.0 - Directed rounding for built-in floating types https://hackage.haskell.org/package/rounded-hw-0.2.0 (aratamizuki)
2020-12-27 14:52:40 +0100hololeap(~hololeap@unaffiliated/hololeap) (Remote host closed the connection)
2020-12-27 14:53:26 +0100jamm(~jamm@unaffiliated/jamm) (Ping timeout: 264 seconds)
2020-12-27 14:54:02 +0100jajm1(~jajm@5.253.204.132)
2020-12-27 14:54:14 +0100HarveyPwca(~HarveyPwc@c-98-220-98-201.hsd1.il.comcast.net) (Quit: Leaving)
2020-12-27 14:55:07 +0100L29Ah(~L29Ah@unaffiliated/l29ah) (Ping timeout: 246 seconds)
2020-12-27 14:55:25 +0100Foritus(~buggery@cpc91316-watf11-2-0-cust68.15-2.cable.virginm.net) (Ping timeout: 264 seconds)
2020-12-27 15:00:26 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:f0ca:b34:ab31:1410)
2020-12-27 15:01:12 +0100zebrag(~inkbottle@aaubervilliers-654-1-158-75.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!)
2020-12-27 15:01:32 +0100FreeBirdLjj(~freebirdl@101.80.150.113)
2020-12-27 15:02:22 +0100Entertainment(~entertain@104.246.132.210)
2020-12-27 15:03:59 +0100hackagehoogle 5.0.18.1 - Haskell API Search https://hackage.haskell.org/package/hoogle-5.0.18.1 (NeilMitchell)
2020-12-27 15:05:07 +0100zebrag(~inkbottle@aaubervilliers-654-1-158-75.w86-212.abo.wanadoo.fr)
2020-12-27 15:05:49 +0100axeman-(~axeman_@2a02:8109:86c0:1f98:983e:b838:a39f:f660) (Remote host closed the connection)
2020-12-27 15:06:22 +0100FreeBirdLjj(~freebirdl@101.80.150.113) (Ping timeout: 260 seconds)
2020-12-27 15:07:00 +0100hackagestomp-patterns 0.5.0 - Stompl MOM Stomp Patterns https://hackage.haskell.org/package/stomp-patterns-0.5.0 (TobiasSchoofs)
2020-12-27 15:10:29 +0100x3ff(~marco@2001:b07:5d29:9455:ee6c:ccd6:9676:7acc)
2020-12-27 15:11:02 +0100cads2(~cads@ip-64-72-99-232.lasvegas.net) (Ping timeout: 265 seconds)
2020-12-27 15:11:02 +0100cads(~cads@ip-64-72-99-232.lasvegas.net) (Ping timeout: 260 seconds)
2020-12-27 15:11:20 +0100troydm(~troydm@unaffiliated/troydm) (Quit: What is Hope? That all of your wishes and all of your dreams come true? To turn back time because things were not supposed to happen like that (C) Rau Le Creuset)
2020-12-27 15:12:21 +0100o1lo01ol1o(~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Remote host closed the connection)
2020-12-27 15:12:28 +0100p3n(~p3n@217.198.124.246)
2020-12-27 15:13:02 +0100troydm(~troydm@unaffiliated/troydm)
2020-12-27 15:14:26 +0100Mikagami(~MOSCOS@122.54.107.175) (Remote host closed the connection)
2020-12-27 15:14:50 +0100Mikagami(~MOSCOS@122.54.107.175)
2020-12-27 15:15:04 +0100olligobber(olligobber@gateway/vpn/privateinternetaccess/olligobber) (Quit: Leaving)
2020-12-27 15:16:53 +0100cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
2020-12-27 15:17:30 +0100xelxebar(~xelxebar@gateway/tor-sasl/xelxebar) (Quit: ZNC 1.7.2+deb3 - https://znc.in)
2020-12-27 15:17:32 +0100xelxebar_(~xelxebar@gateway/tor-sasl/xelxebar)
2020-12-27 15:17:45 +0100hexo(~hexo@gateway/tor-sasl/hexo) (Quit: ZNC 1.8.2 - https://znc.in)
2020-12-27 15:18:09 +0100hexo(~hexo@gateway/tor-sasl/hexo)
2020-12-27 15:18:12 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
2020-12-27 15:18:27 +0100jamm(~jamm@unaffiliated/jamm)
2020-12-27 15:19:03 +0100Unhammer(~Unhammer@gateway/tor-sasl/unhammer) (Ping timeout: 240 seconds)
2020-12-27 15:19:23 +0100gehmehgeh(~ircuser1@gateway/tor-sasl/gehmehgeh) (Ping timeout: 240 seconds)
2020-12-27 15:19:42 +0100DavidEichmann(~david@2a01:4b00:ea36:d800:88d0:5df4:2a3a:eef9) (Remote host closed the connection)
2020-12-27 15:19:43 +0100andreas303(~andreas@gateway/tor-sasl/andreas303) (Ping timeout: 240 seconds)
2020-12-27 15:19:43 +0100tomboy64(~tomboy64@gateway/tor-sasl/tomboy64) (Ping timeout: 240 seconds)
2020-12-27 15:19:43 +0100gxt(~gxt@gateway/tor-sasl/gxt) (Ping timeout: 240 seconds)
2020-12-27 15:20:01 +0100cantstanya(~chatting@gateway/tor-sasl/cantstanya) (Remote host closed the connection)
2020-12-27 15:20:21 +0100Unhammer(~Unhammer@gateway/tor-sasl/unhammer)
2020-12-27 15:20:23 +0100jb55(~jb55@gateway/tor-sasl/jb55) (Ping timeout: 240 seconds)
2020-12-27 15:20:39 +0100gxt(~gxt@gateway/tor-sasl/gxt)
2020-12-27 15:21:03 +0100denisse(~spaceCat@gateway/tor-sasl/alephzer0) (Ping timeout: 240 seconds)
2020-12-27 15:21:08 +0100gehmehgeh(~ircuser1@gateway/tor-sasl/gehmehgeh)
2020-12-27 15:21:10 +0100Ariakenom(~Ariakenom@2001:9b1:efb:fc00:c181:eb04:9440:8298)
2020-12-27 15:21:21 +0100tomboy64(~tomboy64@gateway/tor-sasl/tomboy64)
2020-12-27 15:21:47 +0100jb55(~jb55@gateway/tor-sasl/jb55)
2020-12-27 15:22:17 +0100cantstanya(~chatting@gateway/tor-sasl/cantstanya)
2020-12-27 15:22:23 +0100jpds(~jpds@gateway/tor-sasl/jpds) (Ping timeout: 240 seconds)
2020-12-27 15:23:14 +0100jpds(~jpds@gateway/tor-sasl/jpds)
2020-12-27 15:23:17 +0100toppler(~user@mtop.default.momentoftop.uk0.bigv.io) ("ERC (IRC client for Emacs 26.3)")
2020-12-27 15:23:30 +0100andreas303(~andreas@gateway/tor-sasl/andreas303)
2020-12-27 15:23:47 +0100ChaiTRex(~ChaiTRex@gateway/tor-sasl/chaitrex) (Remote host closed the connection)
2020-12-27 15:24:08 +0100ChaiTRex(~ChaiTRex@gateway/tor-sasl/chaitrex)
2020-12-27 15:24:39 +0100denisse(~spaceCat@gateway/tor-sasl/alephzer0)
2020-12-27 15:26:31 +0100axeman-(~axeman_@2a02:8109:86c0:1f98:983e:b838:a39f:f660)
2020-12-27 15:27:43 +0100p-core(~Thunderbi@2001:718:1e03:5128:3697:eeda:19aa:8e56)
2020-12-27 15:27:51 +0100mbeerrr(uid479833@gateway/web/irccloud.com/x-qnvbhdxpkhvlnjzo)
2020-12-27 15:28:11 +0100coot(~coot@37.30.55.131.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
2020-12-27 15:28:19 +0100toppler(~user@mtop.default.momentoftop.uk0.bigv.io)
2020-12-27 15:29:27 +0100christo(~chris@81.96.113.213)
2020-12-27 15:30:39 +0100 <tomsmeding> saying hash lookup is O(1) is not the same as saying BST lookup is O(1) "because the element is always in the root": the first assumes hashing time is negligible compared to the amount of elements in the collection, while the second makes an assumption about the distribution of queries
2020-12-27 15:30:50 +0100 <tomsmeding> if we're going to get pedantic :p
2020-12-27 15:30:53 +0100mbeerrr(uid479833@gateway/web/irccloud.com/x-qnvbhdxpkhvlnjzo) ()
2020-12-27 15:31:23 +0100axeman-(~axeman_@2a02:8109:86c0:1f98:983e:b838:a39f:f660) (Ping timeout: 272 seconds)
2020-12-27 15:31:44 +0100 <tomsmeding> c_wraith: ^
2020-12-27 15:33:20 +0100 <tomsmeding> ij: but yeah depending on how fast hashing is expected to be, a large enough read-only hashtable in the form of an array with some kind of in-table probing (not a map per key), where "large enough" means that the number of collisions is bounded by a very small constant, is expected to perform well on large collections
2020-12-27 15:33:34 +0100 <c_wraith> but that's nonsense. if you assume you can distribute n elements fairly evenly among O(n) buckets, your hash function must look at O(log n) bits.
2020-12-27 15:34:16 +0100 <c_wraith> you can't ignore that log factor just because it ruins your stories
2020-12-27 15:34:18 +0100 <tomsmeding> true! but hashing log n bits is usually significantly faster than traversing log n heap-allocated elements :p
2020-12-27 15:34:35 +0100 <tomsmeding> and no, Data.Map.Map is not packed in an array :p
2020-12-27 15:34:40 +0100rmk236(~lcampos@2a02:908:3616:b100:d0f7:308c:96bf:b55d) (Quit: Leaving.)
2020-12-27 15:34:50 +0100 <tomsmeding> point about complexity taken though
2020-12-27 15:35:09 +0100Kronic(~Kronic___@84.203.96.46)
2020-12-27 15:35:45 +0100 <tomsmeding> in particular that's relevant in some publications about "fast" algorithms that I've read; they claim to have something like n^3 / log n complexity for all-pairs shortest path (which is usually n^3), and they do it by word-packing tricks
2020-12-27 15:36:11 +0100 <tomsmeding> where they assume operations on a machine word are O(1), and words are log n size because a realistic machine has log n word size compared to size of memory
2020-12-27 15:36:15 +0100 <tomsmeding> ... like, yes, but no
2020-12-27 15:36:23 +0100kupi(uid212005@gateway/web/irccloud.com/x-ttgkkxztoohxubhs) (Quit: Connection closed for inactivity)
2020-12-27 15:39:32 +0100son0p(~son0p@181.136.122.143)
2020-12-27 15:43:50 +0100o1lo01ol1o(~o1lo01ol1@bl11-140-216.dsl.telepac.pt)
2020-12-27 15:44:52 +0100sfvm(~sfvm@37.228.215.77)
2020-12-27 15:47:42 +0100 <Ariakenom> assuming the problem fits on the machine then it is of constant size: O(1). QED. pls publish
2020-12-27 15:48:13 +0100 <tomsmeding> precisely :p
2020-12-27 15:48:21 +0100o1lo01ol1o(~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Ping timeout: 256 seconds)
2020-12-27 15:48:50 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-12-27 15:50:09 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:f0ca:b34:ab31:1410) (Remote host closed the connection)
2020-12-27 15:50:15 +0100Vulfe_(~vulfe@2600:1702:31b0:34e0:f0ca:b34:ab31:1410)
2020-12-27 15:51:48 +0100x3ff(~marco@2001:b07:5d29:9455:ee6c:ccd6:9676:7acc) (Quit: Leaving)
2020-12-27 15:52:12 +0100Tario(~Tario@201.192.165.173)
2020-12-27 15:54:12 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2020-12-27 15:55:16 +0100nbloomf(~nbloomf@2601:285:401:7490:bc18:fa9e:e85f:3e9b)
2020-12-27 15:59:13 +0100nbloomf(~nbloomf@2601:285:401:7490:bc18:fa9e:e85f:3e9b) (Client Quit)
2020-12-27 16:00:33 +0100geekosaur(ae68c070@cpe-174-104-192-112.neo.res.rr.com)
2020-12-27 16:01:02 +0100dandart(~Thunderbi@2a00:23c7:f5a6:d001:e847:506b:5204:fefb)
2020-12-27 16:05:59 +0100dandart(~Thunderbi@2a00:23c7:f5a6:d001:e847:506b:5204:fefb) (Remote host closed the connection)
2020-12-27 16:06:24 +0100dandart(~Thunderbi@2a00:23c7:f5a6:d001:e847:506b:5204:fefb)
2020-12-27 16:07:04 +0100o1lo01ol1o(~o1lo01ol1@bl11-140-216.dsl.telepac.pt)
2020-12-27 16:07:25 +0100christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-12-27 16:11:58 +0100hiroaki_(~hiroaki@ip4d168e73.dynamic.kabel-deutschland.de) (Read error: Connection timed out)
2020-12-27 16:12:09 +0100heatsink(~heatsink@2600:1700:bef1:5e10:2d7a:8bca:7799:994c)
2020-12-27 16:12:45 +0100wildlander(~wildlande@unaffiliated/wildlander) (Quit: Konversation terminated!)
2020-12-27 16:14:10 +0100hiroaki_(~hiroaki@ip4d168e73.dynamic.kabel-deutschland.de)
2020-12-27 16:16:57 +0100heatsink(~heatsink@2600:1700:bef1:5e10:2d7a:8bca:7799:994c) (Ping timeout: 260 seconds)
2020-12-27 16:17:03 +0100bitmagie(~Thunderbi@200116b806d8760031bf37bceaa67a81.dip.versatel-1u1.de)
2020-12-27 16:21:16 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-12-27 16:21:39 +0100shaprhops quietly
2020-12-27 16:22:35 +0100urodna(~urodna@unaffiliated/urodna)
2020-12-27 16:22:52 +0100fendor_(~fendor@178.165.131.53.wireless.dyn.drei.com)
2020-12-27 16:24:56 +0100fendor(~fendor@178.165.131.209.wireless.dyn.drei.com) (Ping timeout: 240 seconds)
2020-12-27 16:25:34 +0100 <gentauro> 14:20 < ij> c_wraith, O(1) lookup after hashing and I'm talking in contrast to O(log n) lookup
2020-12-27 16:25:47 +0100 <gentauro> you can do a hashing like they do int clojure
2020-12-27 16:26:06 +0100 <gentauro> so you end up with an upperbound of O(7)
2020-12-27 16:26:12 +0100 <gentauro> for `int32`
2020-12-27 16:27:14 +0100 <gentauro> ij: I noticed (afterwards that I did something similar) with my `arrays` -> http://blog.stermon.com/articles/2020/05/22/haskell-data-array-log256-safe-idiomatic-and-bottom.html
2020-12-27 16:27:26 +0100 <gentauro> ij: don't go the `bottom` way. It takes forever to build
2020-12-27 16:27:27 +0100 <gentauro> :(
2020-12-27 16:28:26 +0100 <Feuermagier> what's the difference between "class" and "data"?
2020-12-27 16:29:10 +0100 <geekosaur> they're not related
2020-12-27 16:30:01 +0100 <geekosaur> class declares groups of operations that can vary by instance/type. data declares a new data type
2020-12-27 16:30:09 +0100 <Kronic> https://dpaste.org/FSzV -- I included some information here about a question I have, I hope I included enough detail
2020-12-27 16:30:44 +0100Franciman(~francesco@host-82-49-79-73.retail.telecomitalia.it) (Quit: Leaving)
2020-12-27 16:30:49 +0100 <Kronic> I'm currently working on my first project and the types are sort of tying me up in a knot
2020-12-27 16:32:06 +0100christo(~chris@81.96.113.213)
2020-12-27 16:32:18 +0100 <geekosaur> executeSearchCommand would have to be in ReaderT DiscordHandle IO instead of just IO, and you would use liftIO to evaluate the IO operation
2020-12-27 16:32:36 +0100gehmehgeh(~ircuser1@gateway/tor-sasl/gehmehgeh) (Quit: Leaving)
2020-12-27 16:33:03 +0100 <Kronic> Let me give that a shot
2020-12-27 16:37:03 +0100jfalcon(905c1fea@144.92.31.234)
2020-12-27 16:38:03 +0100 <jfalcon> Hey, how to deal with this? hakyll> <command line>: can't load framework: Cocoa (not found)
2020-12-27 16:38:45 +0100 <Feuermagier> is there a guideline on how to instance something?
2020-12-27 16:40:43 +0100entelto0n
2020-12-27 16:45:40 +0100 <Feuermagier> I have my own class and I want to instance MyClass (Maybe a)
2020-12-27 16:48:03 +0100nbloomf(~nbloomf@2601:285:401:7490:bc18:fa9e:e85f:3e9b)
2020-12-27 16:48:43 +0100dandart(~Thunderbi@2a00:23c7:f5a6:d001:e847:506b:5204:fefb) (Ping timeout: 260 seconds)
2020-12-27 16:49:06 +0100 <xerox_> you follow that by giving an implementation of all the methods in MyClass
2020-12-27 16:50:07 +0100Rudd0(~Rudd0@185.189.115.103) (Ping timeout: 256 seconds)
2020-12-27 16:50:08 +0100o1lo01ol1o(~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Remote host closed the connection)
2020-12-27 16:50:13 +0100 <Feuermagier> xerox_, so what their return value would be if they got a (Just a) or if they g
2020-12-27 16:50:18 +0100 <Feuermagier> got a Nothing*
2020-12-27 16:50:30 +0100 <xerox_> Feuermagier: I don't know what MyClass is
2020-12-27 16:51:21 +0100 <xerox_> some type can be instances of a class, some can't, depending on the class
2020-12-27 16:52:07 +0100arrowd(~arr@2.93.42.182)
2020-12-27 16:52:33 +0100o1lo01ol1o(~o1lo01ol1@bl11-140-216.dsl.telepac.pt)
2020-12-27 16:52:44 +0100jfalcon(905c1fea@144.92.31.234) (Remote host closed the connection)
2020-12-27 16:52:59 +0100dandart(~Thunderbi@2a00:23c7:f5a6:d001:e847:506b:5204:fefb)
2020-12-27 16:53:39 +0100chang(~textual@host-173-230-65-85.njjcmar.clients.pavlovmedia.com)
2020-12-27 16:53:56 +0100 <arrowd> I have a partial function with type T -> T, where T is a sum type. Is there any lens magic that would turn it into a total function of type T -> T that would just do nothing in cases that the partial one can't handle?
2020-12-27 16:55:27 +0100da39a3ee5e6b4b0d(~da39a3ee5@2403:6200:8876:f14e:453d:14dc:75b2:51ff) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-12-27 16:56:01 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds)
2020-12-27 16:58:17 +0100 <ij> I am working with a rectangular array encoded as a flat vector. Since the solver uses copies of the board to backtrack, for 100x200 boards vector copies become bottleneck. Would the best course of action be implementing my own matrix via Vector (Vector a), so a single mutation would only ruin a single line?
2020-12-27 16:58:18 +0100fuzzypixelz(~fuzzypixe@eth-west-pareq2-46-193-4-100.wb.wifirst.net)
2020-12-27 16:58:33 +0100 <fuzzypixelz> what does it mean to overlay two graphs?
2020-12-27 16:58:34 +0100 <fuzzypixelz> https://hackage.haskell.org/package/algebraic-graphs-0.5/docs/Algebra-Graph-Labelled.html#v:overlay
2020-12-27 17:00:22 +0100p-core(~Thunderbi@2001:718:1e03:5128:3697:eeda:19aa:8e56) (Quit: p-core)
2020-12-27 17:00:30 +0100Rudd0(~Rudd0@185.189.115.103)
2020-12-27 17:01:55 +0100p-core(~Thunderbi@2001:718:1e03:5128:3697:eeda:19aa:8e56)
2020-12-27 17:08:44 +0100ddellacosta(dd@gateway/vpn/mullvad/ddellacosta)
2020-12-27 17:09:16 +0100Tario(~Tario@201.192.165.173) (Read error: Connection reset by peer)
2020-12-27 17:10:29 +0100hackageHaskellNet 0.6 - Client support for POP3, SMTP, and IMAP https://hackage.haskell.org/package/HaskellNet-0.6 (AlexanderVershilov)
2020-12-27 17:10:52 +0100lazyshrk(~lazyshrk@128.199.58.13) (Quit: ZNC 1.8.2 - https://znc.in)
2020-12-27 17:11:08 +0100Torro(Torro@gateway/vpn/protonvpn/torro) ("bye")
2020-12-27 17:11:20 +0100tochicool(~tochicool@188.166.170.246)
2020-12-27 17:11:36 +0100lazyshrk(~lazyshrk@128.199.58.13)
2020-12-27 17:12:52 +0100heatsink(~heatsink@2600:1700:bef1:5e10:2d7a:8bca:7799:994c)
2020-12-27 17:15:15 +0100christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-12-27 17:16:30 +0100jamm(~jamm@unaffiliated/jamm) (Remote host closed the connection)
2020-12-27 17:17:21 +0100machinedgod(~machinedg@24.105.81.50)
2020-12-27 17:17:37 +0100heatsink(~heatsink@2600:1700:bef1:5e10:2d7a:8bca:7799:994c) (Ping timeout: 260 seconds)
2020-12-27 17:19:28 +0100Saukk(~Saukk@2001:998:ec:954:1c59:9bb5:b94c:3)
2020-12-27 17:20:31 +0100jamm(~jamm@unaffiliated/jamm)
2020-12-27 17:21:09 +0100earthy(~arthurvl@deban2.xs4all.space)
2020-12-27 17:21:13 +0100fuzzypixelz(~fuzzypixe@eth-west-pareq2-46-193-4-100.wb.wifirst.net) (Ping timeout: 264 seconds)
2020-12-27 17:23:55 +0100 <Kronic> geekosaur, so your answer has made me understand I don't know enough about lifting and monad transformers, is there a go-to resource for understanding those that you can recommend?
2020-12-27 17:25:14 +0100jamm(~jamm@unaffiliated/jamm) (Ping timeout: 264 seconds)
2020-12-27 17:25:43 +0100christo(~chris@81.96.113.213)
2020-12-27 17:26:01 +0100sand_dull(~theuser@c-73-149-95-105.hsd1.ct.comcast.net)
2020-12-27 17:26:31 +0100sorki(~sorki@gateway/tor-sasl/sorki)
2020-12-27 17:26:43 +0100srk(~sorki@gateway/tor-sasl/sorki) (Ping timeout: 240 seconds)
2020-12-27 17:27:20 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-12-27 17:28:09 +0100rmk236(~lcampos@2a02:908:3616:b100:d0f7:308c:96bf:b55d)
2020-12-27 17:28:45 +0100 <geekosaur> not thinking of one off the top of my head... I kinda learned by doing (and working on xmonad)
2020-12-27 17:29:05 +0100acidjnk_new(~acidjnk@p200300d0c704e700e5445d72d706d0ae.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
2020-12-27 17:29:29 +0100sorkisrk
2020-12-27 17:30:16 +0100christo(~chris@81.96.113.213) (Ping timeout: 256 seconds)
2020-12-27 17:31:57 +0100 <Kronic> Hmm, well here's a question then
2020-12-27 17:32:17 +0100gzj(~gzj@unaffiliated/gzj)
2020-12-27 17:32:20 +0100 <Kronic> When you said use liftIO to evaluate the IO operation you meant search' right?
2020-12-27 17:32:32 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
2020-12-27 17:32:33 +0100 <Kronic> so I would do searchRes <- search' ...
2020-12-27 17:32:43 +0100 <Kronic> liftIO search' ... * I meant
2020-12-27 17:32:47 +0100 <geekosaur> yes
2020-12-27 17:33:05 +0100 <Kronic> okay, that does make sense, just something further down does not type check after that
2020-12-27 17:33:36 +0100 <tomsmeding> ij: how about working in ST on a mutable vector?
2020-12-27 17:35:04 +0100aidecoe(~aidecoe@unaffiliated/aidecoe) (Ping timeout: 246 seconds)
2020-12-27 17:36:04 +0100danso(~dan@69-165-210-185.cable.teksavvy.com)
2020-12-27 17:37:08 +0100gzj(~gzj@unaffiliated/gzj) (Ping timeout: 260 seconds)
2020-12-27 17:37:48 +0100 <Kronic> ah I got it
2020-12-27 17:38:00 +0100p-core(~Thunderbi@2001:718:1e03:5128:3697:eeda:19aa:8e56) (Quit: p-core)
2020-12-27 17:38:03 +0100 <Kronic> Thank you so much geekosaur, that was the nudge I needed
2020-12-27 17:38:42 +0100nbloomf(~nbloomf@2601:285:401:7490:bc18:fa9e:e85f:3e9b) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-12-27 17:39:15 +0100 <ij> tomsmeding, how could that help?
2020-12-27 17:39:33 +0100mouseghost(~draco@wikipedia/desperek)
2020-12-27 17:39:33 +0100 <tomsmeding> you can undo the mutations without having to copy :p
2020-12-27 17:39:35 +0100 <ij> tomsmeding, because it would know when you don't need copies?
2020-12-27 17:39:36 +0100p-core(~Thunderbi@2001:718:1e03:5128:3697:eeda:19aa:8e56)
2020-12-27 17:40:01 +0100 <tomsmeding> well, with a mutable vector everything is forcibly sequenced in a monad, you're essentially programming imperatively
2020-12-27 17:40:06 +0100 <tomsmeding> so you decide when to copy
2020-12-27 17:40:14 +0100nbloomf(~nbloomf@2601:285:401:7490:bc18:fa9e:e85f:3e9b)
2020-12-27 17:40:38 +0100Tario(~Tario@201.192.165.173)
2020-12-27 17:40:41 +0100hekkaidekapus}(~tchouri@gateway/tor-sasl/hekkaidekapus) (Remote host closed the connection)
2020-12-27 17:40:44 +0100 <ij> well, I will need lots of copies for sure
2020-12-27 17:40:56 +0100p-core(~Thunderbi@2001:718:1e03:5128:3697:eeda:19aa:8e56) (Client Quit)
2020-12-27 17:41:05 +0100 <tomsmeding> but whether avoiding copies is useful depends on how much you're changing between iterations; are you modifying one element per backtracking level, or is the whole array being changed?
2020-12-27 17:41:17 +0100p-core(~Thunderbi@2001:718:1e03:5128:3697:eeda:19aa:8e56)
2020-12-27 17:41:26 +0100p-core(~Thunderbi@2001:718:1e03:5128:3697:eeda:19aa:8e56) (Client Quit)
2020-12-27 17:41:31 +0100 <tomsmeding> in other words, if you were programming this in C (or C++, Java, Rust, Go, whatever), would you be copying or not?
2020-12-27 17:41:46 +0100p-core(~Thunderbi@2001:718:1e03:5128:3697:eeda:19aa:8e56)
2020-12-27 17:42:10 +0100 <ij> always only one element
2020-12-27 17:42:22 +0100hekkaidekapus}(~tchouri@gateway/tor-sasl/hekkaidekapus)
2020-12-27 17:42:22 +0100knupfer(~Thunderbi@200116b82ce13900243e6c450a7c9cdd.dip.versatel-1u1.de) (Ping timeout: 260 seconds)
2020-12-27 17:42:31 +0100 <ij> but I always have choices, so it's one element in three ways, so three copies
2020-12-27 17:42:55 +0100 <tomsmeding> are you okay with writing the algorithm imperatively instead of functionally? :p
2020-12-27 17:42:59 +0100 <ij> they might be modified differently with another element in each recursion level, so they have to be copies
2020-12-27 17:43:29 +0100to0nentel
2020-12-27 17:43:49 +0100p-core(~Thunderbi@2001:718:1e03:5128:3697:eeda:19aa:8e56) (Client Quit)
2020-12-27 17:44:10 +0100p-core(~Thunderbi@2001:718:1e03:5128:3697:eeda:19aa:8e56)
2020-12-27 17:44:11 +0100 <tomsmeding> they only have to be copies if you want to keep everything functional
2020-12-27 17:44:54 +0100fuzzypixelz(~fuzzypixe@eth-west-pareq2-46-193-4-100.wb.wifirst.net)
2020-12-27 17:45:20 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-12-27 17:46:15 +0100 <tomsmeding> i.e. you'd be using the non-unsafe methods on this page: https://hackage.haskell.org/package/vector-0.12.1.2/docs/Data-Vector-Mutable.html
2020-12-27 17:46:18 +0100 <tomsmeding> for an STVector
2020-12-27 17:46:32 +0100Franciman(~francesco@host-82-49-79-73.retail.telecomitalia.it)
2020-12-27 17:46:45 +0100 <ij> but whenever I would make a cpoy it would still be expensive
2020-12-27 17:47:07 +0100 <ij> it would be much easier refactoring-wise to make a Vector Vector, which has cheaper copies
2020-12-27 17:47:11 +0100 <ij> for my use-case
2020-12-27 17:47:11 +0100 <tomsmeding> I'm arguing for a case where you do _not_ have to make copies
2020-12-27 17:47:19 +0100brisbin(~patrick@174-081-116-011.res.spectrum.com)
2020-12-27 17:47:31 +0100 <tomsmeding> that is true, vector vector will probably be easier to write and read
2020-12-27 17:47:38 +0100 <tomsmeding> but _faster_ is something different
2020-12-27 17:48:02 +0100mmfood(~mmfood@45.91.21.48) (Remote host closed the connection)
2020-12-27 17:50:20 +0100rayyyy(~nanoz@gateway/tor-sasl/nanoz)
2020-12-27 17:51:09 +0100sand_dull(~theuser@c-73-149-95-105.hsd1.ct.comcast.net) (Ping timeout: 260 seconds)
2020-12-27 17:52:28 +0100obihann(~jhann@142.177.168.17)
2020-12-27 17:54:24 +0100ddellacosta(dd@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 265 seconds)
2020-12-27 17:54:38 +0100nbloomf(~nbloomf@2601:285:401:7490:bc18:fa9e:e85f:3e9b) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-12-27 17:54:44 +0100Tario(~Tario@201.192.165.173) (Read error: Connection reset by peer)
2020-12-27 17:56:05 +0100Tario(~Tario@201.192.165.173)
2020-12-27 17:59:05 +0100son0p(~son0p@181.136.122.143) (Quit: leaving)
2020-12-27 18:00:49 +0100coot(~coot@37.30.55.131.nat.umts.dynamic.t-mobile.pl)
2020-12-27 18:00:54 +0100Sheilong(uid293653@gateway/web/irccloud.com/x-eiawhmadgvgyefex)
2020-12-27 18:03:03 +0100rayyyy(~nanoz@gateway/tor-sasl/nanoz) (Ping timeout: 240 seconds)
2020-12-27 18:03:26 +0100orcus(~orcus@unaffiliated/orcus) (Quit: ZNC 1.7.5 - https://znc.in)
2020-12-27 18:05:00 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-12-27 18:05:09 +0100orcus(~orcus@unaffiliated/orcus)
2020-12-27 18:06:40 +0100zebrag(~inkbottle@aaubervilliers-654-1-158-75.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!)
2020-12-27 18:09:10 +0100zebrag(~inkbottle@aaubervilliers-654-1-158-75.w86-212.abo.wanadoo.fr)
2020-12-27 18:11:32 +0100justanotheruser(~justanoth@unaffiliated/justanotheruser)
2020-12-27 18:12:01 +0100Deide(~Deide@217.155.19.23)
2020-12-27 18:14:27 +0100 <fuzzypixelz> https://hackage.haskell.org/package/algebraic-graphs-0.5/docs/Algebra-Graph-Labelled.html#v:overlay
2020-12-27 18:14:55 +0100 <fuzzypixelz> this library requires the type of my graph edges to form a monoid
2020-12-27 18:15:07 +0100 <fuzzypixelz> I'm planning on using Int for them
2020-12-27 18:15:15 +0100knupfer(~Thunderbi@200116b82ce13900a57ef045615cbcf8.dip.versatel-1u1.de)
2020-12-27 18:15:29 +0100 <fuzzypixelz> Do I just do a `type Int' = Sum Int` and call it a day?
2020-12-27 18:15:47 +0100nbloomf(~nbloomf@2601:285:401:7490:bc18:fa9e:e85f:3e9b)
2020-12-27 18:16:50 +0100ranpoom(uid201163@gateway/web/irccloud.com/x-nmgbmotwdhwgtcby) (Quit: Connection closed for inactivity)
2020-12-27 18:17:33 +0100juuandyy(~juuandyy@90.166.144.65)
2020-12-27 18:19:00 +0100hackagefadno 1.1.7 - Minimal library for music generation and notation https://hackage.haskell.org/package/fadno-1.1.7 (spopejoy)
2020-12-27 18:19:36 +0100 <tomsmeding> fuzzypixelz: depends on what you want the monoid behaviour to be :p
2020-12-27 18:19:46 +0100 <dsal> fuzzypixelz: if that's the monoidal behavior you want. There's a reason Int isn't a monoid on its own.
2020-12-27 18:20:02 +0100xff0x_(~fox@2001:1a81:52bd:9700:bad9:3cb6:8ce9:4998) (Ping timeout: 260 seconds)
2020-12-27 18:20:35 +0100 <fuzzypixelz> Oh yes I know there are at least Product and Sum, I was just asking if there was a way to simplify the code
2020-12-27 18:20:38 +0100 <tomsmeding> e.g. if the two graphs you're overlaying both contain an edge between the same two nodes, then you need _some_ way to combine them -- and the way it uses is the monoid instances
2020-12-27 18:20:47 +0100 <tomsmeding> so if you want to add them, use Sum :p
2020-12-27 18:21:03 +0100 <dsal> fuzzypixelz: Hard to know how to improve code without seeing code. :)
2020-12-27 18:21:10 +0100 <tomsmeding> but if adding them doesn't make sense, don't use Sum :p
2020-12-27 18:22:17 +0100obihann(~jhann@142.177.168.17) (Quit: Lost terminal)
2020-12-27 18:22:34 +0100chang(~textual@host-173-230-65-85.njjcmar.clients.pavlovmedia.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-12-27 18:23:35 +0100 <Ariakenom> If adding them makes sense I would be interested to know how :D
2020-12-27 18:24:00 +0100 <fuzzypixelz> tomsmeding: actually I don't think I will run into such a situation
2020-12-27 18:24:16 +0100ezzieyguywuf(~Unknown@unaffiliated/ezzieyguywuf) (Remote host closed the connection)
2020-12-27 18:24:24 +0100brisbin(~patrick@174-081-116-011.res.spectrum.com) (Ping timeout: 260 seconds)
2020-12-27 18:24:48 +0100obihann(~jhann@142.177.168.17)
2020-12-27 18:24:52 +0100 <fuzzypixelz> Anyway you guys know better than me: this is just me trying to turn AOC day 7 input into a graph for the part 2 solution
2020-12-27 18:25:05 +0100 <tomsmeding> I guess you could do something like: newtype Int' = Int' Int ; instance Semigroup Int' where (<>) = error "Don't want to combine" ; instance Monoid Int' where mempty = error "Don't want to mempty"
2020-12-27 18:25:46 +0100 <fuzzypixelz> I remember dsal suggested I use a graph for part one and I wanted to try doing a Labeled graph in part 2 for funsies
2020-12-27 18:26:13 +0100 <tomsmeding> I don't know that graph library, but a "Labeled graph" sounds like "a graph with edge labels"
2020-12-27 18:26:31 +0100 <dsal> I just used Data.Graph
2020-12-27 18:26:39 +0100 <tomsmeding> perhaps there is a graph library, or a variant within your library, that has a simpler representation?
2020-12-27 18:26:55 +0100 <xerox_> I used Data.Map(.Strict)
2020-12-27 18:27:00 +0100 <dsal> I think I'm the only one who uses Data.Graph
2020-12-27 18:27:12 +0100chang(~textual@host-173-230-65-85.njjcmar.clients.pavlovmedia.com)
2020-12-27 18:27:16 +0100 <xerox_> I used it last year I think (:
2020-12-27 18:27:26 +0100 <xerox_> ah no maybe it was fgl
2020-12-27 18:27:34 +0100 <dsal> Yeah, people seem to like fgl.
2020-12-27 18:27:46 +0100 <fuzzypixelz> I want to have bags as nodes and have edges contain the number of bags contained: B1 - (12) -> B2, would mean that B1 contains 12 B2's
2020-12-27 18:27:50 +0100 <dsal> Data.Graph is spartan, but seems to get a lot done.
2020-12-27 18:28:32 +0100 <xerox_> it was some years ago, scc was the thing
2020-12-27 18:29:00 +0100hackagefadno 1.1.8 - Minimal library for music generation and notation https://hackage.haskell.org/package/fadno-1.1.8 (spopejoy)
2020-12-27 18:29:33 +0100 <Ariakenom> Sum seems to makes sense then
2020-12-27 18:29:33 +0100 <yushyin> I've used Data.Graph for day07, it's not fast but works somehow :D
2020-12-27 18:30:00 +0100hackagebrick 0.58.1 - A declarative terminal user interface library https://hackage.haskell.org/package/brick-0.58.1 (JonathanDaugherty)
2020-12-27 18:30:15 +0100 <Ariakenom> B1 - (0) -> B is the same as no edge?
2020-12-27 18:30:31 +0100 <dsal> Yeah, I've got 1.15 ms for part 1. 8.3 µs for part 2.
2020-12-27 18:30:36 +0100 <fuzzypixelz> then have a subgraph of nodes reachable by the "shiny gold" bag, and and start summing all the edge labels but multiply them by the previous result, beginning with the first edge
2020-12-27 18:31:04 +0100 <fuzzypixelz> Ariakenom: yes, I think so
2020-12-27 18:31:14 +0100 <fuzzypixelz> dsal: is this a good idea
2020-12-27 18:32:15 +0100 <dsal> I didn't do all of that. My answer is approximately `length`
2020-12-27 18:32:45 +0100rab24ack[m](rab24ackma@gateway/shell/matrix.org/x-unlxosvvhmxtsapj)
2020-12-27 18:33:04 +0100 <xerox_> 160ms for me
2020-12-27 18:33:44 +0100abhixec(~abhixec@c-67-169-139-16.hsd1.ca.comcast.net)
2020-12-27 18:33:46 +0100 <rab24ack[m]> How do I time a section of Haskell code, like an IO action?
2020-12-27 18:34:03 +0100 <dsal> rab24ack[m]: In general, criterion is a good idea, but if you're doing IO actions, it gets weird.
2020-12-27 18:34:30 +0100 <dsal> Or do you just mean you want to know how long something takes in production for metrics or something?
2020-12-27 18:35:08 +0100 <monochrom> criterion and watch out for whether you're timing full evaluation or you're just timing building up the unevaluated expression.
2020-12-27 18:35:38 +0100 <dsal> rab24ack[m]: I have this poorly named function I use in a network tool: https://github.com/dustin/waitforsocket/blob/master/src/Waitforsocket.hs#L81-L86
2020-12-27 18:35:50 +0100 <MarcelineVQ> timeit is a nice direct tool as well for little tests
2020-12-27 18:36:16 +0100 <MarcelineVQ> as in https://hackage.haskell.org/package/timeit
2020-12-27 18:36:48 +0100 <monochrom> time it show, let it snow :)
2020-12-27 18:37:18 +0100 <rab24ack[m]> dsal: It's code in a game made with Apecs
2020-12-27 18:37:43 +0100 <rab24ack[m]> MarcelineVQ: timeit looks great, I'll try it out
2020-12-27 18:38:09 +0100tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
2020-12-27 18:38:21 +0100ddellacosta(dd@gateway/vpn/mullvad/ddellacosta)
2020-12-27 18:39:04 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
2020-12-27 18:43:42 +0100philopsos(~caecilius@gateway/tor-sasl/caecilius)
2020-12-27 18:44:27 +0100 <sm[m]> timeit++
2020-12-27 18:46:25 +0100chang(~textual@host-173-230-65-85.njjcmar.clients.pavlovmedia.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-12-27 18:48:20 +0100Saukk(~Saukk@2001:998:ec:954:1c59:9bb5:b94c:3) (Remote host closed the connection)
2020-12-27 18:49:48 +0100bitmagie(~Thunderbi@200116b806d8760031bf37bceaa67a81.dip.versatel-1u1.de) (Quit: bitmagie)
2020-12-27 18:51:39 +0100sis7(~user@2001:15e8:110:473e::1)
2020-12-27 18:52:03 +0100xff0x_(~fox@2001:1a81:52bd:9700:bad9:3cb6:8ce9:4998)
2020-12-27 18:52:11 +0100brisbin(~patrick@174-081-116-011.res.spectrum.com)
2020-12-27 18:54:13 +0100cr3(~cr3@192-222-143-195.qc.cable.ebox.net)
2020-12-27 18:55:04 +0100coot(~coot@37.30.55.131.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
2020-12-27 18:56:37 +0100ddellacosta(dd@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 246 seconds)
2020-12-27 18:57:24 +0100sMuNiX(~sMuNiX@vlnsm8-montreal02-142-122-8-233.internet.virginmobile.ca)
2020-12-27 18:58:07 +0100 <gentauro> sm[m]: isn't `timeit++` a partial expression?
2020-12-27 18:58:20 +0100 <gentauro> sm[m]: what do you want to post-pendt to `timeit`?
2020-12-27 19:00:52 +0100salumu(~sMuNiX@vlnsm8-montreal02-142-122-8-233.internet.virginmobile.ca) (Ping timeout: 260 seconds)
2020-12-27 19:00:58 +0100bifunc2(bifunc2@gateway/vpn/protonvpn/bifunc2)
2020-12-27 19:01:52 +0100 <bifunc2> due to haskell/macos pains, i asked here a few months ago "linux seems better than macos in many ways." someone here replied: "in every way". who was it? was it any one of you? :D
2020-12-27 19:02:41 +0100 <dminuoso> I know who it was definitely not.
2020-12-27 19:02:45 +0100leafiest(~leafiest@c-73-118-152-9.hsd1.wa.comcast.net) (Ping timeout: 240 seconds)
2020-12-27 19:03:16 +0100 <dminuoso> At any rate, what pain are you experiencing on macOS with Haskell?
2020-12-27 19:03:16 +0100romanix(~romanix@staticline10864.toya.net.pl)
2020-12-27 19:03:19 +0100solonarv(~solonarv@astrasbourg-653-1-157-135.w90-6.abo.wanadoo.fr)
2020-12-27 19:03:42 +0100 <dminuoso> Mine was, when I was still a macOS user, rather pleasant. Most of the oddities were unrelated to the Haskell side of things.
2020-12-27 19:04:06 +0100Jeanne-Kamikaze(~Jeanne-Ka@static-198-54-134-170.cust.tzulo.com)
2020-12-27 19:07:08 +0100chang(~textual@host-173-230-65-85.njjcmar.clients.pavlovmedia.com)
2020-12-27 19:07:13 +0100leafiest(~leafiest@c-73-118-152-9.hsd1.wa.comcast.net)
2020-12-27 19:08:21 +0100chang(~textual@host-173-230-65-85.njjcmar.clients.pavlovmedia.com) (Client Quit)
2020-12-27 19:09:24 +0100 <bifunc2> dminuoso well i've heard haskell tooling is not yet ready for latest macos (big sur)
2020-12-27 19:10:31 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-12-27 19:14:21 +0100heatsink(~heatsink@2600:1700:bef1:5e10:2d7a:8bca:7799:994c)
2020-12-27 19:15:50 +0100 <sm[m]> homebrew has ghc 8.10.3 running on big sur at least
2020-12-27 19:16:02 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2020-12-27 19:18:57 +0100heatsink(~heatsink@2600:1700:bef1:5e10:2d7a:8bca:7799:994c) (Ping timeout: 260 seconds)
2020-12-27 19:19:45 +0100VarikValefor[m](varikvalef@gateway/shell/matrix.org/x-fktkvdfjumtghkwz)
2020-12-27 19:20:02 +0100juuandyy(~juuandyy@90.166.144.65) (Read error: Connection reset by peer)
2020-12-27 19:20:18 +0100juuandyy(~juuandyy@90.166.144.65)
2020-12-27 19:20:42 +0100heatsink(~heatsink@2600:1700:bef1:5e10:2d7a:8bca:7799:994c)
2020-12-27 19:24:42 +0100zebrag(~inkbottle@aaubervilliers-654-1-158-75.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!)
2020-12-27 19:27:18 +0100DirefulSalt(DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt) (Remote host closed the connection)
2020-12-27 19:27:51 +0100DirefulSalt(DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt)
2020-12-27 19:27:51 +0100ClaudiusMaximus(~claude@unaffiliated/claudiusmaximus) (Quit: ->)
2020-12-27 19:31:50 +0100zebrag(~inkbottle@aaubervilliers-654-1-158-75.w86-212.abo.wanadoo.fr)
2020-12-27 19:32:43 +0100bifunc2(bifunc2@gateway/vpn/protonvpn/bifunc2) (Quit: -)
2020-12-27 19:34:48 +0100rayyyy(~nanoz@gateway/tor-sasl/nanoz)
2020-12-27 19:35:13 +0100knupfer(~Thunderbi@200116b82ce13900a57ef045615cbcf8.dip.versatel-1u1.de) (Quit: knupfer)
2020-12-27 19:35:22 +0100knupfer(~Thunderbi@200116b82ce13900c11b3eef9bb12b81.dip.versatel-1u1.de)
2020-12-27 19:36:44 +0100lakshayg(~user@76.14.20.26)
2020-12-27 19:39:23 +0100toppler(~user@mtop.default.momentoftop.uk0.bigv.io) (Remote host closed the connection)
2020-12-27 19:40:20 +0100rdivyanshu(uid322626@gateway/web/irccloud.com/x-oegwknlhwkssrogl)
2020-12-27 19:40:36 +0100star_cloud(~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Remote host closed the connection)
2020-12-27 19:40:52 +0100star_cloud(~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com)
2020-12-27 19:41:22 +0100Lord_of_Life(~Lord@unaffiliated/lord-of-life/x-0885362) (Read error: Connection reset by peer)
2020-12-27 19:41:42 +0100Foritus(~buggery@cpc91316-watf11-2-0-cust68.15-2.cable.virginm.net)
2020-12-27 19:41:49 +0100Lord_of_Life(~Lord@unaffiliated/lord-of-life/x-0885362)
2020-12-27 19:42:45 +0100romanix(~romanix@staticline10864.toya.net.pl) (Quit: Leaving)
2020-12-27 19:42:52 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-12-27 19:44:38 +0100Lord_of_Life_(~Lord@unaffiliated/lord-of-life/x-0885362)
2020-12-27 19:47:01 +0100Lord_of_Life(~Lord@unaffiliated/lord-of-life/x-0885362) (Ping timeout: 246 seconds)
2020-12-27 19:47:02 +0100Lord_of_Life_Lord_of_Life
2020-12-27 19:48:08 +0100lakshayg(~user@76.14.20.26) ("ERC (IRC client for Emacs 27.1)")
2020-12-27 19:48:49 +0100carthia(~carthia@gateway/tor-sasl/carthia)
2020-12-27 19:49:11 +0100Foritus(~buggery@cpc91316-watf11-2-0-cust68.15-2.cable.virginm.net) (Ping timeout: 256 seconds)
2020-12-27 19:50:40 +0100star_cloud(~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Excess Flood)
2020-12-27 19:51:41 +0100danish(~kvirc@62-243-156-218-static.dk.customer.tdc.net)
2020-12-27 19:51:57 +0100star_cloud(~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com)
2020-12-27 19:53:37 +0100cr3(~cr3@192-222-143-195.qc.cable.ebox.net) (Ping timeout: 264 seconds)
2020-12-27 19:55:21 +0100cr3(~cr3@192-222-143-195.qc.cable.ebox.net)
2020-12-27 19:58:28 +0100nbloomf(~nbloomf@2601:285:401:7490:bc18:fa9e:e85f:3e9b) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-12-27 19:59:59 +0100nbloomf(~nbloomf@2601:285:401:7490:bc18:fa9e:e85f:3e9b)
2020-12-27 20:01:44 +0100nbloomf(~nbloomf@2601:285:401:7490:bc18:fa9e:e85f:3e9b) (Client Quit)
2020-12-27 20:02:43 +0100jpds(~jpds@gateway/tor-sasl/jpds) (Ping timeout: 240 seconds)
2020-12-27 20:03:20 +0100berberman(~berberman@unaffiliated/berberman)
2020-12-27 20:03:52 +0100berberman_(~berberman@unaffiliated/berberman) (Ping timeout: 268 seconds)
2020-12-27 20:04:50 +0100jpds(~jpds@gateway/tor-sasl/jpds)
2020-12-27 20:05:55 +0100bisickcor(~username@117.200.9.231)
2020-12-27 20:06:54 +0100Foritus(~buggery@cpc91316-watf11-2-0-cust68.15-2.cable.virginm.net)
2020-12-27 20:08:08 +0100Vulfe_(~vulfe@2600:1702:31b0:34e0:f0ca:b34:ab31:1410) (Remote host closed the connection)
2020-12-27 20:09:32 +0100iekfkk(~username@117.200.0.141) (Ping timeout: 272 seconds)
2020-12-27 20:10:38 +0100auri_-(~auri_@fsf/memeber/auri-) (Quit: Quit)
2020-12-27 20:10:38 +0100aurieeeh_(~aurieh@static.91.102.243.136.clients.your-server.de) (Quit: ZNC - https://znc.in)
2020-12-27 20:10:38 +0100ArsenArsen(~Arsen@fsf/member/ArsenArsen) (Quit: bye)
2020-12-27 20:13:33 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:f193:2ce3:b8ae:6366)
2020-12-27 20:13:54 +0100jamm(~jamm@unaffiliated/jamm)
2020-12-27 20:15:32 +0100 <Feuermagier> I have 3 lists of ints. I want to make a [(int, int, int)] that contains every possible combination of every input int with every other int
2020-12-27 20:17:26 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds)
2020-12-27 20:17:29 +0100 <tomsmeding> > (,,) <$> [1,2] <*> [3,4] <*> [5,6] -- Feuermagier
2020-12-27 20:17:31 +0100 <lambdabot> [(1,3,5),(1,3,6),(1,4,5),(1,4,6),(2,3,5),(2,3,6),(2,4,5),(2,4,6)]
2020-12-27 20:17:46 +0100 <tomsmeding> like that?
2020-12-27 20:17:48 +0100u0_a203(~u0_a203@37.98.47.224)
2020-12-27 20:17:52 +0100 <__monty__> Or a list comprehension, which may be a little easier to understand.
2020-12-27 20:18:02 +0100 <Feuermagier> tomsmeding, exactly
2020-12-27 20:18:06 +0100 <tomsmeding> > [(a,b,c) | a <- [1,2], b <- [3,4], c <- [5,6]]
2020-12-27 20:18:09 +0100 <lambdabot> [(1,3,5),(1,3,6),(1,4,5),(1,4,6),(2,3,5),(2,3,6),(2,4,5),(2,4,6)]
2020-12-27 20:18:17 +0100 <tomsmeding> indeed perhaps more readable, and thus better
2020-12-27 20:18:22 +0100 <Feuermagier> topos, i *knew* haskell had some magic shit that would do just that
2020-12-27 20:18:27 +0100jamm(~jamm@unaffiliated/jamm) (Ping timeout: 260 seconds)
2020-12-27 20:18:35 +0100 <Feuermagier> problem is finding it :D
2020-12-27 20:18:46 +0100 <__monty__> (,,) requires enabling TupleSections I believe, just fyi.
2020-12-27 20:18:51 +0100 <tomsmeding> it doesn't
2020-12-27 20:18:56 +0100 <tomsmeding> writing (1,,) does
2020-12-27 20:19:12 +0100 <__monty__> Ah, thanks.
2020-12-27 20:19:22 +0100 <tomsmeding> Feuermagier: the "magic" in my first answer is the Applicative instance of [a]
2020-12-27 20:19:32 +0100 <topos> who wha
2020-12-27 20:19:47 +0100 <tomsmeding> someone typo'd your name, nothing to see here
2020-12-27 20:20:12 +0100tomsmedingthinks, at least
2020-12-27 20:20:14 +0100 <Feuermagier> oh, good ol' IRC autocomplete
2020-12-27 20:20:29 +0100 <Feuermagier> hello topos :D
2020-12-27 20:20:34 +0100 <topos> hello
2020-12-27 20:20:55 +0100Lord_of_Life(~Lord@unaffiliated/lord-of-life/x-0885362) (Ping timeout: 256 seconds)
2020-12-27 20:21:12 +0100 <dsal> > liftA3 (,,) [1,2] [3,4] [5,6]
2020-12-27 20:21:14 +0100 <lambdabot> [(1,3,5),(1,3,6),(1,4,5),(1,4,6),(2,3,5),(2,3,6),(2,4,5),(2,4,6)]
2020-12-27 20:22:29 +0100 <__monty__> > do x <- [1,2]; y <- [3,4]; z <- [5,6]; pure (x, y, z)
2020-12-27 20:22:31 +0100 <lambdabot> [(1,3,5),(1,3,6),(1,4,5),(1,4,6),(2,3,5),(2,3,6),(2,4,5),(2,4,6)]
2020-12-27 20:22:36 +0100 <dsal> @src liftA3
2020-12-27 20:22:37 +0100 <lambdabot> Source not found. Just try something else.
2020-12-27 20:23:41 +0100 <tomsmeding> the source in the 'base' library isn't really readably written unfortunately
2020-12-27 20:23:56 +0100Lord_of_Life(~Lord@unaffiliated/lord-of-life/x-0885362)
2020-12-27 20:23:56 +0100 <tomsmeding> though it comes down to just liftA3 f x y z = f <$> x <*> y <*> z
2020-12-27 20:24:15 +0100 <xerox_> liftA3 f a b c = liftA2 f a b <*> c
2020-12-27 20:24:24 +0100 <tomsmeding> liftA2 f x = (<*>) (fmap f x)
2020-12-27 20:24:42 +0100 <tomsmeding> inconsistent eta-reductions right there
2020-12-27 20:24:43 +0100natechan(~natechan@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Quit: WeeChat 2.9)
2020-12-27 20:26:13 +0100mnrmnaugh(~mnrmnaugh@unaffiliated/mnrmnaugh) (Remote host closed the connection)
2020-12-27 20:28:46 +0100u0_a203(~u0_a203@37.98.47.224) (Quit: leaving)
2020-12-27 20:30:33 +0100 <dsal> The src command usually gives a nice spirit of source, not necessarily what you'd actually expect to see.
2020-12-27 20:31:27 +0100 <Vulfe> I think if you understand why the (,) version works, you would understand the (,,) version too
2020-12-27 20:31:29 +0100sm2n(~sm2n@bras-base-hmtnon1497w-grc-43-64-231-95-247.dsl.bell.ca)
2020-12-27 20:32:05 +0100natechan(~natechan@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
2020-12-27 20:32:58 +0100rcdilorenzo(~rcdiloren@cpe-76-182-87-188.nc.res.rr.com) (Ping timeout: 272 seconds)
2020-12-27 20:33:57 +0100sm2n_(~sm2n@bras-base-hmtnon1497w-grc-44-69-156-5-58.dsl.bell.ca) (Ping timeout: 256 seconds)
2020-12-27 20:34:17 +0100rcdilorenzo(~rcdiloren@cpe-76-182-87-188.nc.res.rr.com)
2020-12-27 20:35:00 +0100hackagesqueather 0.4.2.0 - Use databases with the version 3 series of the SQLite C library https://hackage.haskell.org/package/squeather-0.4.2.0 (OmariNorman)
2020-12-27 20:40:47 +0100vfaronov(~vfaronov@broadband-95-84-210-78.ip.moscow.rt.ru) (Quit: vfaronov)
2020-12-27 20:40:56 +0100Sgeo(~Sgeo@ool-18b98aa4.dyn.optonline.net)
2020-12-27 20:41:04 +0100vfaronov(~vfaronov@broadband-95-84-210-78.ip.moscow.rt.ru)
2020-12-27 20:42:41 +0100_deepfire(~user@80.92.100.69) (Remote host closed the connection)
2020-12-27 20:43:57 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-12-27 20:45:17 +0100vfaronov(~vfaronov@broadband-95-84-210-78.ip.moscow.rt.ru) (Client Quit)
2020-12-27 20:45:33 +0100vfaronov(~vfaronov@broadband-95-84-210-78.ip.moscow.rt.ru)
2020-12-27 20:46:31 +0100rsh(~rsh@157.45.7.163)
2020-12-27 20:48:26 +0100heatsink(~heatsink@2600:1700:bef1:5e10:2d7a:8bca:7799:994c) (Remote host closed the connection)
2020-12-27 20:49:04 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2020-12-27 20:52:52 +0100rsh(~rsh@157.45.7.163) (Quit: Lost terminal)
2020-12-27 20:57:44 +0100heatsink(~heatsink@2600:1700:bef1:5e10:2d7a:8bca:7799:994c)
2020-12-27 21:08:12 +0100 <gentauro> 12:03 < gentauro> btw, anybody using `lsp` in `emacs`? How do I restart it? Sometimes it just hangs and doesn't really get updated when I make changes to some other modules …
2020-12-27 21:08:38 +0100gentauroso it's just `lsp-workspace-restart` and choose the `lsp-haskell` :)
2020-12-27 21:11:26 +0100nbloomf(~nbloomf@2601:285:401:7490:bc18:fa9e:e85f:3e9b)
2020-12-27 21:14:31 +0100hololeap(~hololeap@unaffiliated/hololeap)
2020-12-27 21:17:26 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-12-27 21:19:26 +0100dnlkrgr(~dnlkrgr@HSI-KBW-46-223-1-192.hsi.kabel-badenwuerttemberg.de)
2020-12-27 21:21:23 +0100rayyyy(~nanoz@gateway/tor-sasl/nanoz) (Ping timeout: 240 seconds)
2020-12-27 21:21:33 +0100mrchampion(~mrchampio@38.18.109.23) (Ping timeout: 256 seconds)
2020-12-27 21:22:37 +0100 <fuzzypixelz> I need to debug a recusrsive function, I have no idea how
2020-12-27 21:22:50 +0100jjong(~user@221.139.177.108) (Ping timeout: 256 seconds)
2020-12-27 21:22:57 +0100 <koz_> fuzzypixelz: Can you be more specific?
2020-12-27 21:23:11 +0100 <fuzzypixelz> I thought about replacing its result with IO (result) and have it print all the intermediate values
2020-12-27 21:23:15 +0100acidjnk_new(~acidjnk@p200300d0c704e700e5445d72d706d0ae.dip0.t-ipconnect.de)
2020-12-27 21:23:27 +0100 <geekosaur> have you seen Debug.Trace?
2020-12-27 21:24:31 +0100 <dsal> wtfunc x | trace ("wtfunc " <> show x) False = undefinied
2020-12-27 21:25:03 +0100 <fuzzypixelz> koz_: here's the file: https://bpa.st/AH2A, it's the `solution function`
2020-12-27 21:25:17 +0100 <fuzzypixelz> geekosaur: I'll check it out now
2020-12-27 21:26:15 +0100christo(~chris@81.96.113.213)
2020-12-27 21:26:36 +0100 <dsal> > sum []
2020-12-27 21:26:38 +0100 <monochrom> My Debug.Trace tutorial
2020-12-27 21:26:38 +0100 <lambdabot> 0
2020-12-27 21:26:45 +0100 <monochrom> http://www.vex.net/~trebla/haskell/tracing.html
2020-12-27 21:27:04 +0100 <dsal> > sum [ x + y | x <- [1..5], y <- []]
2020-12-27 21:27:07 +0100 <lambdabot> 0
2020-12-27 21:27:38 +0100 <dsal> fuzzypixelz: that `if` doesn't seem to be adding value. (I generally don't like `if`)
2020-12-27 21:28:53 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:f193:2ce3:b8ae:6366) (Remote host closed the connection)
2020-12-27 21:29:54 +0100 <fuzzypixelz> dsal: removed :)
2020-12-27 21:30:35 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:f193:2ce3:b8ae:6366)
2020-12-27 21:30:53 +0100 <fuzzypixelz> monochrom: the tutorial is exactly what I need!
2020-12-27 21:31:49 +0100 <monochrom> :)
2020-12-27 21:33:18 +0100juuandyy(~juuandyy@90.166.144.65) (Quit: Konversation terminated!)
2020-12-27 21:33:19 +0100 <koz_> @pl \y -> x <$ g y
2020-12-27 21:33:19 +0100 <lambdabot> (x <$) . g
2020-12-27 21:34:52 +0100 <Kronic> wow that is incredibly useful, I'm sorry I didn't read up on debug.trace sooner
2020-12-27 21:34:58 +0100 <fuzzypixelz> does Debug.Trace.trace actually do unsafe IO?
2020-12-27 21:35:07 +0100 <Kronic> I normally just figured everything out by putting it through ghci
2020-12-27 21:35:09 +0100 <geekosaur> yes
2020-12-27 21:35:11 +0100 <Kronic> I guess it would have to
2020-12-27 21:35:13 +0100 <fuzzypixelz> it doesn't change the type signature of my function
2020-12-27 21:35:26 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:f193:2ce3:b8ae:6366) (Ping timeout: 264 seconds)
2020-12-27 21:35:33 +0100 <geekosaur> but it doesn't expose anything unsafe except printing to stderr
2020-12-27 21:36:37 +0100 <Kronic> I like your writing style monochrom, thanks for the article :)
2020-12-27 21:37:28 +0100 <monochrom> :)
2020-12-27 21:37:28 +0100knupfer(~Thunderbi@200116b82ce13900c11b3eef9bb12b81.dip.versatel-1u1.de) (Remote host closed the connection)
2020-12-27 21:37:37 +0100knupfer(~Thunderbi@200116b82ce13900b81a50214becdbd8.dip.versatel-1u1.de)
2020-12-27 21:38:27 +0100 <xerox_> sometimes in an ST computation I'll slip in a traceM
2020-12-27 21:38:59 +0100 <nf> aha, the | traceShow n False trick is nice
2020-12-27 21:39:08 +0100amerigo(uid331857@gateway/web/irccloud.com/x-rfyjwvbxztwdzuna)
2020-12-27 21:39:12 +0100 <Kronic> yea I really liked that
2020-12-27 21:40:41 +0100coot(~coot@37.30.55.131.nat.umts.dynamic.t-mobile.pl)
2020-12-27 21:41:37 +0100brisbin(~patrick@174-081-116-011.res.spectrum.com) (Ping timeout: 264 seconds)
2020-12-27 21:42:56 +0100_hxearth\`(~gosdtrike@110.54.172.244)
2020-12-27 21:43:50 +0100 <fuzzypixelz> monochrom: thank you, very concise and straight to the point. I always thought "printf debugging" (I will start calling it that) wasn't possible in Haskell and I was afraid to find out what monad sorcery I would need to get it done
2020-12-27 21:44:20 +0100_hxearth\`(~gosdtrike@110.54.172.244) (Quit: http://amazonian2.000webhostapp.com)
2020-12-27 21:44:23 +0100mrchampion(~mrchampio@38.18.109.23)
2020-12-27 21:45:35 +0100hnOsmium0001(uid453710@gateway/web/irccloud.com/x-nroyaxgjzhgnqfic)
2020-12-27 21:47:02 +0100geowiesnot(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr)
2020-12-27 21:48:10 +0100 <tomsmeding> printf debugging is king
2020-12-27 21:48:10 +0100Tario(~Tario@201.192.165.173) (Read error: Connection reset by peer)
2020-12-27 21:48:52 +0100Tario(~Tario@201.192.165.173)
2020-12-27 21:49:54 +0100rdivyanshu(uid322626@gateway/web/irccloud.com/x-oegwknlhwkssrogl) (Quit: Connection closed for inactivity)
2020-12-27 21:51:25 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2020-12-27 21:52:06 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:f193:2ce3:b8ae:6366)
2020-12-27 21:52:24 +0100gxt(~gxt@gateway/tor-sasl/gxt) (Quit: WeeChat 2.9)
2020-12-27 21:53:23 +0100chang(~textual@host-173-230-65-85.njjcmar.clients.pavlovmedia.com)
2020-12-27 21:54:47 +0100 <fuzzypixelz> I just found out what my error was
2020-12-27 21:55:17 +0100 <fuzzypixelz> I used [f x y | x <- xs, y <- ys] but I really meant to zip xs and ys
2020-12-27 21:55:47 +0100 <xerox_> ok so
2020-12-27 21:56:18 +0100 <xerox_> oops wrong window
2020-12-27 21:56:41 +0100 <fuzzypixelz> zipWith f xs ys is what I should've done
2020-12-27 21:56:43 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:f193:2ce3:b8ae:6366) (Ping timeout: 260 seconds)
2020-12-27 21:57:17 +0100 <koz_> fuzzypixelz: Yeah, take some care with that. The default list behaviour is non-determinism, not ZipList.
2020-12-27 21:58:31 +0100fresheyeball(~isaac@c-71-237-105-37.hsd1.co.comcast.net)
2020-12-27 22:02:13 +0100_ht(~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection)
2020-12-27 22:03:05 +0100arrowd(~arr@2.93.42.182) ()
2020-12-27 22:03:27 +0100gxt(~gxt@gateway/tor-sasl/gxt)
2020-12-27 22:04:20 +0100christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-12-27 22:04:36 +0100hexfive(~hexfive@50-47-142-195.evrt.wa.frontiernet.net)
2020-12-27 22:05:25 +0100haritz(~hrtz@unaffiliated/haritz) (Ping timeout: 240 seconds)
2020-12-27 22:05:54 +0100axeman-(~axeman_@2a02:8109:86c0:1f98:983e:b838:a39f:f660)
2020-12-27 22:05:58 +0100haritz(~hrtz@62.3.70.206)
2020-12-27 22:05:59 +0100haritz(~hrtz@62.3.70.206) (Changing host)
2020-12-27 22:05:59 +0100haritz(~hrtz@unaffiliated/haritz)
2020-12-27 22:06:05 +0100CountryNerd(~CountryNe@50.105.107.243)
2020-12-27 22:07:11 +0100gxt(~gxt@gateway/tor-sasl/gxt) (Client Quit)
2020-12-27 22:07:35 +0100axeman-_(~axeman_@2a02:8109:86c0:1f98:b97c:dc0f:236c:d812)
2020-12-27 22:07:47 +0100knupfer(~Thunderbi@200116b82ce13900b81a50214becdbd8.dip.versatel-1u1.de) (Ping timeout: 260 seconds)
2020-12-27 22:08:45 +0100CountryNerd(~CountryNe@50.105.107.243) (Client Quit)
2020-12-27 22:10:40 +0100axeman-(~axeman_@2a02:8109:86c0:1f98:983e:b838:a39f:f660) (Ping timeout: 258 seconds)
2020-12-27 22:10:43 +0100geekosaur(ae68c070@cpe-174-104-192-112.neo.res.rr.com) (Remote host closed the connection)
2020-12-27 22:11:36 +0100dandart(~Thunderbi@2a00:23c7:f5a6:d001:e847:506b:5204:fefb) (Remote host closed the connection)
2020-12-27 22:11:54 +0100dandart(~Thunderbi@2a00:23c7:f5a6:d001:e847:506b:5204:fefb)
2020-12-27 22:12:37 +0100kish`(~oracle@unaffiliated/oracle) (Ping timeout: 246 seconds)
2020-12-27 22:12:41 +0100son0p(~son0p@181.136.122.143)
2020-12-27 22:12:46 +0100knupfer(~Thunderbi@i5E86B4B8.versanet.de)
2020-12-27 22:13:06 +0100 <fuzzypixelz> Haha my code finally works but it's too slow
2020-12-27 22:13:06 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Quit: leaving)
2020-12-27 22:13:13 +0100gxt(~gxt@gateway/tor-sasl/gxt)
2020-12-27 22:13:15 +0100 <fuzzypixelz> 10 seconds
2020-12-27 22:13:23 +0100 <fuzzypixelz> for AOC part 2
2020-12-27 22:14:15 +0100 <fuzzypixelz> I heard execution times in the range of ms earlier
2020-12-27 22:16:25 +0100dandart(~Thunderbi@2a00:23c7:f5a6:d001:e847:506b:5204:fefb) (Ping timeout: 258 seconds)
2020-12-27 22:17:30 +0100hackageneptune-backend 0.2.1 - Neptune Client https://hackage.haskell.org/package/neptune-backend-0.2.1 (JiasenWu)
2020-12-27 22:17:30 +0100sparsity(5eae2591@gateway/web/cgi-irc/kiwiirc.com/ip.94.174.37.145)
2020-12-27 22:17:48 +0100 <fuzzypixelz> https://bpa.st/3XOA
2020-12-27 22:18:10 +0100dandart(~Thunderbi@host86-185-55-80.range86-185.btcentralplus.com)
2020-12-27 22:21:02 +0100christo(~chris@81.96.113.213)
2020-12-27 22:21:07 +0100Tops21(~Tobias@dyndsl-095-033-027-251.ewe-ip-backbone.de)
2020-12-27 22:21:27 +0100jajm1(~jajm@5.253.204.132) (Remote host closed the connection)
2020-12-27 22:24:36 +0100Tops2(~Tobias@dyndsl-095-033-027-251.ewe-ip-backbone.de) (Ping timeout: 240 seconds)
2020-12-27 22:25:17 +0100dandart(~Thunderbi@host86-185-55-80.range86-185.btcentralplus.com) (Ping timeout: 260 seconds)
2020-12-27 22:25:31 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-12-27 22:29:43 +0100xcmw(~textual@c-76-120-183-86.hsd1.pa.comcast.net)
2020-12-27 22:30:52 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
2020-12-27 22:32:17 +0100fresheyeball(~isaac@c-71-237-105-37.hsd1.co.comcast.net) (Quit: WeeChat 2.7.1)
2020-12-27 22:32:43 +0100dandart(~Thunderbi@host86-185-55-80.range86-185.btcentralplus.com)
2020-12-27 22:32:58 +0100axeman-_(~axeman_@2a02:8109:86c0:1f98:b97c:dc0f:236c:d812) (Remote host closed the connection)
2020-12-27 22:35:41 +0100rmk236(~lcampos@2a02:908:3616:b100:d0f7:308c:96bf:b55d) (Quit: Leaving.)
2020-12-27 22:35:53 +0100kish`(~oracle@unaffiliated/oracle)
2020-12-27 22:37:46 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:f193:2ce3:b8ae:6366)
2020-12-27 22:39:27 +0100ADG1089__(~aditya@223.235.213.117)
2020-12-27 22:40:51 +0100axeman-(~axeman_@ip5f5af023.dynamic.kabel-deutschland.de)
2020-12-27 22:41:36 +0100revprez_anzio(~revprez_a@pool-108-49-213-40.bstnma.fios.verizon.net) (Ping timeout: 256 seconds)
2020-12-27 22:44:47 +0100danish(~kvirc@62-243-156-218-static.dk.customer.tdc.net) (Quit: KVIrc 5.0.0 Aria http://www.kvirc.net/)
2020-12-27 22:47:21 +0100ADG1089__(~aditya@223.235.213.117) (Remote host closed the connection)
2020-12-27 22:47:31 +0100justsomeguy(~justsomeg@unaffiliated/--/x-3805311)
2020-12-27 22:48:17 +0100GuerrillaMonkey(~Jeanne-Ka@static-198-54-134-164.cust.tzulo.com)
2020-12-27 22:48:52 +0100justsomeguy(~justsomeg@unaffiliated/--/x-3805311) (Client Quit)
2020-12-27 22:49:43 +0100vfaronov(~vfaronov@broadband-95-84-210-78.ip.moscow.rt.ru) (Quit: vfaronov)
2020-12-27 22:50:06 +0100sparsity(5eae2591@gateway/web/cgi-irc/kiwiirc.com/ip.94.174.37.145) (Quit: Connection closed)
2020-12-27 22:51:02 +0100Jeanne-Kamikaze(~Jeanne-Ka@static-198-54-134-170.cust.tzulo.com) (Ping timeout: 272 seconds)
2020-12-27 22:51:26 +0100nbloomf(~nbloomf@2601:285:401:7490:bc18:fa9e:e85f:3e9b) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-12-27 22:52:18 +0100takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2020-12-27 22:53:55 +0100carthia(~carthia@gateway/tor-sasl/carthia) (Quit: carthia)
2020-12-27 22:54:49 +0100jmchael(~jmchael@81.174.205.210) (Ping timeout: 264 seconds)
2020-12-27 22:57:05 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-12-27 23:00:34 +0100revprez_anzio(~revprez_a@pool-108-49-213-40.bstnma.fios.verizon.net)
2020-12-27 23:01:11 +0100Varis(~Tadas@unaffiliated/varis) (Remote host closed the connection)
2020-12-27 23:03:30 +0100heatsink(~heatsink@2600:1700:bef1:5e10:2d7a:8bca:7799:994c) (Remote host closed the connection)
2020-12-27 23:04:53 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-27 23:05:13 +0100jmchael(~jmchael@81.174.205.210)
2020-12-27 23:05:22 +0100cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Quit: Goodbye)
2020-12-27 23:06:32 +0100dandart(~Thunderbi@host86-185-55-80.range86-185.btcentralplus.com) (Quit: dandart)
2020-12-27 23:07:09 +0100fresheyeball(~isaac@c-71-237-105-37.hsd1.co.comcast.net)
2020-12-27 23:07:37 +0100justanotheruser(~justanoth@unaffiliated/justanotheruser) (Ping timeout: 260 seconds)
2020-12-27 23:08:55 +0100fuzzypixelz(~fuzzypixe@eth-west-pareq2-46-193-4-100.wb.wifirst.net) ()
2020-12-27 23:11:40 +0100Franciman(~francesco@host-82-49-79-73.retail.telecomitalia.it) (Quit: Leaving)
2020-12-27 23:13:09 +0100Wuzzy(~Wuzzy@p5790e975.dip0.t-ipconnect.de)
2020-12-27 23:13:23 +0100usr25(~usr25@unaffiliated/usr25)
2020-12-27 23:13:40 +0100cr3(~cr3@192-222-143-195.qc.cable.ebox.net) (Ping timeout: 256 seconds)
2020-12-27 23:14:07 +0100__monty__(~toonn@unaffiliated/toonn) (Quit: leaving)
2020-12-27 23:14:42 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
2020-12-27 23:15:04 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-27 23:16:31 +0100geowiesnot(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 256 seconds)
2020-12-27 23:17:02 +0100fresheyeball(~isaac@c-71-237-105-37.hsd1.co.comcast.net) (Quit: WeeChat 2.9)
2020-12-27 23:18:49 +0100elsimio1(~elsimio@185.204.1.185)
2020-12-27 23:19:28 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 246 seconds)
2020-12-27 23:23:41 +0100axeman-(~axeman_@ip5f5af023.dynamic.kabel-deutschland.de) (Remote host closed the connection)
2020-12-27 23:25:25 +0100GuerrillaMonkey(~Jeanne-Ka@static-198-54-134-164.cust.tzulo.com) (Quit: Leaving)
2020-12-27 23:25:33 +0100Jeanne-Kamikaze(~Jeanne-Ka@static-198-54-134-164.cust.tzulo.com)
2020-12-27 23:28:12 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-27 23:29:04 +0100DirefulSalt(DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt) (Remote host closed the connection)
2020-12-27 23:29:09 +0100bisickcor(~username@117.200.9.231) (Read error: Connection reset by peer)
2020-12-27 23:29:36 +0100christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-12-27 23:29:39 +0100DirefulSalt(DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt)
2020-12-27 23:30:07 +0100bisickcor(~username@117.200.7.119)
2020-12-27 23:30:08 +0100axeman-(~axeman_@2a02:8109:86c0:1f98:b97c:dc0f:236c:d812)
2020-12-27 23:30:56 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2020-12-27 23:30:58 +0100geowiesnot(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr)
2020-12-27 23:32:12 +0100andrewray(18051608@c-24-5-22-8.hsd1.ca.comcast.net)
2020-12-27 23:33:00 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
2020-12-27 23:33:23 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-27 23:33:46 +0100heatsink(~heatsink@2600:1700:bef1:5e10:2d7a:8bca:7799:994c)
2020-12-27 23:34:22 +0100 <andrewray> this article https://raganwald.com/2017/04/10/foldl-foldr.html (javascript foldr/foldl) says that foldl(half, increment, square) should return a different result than foldr(half, increment, square) - is this wrong?
2020-12-27 23:35:28 +0100 <andrewray> err, foldl (compose) [half, increment, square], where compose is .
2020-12-27 23:36:25 +0100 <andrewray> he also says foldr = javascript reduceRight, which also sounds wrong given the formal definition of foldr https://wiki.haskell.org/Fold
2020-12-27 23:37:10 +0100chang(~textual@host-173-230-65-85.njjcmar.clients.pavlovmedia.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-12-27 23:38:01 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 246 seconds)
2020-12-27 23:39:10 +0100xcmw(~textual@c-76-120-183-86.hsd1.pa.comcast.net) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-12-27 23:40:33 +0100Vulfe_(~vulfe@2600:1702:31b0:34e0:f193:2ce3:b8ae:6366)
2020-12-27 23:40:44 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-27 23:40:54 +0100Guest_68(5504338a@138.51.4.85.dynamic.wline.res.cust.swisscom.ch)
2020-12-27 23:41:40 +0100Guest_68(5504338a@138.51.4.85.dynamic.wline.res.cust.swisscom.ch) ()
2020-12-27 23:42:02 +0100eruditass(uid248673@gateway/web/irccloud.com/x-ruenpoidfyfhvubb) (Ping timeout: 260 seconds)
2020-12-27 23:42:02 +0100m-renaud(sid333785@gateway/web/irccloud.com/x-gftlznuewepqxlfi) (Ping timeout: 260 seconds)
2020-12-27 23:42:02 +0100whataday(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Ping timeout: 260 seconds)
2020-12-27 23:42:13 +0100m-renaud(sid333785@gateway/web/irccloud.com/x-zfzplrqftpoxiysf)
2020-12-27 23:42:23 +0100iqubic`(~user@2601:602:9500:4870:496b:9eb3:62a0:bc7)
2020-12-27 23:42:34 +0100iqubic`(~user@2601:602:9500:4870:496b:9eb3:62a0:bc7) (Remote host closed the connection)
2020-12-27 23:42:37 +0100liquorice(sid267884@gateway/web/irccloud.com/x-rkupxuhqqgpmvbqv) (Ping timeout: 260 seconds)
2020-12-27 23:42:37 +0100ryjm(sid383513@gateway/web/irccloud.com/x-fozezseyqmozmxjk) (Ping timeout: 260 seconds)
2020-12-27 23:42:37 +0100glowcoil(sid3405@gateway/web/irccloud.com/x-piyeseudbyefydfs) (Ping timeout: 260 seconds)
2020-12-27 23:42:37 +0100ghuntley(sid16877@gateway/web/irccloud.com/x-ykjkjsicixvqqmkq) (Ping timeout: 260 seconds)
2020-12-27 23:42:37 +0100PlasmaStar(plasma@unaffiliated/plasmastar) (Ping timeout: 260 seconds)
2020-12-27 23:43:12 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:f193:2ce3:b8ae:6366) (Ping timeout: 260 seconds)
2020-12-27 23:43:12 +0100xff0x_(~fox@2001:1a81:52bd:9700:bad9:3cb6:8ce9:4998) (Ping timeout: 260 seconds)
2020-12-27 23:43:12 +0100gOOgler(uid125351@gateway/web/irccloud.com/x-rizvueflwypynars) (Ping timeout: 260 seconds)
2020-12-27 23:43:12 +0100lambda(~xiretza@mail.xiretza.xyz) (Ping timeout: 260 seconds)
2020-12-27 23:43:12 +0100jackdk(sid373013@gateway/web/irccloud.com/x-xeablxzuerknfxni) (Ping timeout: 260 seconds)
2020-12-27 23:43:12 +0100srhb(sid400352@NixOS/user/srhb) (Ping timeout: 260 seconds)
2020-12-27 23:43:26 +0100fresheyeball(~isaac@c-71-237-105-37.hsd1.co.comcast.net)
2020-12-27 23:43:47 +0100iqubic(~user@2601:602:9500:4870:b714:410c:c6da:d9b1) (Ping timeout: 260 seconds)
2020-12-27 23:43:47 +0100J_Arcane(sid119274@gateway/web/irccloud.com/x-rmzbmhxqvjyslqlb) (Ping timeout: 260 seconds)
2020-12-27 23:43:47 +0100milessabin(sid86799@gateway/web/irccloud.com/x-qdexhvophzkhmamx) (Ping timeout: 260 seconds)
2020-12-27 23:43:47 +0100ocharles(sid30093@musicbrainz/user/ocharles) (Ping timeout: 260 seconds)
2020-12-27 23:43:47 +0100chpatrick(sid239395@gateway/web/irccloud.com/x-wqumiebnaqquaidk) (Ping timeout: 260 seconds)
2020-12-27 23:43:58 +0100whataday(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2020-12-27 23:44:13 +0100Bigcheese_(~quassel@unaffiliated/bigcheese)
2020-12-27 23:44:22 +0100ericsagnes(~ericsagne@2405:6580:0:5100:49a8:1a11:c128:7983) (Ping timeout: 260 seconds)
2020-12-27 23:44:22 +0100Bigcheese(~quassel@unaffiliated/bigcheese) (Ping timeout: 260 seconds)
2020-12-27 23:44:58 +0100xff0x_(~fox@2001:1a81:52bd:9700:bad9:3cb6:8ce9:4998)
2020-12-27 23:45:00 +0100ryjm(sid383513@gateway/web/irccloud.com/x-cgthedhmsargdwki)
2020-12-27 23:45:02 +0100jackdk(sid373013@gateway/web/irccloud.com/x-nxzcacbycruavkxu)
2020-12-27 23:45:04 +0100chpatrick(sid239395@gateway/web/irccloud.com/x-okkeakcurpolpskn)
2020-12-27 23:45:04 +0100gOOgler(uid125351@gateway/web/irccloud.com/x-wkvpcwzuhpoudvgh)
2020-12-27 23:45:06 +0100ocharles(sid30093@gateway/web/irccloud.com/x-kgjzhrkziqnooytj)
2020-12-27 23:45:06 +0100glowcoil(sid3405@gateway/web/irccloud.com/x-phxgsvkkktdtequi)
2020-12-27 23:45:10 +0100milessabin(sid86799@gateway/web/irccloud.com/x-tvcbhvvpnfvrhwif)
2020-12-27 23:45:22 +0100ocharlesGuest26328
2020-12-27 23:45:43 +0100eruditass(uid248673@gateway/web/irccloud.com/x-glwlnislsolfajwk)
2020-12-27 23:45:44 +0100lambda(~xiretza@mail.xiretza.xyz)
2020-12-27 23:45:52 +0100srhb(sid400352@NixOS/user/srhb)
2020-12-27 23:45:52 +0100J_Arcane(sid119274@gateway/web/irccloud.com/x-apvicoqedezkzpwr)
2020-12-27 23:46:21 +0100ericsagnes(~ericsagne@2405:6580:0:5100:f3bd:76da:a01c:8f3f)
2020-12-27 23:46:25 +0100cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
2020-12-27 23:46:38 +0100liquorice(sid267884@gateway/web/irccloud.com/x-oqrinesxidfslrfs)
2020-12-27 23:46:45 +0100ghuntley(sid16877@gateway/web/irccloud.com/x-ktnshisjcmovvjao)
2020-12-27 23:47:52 +0100Varis(~Tadas@unaffiliated/varis)
2020-12-27 23:47:53 +0100cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Client Quit)
2020-12-27 23:48:30 +0100hackagetasty-dejafu 2.0.0.7 - Deja Fu support for the Tasty test framework. https://hackage.haskell.org/package/tasty-dejafu-2.0.0.7 (barrucadu)
2020-12-27 23:50:10 +0100PlasmaStar(plasma@unaffiliated/plasmastar)
2020-12-27 23:51:29 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
2020-12-27 23:51:50 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-27 23:53:55 +0100perrier-jouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Ping timeout: 256 seconds)
2020-12-27 23:55:05 +0100axeman-(~axeman_@2a02:8109:86c0:1f98:b97c:dc0f:236c:d812) (Remote host closed the connection)
2020-12-27 23:56:41 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-12-27 23:56:54 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 272 seconds)
2020-12-27 23:57:44 +0100salumu(~sMuNiX@vlnsm8-montreal02-142-122-8-233.internet.virginmobile.ca)
2020-12-27 23:59:51 +0100fendor_(~fendor@178.165.131.53.wireless.dyn.drei.com) (Remote host closed the connection)