Home liberachat/#haskell: Logs Calendar

Logs on 2023-06-22 (liberachat/#haskell)

00:02:41 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:38f8:4900:37c0:4176)
00:03:55 × Athas quits (athas@sigkill.dk) (Server closed connection)
00:03:56 × taupiqueur3 quits (~taupiqueu@2a02-842a-8180-4601-7129-fa0f-75f4-74d9.rev.sfr.net) (Ping timeout: 240 seconds)
00:04:04 Athas joins (athas@sigkill.dk)
00:06:59 emmanuelux joins (~emmanuelu@user/emmanuelux)
00:07:43 machinedgod joins (~machinedg@198.53.218.113)
00:07:54 segfaultfizzbuzz joins (~segfaultf@12.172.217.142)
00:14:16 × segfaultfizzbuzz quits (~segfaultf@12.172.217.142) (Ping timeout: 250 seconds)
00:16:13 taupiqueur3 joins (~taupiqueu@2a02:842a:8180:4601:7129:fa0f:75f4:74d9)
00:19:52 × Midjak quits (~Midjak@82.66.147.146) (Ping timeout: 240 seconds)
00:20:32 × taupiqueur3 quits (~taupiqueu@2a02:842a:8180:4601:7129:fa0f:75f4:74d9) (Ping timeout: 240 seconds)
00:23:36 × rf quits (~rf@2605:59c8:179c:f610:b924:5d99:d3fe:ccc6) (Ping timeout: 260 seconds)
00:23:56 × EvanR quits (~EvanR@user/evanr) (Ping timeout: 240 seconds)
00:27:16 wroathe joins (~wroathe@207-153-38-140.fttp.usinternet.com)
00:27:16 × wroathe quits (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
00:27:16 wroathe joins (~wroathe@user/wroathe)
00:29:19 segfaultfizzbuzz joins (~segfaultf@12.172.217.142)
00:30:00 × mmaruseacph2 quits (~mihai@mihai.page) (Server closed connection)
00:30:14 mmaruseacph2 joins (~mihai@mihai.page)
00:31:38 nicole joins (ilbelkyr@libera/staff/ilbelkyr)
00:34:26 oo_miguel joins (~Thunderbi@78-11-179-96.static.ip.netia.com.pl)
00:35:44 × cafkafk quits (~cafkafk@fsf/member/cafkafk) (Ping timeout: 240 seconds)
00:38:14 cafkafk joins (~cafkafk@fsf/member/cafkafk)
00:48:15 taupiqueur3 joins (~taupiqueu@2a02:842a:8180:4601:7129:fa0f:75f4:74d9)
00:49:01 × oo_miguel quits (~Thunderbi@78-11-179-96.static.ip.netia.com.pl) (Quit: oo_miguel)
00:52:32 × taupiqueur3 quits (~taupiqueu@2a02:842a:8180:4601:7129:fa0f:75f4:74d9) (Ping timeout: 240 seconds)
00:54:41 × puke quits (~puke@user/puke) (Quit: puke)
00:55:00 rf joins (~rf@2605:59c8:179c:f610:94ce:38b3:9bb5:d218)
00:55:29 × rf quits (~rf@2605:59c8:179c:f610:94ce:38b3:9bb5:d218) (Read error: Connection reset by peer)
00:59:01 puke joins (~puke@user/puke)
01:02:23 × jargon quits (~jargon@32.sub-174-205-224.myvzw.com) (Remote host closed the connection)
01:10:19 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
01:14:42 × hippoid quits (~hippoid@c-98-213-162-40.hsd1.il.comcast.net) (Quit: WeeChat 3.8)
01:16:06 × [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 260 seconds)
01:16:10 jargon joins (~jargon@32.sub-174-205-224.myvzw.com)
01:16:28 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
01:18:25 × Unicorn_Princess quits (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection)
01:19:54 [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470)
01:21:57 taupiqueur3 joins (~taupiqueu@2a02-842a-8180-4601-7129-fa0f-75f4-74d9.rev.sfr.net)
01:23:32 × machinedgod quits (~machinedg@198.53.218.113) (Ping timeout: 240 seconds)
01:26:19 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
01:26:27 × taupiqueur3 quits (~taupiqueu@2a02-842a-8180-4601-7129-fa0f-75f4-74d9.rev.sfr.net) (Ping timeout: 245 seconds)
01:42:52 × hugo quits (znc@verdigris.lysator.liu.se) (Ping timeout: 240 seconds)
01:43:00 × chromoblob quits (~user@37.113.180.121) (Ping timeout: 240 seconds)
01:44:52 × waleee quits (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 240 seconds)
01:45:43 × leah2 quits (~leah@vuxu.org) (Server closed connection)
01:46:32 leah2 joins (~leah@2001:1410:200:eea::1)
01:49:46 chromoblob joins (~user@37.113.180.121)
01:50:28 hugo joins (znc@2001:6b0:17:f0a0::17)
01:51:38 smalltalkman joins (uid545680@id-545680.hampstead.irccloud.com)
01:55:49 taupiqueur3 joins (~taupiqueu@2a02:842a:8180:4601:7129:fa0f:75f4:74d9)
02:00:03 ryanbooker joins (uid4340@id-4340.hampstead.irccloud.com)
02:00:12 × taupiqueur3 quits (~taupiqueu@2a02:842a:8180:4601:7129:fa0f:75f4:74d9) (Ping timeout: 240 seconds)
02:05:19 × haveo quits (~haveo@sl35.iuwt.fr) (Quit: Lost terminal)
02:05:51 haveo joins (~haveo@sl35.iuwt.fr)
02:08:34 × fweht quits (uid404746@id-404746.lymington.irccloud.com) (Quit: Connection closed for inactivity)
02:12:55 Nokurn joins (~jeremiah@cpe-76-86-186-227.socal.res.rr.com)
02:15:25 nate2 joins (~nate@c-98-45-169-16.hsd1.ca.comcast.net)
02:19:50 finn_elija joins (~finn_elij@user/finn-elija/x-0085643)
02:19:50 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
02:19:50 finn_elija is now known as FinnElija
02:21:02 × segfaultfizzbuzz quits (~segfaultf@12.172.217.142) (Ping timeout: 245 seconds)
02:23:17 × xff0x_ quits (~xff0x@ai098135.d.east.v6connect.net) (Ping timeout: 256 seconds)
02:24:00 × ijqq quits (uid603979@2a03:5180:f:1::9:374b) (Quit: Connection closed for inactivity)
02:26:43 falafel joins (~falafel@2607:fb91:86c:d890:ceb9:44cc:308:b21)
02:31:00 segfaultfizzbuzz joins (~segfaultf@12.172.217.142)
02:32:05 × cafkafk quits (~cafkafk@fsf/member/cafkafk) (Remote host closed the connection)
02:34:26 × td_ quits (~td@i5387092F.versanet.de) (Ping timeout: 252 seconds)
02:36:20 td_ joins (~td@i53870903.versanet.de)
02:37:44 cafkafk joins (~cafkafk@fsf/member/cafkafk)
02:44:44 × codaraxis__ quits (~codaraxis@user/codaraxis) (Ping timeout: 240 seconds)
03:03:34 × [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
03:07:37 EvanR joins (~EvanR@user/evanr)
03:07:38 xff0x_ joins (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp)
03:08:27 × jargon quits (~jargon@32.sub-174-205-224.myvzw.com) (Remote host closed the connection)
03:08:46 × jero98772 quits (~jero98772@2800:484:1d7f:5d36::4) (Read error: Connection reset by peer)
03:09:11 <EvanR> does this type have a standard name data T a b = Leaf a | Branch b (T a b) (T a b)
03:09:16 machinedgod joins (~machinedg@198.53.218.113)
03:10:27 <monochrom> Good news: It does. Bad news: The same standard name as the other two kinds of binary trees. And the standard name of all three is: binary trees.
03:11:32 exeo joins (~Ozymandia@97-119-96-49.omah.qwest.net)
03:18:32 × nate2 quits (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 245 seconds)
03:20:27 aforemny_ joins (~aforemny@2001:9e8:6cc2:a900:fbea:dfb3:5fb7:629)
03:20:56 × aforemny quits (~aforemny@i59F516E6.versanet.de) (Ping timeout: 260 seconds)
03:22:35 jargon joins (~jargon@32.sub-174-205-224.myvzw.com)
03:24:48 × phma quits (~phma@host-67-44-208-160.hnremote.net) (Read error: Connection reset by peer)
03:25:20 phma joins (phma@2001:5b0:211f:2f08:cc02:19f0:c9b8:d000)
03:26:12 × hugo quits (znc@2001:6b0:17:f0a0::17) (Ping timeout: 240 seconds)
03:27:52 <EvanR> alright, but "binary tree" won't be accepted as code
03:28:48 <EvanR> and BinaryTree is rather long for a simple haskell type
03:29:24 <monochrom> Right, I randomly choose from {T, B, BT, BinTree}
03:29:51 <monochrom> And I forgot that there is a 4th kind, too. :)
03:29:53 <EvanR> dang I guessed it
03:34:38 codaraxis joins (~codaraxis@user/codaraxis)
03:35:59 × bjs quits (sid190364@user/bjs) (Server closed connection)
03:36:37 bjs joins (sid190364@user/bjs)
03:40:26 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 252 seconds)
03:42:50 hugo joins (znc@verdigris.lysator.liu.se)
03:44:44 × Flow quits (~none@gentoo/developer/flow) (Server closed connection)
03:45:24 Flow joins (~none@gentoo/developer/flow)
03:47:13 × emmanuelux quits (~emmanuelu@user/emmanuelux) (Quit: au revoir)
03:49:26 taupiqueur3 joins (~taupiqueu@2a02:842a:8180:4601:7129:fa0f:75f4:74d9)
03:53:52 × taupiqueur3 quits (~taupiqueu@2a02:842a:8180:4601:7129:fa0f:75f4:74d9) (Ping timeout: 240 seconds)
03:57:07 ai5lk joins (~ai5lk@209-188-121-236.taosnet.com)
03:57:56 ai5lk is now known as shef
03:59:16 bilegeek joins (~bilegeek@2600:1008:b00e:5a77:40a7:94d2:c95b:3605)
04:01:12 × segfaultfizzbuzz quits (~segfaultf@12.172.217.142) (Ping timeout: 240 seconds)
04:08:57 _ht joins (~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
04:09:51 × ryanbooker quits (uid4340@id-4340.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
04:17:53 EvanR_ joins (~EvanR@user/evanr)
04:18:07 × EvanR quits (~EvanR@user/evanr) (Ping timeout: 245 seconds)
04:19:22 × codaraxis quits (~codaraxis@user/codaraxis) (Ping timeout: 245 seconds)
04:19:42 × shapr quits (~user@2600:1700:c640:3100:d4c2:f56d:9cf0:2080) (Ping timeout: 246 seconds)
04:19:53 × harveypwca quits (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Quit: Leaving)
04:24:26 taupiqueur3 joins (~taupiqueu@2a02-842a-8180-4601-7129-fa0f-75f4-74d9.rev.sfr.net)
04:31:15 × Moyst quits (~moyst@user/moyst) (Server closed connection)
04:32:12 × machinedgod quits (~machinedg@198.53.218.113) (Ping timeout: 240 seconds)
04:32:31 Moyst joins (~moyst@user/moyst)
04:33:01 × jargon quits (~jargon@32.sub-174-205-224.myvzw.com) (Read error: Connection reset by peer)
04:33:53 Guest|59 joins (~Guest|59@107.127.46.21)
04:34:32 × cafkafk quits (~cafkafk@fsf/member/cafkafk) (Ping timeout: 240 seconds)
04:36:57 cafkafk joins (~cafkafk@fsf/member/cafkafk)
04:38:25 <Guest|59> Greetings. I just started the book, "Introduction to Computation" by Wadler Sannella and others. Maybe it's just me but it doesn't seem to give very good instructions on getting started with haskell; and I'm lost with the instructions from the website. Download this, download that, then a package page the link to which gives the impression to
04:38:26 <Guest|59> download something but on the page there's nothing to download, a maze of dead ends? So I tried the main method - copied and pasted the command into powershell, kept getting errors the other night so I copied and pasted a command from a troubleshooting page, then ran into more road blocks so gave up that night. Finally tonight the main command
04:38:27 <Guest|59> works, but hit another road block:
04:38:27 <Guest|59> curl failed to verify the legitimacy of the server and therefore could not
04:38:27 <Guest|59> establish a secure connection to it. To learn more about this situation and
04:38:28 <Guest|59> how to fix it, please visit the web page mentioned above.
04:38:29 <Guest|59> I looked at that link and it's just more jibberish.
04:38:29 <Guest|59> Seriously why is this so difficult?!?!?!
04:40:06 <Axman6> I've never heard of that book, but if it's relatively old, the installation instructions have probably changed quite a lot. these days thebest way to get started with haskell is to use ghcup
04:40:30 Guest|17 joins (~Guest|17@122-58-23-13-fibre.sparkbb.co.nz)
04:40:40 × Guest|17 quits (~Guest|17@122-58-23-13-fibre.sparkbb.co.nz) (Client Quit)
04:41:05 <Guest|59> Yes, that's what I finally did:
04:41:05 <Guest|59> I copied and pasted the command from the ghcup page into powershell, and then I got the above curl error! (That might've been the one I got the other night too, don't remember)
04:41:06 <Axman6> Also, please don't just paste a whole bunch of test into IRC, if you need to say something long, a pastebin website can be useful for gathering your thoughts, including showing us code and impoortantly, error messages
04:41:10 <Axman6> @where paste
04:41:10 <lambdabot> Help us help you: please paste full code, input and/or output at e.g. https://paste.tomsmeding.com
04:41:34 × shef quits (~ai5lk@209-188-121-236.taosnet.com) (Quit: WeeChat 3.8)
04:42:10 <Axman6> I'm surprised you would get a curl error on windows, I assume you're using WSL2/
04:42:30 <Guest|59> This is all I pasted, this is the error I'm getting:
04:42:31 <Guest|59> curl failed to verify the legitimacy of the server and therefore could not
04:42:31 <Guest|59> establish a secure connection to it. To learn more about this situation and
04:42:32 <Guest|59> how to fix it, please visit the web page mentioned above.
04:42:32 <Guest|59> One of the haskell sites linked to this site for help, is this not the right place for help?
04:43:59 <Axman6> yes it is the right place for help, but asking for help can be done poorly or well. Showing us what you _actually did_ and then what error you got means we don't have to guess. please paste, using the link above, the command you ran and the error you got
04:43:59 <Guest|59> What's wsl2?
04:44:09 <monochrom> Lack of people who have time to work on the failed-to-verify-server problem on Windows is why there are so many roadblocks on Windows.
04:44:13 <Axman6> windows subsystem for linux
04:44:14 segfaultfizzbuzz joins (~segfaultf@12.172.217.142)
04:45:00 <Axman6> Guest|59: did you read the documentation about the problem you're describing? https://www.haskell.org/ghcup/guide/#certificate-authority-errors-curl
04:51:24 <Axman6> Guest|59: did that help? I understand how you feel, it's pretty frustrating when you're just trying to get started and all the instructions are out of date. We're happy to help, you just need to let us know what you've tried and what went wrong
04:51:27 <Guest|59> Thanks and my humble apologies - this all seems insanely unnecessary even for a linux-emphasized project so sorry for my frustrations - but pretty sure I did. Other than what the book suggests (I intentionally skipped that part above), what I said above was:
04:51:27 <Guest|59> 1) I went to the ghcup page (I have so many tabs up trying to do this, I thought the ghcup page would be obvious but to be explicit:
04:51:28 <Guest|59> https://www.haskell.org/ghcup/
04:51:28 <Guest|59> )
04:51:29 <Guest|59> 2) I copied its command from there
04:51:29 <Guest|59> 3) pasted into a powershell
04:51:30 <Guest|59> 4) tonight it worked, the other night I had to copy and paste the command from the troubleshooting page
04:51:30 <Guest|59> 5) entered the default options in the prompts
04:51:31 <Guest|59> 6) don't remember up until the curl error, above.
04:51:31 <Guest|59> Axman6: that looks familiar I'm certain I was there the other day.
04:51:32 <Guest|59> So when it says,
04:51:32 <Guest|59> "On windows, you can disable curl like so:"
04:51:33 <Guest|59> and then gives the command to copy below, do I just put that into a powershell and rerun the command from the ghcup page?
04:53:04 <probie> I think all you need to do is run that command
04:53:12 <Axman6> which command did you copy? There are two ways to install on windows (because windows now can't make up its mind if it's windows or linux these days)
04:53:58 <mauke> in general, don't paste multi-line stuff into IRC. when you said "this is all I pasted", that was three lines
04:54:19 <mauke> when you say you copied "its command", what was the actual command?
04:54:48 <monochrom> I think powershell pretty much means not WSL.
04:54:49 <Axman6> I have a feeling their irc client is doing something really strange - Guest|59 you're not writing out a whole bunch of text and pasting it in here right?
04:55:05 <Guest|59> Well, it failed the other night but tonight it worked:
04:55:06 <Guest|59> The one front and center from the ghcup page...?
04:56:09 takuan joins (~takuan@178-116-218-225.access.telenet.be)
04:56:10 <mauke> please be explicit. "the ghcup page" is vague; the actual URL is better. "the command on the page" is vague; the actual command is better.
04:56:26 <mauke> you're assuming everyone is on the same page (hah)
04:56:32 <Axman6> they gave the URL, but "the command" isn't clear
04:56:46 <Nosrep> the one that starts with Set-ExecutionPolicy?
04:56:50 <mauke> I don't know if it always shows the same command or if it's tailored to the OS you're on
04:57:18 <mauke> the command that's "front and center" for me is: curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | sh
04:57:21 <Axman6> it does change depending on your OS (because windows is a mess)
04:57:22 <mauke> and that won't work on windows
04:58:10 <Nosrep> mauke: i checked with user agent switcher extension for windows and the big command is the Set-ExecutionPolicy one (there are only 2, one for unixes one for windowses)
04:58:10 <Axman6> well, it might, if you're using WSL2 (which it says above)
04:58:12 <Guest|59> Well I honestly dont' know what you want, when you ask "which command did [I] copy and paste" but the command is several lines long and a pop up asked me am I sure if I want to put it in the chat........ lol
04:58:12 <Guest|59> OH. Well I just go the the url,
04:58:13 <Guest|59> https://www.haskell.org/ghcup/
04:58:13 <Guest|59> and there's only one command on that page as far as I can see.
04:58:14 <Guest|59> OK that would explain a lot.
04:58:14 <Guest|59> So... is there a ghcup page with a command for windows?
04:58:38 <mauke> yes. it's the one you linked
04:58:51 <Guest|59> Yeah it says to install on windows:
04:58:52 <Guest|59> To install on Windows
04:58:52 <Guest|59> run the following in a PowerShell session (as a non-admin user):
04:58:53 <Axman6> Guest|59: what does the command start with? what's the first like 20 characters
04:59:02 <Guest|59> directly copy and pasted from the page btw
04:59:02 <Nosrep> if it says powershell that's the windows one
04:59:04 <Guest|59> ok hold on:
04:59:14 <mauke> Guest|59: if you can copy the description, why can't you copy the command?
04:59:14 <Guest|59> Set-ExecutionPolicy Bypass -Scope Process -Force;[System.Net.ServicePointMan
04:59:21 <Axman6> great, ok
04:59:22 <mauke> ah
04:59:26 <mauke> yeah, that's powershell code
04:59:47 × taupiqueur3 quits (~taupiqueu@2a02-842a-8180-4601-7129-fa0f-75f4-74d9.rev.sfr.net) (Ping timeout: 245 seconds)
04:59:51 <Guest|59> Right. That's where I entered it at, accepted the defaults in the prompts, and eventually got the curl error
05:00:04 <Axman6> ok, right at the end of this page, the final code block is a powershell command that's supposed to fix that: https://www.haskell.org/ghcup/guide/#certificate-authority-errors-curl
05:01:20 <Guest|59> Ah! I did do that the other night, b/c this is where I gave up:
05:01:21 <Guest|59> Now I apologize, I don't know how else to convey the pop up's (Mingw) error but it is two lines:
05:01:21 <Guest|59> ERROR: The certificate of ‘www.haskell.org’ is not trusted.
05:01:22 <Guest|59> ERROR: The certificate of ‘www.haskell.org’ doesn't have a known issuer.
05:01:48 <Axman6> how is windows so broken that it can't verify the haskell.org cert -____-
05:02:35 <Guest|59> Windows 10 I believe
05:02:38 <mauke> huh. that's almost (but not quite) identical to the main install command
05:03:17 <Guest|59> 64 bit
05:03:17 <Guest|59> Windows 10 Home
05:03:18 <Guest|59> AMD Ryzen 5    3550H with Radeon Vega Mobile Gfx 2.10 GHz
05:03:18 <Guest|59> 7.81 GB of usable ram
05:03:19 <Guest|59> I don't know if any of this will help
05:04:05 <Nosrep> seems more like a weird installation issue than a specs issue
05:04:22 <Axman6> nah this is a windows problem,. not a you problem (as far as I can tell anyway).
05:04:28 <mauke> random shot in the dark: is your system date correct?
05:05:20 <Guest|59> At least the one in lower right corner is: 6/22/2023 (I don't know if there's a separate 'system date' where they should be insync etc)
05:05:47 <mauke> nah, that should be fine
05:06:01 <glguy> It's probably just an out of date install. haskell.org uses the ISRG Root X1 that was a big thing to migrate to a couple of years ago
05:08:37 <Guest|59> Any ideas? I mean, there's been plenty to download haskell since that migration right? idk, just really odd...
05:09:27 <Guest|59> Ah yes, the book says something about the haskell platform - which has been deprecated. Not that that helps...
05:10:14 <Nosrep> if you're a little familiar with powershell (which i am not) you could just download the ps1 file through a browser and run it with the arguments
05:10:23 <monochrom> glguy: Now I'm interested. Which piece of software is out of date?
05:12:49 <mauke> there are also manual installation instructions: https://www.haskell.org/ghcup/install/#windows_1
05:12:52 <Guest|59> ps1 file?
05:12:53 <mauke> but they look kinda involved
05:13:32 <glguy> It's been about 2 years, I think, but when Let's Encrypt switched their root certificate to the R3 (I think) certificate and stopped (I think) cross signing, people who had outdated root certificate bundles had issues
05:13:39 <Guest|59> I think I tried that too before the troubleshooting page command (sorry I don't remember), I'll give it another go
05:14:30 <glguy> It was something I had to deal with because libera.chat used let's encrypt to and it was causing people to not be able to connect to irc without updates
05:14:56 <glguy> and haskell.org is signed by that same cert
05:15:27 michalz joins (~michalz@185.246.207.203)
05:16:16 <glguy> https://libera.chat/news/letsencrypt-ca-expiry
05:16:52 <glguy> That's what I was thinking of
05:17:21 <Axman6> Guest|59: the conversation in here might be useful: https://github.com/haskell/ghcup-hs/issues/836
05:17:46 coot joins (~coot@89-69-206-216.dynamic.chello.pl)
05:18:04 × myxos quits (~myxos@cpe-65-28-251-121.cinci.res.rr.com) (Remote host closed the connection)
05:19:45 <Axman6> "I ran into the same problem and fixed by using Powershell 5 instead of 7." urgh. Guest|59 can you make sure you've installed all available os updates? clutching at straws though, it's crazy that windows is this broken
05:20:58 <mauke> wait, so they made it work by using an older version?
05:21:36 <Guest|59> OK. So I have the following: make sure os is up to date, and try the manual install page mauke suggested again.
05:21:37 <Guest|59> Thanks guys, it's getting late I'm off to bed.
05:21:37 <Guest|59> Can I give my email in case you have any further developments?
05:22:17 <mauke> I'm not a support center, I'm just another random user like you
05:23:16 <Guest|59> Yea the conversation axman6 found, and a reddit post, both suggested turning off anti-virus software, but that's risky. Unless I turn it off for a minute and after installation turn it back on?
05:23:35 <mauke> I can't provide much assistance here because I don't use windows or powershell (and also this problem is very stupid and annoying)
05:23:46 myxos joins (~myxos@cpe-65-28-251-121.cinci.res.rr.com)
05:24:01 <Axman6> Guest|59: yeah I would try that
05:24:32 <mauke> I don't see how antivirus would cause certificate errors
05:24:43 <mauke> messing with downloads, sure
05:25:50 <Guest|59> OK 3 possible fixes: update windows, try the manual windows update page, and briefly turn off anti-virus.
05:25:51 <Guest|59> Thanks again everyone.
05:27:16 <maerwald[m]> Seems windows needs some investigation
05:27:22 <Axman6> Good luck, and feel free to come back to ask for help. There are some alternatives we could try, like using WSL2
05:27:42 <Axman6> I think WSL is basically what most people do these days, it finally makes windows a sane dev platform
05:28:00 × Guest|59 quits (~Guest|59@107.127.46.21) (Quit: Connection closed)
05:28:00 <mauke> Guest|59: the manual steps are mainly for tracking down which exact step fails. I don't have much hope of them succeeding completely
05:36:56 × azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 240 seconds)
05:39:49 × _ht quits (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Quit: _ht)
05:41:00 × falafel quits (~falafel@2607:fb91:86c:d890:ceb9:44cc:308:b21) (Ping timeout: 240 seconds)
05:48:12 taupiqueur3 joins (~taupiqueu@2a02-842a-8180-4601-7129-fa0f-75f4-74d9.rev.sfr.net)
05:53:07 × taupiqueur3 quits (~taupiqueu@2a02-842a-8180-4601-7129-fa0f-75f4-74d9.rev.sfr.net) (Ping timeout: 245 seconds)
06:05:37 jonathan_ joins (~jonathan@c83-252-3-92.bredband.tele2.se)
06:06:21 taupiqueur3 joins (~taupiqueu@2a02-842a-8180-4601-7129-fa0f-75f4-74d9.rev.sfr.net)
06:07:42 × mauke quits (~mauke@user/mauke) (Ping timeout: 245 seconds)
06:09:56 × foul_owl quits (~kerry@94.140.8.28) (Ping timeout: 265 seconds)
06:10:38 × taupiqueur3 quits (~taupiqueu@2a02-842a-8180-4601-7129-fa0f-75f4-74d9.rev.sfr.net) (Ping timeout: 246 seconds)
06:17:25 × Square quits (~Square@user/square) (Ping timeout: 240 seconds)
06:17:36 × johnw quits (~johnw@76-234-69-149.lightspeed.frokca.sbcglobal.net) (Read error: Connection reset by peer)
06:17:54 johnw joins (~johnw@76-234-69-149.lightspeed.frokca.sbcglobal.net)
06:23:41 P1RATEZ joins (piratez@user/p1ratez)
06:25:16 foul_owl joins (~kerry@71.212.137.212)
06:28:12 cfricke joins (~cfricke@user/cfricke)
06:29:12 × cafkafk quits (~cafkafk@fsf/member/cafkafk) (Remote host closed the connection)
06:32:08 × segfaultfizzbuzz quits (~segfaultf@12.172.217.142) (Ping timeout: 250 seconds)
06:33:44 mei joins (~mei@user/mei)
06:34:51 cafkafk joins (~cafkafk@fsf/member/cafkafk)
06:41:03 × P1RATEZ quits (piratez@user/p1ratez) (Remote host closed the connection)
06:41:03 taupiqueur3 joins (~taupiqueu@2a02-842a-8180-4601-7129-fa0f-75f4-74d9.rev.sfr.net)
06:42:41 nut joins (~nut@rul16-h01-176-151-21-224.dsl.sta.abo.bbox.fr)
06:45:33 aforemny_ is now known as aforemny
06:46:02 × taupiqueur3 quits (~taupiqueu@2a02-842a-8180-4601-7129-fa0f-75f4-74d9.rev.sfr.net) (Ping timeout: 245 seconds)
06:48:06 fweht joins (uid404746@id-404746.lymington.irccloud.com)
06:50:59 × diagprov quits (sid348783@user/diagprov) (Server closed connection)
06:51:14 diagprov joins (sid348783@user/diagprov)
06:57:50 taupiqueur3 joins (~taupiqueu@2a02-842a-8180-4601-7129-fa0f-75f4-74d9.rev.sfr.net)
06:58:32 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 245 seconds)
06:59:10 <nut> i;ve successfully built the ghc source from a fresh git pull. but then the build always breaks when i git pull new commits. what's the workflow after the first git pull?
06:59:53 lortabac joins (~lortabac@88.125.6.227)
07:00:37 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
07:04:54 × taupiqueur3 quits (~taupiqueu@2a02-842a-8180-4601-7129-fa0f-75f4-74d9.rev.sfr.net) (Ping timeout: 246 seconds)
07:04:57 <probie> nut: That's probably best asked in #ghc, but you probably need to be using `git pull --recurse-submodules` if you aren't already
07:05:44 <tomsmeding> nut: probie: the command for after you've already cloned is `git submodule update --init --recursive`
07:06:00 <tomsmeding> oh wait you said pull, not clone
07:06:07 <tomsmeding> TIL
07:06:19 × shriekingnoise_ quits (~shrieking@186.137.175.87) (Ping timeout: 258 seconds)
07:07:16 × ezzieyguywuf quits (~Unknown@user/ezzieyguywuf) (Ping timeout: 260 seconds)
07:07:35 × exeo quits (~Ozymandia@97-119-96-49.omah.qwest.net) (Quit: Leaving)
07:07:41 ezzieyguywuf joins (~Unknown@user/ezzieyguywuf)
07:08:19 × opqdonut quits (opqdonut@pseudo.fixme.fi) (Server closed connection)
07:08:28 opqdonut joins (opqdonut@pseudo.fixme.fi)
07:08:37 <nut> i've clone the first time of course , and the build is successful
07:08:56 <nut> after the build, there's diff file: libraries/unix
07:12:00 × Nokurn quits (~jeremiah@cpe-76-86-186-227.socal.res.rr.com) (Ping timeout: 250 seconds)
07:16:10 nate2 joins (~nate@c-98-45-169-16.hsd1.ca.comcast.net)
07:17:31 taupiqueur3 joins (~taupiqueu@2a02-842a-8180-4601-7129-fa0f-75f4-74d9.rev.sfr.net)
07:18:31 × MironZ quits (~MironZ@nat-infra.ehlab.uk) (Server closed connection)
07:18:51 MironZ joins (~MironZ@nat-infra.ehlab.uk)
07:20:59 × nate2 quits (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 246 seconds)
07:21:52 × taupiqueur3 quits (~taupiqueu@2a02-842a-8180-4601-7129-fa0f-75f4-74d9.rev.sfr.net) (Ping timeout: 245 seconds)
07:28:42 fendor joins (~fendor@2a02:8388:1640:be00:7aca:a77a:4a28:631a)
07:32:19 MajorBiscuit joins (~MajorBisc@2001:1c00:31c:8400:f184:4168:559b:d91b)
07:32:40 kmein joins (~weechat@user/kmein)
07:33:12 segfaultfizzbuzz joins (~segfaultf@12.172.217.142)
07:35:07 taupiqueur3 joins (~taupiqueu@2a02-842a-8180-4601-7129-fa0f-75f4-74d9.rev.sfr.net)
07:37:17 × segfaultfizzbuzz quits (~segfaultf@12.172.217.142) (Ping timeout: 245 seconds)
07:38:17 trev joins (~trev@user/trev)
07:38:36 × bilegeek quits (~bilegeek@2600:1008:b00e:5a77:40a7:94d2:c95b:3605) (Quit: Leaving)
07:39:11 × taupiqueur3 quits (~taupiqueu@2a02-842a-8180-4601-7129-fa0f-75f4-74d9.rev.sfr.net) (Ping timeout: 246 seconds)
07:42:37 hisa381 joins (~hisa38@104-181-102-238.lightspeed.wepbfl.sbcglobal.net)
07:44:40 × hisa38 quits (~hisa38@104-181-102-238.lightspeed.wepbfl.sbcglobal.net) (Ping timeout: 265 seconds)
07:44:41 hisa381 is now known as hisa38
07:49:12 × nonzen quits (~nonzen@user/nonzen) (Server closed connection)
07:49:42 gmg joins (~user@user/gehmehgeh)
07:49:55 nonzen joins (~nonzen@user/nonzen)
07:52:05 segfaultfizzbuzz joins (~segfaultf@12.172.217.142)
07:58:13 merijn joins (~merijn@c-001-001-003.client.esciencecenter.eduvpn.nl)
07:58:20 CiaoSen joins (~Jura@2a05:5800:298:5100:664b:f0ff:fe37:9ef)
07:59:31 machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net)
08:02:04 × PHO` quits (~pho@2406:da14:856:600:e03a:2c8f:39c:7838) (Server closed connection)
08:02:17 PHO` joins (~pho@akari.cielonegro.org)
08:09:47 dcoutts_ joins (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net)
08:10:01 taupiqueur3 joins (~taupiqueu@2a02-842a-8180-4601-7129-fa0f-75f4-74d9.rev.sfr.net)
08:10:41 × segfaultfizzbuzz quits (~segfaultf@12.172.217.142) (Ping timeout: 246 seconds)
08:12:44 × hugo quits (znc@verdigris.lysator.liu.se) (Ping timeout: 240 seconds)
08:14:37 × tzh quits (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz)
08:14:53 × taupiqueur3 quits (~taupiqueu@2a02-842a-8180-4601-7129-fa0f-75f4-74d9.rev.sfr.net) (Ping timeout: 246 seconds)
08:18:32 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
08:19:08 gnalzo joins (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
08:19:19 ec joins (~ec@gateway/tor-sasl/ec)
08:19:47 hugo joins (znc@verdigris.lysator.liu.se)
08:23:00 × dibblego quits (~dibblego@haskell/developer/dibblego) (Ping timeout: 240 seconds)
08:23:24 dibblego joins (~dibblego@122-199-1-30.ip4.superloop.au)
08:23:24 × dibblego quits (~dibblego@122-199-1-30.ip4.superloop.au) (Changing host)
08:23:24 dibblego joins (~dibblego@haskell/developer/dibblego)
08:25:27 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:38f8:4900:37c0:4176) (Remote host closed the connection)
08:26:10 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Remote host closed the connection)
08:26:57 Pickchea joins (~private@user/pickchea)
08:27:51 zazaeil joins (~user@91.234.25.217)
08:28:21 taupiqueur3 joins (~taupiqueu@2a02-842a-8180-4601-7129-fa0f-75f4-74d9.rev.sfr.net)
08:32:45 × taupiqueur3 quits (~taupiqueu@2a02-842a-8180-4601-7129-fa0f-75f4-74d9.rev.sfr.net) (Ping timeout: 246 seconds)
08:36:03 × MajorBiscuit quits (~MajorBisc@2001:1c00:31c:8400:f184:4168:559b:d91b) (Quit: WeeChat 3.6)
08:38:14 danse-nr3_ joins (~francesco@151.46.158.102)
08:38:34 zazaeil parts (~user@91.234.25.217) (ERC 5.6-git (IRC client for GNU Emacs 30.0.50))
08:39:04 zazaeil joins (~user@91.234.25.217)
08:39:07 chele joins (~chele@user/chele)
08:39:20 × zazaeil quits (~user@91.234.25.217) (Client Quit)
08:39:46 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
08:42:27 segfaultfizzbuzz joins (~segfaultf@12.172.217.142)
08:44:42 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
08:44:59 taupiqueur3 joins (~taupiqueu@2a02-842a-8180-4601-7129-fa0f-75f4-74d9.rev.sfr.net)
08:46:52 × segfaultfizzbuzz quits (~segfaultf@12.172.217.142) (Ping timeout: 245 seconds)
08:48:09 × gmg quits (~user@user/gehmehgeh) (Quit: Leaving)
08:49:11 × taupiqueur3 quits (~taupiqueu@2a02-842a-8180-4601-7129-fa0f-75f4-74d9.rev.sfr.net) (Ping timeout: 246 seconds)
09:02:43 × ibizaman[m] quits (~ibizamanm@2001:470:69fc:105::a3d) (Remote host closed the connection)
09:05:25 waleee joins (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7)
09:08:00 × motherfsck quits (~motherfsc@user/motherfsck) (Ping timeout: 240 seconds)
09:10:28 motherfsck joins (~motherfsc@user/motherfsck)
09:12:02 laxmik joins (~user@cfeld-pcx40162.desy.de)
09:13:32 × waleee quits (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 240 seconds)
09:16:07 segfaultfizzbuzz joins (~segfaultf@12.172.217.142)
09:16:18 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 252 seconds)
09:16:24 × ft quits (~ft@p4fc2afc9.dip0.t-ipconnect.de) (Quit: leaving)
09:16:42 Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915)
09:16:58 waleee joins (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7)
09:18:46 × Pickchea quits (~private@user/pickchea) (Quit: Leaving)
09:19:01 Pickchea joins (~private@user/pickchea)
09:20:16 × segfaultfizzbuzz quits (~segfaultf@12.172.217.142) (Ping timeout: 250 seconds)
09:20:34 × jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
09:21:01 jpds joins (~jpds@gateway/tor-sasl/jpds)
09:23:50 × motherfsck quits (~motherfsc@user/motherfsck) (Ping timeout: 246 seconds)
09:25:04 Axma61101 joins (~Axman6@user/axman6)
09:25:56 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:38f8:4900:37c0:4176)
09:27:22 × Axman6 quits (~Axman6@user/axman6) (Ping timeout: 248 seconds)
09:30:12 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:38f8:4900:37c0:4176) (Ping timeout: 245 seconds)
09:40:18 ubert joins (~Thunderbi@2a02:8109:abc0:6434:29a7:1482:a6e1:7d62)
09:42:37 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
09:44:47 × mei quits (~mei@user/mei) (Ping timeout: 245 seconds)
09:45:00 × bw quits (sid2730@user/betawaffle) (Server closed connection)
09:45:22 bw_ joins (sid2730@user/betawaffle)
09:46:57 vpan joins (~0@mail.elitnet.lt)
09:47:51 __monty__ joins (~toonn@user/toonn)
09:47:59 mei joins (~mei@user/mei)
09:51:14 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
09:51:14 segfaultfizzbuzz joins (~segfaultf@12.172.217.142)
09:55:37 × segfaultfizzbuzz quits (~segfaultf@12.172.217.142) (Ping timeout: 245 seconds)
09:59:32 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
09:59:33 × CiaoSen quits (~Jura@2a05:5800:298:5100:664b:f0ff:fe37:9ef) (Ping timeout: 246 seconds)
10:01:27 × arrowhead quits (~arrowhead@74.66.76.151) (Remote host closed the connection)
10:01:54 arrowhead joins (~arrowhead@2603-7000-9b3f-6934-60f7-f476-a34e-832e.res6.spectrum.com)
10:02:56 motherfsck joins (~motherfsc@user/motherfsck)
10:06:11 × arrowhead quits (~arrowhead@2603-7000-9b3f-6934-60f7-f476-a34e-832e.res6.spectrum.com) (Read error: Connection reset by peer)
10:07:56 × xff0x_ quits (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 250 seconds)
10:08:16 × ceoarrrrrrrrrrrr quits (~ceoarrrrr@c-71-204-38-59.hsd1.ga.comcast.net) (Remote host closed the connection)
10:13:24 × danse-nr3_ quits (~francesco@151.46.158.102) (Read error: Connection reset by peer)
10:14:15 danse-nr3_ joins (~francesco@151.44.206.87)
10:14:32 × cafkafk quits (~cafkafk@fsf/member/cafkafk) (Ping timeout: 240 seconds)
10:15:05 × L29Ah quits (~L29Ah@wikipedia/L29Ah) (Ping timeout: 240 seconds)
10:16:50 cafkafk joins (~cafkafk@fsf/member/cafkafk)
10:19:36 bgs joins (~bgs@212-85-160-171.dynamic.telemach.net)
10:22:23 × nut quits (~nut@rul16-h01-176-151-21-224.dsl.sta.abo.bbox.fr) (Quit: WeeChat 3.5)
10:25:26 × motherfsck quits (~motherfsc@user/motherfsck) (Ping timeout: 246 seconds)
10:26:55 segfaultfizzbuzz joins (~segfaultf@12.172.217.142)
10:31:02 × segfaultfizzbuzz quits (~segfaultf@12.172.217.142) (Ping timeout: 246 seconds)
10:31:17 L29Ah joins (~L29Ah@wikipedia/L29Ah)
10:32:20 × biberu quits (~biberu@user/biberu) (Read error: Connection reset by peer)
10:36:22 gemmaro joins (~user@240f:74:d1f0:1:ba1:e787:c9e:b1dc)
10:36:23 biberu joins (~biberu@user/biberu)
10:36:25 Unicorn_Princess joins (~Unicorn_P@user/Unicorn-Princess/x-3540542)
10:38:02 motherfsck joins (~motherfsc@user/motherfsck)
10:40:28 × mei quits (~mei@user/mei) (Remote host closed the connection)
10:41:19 × waleee quits (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Quit: WeeChat 3.8)
10:48:14 mei joins (~mei@user/mei)
10:52:07 finn joins (~finn@176-151-21-224.abo.bbox.fr)
10:52:26 × cafkafk quits (~cafkafk@fsf/member/cafkafk) (Remote host closed the connection)
10:57:55 cafkafk joins (~cafkafk@fsf/member/cafkafk)
10:59:33 xff0x_ joins (~xff0x@ai098135.d.east.v6connect.net)
11:00:47 × danse-nr3_ quits (~francesco@151.44.206.87) (Ping timeout: 246 seconds)
11:02:25 × Pickchea quits (~private@user/pickchea) (Quit: Leaving)
11:17:41 nate2 joins (~nate@c-98-45-169-16.hsd1.ca.comcast.net)
11:17:44 segfaultfizzbuzz joins (~segfaultf@12.172.217.142)
11:18:19 danse-nr3_ joins (~francesco@151.44.206.87)
11:19:12 <lyxia> in the output of ghc --show-iface MyFile.hi what's the meaning of "Inline: [2]" ?
11:21:52 × segfaultfizzbuzz quits (~segfaultf@12.172.217.142) (Ping timeout: 245 seconds)
11:21:54 <probie> I'm not certain, but assuming if it's the same meaning as the pragma, it means be very keen to inline, but not until phase 2 (perhaps there's a delay so some RULES can fire first?)
11:22:28 × nate2 quits (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 250 seconds)
11:25:15 arrowhead joins (~arrowhead@cpe-74-66-76-151.nyc.res.rr.com)
11:32:02 <lyxia> probie: Thanks, that sounds plausible.
11:38:22 RedNifre joins (~RedNifre@dslb-088-072-205-088.088.072.pools.vodafone-ip.de)
11:38:34 <RedNifre> Hello, I need some words/definitions.
11:39:08 <RedNifre> I have some code that abstracts over variable length tuples, however, I now also have some tuples that share the ... first type, but not the second? Not sure how to say this.
11:39:21 <RedNifre> Let's say you have a type of kind * -> *, are there names for the first and second star?
11:39:46 <jade[m]1> the star syntax is kind of deprecated in a sense
11:39:56 <RedNifre> Okay, how do you phrase * -> * these days?
11:40:03 <jade[m]1> because they are both just types
11:40:04 <jade[m]1> `Type -> Type`
11:40:11 <RedNifre> okay, great.
11:41:04 <RedNifre> So, imagine I have a tuple of type (Maybe a, Maybe b, Maybe c, Maybe d), as in I always have variable length tuples, but they always contain Maybes, but the maybes can have any type inside, what's that called?
11:41:41 <RedNifre> What I'd like is some way to say the tuple is type Tuple 4 Maybe
11:41:59 <RedNifre> As in it's size 4, it contains Maybes, but the maybes can be whatever.
11:42:16 <ncf> i don't think there's a standard name for this? it seems rather specific
11:42:22 <jade[m]1> I don't think you can do this "in general"
11:42:39 <RedNifre> Right, I can't do this "in general", but is there a name for this pattern?
11:42:59 <RedNifre> Currently, I have a couple ColumnDefinitionTuple3, TypeTokenTuple4 etc.
11:43:21 <RedNifre> ... because using tuples would lose the information that the "first" type in a kind Type -> Type is always the same.
11:43:22 <geekosaur> it doesn't seem like a very common pattern to me
11:43:22 <probie> Just for tuples, or should it extend to other things (e.g. `Either (Maybe a) (Maybe b)`?)
11:43:25 <jade[m]1> you could do type MaybeTuple4 a b c d = (Maybe a, Maybe b, Maybe c, Maybe d) and then use MaybeTuple4 Int String (Maybe Int) [Int]
11:43:31 <Lears> RedNifre: If you can, avoid dealing with tuples and use, e.g. `data HList f xs where { HNil :: HList f '[]; (:~) :: f x -> HList f xs -> HList f (x:xs) }`.
11:43:52 <RedNifre> jade[m]1: yes, this is what I'm doing right now, I was just wondering if there is a name for this or if it's a known concept.
11:44:08 <jade[m]1> don't think this is used very often?
11:44:26 <RedNifre> Lears: Oh, interesting!
11:44:57 <probie> I think that the pattern of `data Foo f = Foo (f Bar) (f Baz)` isn't that uncommon
11:45:12 <RedNifre> Hm, okay. I was just wondering because "Tuple containing SameType -> DifferentType" felt like some sort of abstraction.
11:45:15 hanabi joins (~hanabi@145.93.112.208)
11:45:40 × hanabi quits (~hanabi@145.93.112.208) (Client Quit)
11:45:44 <RedNifre> Yeah, maybe it's two niche to have words for this, eh?
11:45:48 <RedNifre> *too
11:46:17 <lyxia> the barbies library deals with that kind of pattern so maybe you can find something useful there
11:46:27 RedNifre curses his experiment of trying to get an internal monologue, as this has caused nothing but sound related typos.
11:46:33 <jade[m]1> probie: this resembles some combinator on the term level, forgot which exactly
11:46:45 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
11:47:01 <lyxia> It's map Maybe followed by a textual substitution of () with []
11:47:16 <lyxia> uh, the substitution the other way around
11:47:44 <RedNifre> Would it be more straight forward in Idris, maybe?
11:47:51 CiaoSen joins (~Jura@2a05:5800:298:5100:664b:f0ff:fe37:9ef)
11:49:16 <jade[m]1> I was thinking of `on :: (b -> b -> c) -> (a -> b) -> a -> a -> c`
11:50:01 <jade[m]1> ((+) `on` f) x y = f x + f y
11:50:06 <jade[m]1> not quite the same
11:52:28 <probie> RedNifre: it's not particularly awkward in Haskell, it's just that Haskell tuples don't work here, because `(,)`, `(,,)` and `(,,,)` are three completely unrelated types, so you want something like a `HList`
11:56:31 <RedNifre> probie thanks, I'll look into those.
11:57:15 <RedNifre> If you have Type1 -> Type2, are there names for Type1 and Type2? Maybe "outer type", "inner type", or "main type", "secondary type" or things like this?
11:57:29 <RedNifre> .oO( "car type", "cdr type", "cddddrrrr type" ... )
11:57:53 <ncf> domain, codomain
11:58:16 <RedNifre> a -> b -> c is domain, codomain, cocodomain?
11:58:36 <geekosaur> a -> b -> c is a -> (b -> c)
11:58:41 <RedNifre> a -> (b -> c) -> d is domain, cododomain, cocodomain, cococodomain? :D
11:58:49 <geekosaur> so b -> c is the codomain
11:59:00 <RedNifre> right, but how would you name a, b, c, d?
11:59:10 <geekosaur> I wouldn't
11:59:14 <ncf> i don't think english is equipped with a Zipper into trees of arrows
11:59:34 <RedNifre> Hm, so a b c in a -> b -> c are domain, codomain's domain and codomain's codomain?
11:59:34 <ncf> i would call them a b c and d lmao
12:01:04 <RedNifre> yeah, but calling them a b c and d does not work when you want to say "Tuple containing elements of Type -> Type, where the domain is the same type, but the codomain can by anything"
12:02:08 <ncf> that doesn't really make sense anyway
12:02:51 <ncf> you mean like, a product type where each factor is Maybe applied to some type
12:03:05 <RedNifre> Yeah, like a Tuple (Maybe a, Maybe b, Maybe c)
12:03:11 <geekosaur> lifted HKD?
12:03:50 <RedNifre> Oh, yeah, that's exactly it I think!
12:04:25 × Patternmaster quits (~georg@user/Patternmaster) (Quit: leaving)
12:05:02 <ncf> domain and codomain refer to what's on each side of an arrow. the domain and codomain of Maybe are both Type. the `a` in `Maybe a` is the argument/parameter/operand, while Maybe is the type constructor / operator
12:05:26 kuribas joins (~user@ip-188-118-57-242.reverse.destiny.be)
12:06:07 mjs2600 joins (~mjs2600@c-174-169-225-239.hsd1.vt.comcast.net)
12:06:52 <ncf> in symbols, operator : (operand : domain) → (result : codomain) (there are a billion other names for each of these things, of course)
12:07:03 Patternmaster joins (~georg@user/Patternmaster)
12:07:48 segfaultfizzbuzz joins (~segfaultf@12.172.217.142)
12:08:16 <RedNifre> nfc Thanks. So in a -> (b -> c) -> d, you could refer to a b c d as a = domain, b = codomain's domain's domain, c= codomain's domain's codomain, d = codomain's codomain ?
12:08:44 <ncf> you could
12:10:26 × mjs2600 quits (~mjs2600@c-174-169-225-239.hsd1.vt.comcast.net) (Ping timeout: 246 seconds)
12:11:23 <RedNifre> What do you think about calling the domain the type and the codomain the type parameter? I think I heard that in other languages.
12:11:27 × cfricke quits (~cfricke@user/cfricke) (Ping timeout: 245 seconds)
12:11:46 <dminuoso> Is there a notion of domain/codomain that generalizses to higher order functions?
12:11:50 × segfaultfizzbuzz quits (~segfaultf@12.172.217.142) (Ping timeout: 246 seconds)
12:12:15 <dminuoso> Or maybe I should ask the question whether there is a categorical notion of domain/codomain.
12:13:36 × finn quits (~finn@176-151-21-224.abo.bbox.fr) (Ping timeout: 250 seconds)
12:13:53 <ncf> RedNifre: again, the type parameter would be an *argument* to the type operator, so it would be an *element* of the domain
12:14:02 <ncf> in Maybe a, the parameter is a, which is a Type, so the domain is Type
12:18:31 <RedNifre> nfc ah, so you would say that both sides of ->, as in both the domain and the codomain would be type parameters to the arrow (type operator)?
12:19:31 × kritzefitz quits (~kritzefit@debian/kritzefitz) (Remote host closed the connection)
12:25:35 kritzefitz joins (~kritzefit@debian/kritzefitz)
12:27:23 <ncf> sure, if you take it one level higher, (->) is a type operator with kind Type -> Type -> Type
12:29:58 <jade[m]1> that's also why higher-order functions are so natural :)
12:30:23 <jade[m]1> because `->` just constructs another type that you can use within for example another application of `->`
12:33:58 shapr joins (~user@2600:1700:c640:3100:cca5:97e3:b957:869b)
12:44:46 × haritz quits (~hrtz@user/haritz) (Quit: ZNC 1.8.2+deb2 - https://znc.in)
12:45:04 haritz joins (~hrtz@2a02:8010:65b5:0:6009:6384:e3cb:2220)
12:45:05 × haritz quits (~hrtz@2a02:8010:65b5:0:6009:6384:e3cb:2220) (Changing host)
12:45:05 haritz joins (~hrtz@user/haritz)
12:51:45 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
12:58:02 bontaq joins (~user@ool-45779b84.dyn.optonline.net)
13:06:53 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
13:10:12 × lortabac quits (~lortabac@88.125.6.227) (Ping timeout: 245 seconds)
13:10:37 segfaultfizzbuzz joins (~segfaultf@12.172.217.142)
13:10:38 × segfaultfizzbuzz quits (~segfaultf@12.172.217.142) (Remote host closed the connection)
13:11:49 barcisz joins (~barcisz@79.191.69.198.ipv4.supernova.orange.pl)
13:12:04 lortabac joins (~lortabac@2a01:e0a:541:b8f0:1919:53f7:f079:d44a)
13:21:41 <tomsmeding> The `containers` docs for Data.Map.Strict.union lists O(m log((n+1)/(m+1))) as its complexity https://hackage.haskell.org/package/containers-0.6.7/docs/Data-Map-Strict.html#v:union , and cites https://arxiv.org/pdf/1602.02120v3.pdf as the source for that complexity -- but the linked paper gives O(m log(n/m + 1)). What gives?
13:22:26 <tomsmeding> now I get that there's not much of a difference, but someone must have consciously used the different expression in the haddocks for _some_ reason
13:22:37 jtza8 joins (~user@165.255.137.90)
13:23:10 <merijn> tomsmeding: That's a bogus big O
13:23:23 <merijn> constant factors (i.e. +1) shouldn't be in there
13:24:07 <tomsmeding> hmm
13:24:24 <ncf> they're under a log
13:24:39 <tomsmeding> for large enough n _and_ m, the +1 is a negligible constant
13:24:48 <tomsmeding> but for large n and small m, not so much
13:24:58 <tomsmeding> and the whole point is that m <= n
13:25:16 <jade[m]1> ncf: that should make it even more neglible?
13:25:19 <merijn> tomsmeding: I mean "O(999999n)" is more properly "O(n)"
13:25:35 <merijn> tomsmeding: Negligibility of the constant isn't really relevant
13:25:55 <merijn> tomsmeding: Because it's still linear in n
13:26:01 <tomsmeding> I get that
13:26:18 <merijn> Anyway, mail the library author that added that? :p
13:29:34 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:38f8:4900:37c0:4176)
13:32:20 × danse-nr3_ quits (~francesco@151.44.206.87) (Ping timeout: 246 seconds)
13:33:19 <tomsmeding> here apparently https://github.com/haskell/containers/pull/830#discussion_r849790087
13:33:21 <tomsmeding> meh
13:33:49 <nyc> Hmm, how do I get -ddump-stg on a particular source file from a cabal build.
13:34:00 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:38f8:4900:37c0:4176) (Ping timeout: 240 seconds)
13:34:35 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
13:36:40 <merijn> nyc: Effectively, you don't really
13:36:52 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 245 seconds)
13:36:55 <merijn> nyc: It's more productive to use the -ddump-dir flag (or something like that)
13:37:13 <merijn> which causes ghc to put the dump (such as stg) output into a specific directory with 1 file per source file
13:37:26 <merijn> And then at the end you'll just have the stg dump of all files in that directory
13:38:17 <nyc> That sounds fine.
13:38:41 <nyc> I just need to get it to happen with the build system or cabal or something.
13:38:41 <merijn> I forget the exact flag names, but should be in the GHC reference something like dump to file and dump dir
13:39:05 <merijn> So you don't have to dig for the results through the cabal output
13:39:14 <nyc> -dumpdir seems to exist?
13:39:44 <merijn> there is (iirc) also one to tell it to dump dump output to files instead of stdout
13:40:01 <jade[m]1> <tomsmeding> "here apparently https://github...." <- wait, why did the review change the O(..) without explanation?
13:40:11 <jade[m]1> not sure I understand why that was done?
13:42:15 <nyc> merijn: I guess I'm trying to capture a command line involving ghc being executed compiling the relevant files & then copy & paste it & then add -ddump-stg or some such to it. What should I actually be doing?
13:43:17 <tomsmeding> nyc: ghc-flags: -ddump-stg -ddump-whatever-that-dir-flag-is=/something
13:43:25 <tomsmeding> er, ghc-options:
13:43:34 <nyc> -dumpdir I guess.
13:43:44 <tomsmeding> https://cabal.readthedocs.io/en/3.4/cabal-package.html?highlight=ghc-options#pkg-field-ghc-options
13:43:46 <nyc> tomsmeding: Edit that into the cabal file?
13:43:51 <tomsmeding> yes
13:44:13 <nyc> tomsmeding: The build system is probably more of my issue than the exact flags to pass to ghc.
13:44:41 <tomsmeding> jade[m]1: I guess? it fixed the formula not evaluating for m=0, but now it just fails for m=n (surely O(0) is not the intended result), so they didn't fix anything
13:45:22 <tomsmeding> nyc: you just add 'ghc-options: ...' in the same list of fields as where you have exposed-modules:, other-modules:, default-language:, main-is:, etc.
13:45:52 <tomsmeding> jade[m]1: for large n _and_ large m, the formulae are equivalent, so if that's the intended meaning of the big-O, then it doesn't matter
13:46:34 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
13:46:52 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
13:50:36 jade[m]1 uploaded an image: (124KiB) < https://libera.ems.host/_matrix/media/v3/download/the-apothecary.club/bTbsXqrwnAGzJgxBWJNDDAiV/image.png >
13:51:32 sunarch joins (~sunarch@user/sunarch)
13:52:37 <jade[m]1> the closer n and m are, the less similar these are
13:53:12 <jade[m]1> so it's not really that accurate at all unless you merge very small maps with very big ones?
13:53:54 jade[m]1 uploaded an image: (90KiB) < https://libera.ems.host/_matrix/media/v3/download/the-apothecary.club/cmEUBmTekrDRnIKBLdwWihIT/image.png >
13:54:27 <jade[m]1> the black lines are the respetive time complexities, the red line is their difference (negative, sorry) and the blue one is where n=m
13:54:38 <jade[m]1> im fixing n here
13:54:48 <jade[m]1> m, not n
13:55:41 × barcisz quits (~barcisz@79.191.69.198.ipv4.supernova.orange.pl) (Quit: Connection closed)
13:55:58 jade[m]1 uploaded an image: (44KiB) < https://libera.ems.host/_matrix/media/v3/download/the-apothecary.club/xbZTEdNZlczYSmSCfZjbLyxs/image.png >
13:56:32 × sunarch quits (~sunarch@user/sunarch) (Quit: WeeChat 3.8)
13:56:54 sunarch joins (~sunarch@user/sunarch)
13:57:57 <tomsmeding> the problem is that the original paper doesn't define what they mean by their big-O notation
13:58:16 <tomsmeding> is there a standard formal meaning for big-O of multiple variables?
13:59:05 <jade[m]1> is there any debate/ambiguity?
13:59:49 <tomsmeding> jade[m]1: well, is O(n(m+1)) distinct from O(nm)?
14:00:01 <tomsmeding> if they hold in the limit for n,m -> \infty, then no
14:00:03 <jade[m]1> oh in that regards you mean
14:00:18 <tomsmeding> if they hold in the limit for _at least one_ of n,m to infinity, then yes, very much
14:00:24 <tomsmeding> these union complexities are the same
14:00:27 <jade[m]1> tomsmeding: I don't think this was ever the definition though?
14:00:41 <tomsmeding> jade[m]1: what's "this" there?
14:00:46 <jade[m]1> because both n, n^2 and n*logn all have the same limit when tending to infinity
14:00:52 <jade[m]1> but we class them differently
14:01:00 <tomsmeding> lolwat
14:01:08 <tomsmeding> from the papear https://tomsmeding.com/ss/get/tomsmeding/5k9O05
14:01:19 <tomsmeding> *paper
14:01:28 <jade[m]1> tomsmeding: now im really confused
14:01:41 danse-nr3_ joins (~francesco@151.44.206.87)
14:01:44 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 246 seconds)
14:02:00 <dolio> I think the constants are just being used to avoid singularities.
14:02:11 <tomsmeding> jade[m]1: they do, but the point is that big-O says something about _relative_ growth
14:02:17 <jade[m]1> mhm
14:02:50 <tomsmeding> f : R -> R is in O(g) for g : R -> R if \lim_{x -> \infty} f(x)/g(x) < \infty
14:03:26 <tomsmeding> or equivalently, if \exists c > 0. \exists X > 0. \forall x > X. f(x) < c * g(x)
14:03:52 <tomsmeding> dolio: see equation (3) here https://arxiv.org/pdf/1602.02120v3.pdf (page 13 at the bottom)
14:03:59 <tomsmeding> that +1 definitely does mean something, apparently
14:04:06 jero98772 joins (~jero98772@2800:484:1d7f:5d36::4)
14:04:16 <jade[m]1> tomsmeding: that just means "factors don't matter"?
14:04:39 euandreh1 joins (~Thunderbi@189.6.18.7)
14:04:41 <tomsmeding> some do, some don't
14:04:43 <dolio> tomsmeding: That's avoiding the singularity of log(0).
14:04:52 × euandreh quits (~Thunderbi@189.6.18.7) (Ping timeout: 240 seconds)
14:04:54 <tomsmeding> O(n^2 + n) == O(n^2 + 2n), but O(2^n) /= O(2^(2n))
14:04:57 euandreh1 is now known as euandreh
14:05:04 <tomsmeding> dolio: why does the formula change after adding O(m)?
14:05:06 <tomsmeding> see the line above
14:05:15 <tomsmeding> if all the point was avoiding the singularity, why is the line above (3) fine
14:05:44 <jade[m]1> tomsmeding: yeah, I meant outermost factors
14:05:46 jtza8 parts (~user@165.255.137.90) (ERC 5.4 (IRC client for GNU Emacs 28.2))
14:06:04 <dolio> I don't know. That's not a rule for adding logs that I've heard of.
14:06:22 <tomsmeding> dolio: I would accept O(m log(n/m)) + O(m) = O(m (log(n/m) + 1))
14:06:24 <tomsmeding> but that's not what's there
14:07:26 <dolio> I still think it's an asymptotically meaningless addition to fix a singularity (although they apparently forgot about the other one).
14:07:26 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
14:07:48 <jade[m]1> I think they combined two steps there maybe?
14:07:49 <tomsmeding> perhaps
14:08:00 <tomsmeding> dolio: do you happen to know what definition for big-O notation they'd use?
14:08:14 <tomsmeding> as in, can I conclude some asymptotic behaviour in n after fixing e.g. m=1?
14:08:52 <tomsmeding> or it is only asymptotic in n and m that are simultaneously large
14:08:52 <Lears> It's not meaningless in the multivariate case, since apparently it's typical to use the Chebyshev (supremum) norm.
14:09:07 <Lears> At least, according to https://en.wikipedia.org/wiki/Big_O_notation#Multiple_variables
14:09:18 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
14:09:38 <tomsmeding> right, that's n and m simultaneously large
14:09:48 <tomsmeding> wait no
14:09:51 <tomsmeding> that's _some_
14:11:01 <tomsmeding> but then the original formula from the paper is bollocks for m=0, which is a perfectly sensible input
14:11:15 <tomsmeding> and @treeowl's changed formula is bollocks for m=n
14:14:13 danse-nr3__ joins (~francesco@151.44.181.14)
14:14:42 <dolio> It is?
14:15:13 <tomsmeding> substituting m |-> n, we get n log((n+1)/(n+1)) = n log(1) = n * 0 = 0
14:15:21 <tomsmeding> surely map union of two equal-size maps is not O(0)
14:16:27 × danse-nr3_ quits (~francesco@151.44.206.87) (Ping timeout: 245 seconds)
14:16:30 <dolio> Oh yeah. I was thinking there was some extra term in there.
14:16:47 <jade[m]1> tomsmeding: I wish
14:16:58 <tomsmeding> :p
14:16:59 <dolio> I assume the point is that it gets closer to linear the closer in size the maps are.
14:17:45 <tomsmeding> right, but thing is that I'm specifically quite interested in the behaviour for m=1
14:18:15 <tomsmeding> hm I guess both work there
14:19:15 <jade[m]1> I was about to say, for m=1 it's just a tree insertion which should be ~log(n) which I think both have
14:19:20 <tomsmeding> yep
14:19:23 <jade[m]1> s/have/give you
14:20:06 <tomsmeding> 1 log(n/1 + 1) = log(n+1) ~= log(n) ; 1 log((n+1)/2) = log(0.5n + 0.5) ~= log(0.5) + log(n) ~= log(n)
14:20:07 <tomsmeding> ish
14:20:08 × mncheck quits (~mncheck@193.224.205.254) (Read error: Connection reset by peer)
14:20:11 <tomsmeding> add some O()
14:21:37 swamp_ joins (~zmt00@user/zmt00)
14:23:56 × euandreh quits (~Thunderbi@189.6.18.7) (Read error: Connection reset by peer)
14:24:19 euandreh joins (~Thunderbi@189.6.18.7)
14:25:21 × zmt01 quits (~zmt00@user/zmt00) (Ping timeout: 260 seconds)
14:32:42 × merijn quits (~merijn@c-001-001-003.client.esciencecenter.eduvpn.nl) (Ping timeout: 245 seconds)
14:33:14 mncheck joins (~mncheck@193.224.205.254)
14:37:35 ripspin joins (~chatzilla@1.145.243.72)
14:38:39 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Read error: Connection reset by peer)
14:38:54 × mechap quits (~mechap@user/mechap) (Quit: WeeChat 3.8)
14:42:20 × Unicorn_Princess quits (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Ping timeout: 246 seconds)
14:42:45 Unicorn_Princess joins (~Unicorn_P@user/Unicorn-Princess/x-3540542)
14:45:34 shriekingnoise joins (~shrieking@186.137.175.87)
14:46:34 × gemmaro quits (~user@240f:74:d1f0:1:ba1:e787:c9e:b1dc) (Read error: Connection reset by peer)
14:50:08 × laxmik quits (~user@cfeld-pcx40162.desy.de) (Quit: ERC (IRC client for Emacs 26.3))
14:50:44 dmwit joins (~dmwit@2600:4040:2642:4800:a933:9086:c580:931b)
14:51:01 × dmwit quits (~dmwit@2600:4040:2642:4800:a933:9086:c580:931b) (Client Quit)
14:52:20 candlestick joins (~tls@179.152.251.228)
14:52:23 candlestick parts (~tls@179.152.251.228) ()
14:53:06 mechap joins (~mechap@user/mechap)
14:55:52 azimut joins (~azimut@gateway/tor-sasl/azimut)
14:58:14 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:1919:53f7:f079:d44a) (Quit: WeeChat 2.8)
15:00:37 × chele quits (~chele@user/chele) (Remote host closed the connection)
15:00:38 mc47 joins (~mc47@xmonad/TheMC47)
15:01:24 × mc47 quits (~mc47@xmonad/TheMC47) (Remote host closed the connection)
15:02:01 gmg joins (~user@user/gehmehgeh)
15:04:07 hippoid joins (~hippoid@user/hippoid)
15:04:22 × Unicorn_Princess quits (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Ping timeout: 245 seconds)
15:04:47 Unicorn_Princess joins (~Unicorn_P@user/Unicorn-Princess/x-3540542)
15:17:20 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 246 seconds)
15:19:11 nate2 joins (~nate@c-98-45-169-16.hsd1.ca.comcast.net)
15:23:22 mauke joins (~mauke@user/mauke)
15:23:50 × nate2 quits (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 250 seconds)
15:30:51 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:38f8:4900:37c0:4176)
15:33:20 × cafkafk quits (~cafkafk@fsf/member/cafkafk) (Ping timeout: 240 seconds)
15:35:12 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:38f8:4900:37c0:4176) (Ping timeout: 245 seconds)
15:35:53 econo_ joins (uid147250@id-147250.tinside.irccloud.com)
15:38:58 cafkafk joins (~cafkafk@fsf/member/cafkafk)
15:40:21 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
15:46:38 Sgeo joins (~Sgeo@user/sgeo)
15:48:20 × gnalzo quits (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8)
15:48:43 tzh joins (~tzh@c-24-21-73-154.hsd1.or.comcast.net)
15:51:14 Tuplanolla joins (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi)
15:54:57 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:38f8:4900:37c0:4176)
15:56:08 × mei quits (~mei@user/mei) (Remote host closed the connection)
15:58:32 mei joins (~mei@user/mei)
15:59:41 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 246 seconds)
16:01:02 × CiaoSen quits (~Jura@2a05:5800:298:5100:664b:f0ff:fe37:9ef) (Ping timeout: 245 seconds)
16:03:55 × berberman quits (~berberman@user/berberman) (Quit: ZNC 1.8.2 - https://znc.in)
16:04:16 berberman joins (~berberman@user/berberman)
16:06:07 EvanR_ is now known as EvanR
16:08:26 × mechap quits (~mechap@user/mechap) (Ping timeout: 246 seconds)
16:09:25 mechap joins (~mechap@user/mechap)
16:11:54 _ht joins (~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
16:13:39 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b)))
16:13:40 × mrmonday quits (~robert@what.i.hope.is.not.a.tabernaevagant.es) (Quit: .)
16:13:41 allbery_b joins (~geekosaur@xmonad/geekosaur)
16:13:44 allbery_b is now known as geekosaur
16:15:37 × mechap quits (~mechap@user/mechap) (Ping timeout: 245 seconds)
16:15:39 mrmonday joins (~robert@2a01:7e00:e000:1b2:95ca:100:49e0:3f15)
16:16:52 × kuribas quits (~user@ip-188-118-57-242.reverse.destiny.be) (Ping timeout: 245 seconds)
16:17:07 mechap joins (~mechap@user/mechap)
16:20:30 × arrowhead quits (~arrowhead@cpe-74-66-76-151.nyc.res.rr.com) ()
16:20:46 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:38f8:4900:37c0:4176) (Remote host closed the connection)
16:27:02 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
16:30:33 × azimut quits (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
16:32:19 azimut joins (~azimut@gateway/tor-sasl/azimut)
16:32:22 jmdaemon joins (~jmdaemon@user/jmdaemon)
16:33:30 dsrt^ joins (~dsrt@c-71-204-38-59.hsd1.ga.comcast.net)
16:35:12 × mrmonday quits (~robert@2a01:7e00:e000:1b2:95ca:100:49e0:3f15) (Quit: .)
16:36:06 × byorgey quits (~byorgey@155.138.238.211) (Quit: leaving)
16:36:36 mrmonday joins (~robert@what.i.hope.is.not.a.tabernaevagant.es)
16:40:50 <nyc> Now getting cabal --enable-nix to actually use cached nix things is being headachey.
16:41:27 × vpan quits (~0@mail.elitnet.lt) (Quit: Leaving.)
16:42:05 <maerwald> there's always new ways to self-inflict pain
16:47:08 <EvanR> the difference between foldl and foldr on generic structures is sometimes explained in terms of which side to reduce first, since it matters if the reduction isn't a monoid. Then the paper on 2-3 finger trees explains it in terms of a choice of nesting. Order of reducing, order of nesting
16:47:28 <EvanR> evaluation order, grouping during parsing
16:47:36 <EvanR> brain explode
16:48:11 <EvanR> order of reducing, choice of nesting which isn't order related
16:49:53 <EvanR> operational reasoning vs syntactic reasoning
16:50:26 × mrmonday quits (~robert@what.i.hope.is.not.a.tabernaevagant.es) (Quit: .)
16:52:39 mrmonday joins (~robert@2a01:7e00:e000:1b2:95ca:100:49e0:3f15)
16:54:01 <maerwald> exciting
16:54:29 <maerwald> dminuoso: where you been
16:57:58 eggplantade joins (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net)
17:06:57 × coot quits (~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot)
17:07:46 × ubert quits (~Thunderbi@2a02:8109:abc0:6434:29a7:1482:a6e1:7d62) (Quit: ubert)
17:14:15 × machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 246 seconds)
17:16:39 <monochrom> Out of the blue random ramble: Anti-maskers be like "ghc --show-myface"
17:18:06 <mauke> ghc --kowai-face
17:18:22 <monochrom> Haha https://jaspervdj.be/posts/2023-06-19-haskell-puzzles.html is nice, I should do that on exams!
17:18:39 <monochrom> Maybe also ghc --kowa-iface as a synonym :)
17:22:42 × danse-nr3__ quits (~francesco@151.44.181.14) (Ping timeout: 245 seconds)
17:22:58 × ripspin quits (~chatzilla@1.145.243.72) (Remote host closed the connection)
17:24:03 × kritzefitz quits (~kritzefit@debian/kritzefitz) (Ping timeout: 246 seconds)
17:28:51 kritzefitz joins (~kritzefit@debian/kritzefitz)
17:30:11 zero is now known as zzz
17:31:15 × Natch quits (~natch@c-9e07225c.038-60-73746f7.bbcust.telenor.se) (Read error: Connection reset by peer)
17:34:56 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
17:35:31 ec joins (~ec@gateway/tor-sasl/ec)
17:38:49 × AlexZenon quits (~alzenon@178.34.163.88) (Ping timeout: 258 seconds)
17:39:35 × Alex_test quits (~al_test@178.34.163.88) (Ping timeout: 258 seconds)
17:41:40 finn joins (~finn@176-151-21-224.abo.bbox.fr)
17:42:21 <EvanR> on loading that page with the puzzle, it shows several tokens and a command already typed. It's not until I drag something that it responds to make it obvious that it's nonsense and wrong
17:42:45 <EvanR> maybe it should begin without having anything typed on the prompt yet
17:44:06 <EvanR> after that, it's really cool
17:44:06 <Lears> The last puzzle is funny. I don't get the second last, though---you can do it with a strict subset, so what are the extra variables and plusses for? Can you even use them?
17:44:47 <mauke> you must use them all, I think
17:44:51 <mauke> at least that's what I did
17:46:25 <mauke> fortunately, as a long-time reader of #haskell it didn't take me long to figure out
17:47:13 Pickchea joins (~private@user/pickchea)
17:48:43 Alex_test joins (~al_test@178.34.163.88)
17:49:00 × chromoblob quits (~user@37.113.180.121) (Ping timeout: 250 seconds)
17:49:43 cfricke joins (~cfricke@user/cfricke)
17:51:10 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 250 seconds)
17:51:13 AlexZenon joins (~alzenon@178.34.163.88)
17:51:18 <int-e> Lears: I agree, using all the symbols is the hardest part of that puzzle.
17:54:27 L29Ah parts (~L29Ah@wikipedia/L29Ah) ()
17:56:03 gnalzo joins (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
17:57:04 <EvanR> I got the 2nd puzzle but have no idea how it works
17:58:27 × benjaminbellick quits (~user@ool-4575ce40.dyn.optonline.net) (Remote host closed the connection)
17:58:56 phma_ joins (~phma@host-67-44-208-160.hnremote.net)
17:59:13 Natch joins (~natch@c-9e07225c.038-60-73746f7.bbcust.telenor.se)
18:01:02 <ncf> join (+) = (2 *)
18:02:06 <mauke> > join f x :: Expr
18:02:07 <lambdabot> f x x
18:02:35 × phma quits (phma@2001:5b0:211f:2f08:cc02:19f0:c9b8:d000) (Ping timeout: 258 seconds)
18:03:49 <EvanR> > join (+) 4
18:03:50 <lambdabot> 8
18:04:04 <EvanR> > 2 ^ 3
18:04:05 <lambdabot> 8
18:04:08 <EvanR> convinced
18:04:34 phma_ is now known as phma
18:05:15 <mauke> this is called the reader monad
18:06:28 <jade[m]1> <monochrom> "Haha https://jaspervdj.be/posts/..." <- this was amazing haha
18:07:09 <jade[m]1> mauke: 🤔
18:07:18 <monochrom> It's from today's Haskell Weekly News
18:10:32 <mauke> > runReader (join (reader (reader . (+)))) 2
18:10:34 <lambdabot> 4
18:11:22 × eggplantade quits (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
18:13:59 × dvu quits (~dvu@206.253.143.145) (Remote host closed the connection)
18:15:03 <Lears> Okay, I went back to the puzzle; I got it now. It's not actually complicated when you reason through it, just annoying. <.<
18:15:33 <ncf> next level is to come up with actually hard versions of those
18:15:50 <ncf> involving mtl, lens, kan-extensions...
18:16:06 <ncf> hint: use coerce to avoid revealing which obscure newtypes to use
18:16:23 <monochrom> Haha that's horrible
18:16:30 <monochrom> but haha
18:17:35 × Unicorn_Princess quits (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Ping timeout: 246 seconds)
18:18:22 Unicorn_Princess joins (~Unicorn_P@user/Unicorn-Princess/x-3540542)
18:19:05 <EvanR> haskell puzzle, program a GUI
18:24:09 ft joins (~ft@p4fc2afc9.dip0.t-ipconnect.de)
18:25:11 <sm> install a GUI framework
18:25:37 EvanR installs cocoa
18:25:41 <nyc> -ddump-to-file -dumpdir
18:25:46 <EvanR> aaaah undo undo
18:29:02 <sm> solve 5 cabal/haskell user issues
18:29:14 <monochrom> :(
18:30:05 <monochrom> OK I'm happy if it means "issues caused by cabal bugs not user's fault".
18:30:24 <monochrom> But if it means "solve PEBKAC" thanks but no thanks.
18:30:30 <sm> convert through three different number types / convert through three different time types
18:30:31 <geekosaur> enh. cabal still has some "wtf does that mean?" issues
18:31:06 <monochrom> Or, you know, maybe I'm happy with "solve PEBKAC" if you accept this as a solution: get rid of humans.
18:31:31 sm meant to write "solve 5 cabal/stack user issues" there
18:32:12 <monochrom> OK yeah "wtf does that mean" issues need to be solved, not user's fault.
18:32:34 <EvanR> I heard cabal is easy if you read the entire manual start to finish before doing anything at all
18:32:50 <EvanR> which everyone does so not an issue
18:33:08 <monochrom> No, I already read the manual, it's still not easy.
18:33:19 <sm> - generate a heap profile
18:33:19 <sm> - detect and solve a performance bug
18:33:19 <sm> boy haskell is a goldmine of puzzles
18:33:33 <sm> EvanR: it sure helps, but yes not sufficient
18:33:55 <EvanR> we should collect these into a tech tree or quest progress tree or something
18:34:20 <tomsmeding> those puzzles are cute
18:34:27 <sm> indeed! Have thought of the Haskell Adventure before
18:34:37 <mauke> find the space leak. no, the other space leak
18:34:45 <sm> not just the usual dry coding stuff, the real stuff haskellers are faced with
18:35:49 <EvanR> - deduce the proper semantics of FilePath on windows
18:36:40 × jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 250 seconds)
18:36:40 <mauke> >implying there is a (one) proper semantics of windows file paths
18:37:15 <EvanR> - give at least 1
18:37:30 <monochrom> perhaps "semantics" is plural there :)
18:37:49 <monochrom> Yeah, what's the plural for "semantics"? Sometimes I need it.
18:37:56 <EvanR> semantices
18:38:06 <tomsmeding> semantic's
18:38:18 <monochrom> I hope it's something cute like "semanteaux".
18:38:22 <tomsmeding> semantix
18:38:35 <EvanR> semantii
18:39:04 <mauke> Semantiken
18:39:07 <sm> - install a random hackage package uploaded 1 / 2 / 5 / 10 / >10 years ago
18:39:24 <EvanR> oh a difficulty progression, good call
18:39:30 <sm> we could have a Haskell Olympics
18:39:55 × gry quits (quasselcor@botters/gry) (*.net *.split)
18:39:56 × byte quits (~byte@user/byte) (Ping timeout: 240 seconds)
18:40:03 <EvanR> record oldest package successfully used
18:40:11 gry joins (quasselcor@botters/gry)
18:40:12 <tomsmeding> where did that final 's' even come from, historically; it's supposed to come from French sémantique
18:41:46 <tomsmeding> monochrom: use https://en.wiktionary.org/wiki/semasiology
18:41:53 <mauke> it's like physics, maths, chemics, syntacs, and biologys
18:42:22 <EvanR> the sciences
18:42:31 jmdaemon joins (~jmdaemon@user/jmdaemon)
18:42:41 <tomsmeding> one semantics, two semasiologies
18:42:58 <monochrom> Oh haha
18:43:04 <tomsmeding> sm: compile acme-everything
18:44:04 <monochrom> That has the vibe of "radiology alert!" in Battelstar Galactica referring to detecting that the enemy has laucnhed nukes.
18:47:00 × jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 246 seconds)
18:49:12 × mechap quits (~mechap@user/mechap) (Ping timeout: 240 seconds)
18:49:40 × finn quits (~finn@176-151-21-224.abo.bbox.fr) (Ping timeout: 250 seconds)
18:50:26 mechap joins (~mechap@user/mechap)
18:53:32 × dcoutts_ quits (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Ping timeout: 245 seconds)
19:01:19 byte joins (~byte@user/byte)
19:11:53 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:38f8:4900:37c0:4176)
19:12:34 lortabac joins (~lortabac@2a01:e0a:541:b8f0:e55e:b0d6:56a7:32f7)
19:13:54 × fweht quits (uid404746@id-404746.lymington.irccloud.com) (Quit: Connection closed for inactivity)
19:16:02 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:38f8:4900:37c0:4176) (Ping timeout: 245 seconds)
19:20:40 nate2 joins (~nate@c-98-45-169-16.hsd1.ca.comcast.net)
19:23:03 × byte quits (~byte@user/byte) (Ping timeout: 246 seconds)
19:25:30 × nate2 quits (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 246 seconds)
19:26:31 × hippoid quits (~hippoid@user/hippoid) (Remote host closed the connection)
19:26:54 hippoid joins (~hippoid@c-98-213-162-40.hsd1.il.comcast.net)
19:29:26 × hippoid quits (~hippoid@c-98-213-162-40.hsd1.il.comcast.net) (Changing host)
19:29:26 hippoid joins (~hippoid@user/hippoid)
19:32:53 finn joins (~finn@rul16-h01-176-151-21-224.dsl.sta.abo.bbox.fr)
19:33:23 Midjak joins (~Midjak@82.66.147.146)
19:35:40 coot joins (~coot@89-69-206-216.dynamic.chello.pl)
19:37:17 chromoblob joins (~user@37.113.180.121)
19:38:28 mjs2600 joins (~mjs2600@c-174-169-225-239.hsd1.vt.comcast.net)
19:40:25 exeo joins (~Ozymandia@97-119-96-49.omah.qwest.net)
19:41:56 × chromoblob quits (~user@37.113.180.121) (Ping timeout: 246 seconds)
19:42:53 × cfricke quits (~cfricke@user/cfricke) (Quit: WeeChat 3.8)
19:43:26 byte joins (~byte@user/byte)
19:46:53 × reverse quits (~inversed@188.220.172.130) (Read error: No route to host)
19:47:27 × trev quits (~trev@user/trev) (Quit: trev)
19:49:56 acidjnk joins (~acidjnk@p200300d6e7072f5928497d11c6efe7a2.dip0.t-ipconnect.de)
19:50:23 inversed joins (~inversed@188.220.172.130)
19:50:32 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:e55e:b0d6:56a7:32f7) (Ping timeout: 240 seconds)
19:51:58 × inversed quits (~inversed@188.220.172.130) (Client Quit)
19:52:05 × exeo quits (~Ozymandia@97-119-96-49.omah.qwest.net) (Ping timeout: 246 seconds)
19:53:15 justsomeguy joins (~justsomeg@user/justsomeguy)
19:53:15 xenomorph joins (~xenomorph@188.220.172.130)
19:55:36 dcoutts_ joins (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net)
19:57:16 × finn quits (~finn@rul16-h01-176-151-21-224.dsl.sta.abo.bbox.fr) (Ping timeout: 250 seconds)
20:02:51 L29Ah joins (~L29Ah@wikipedia/L29Ah)
20:06:47 × mechap quits (~mechap@user/mechap) (Ping timeout: 246 seconds)
20:07:42 zeenk joins (~zeenk@2a02:2f04:a203:a700::7fe)
20:07:46 mechap joins (~mechap@user/mechap)
20:12:16 × Unicorn_Princess quits (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection)
20:13:00 Unicorn_Princess joins (~Unicorn_P@user/Unicorn-Princess/x-3540542)
20:13:52 codaraxis joins (~codaraxis@user/codaraxis)
20:14:22 × _ht quits (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Quit: _ht)
20:14:27 × Unicorn_Princess quits (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Read error: Connection reset by peer)
20:14:40 Unicorn_Princess joins (~Unicorn_P@user/Unicorn-Princess/x-3540542)
20:18:13 × phma quits (~phma@host-67-44-208-160.hnremote.net) (Read error: Connection reset by peer)
20:18:36 phma joins (phma@2001:5b0:211f:2f08:1586:27d6:8ad8:5c55)
20:20:50 × td_ quits (~td@i53870903.versanet.de) (Quit: waking up from the american dream ...)
20:21:57 × coot quits (~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot)
20:29:15 connrs joins (~connrs@user/connrs)
20:31:51 finn joins (~finn@rul16-h01-176-151-21-224.dsl.sta.abo.bbox.fr)
20:36:55 × myxos quits (~myxos@cpe-65-28-251-121.cinci.res.rr.com) (Remote host closed the connection)
20:38:38 × justsomeguy quits (~justsomeg@user/justsomeguy) (Ping timeout: 246 seconds)
20:40:37 chromoblob joins (~user@37.113.180.121)
20:47:21 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
20:48:32 × gmg quits (~user@user/gehmehgeh) (Ping timeout: 240 seconds)
20:49:01 gmg joins (~user@user/gehmehgeh)
20:50:12 × chromoblob quits (~user@37.113.180.121) (Ping timeout: 245 seconds)
20:53:56 myxos joins (~myxos@cpe-65-28-251-121.cinci.res.rr.com)
20:54:28 × jonathan_ quits (~jonathan@c83-252-3-92.bredband.tele2.se) (Ping timeout: 250 seconds)
20:59:35 × EvanR quits (~EvanR@user/evanr) (Remote host closed the connection)
21:01:30 × phma quits (phma@2001:5b0:211f:2f08:1586:27d6:8ad8:5c55) (Read error: Connection reset by peer)
21:01:56 phma joins (phma@2001:5b0:211f:2f08:1586:27d6:8ad8:5c55)
21:02:40 × Midjak quits (~Midjak@82.66.147.146) (Quit: This computer has gone to sleep)
21:03:41 EvanR joins (~EvanR@user/evanr)
21:03:43 Midjak joins (~Midjak@82.66.147.146)
21:06:39 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
21:08:46 × Midjak quits (~Midjak@82.66.147.146) (Ping timeout: 250 seconds)
21:13:05 × bgs quits (~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection)
21:13:57 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:38f8:4900:37c0:4176)
21:16:05 × mechap quits (~mechap@user/mechap) (Ping timeout: 246 seconds)
21:17:06 mechap joins (~mechap@user/mechap)
21:18:11 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:38f8:4900:37c0:4176) (Ping timeout: 246 seconds)
21:20:21 × connrs quits (~connrs@user/connrs) (Quit: ZNC 1.8.2 - https://znc.in)
21:20:55 merijn joins (~merijn@86-86-29-250.fixed.kpn.net)
21:20:59 connrs joins (~connrs@user/connrs)
21:22:44 × connrs quits (~connrs@user/connrs) (Client Quit)
21:23:50 connrs joins (~connrs@user/connrs)
21:23:57 × byte quits (~byte@user/byte) (Ping timeout: 245 seconds)
21:24:53 × fendor quits (~fendor@2a02:8388:1640:be00:7aca:a77a:4a28:631a) (Remote host closed the connection)
21:25:12 × merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 245 seconds)
21:28:52 td_ joins (~td@i53870903.versanet.de)
21:29:44 × mei quits (~mei@user/mei) (Ping timeout: 246 seconds)
21:33:47 mei joins (~mei@user/mei)
21:38:50 × finn quits (~finn@rul16-h01-176-151-21-224.dsl.sta.abo.bbox.fr) (Ping timeout: 246 seconds)
21:47:14 finn joins (~finn@176-151-21-224.abo.bbox.fr)
21:47:43 × michalz quits (~michalz@185.246.207.203) (Remote host closed the connection)
21:48:45 emmanuelux joins (~emmanuelu@user/emmanuelux)
21:51:47 × finn quits (~finn@176-151-21-224.abo.bbox.fr) (Ping timeout: 246 seconds)
21:58:38 harveypwca joins (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67)
22:01:25 × Pickchea quits (~private@user/pickchea) (Quit: Leaving)
22:05:29 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
22:12:40 coot joins (~coot@89-69-206-216.dynamic.chello.pl)
22:14:32 × acidjnk quits (~acidjnk@p200300d6e7072f5928497d11c6efe7a2.dip0.t-ipconnect.de) (Ping timeout: 246 seconds)
22:16:26 × gmg quits (~user@user/gehmehgeh) (Quit: Leaving)
22:23:17 × mechap quits (~mechap@user/mechap) (Ping timeout: 246 seconds)
22:24:28 mechap joins (~mechap@user/mechap)
22:29:27 mncheck-m joins (~mncheck@193.224.205.254)
22:30:23 kritty joins (~crumb@c-76-155-235-153.hsd1.co.comcast.net)
22:31:52 × mncheck quits (~mncheck@193.224.205.254) (Ping timeout: 245 seconds)
22:32:09 × coot quits (~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot)
22:34:17 <kritty> are there any examples of projects that choose Arrows over Monads/Applicatives?
22:35:38 <geekosaur> @hackage hxt
22:35:38 <lambdabot> https://hackage.haskell.org/package/hxt
22:35:53 <kritty> ta :D
22:36:22 <c_wraith> note that one of my first tasks in Haskell was replacing hxt with something more direct :)
22:36:40 <kritty> lol
22:37:30 <c_wraith> I think I went with xml-simple
22:37:49 × myme quits (~myme@2a01:799:d60:e400:ee8f:45fa:6dfe:1e10) (Ping timeout: 258 seconds)
22:38:39 myme joins (~myme@2a01:799:d60:e400:5ad3:735a:f98b:c82b)
22:38:54 <geekosaur> and the main reason I remember hxt is it's about the only package I've ever found that went all in on Arrows
22:39:41 <c_wraith> jle had an arrow-based game library. I think he decided it wasn't worth it in the end.
22:41:14 <kritty> checks out. Arrows seem really interesting but i'm struggling to imagine a scenario where an Applicative or Monad wouldn't work better in almost every respect.
22:42:05 <kritty> one of the first examples in the paper proposing Arrow notation takes an argument and ignores it. really awkward.
22:42:07 [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470)
22:42:16 <kritty> s/takes/requires
22:43:39 <c_wraith> the library was named auto. https://github.com/mstksg/auto/blob/master/tutorial/tutorial.md
22:45:33 <zzz> how is the Eq intance of (,) defined?
22:46:58 <kritty> zzz: it's derived, so probably `(a,b) == (c,d) = (a == c) && (b == d)`
22:47:39 <zzz> that's fair enough but then how is the Ord instance derived?
22:48:09 <mauke> lexicographically
22:48:19 <EvanR> the cool parts of Arrow were factored out into profunctors
22:48:34 <probie> Something like `compare (a,b) (c,d) = case compare a c of { EQ -> compare b d; x -> x }`
22:48:35 <zzz> EvanR: wdym?
22:49:13 <mauke> (a,b) < (c,d) = a < c || (not (c < a) && b < d)
22:49:20 <zzz> mauke: how can i achieve that conclusion by looking at the source?
22:49:23 <EvanR> some of the cool parts, the other cool parts, which is the symmetric monoidal category part, would be arrow itself if it wasn't for arr
22:49:37 <mauke> zzz: source of what?
22:49:52 <geekosaur> https://www.haskell.org/onlinereport/haskell2010/haskellch11.html#x18-18300011.1
22:50:19 <Lears> Better: `compare (a,b) (c,d) = compare a c <> compare b d`.
22:50:20 <geekosaur> if you want to see the source ghc generates for a derived instance, use -ddump-deriv
22:51:08 <zzz> geekosaur: thanks
22:54:25 <zzz> lexicographically with respect to the order of data constructors
22:54:32 <zzz> got it
22:56:28 <geekosaur> you could have gotten that from the Report link I sent earlier
23:01:10 × gnalzo quits (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8)
23:01:17 jmdaemon joins (~jmdaemon@user/jmdaemon)
23:02:49 machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net)
23:04:09 <glguy> kritty: arrows were an old research idea. They didn't really survive as useful into modern usage
23:05:17 × wagle quits (~wagle@quassel.wagle.io) (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.)
23:05:35 wagle joins (~wagle@quassel.wagle.io)
23:06:32 <hpc> arguably, the thing that kills arrows is arr
23:06:37 <hpc> arr-guably :D
23:06:40 <hpc> :t arr
23:06:40 <kritty> :3
23:06:41 <lambdabot> Arrow a => (b -> c) -> a b c
23:06:55 <hpc> it forces 'a' to support arbitrary functions
23:08:16 <hpc> ironically, even though it makes Arrow able to do anything, it requires instances to support everything which limits what they can be
23:09:56 × oneeyedalien_ quits (~oneeyedal@user/oneeyedalien) (Quit: Leaving)
23:10:30 <c_wraith> interestingly enough, arr can be derived from fmap
23:10:32 <c_wraith> :t \f -> fmap f C.id
23:10:33 <lambdabot> (Functor (cat a), Category cat) => (a -> b) -> cat a b
23:10:53 <hpc> oh, huh
23:11:01 <c_wraith> So having it there is roughly equivalent to putting a Functor requirement on it
23:12:55 <hpc> that also means you have (c -> d) -> a b c -> a b d
23:15:01 <hpc> i guess that's not that interesting
23:15:13 <hpc> since it's equivalent to a b c -> (c -> d) -> a b d
23:15:29 <hpc> which is just (>>>) and arr
23:15:59 × mechap quits (~mechap@user/mechap) (Quit: WeeChat 3.8)
23:16:52 <hpc> so either can be derived from the other
23:17:02 × xff0x_ quits (~xff0x@ai098135.d.east.v6connect.net) (Ping timeout: 250 seconds)
23:17:14 × harveypwca quits (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Quit: Leaving)
23:18:12 <cheater> hello
23:18:17 <cheater> does GHC do automatic let floating?
23:18:24 hpc chooses to believe this means Functor is also useless :D
23:18:56 <c_wraith> cheater: if you haven't disabled the full laziness optimization, it might
23:19:00 xff0x_ joins (~xff0x@178.255.149.135)
23:19:07 <cheater> "might" how?
23:19:20 <c_wraith> depends on all sorts of internal heuristics!
23:19:27 wroathe joins (~wroathe@user/wroathe)
23:22:11 nate2 joins (~nate@c-98-45-169-16.hsd1.ca.comcast.net)
23:22:59 × emmanuelux quits (~emmanuelu@user/emmanuelux) (Quit: au revoir)
23:26:59 × nate2 quits (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 246 seconds)
23:29:04 × ec quits (~ec@gateway/tor-sasl/ec) (Remote host closed the connection)
23:29:42 ec joins (~ec@gateway/tor-sasl/ec)
23:34:42 Axma61101 is now known as Axman6
23:35:23 × xff0x_ quits (~xff0x@178.255.149.135) (Ping timeout: 246 seconds)
23:37:16 xff0x_ joins (~xff0x@2405:6580:b080:900:455d:adce:c30:5eea)
23:43:17 × wagle quits (~wagle@quassel.wagle.io) (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.)
23:44:08 wagle joins (~wagle@quassel.wagle.io)
23:44:44 <EvanR> being a category is one thing, being a functor is one thing, but being a hask endofunctor and also a category is narrowing it down a lot
23:45:20 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
23:46:16 <EvanR> meanwhile we need a way to have functor between Categorys
23:48:17 ec joins (~ec@gateway/tor-sasl/ec)
23:49:47 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 245 seconds)
23:50:49 mauke_ joins (~mauke@user/mauke)
23:52:17 × mauke quits (~mauke@user/mauke) (Ping timeout: 245 seconds)
23:52:18 mauke_ is now known as mauke

All times are in UTC on 2023-06-22.