Home freenode/#haskell: Logs Calendar

Logs on 2020-12-27 (freenode/#haskell)

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

All times are in UTC on 2020-12-27.