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.