Home liberachat/#haskell: Logs Calendar

Logs on 2025-02-18 (liberachat/#haskell)

00:03:29 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
00:08:03 alfiee joins (~alfiee@user/alfiee)
00:09:08 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
00:12:28 × alfiee quits (~alfiee@user/alfiee) (Ping timeout: 245 seconds)
00:19:16 × TheCoffeMaker quits (~TheCoffeM@user/thecoffemaker) (Ping timeout: 252 seconds)
00:20:11 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
00:21:06 × Square2 quits (~Square4@user/square) (Ping timeout: 252 seconds)
00:24:24 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds)
00:24:55 × ljdarj quits (~Thunderbi@user/ljdarj) (Quit: ljdarj)
00:25:10 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds)
00:27:28 j1n37- joins (~j1n37@user/j1n37)
00:28:06 × j1n37 quits (~j1n37@user/j1n37) (Ping timeout: 244 seconds)
00:35:33 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
00:38:45 × Smiles quits (uid551636@id-551636.lymington.irccloud.com) (Quit: Connection closed for inactivity)
00:40:04 Inst joins (~Inst@user/Inst)
00:40:11 <Inst> I saw the transcript.
00:40:46 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds)
00:41:13 <Inst> Ugh, first time on OSX, need to figure out how to install Haskell toolchain (actually I want Rust, because it'll be interesting to set up a multi-AI query bot to instantly verify fake news)
00:41:37 <Inst> Apparently Xiaohongshu (Rednote) is infested with foreign bots
00:43:57 <EvanR> I use a few ways to install haskell on OSX but ghcup would be what I would use now
00:44:04 <EvanR> if my macbook didn't die
00:45:11 <EvanR> tomsmeding, by avoiding mtl classes, what do you use instead
00:45:38 <Inst> yeah, already went to GHCup
00:45:51 <Inst> also, is it valid to try to boycott Michael Snoyman?
00:46:09 <Inst> Hecate would know why
00:48:02 <haskellbridge> <sm> please don't target persons with FUD, if you have something the community really needs to hear about then speak up
00:48:32 <Inst> It's just about politics, i.e, some people would wish to avoid products made by developers in certain countries.
00:48:52 <haskellbridge> <sm> that's a better way to ask (general principles, not personal attacks)
00:48:59 × xff0x quits (~xff0x@2405:6580:b080:900:6343:237d:85c9:269e) (Ping timeout: 244 seconds)
00:49:18 <Inst> It came up on Wechat Haskell group, briefly, because of their local politics, but most people are too pragmatic to care, and Snoyman has built a lot of good software.
00:49:31 <EvanR> this topic seems toxic as hell
00:49:34 <EvanR> lovely
00:49:35 xff0x joins (~xff0x@2405:6580:b080:900:6343:237d:85c9:269e)
00:49:48 <Inst> Yeah, that's why I asked in that way, I just wanted to know if it was possible.
00:50:01 <haskellbridge> <sm> there has been a lot of drama in the past, around snoyman in particular. Not keen to see that perpetuated. But sure, ask generally
00:50:09 <Inst> Cabal has Snoyman on the contributors list, so you can't avoid Cabal.
00:50:55 <EvanR> technically you can
00:51:05 <EvanR> compile and link stuff directly
00:51:21 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
00:51:37 <EvanR> but I'll give you a 99% of chance of your reasons for doing so being ridiculous
00:52:05 <Inst> And honestly, it's probably insincere / BS posturing to avoid Snoyman; if you really want to do so, build better libraries than Snoyman does and use them instead. It's not like his libraries are on anything other than maintainership mode.
00:53:19 <haskellbridge> <sm> tuning out
00:53:35 <Inst> I just wanted to ask, not throwing fuel on the fire.
00:53:38 <EvanR> lol
00:55:48 alfiee joins (~alfiee@user/alfiee)
00:56:34 × sprotte24 quits (~sprotte24@p200300d16f275200c497ecd45d202d2a.dip0.t-ipconnect.de) (Read error: Connection reset by peer)
00:57:32 <haskellbridge> <sm> no offense Inst, but I don't trust your judgement here. I'm with you that politics and principles are important to discuss sometimes, but if you must keep singling out some individual for your discussion, pick me, I don't mind :)
00:58:08 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
00:59:16 × acidjnk quits (~acidjnk@p200300d6e7283f34117511048fc3b2ed.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
00:59:18 <haskellbridge> <sm> well I've said my piece, carry on
00:59:55 <Inst> It's less about going after Snoyman, he's done a lot of work, but to make it explicit, some people BDS Israel, which I think is a valid political (but personal) choice, and Snoyman's libraries are technically in the scope. So, while I generally like Snoyman, I know people who don't, and might wish to BDS his library contributions.
01:00:11 <Inst> Maybe forget this conversation, it's just cursed in general.
01:00:38 × alfiee quits (~alfiee@user/alfiee) (Ping timeout: 272 seconds)
01:00:42 <monochrom> Yes you have a track record of creating cursed topics.
01:01:03 <monochrom> If I boycott anything, it's cursed topics and their creators.
01:01:09 × machinedgod quits (~machinedg@d108-173-18-100.abhsia.telus.net) (Ping timeout: 248 seconds)
01:01:53 <EvanR> "Not to go after Snoyman, I don't mean to cast doubt on Snoyman, but fuck Snoyman?" -- Inst sounds like a third rate shill xD
01:02:00 <haskellbridge> <sm> I hear you. If you want to be practical, I think you/people could certainly start reviewing/listing/curating subsets of hackage/stackage based on certain criteria
01:02:39 <haskellbridge> <sm> just let's not stir up vague FUD about individuals please
01:02:41 <monochrom> Oh the Aesop fable of the mice predicts that people who not bother to do such things. :)
01:02:55 <monochrom> s/who/will/
01:03:05 <haskellbridge> <sm> I hear you. If you want to be practical, I think you could certainly start reviewing/listing/curating subsets of hackage/stackage based on certain criteria
01:04:09 <Inst> sm: tbh, it's less useful than to have and to build good alternative libraries, which will eventually be used by others based on their utility, not personal politics.
01:04:21 <Inst> For me, it's that http-conduit was my go-to.
01:06:08 <EvanR> you want to rewrite http-conduit
01:06:55 weary-traveler joins (~user@user/user363627)
01:07:30 <EvanR> if you did that it would be forever known as "this thing written for political purposes, while the author saying the whole time it's not"
01:08:03 <EvanR> again contradicting what it seems like you're saying
01:08:28 <Inst> yes, it would be written for political purposes, but whether or not it actually becomes useful depends on the quality of the code and the interface
01:08:38 <Inst> *actually becomes commonly used
01:09:01 <haskellbridge> <maerwald> Sorry what? You boycott Snoymans libraries because of his nationality or did he actually share his political opinion publicly?
01:09:25 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
01:10:03 <Inst> tbh maybe you're right and it's silly, because it's open-source, no one's making any money off it
01:10:32 <haskellbridge> <sm> Inst building something as good as http-conduit isn't easy - I don't think you're seriously going to try but if you were, check out the existing alternatives
01:10:44 <Inst> wreq is there
01:10:59 × user363627 quits (~user@user/user363627) (Ping timeout: 244 seconds)
01:11:27 <Inst> ugh, i need to bring matrix back online, but you can find Snoyman's view on things online, which is shared publicly. It seems to me to be well-spoken and moderate, but your politics may vary.
01:11:33 <haskellbridge> <sm> oh sorry, I was thinking "conduit". That's a smaller task, but still pretty darn hard judging my my recent skim of http-client's issue tracker
01:11:35 <Inst> would otherwise DM it to maerwald
01:12:46 user363627 joins (~user@user/user363627)
01:12:48 <haskellbridge> <sm> * HTTP is
01:12:53 × weary-traveler quits (~user@user/user363627) (Ping timeout: 245 seconds)
01:12:55 <haskellbridge> <sm> * by
01:13:37 <haskellbridge> <maerwald> I find bringing politics into tech generally cancerous. People sharing their views in a respectful and non-invasive manner is a different matter.
01:13:54 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
01:13:56 <geekosaur> ^
01:15:10 <Inst> I'm just more surprised the old "hang snoyman" faction never built a boycott and alternative list before the events of the past few years.
01:15:31 <haskellbridge> <sm> are you seriously going to keep mentioning his name in every comment ?
01:15:40 <Inst> I'll drop it, forget it.
01:15:49 <monochrom> Finally.
01:15:51 × xff0x quits (~xff0x@2405:6580:b080:900:6343:237d:85c9:269e) (Ping timeout: 244 seconds)
01:16:24 <haskellbridge> <maerwald> I've had intense political arguments at Zurihac in private. It works much better than online, in my experience.
01:16:43 yegorc joins (~yegorc@user/yegorc)
01:17:43 <haskellbridge> <maerwald> Online political commentary is rarel insightful
01:18:15 <monochrom> Oh, very generally, opinions are rarely valuable.
01:18:17 <geekosaur> I'm not sure I recommend political arguments anyway. people tend to get defensive and intransigent, which makes it pointless
01:19:23 <EvanR> someone once said there are no good arguments, only good arguers
01:19:29 <monochrom> be it politics or technical topics. https://danluu.com/cocktail-ideas/ explains the technical topics case.
01:19:43 <Axman6> monochrom: my opinion is your opinion is valuable
01:19:47 <haskellbridge> <maerwald> Yes, veritasium made an interesting video on that. Apparently bias gets worse the more intelligent you are.
01:19:59 <monochrom> I'm a rarity! >:D
01:23:22 <EvanR> *edits the CSS of that page with the debugger to decrease the width*
01:23:40 <EvanR> I get exhausted reading before the end of the line
01:23:55 <monochrom> Or just shrink the browser window width to what it should be!
01:24:17 <EvanR> change the size of the window :horror: ?
01:24:44 <monochrom> It is other web pages that assume/require wide windows that are wrong.
01:24:47 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
01:25:58 <monochrom> My opinion is valueless like I said, but IMO no web page design has the right to force a width on you. You choose your favourite width and the web page should still work fine.
01:26:28 <monochrom> and height, and font size, and font styles, etc etc
01:26:52 <EvanR> configuration over convention eh?
01:27:04 <monochrom> But it's not just my opinion by now. After decades, accessibility rediscovers the same principle.
01:28:02 <Inst> maerwald: is it because reality is a poorly-defined axiomatic system?
01:28:12 <Inst> And people tend not to acknowledge that fact?
01:28:36 <EvanR> reality is not a poorly-defined axiomatic system
01:28:54 <haskellbridge> <maerwald> Watch the video
01:29:17 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
01:29:53 <haskellbridge> <sm> oh sorry, I was thinking "conduit". HTTP is a smaller[bigger?] task, but still pretty darn hard judging by my recent skim of http-client's issue tracker
01:30:19 <haskellbridge> <sm> oh sorry, I was thinking "conduit". HTTP is a smaller[bigger?] task, but also pretty darn hard judging by my recent skim of http-client's issue tracker
01:31:56 <geekosaur> your edits of old messages are kinda screwy on this side
01:32:15 <EvanR> IRC is append-only log xD
01:32:42 <geekosaur> reality isn't an axiomatic system at all. people tend to take their personal beliefs as axioms and try to force reality to fit those axioms. (I include myself in this; the only difference is I'm aware of it and to some extent why it's so)
01:32:52 <monochrom> I'm OK with edits, until you edit very old messages, at which point the point is moot.
01:35:55 × Inst quits (~Inst@user/Inst) (Remote host closed the connection)
01:36:05 <Leary> Vsauce also has a good video ('The Future of Reasoning') about how human intelligence is not embodied by individuals, but rather by groups---basically we /need/ to discuss difficult problems (preferably in small groups IRL), or we're only operating at half capacity. Still can't convince me to talk politics though. >.>
01:37:01 <geekosaur> bet he gets along well with James Burke…
01:37:28 <geekosaur> (sarcasm, if its not clear)
01:37:32 <monochrom> Except/Until you hear from some of us that the rubber duck method is equivalent to talking to real people. >:)
01:38:22 <monochrom> On that note, I like to butcher a Shaw quote. I argue with myself all the time, it adds sparks to my arguments. >:)
01:40:10 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
01:41:25 <monochrom> Mathematicians have actually learned to do that. When they are working on a conjecture, they divide up their time to try both proving and disproving. And the two efforts actually help feed each other.
01:41:26 <geekosaur> re rubber duck method, that only addresses half the problem (organizing one's own thoughts), it doesn't address synergistic effects from multiple viewpoints
01:42:06 <monochrom> I have success with that sometimes. I build a counterexample by trying to prove with pretty standard techniques.
01:42:25 <monochrom> (and see where I get stuck, that's where counterexamples are inspired)
01:42:35 <haskellbridge> <sm> sorry for the edits, I forgot this room is IRC-bridged and IRC-first
01:43:06 Inst joins (~Inst@user/Inst)
01:43:33 alfiee joins (~alfiee@user/alfiee)
01:44:21 <Inst> geekosaur: sorry for bringing it up, but #haskell-offtopic
01:44:50 <monochrom> #haskell-offtopic is not where you dump your toxic topics either.
01:45:04 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
01:45:44 <geekosaur> this channel often goes offtopic when nothing else is going on, it's not a problem unless it interferes with on-topic discussions
01:45:55 <geekosaur> and -offtopic isn't bridged and probably won't be
01:46:43 <geekosaur> I should mention that the current bridge is part of why edits don't work well, it for example never uses s/// edits so it's often unclear what it's replacing
01:47:02 user363627 is now known as weary-traveler
01:47:45 <geekosaur> I am waiting for something to come through, if it does I will be moving the bridge off my laptop to dedicated hosting and probably off my personal domain name. and since that'll require rebuilding everything anyway, I may switch to matrix-appservice-irc which will get better editing and bidirectional puppeting
01:47:59 × alfiee quits (~alfiee@user/alfiee) (Ping timeout: 260 seconds)
01:48:50 <Inst> I mean that events, what is real, are essentially axioms, and the not well-defined part comes out to what events people agree happened. A lot of discourse essentially comes down to arguing over axioms; you can prove that they're inconsistent sometimes, but only sometimes.
01:49:54 <geekosaur> "events" are in the eye of the beholder; they make lousy axioms
01:50:46 <geekosaur> ask three people what happened, you get at least3 different answers
01:51:55 <EvanR> geekosaur, a bridge feature which transliterates edits using a much smaller s/foo/bar/ pattern, if possible, for the IRC side would be funny
01:52:36 <Inst> Which is my point about that being an explanation for why bias is more intense with intelligent people.
01:52:38 <EvanR> though it might be nonsensical when done 30 minutes later
01:52:51 <monochrom> I just wonder (I am evil) what if my message is "s/space/spaces/" and then I edit it to "s/space/spice/" >:)
01:53:10 <EvanR> processing
01:54:08 <EvanR> so it reports s/spaces/spice/ right lol
01:54:17 hsw joins (~hsw@2001-b030-2303-0104-0172-0025-0012-0132.hinet-ip6.hinet.net)
01:54:24 <monochrom> Oh! Right, that's easy.
01:55:01 <weary-traveler> what are we talking about?
01:55:21 <weary-traveler> sed patterns?
01:55:32 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
01:55:45 <monochrom> I should use examples like from "s/space/spaces/" to "nah". My goal was to force an escape code convention. But on 2nd thought, the point is moot because no one on matrix has an incentive to use s/// notation in the first place.
01:55:54 <EvanR> autogenerating simplistic sed patterns from two versions of messages
01:56:52 <EvanR> yes it breaks down if it's not a minor edit
01:57:41 <weary-traveler> i propose that a diff patch be generated and uploaded to a paste service
01:57:46 <EvanR> the wizard went vaguely north
01:57:48 <EvanR> edited to
01:57:54 <EvanR> the ogre went vaguely west
01:58:05 <EvanR> no one would sed substitute it
01:58:29 <EvanR> with 1 command
01:59:12 <monochrom> If you're limited to 1 command, I have a feeling that it's an NP-complete problem.
01:59:18 <jackdk> `s/.*/the ogre went vaguely west/`
01:59:22 <weary-traveler> jokes aside, it might be better to paste the updated message anew. something like: "EDIT: xyz (WAS: abc)"
02:00:06 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
02:00:15 <weary-traveler> (assuming i didn't misunderstand the context that this is in the context of an irc bridge)
02:00:42 <weary-traveler> i.e., the approach that message-mode takes when altering subject in an email thread
02:04:33 <geekosaur> weary-traveler, we're talking about Matrix-side edits sent to IRC
02:04:44 <geekosaur> (this channel exists on both with a bridge bot)
02:05:17 × Tuplanolla quits (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.)
02:05:31 xff0x joins (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp)
02:05:52 <geekosaur> so yeh, appservice-irc would send the second edit relative to the first, not the originsl
02:06:24 <geekosaur> but it would still need to send the whole message again if there've been additional messages sent since
02:06:41 <geekosaur> there's just no good solution given IRC doesn't support edits
02:06:46 <weary-traveler> geekosaur: thanks for confirming. pasting the full message with the original parenthesized seems like the best approach "default" approach to me. small levenshtein distance edits might be better suited for a sed-pattern approach
02:07:36 <geekosaur> oh, matrix-appserice-irc also includes just enough context to disambiguate if an edit could otherwise match in multiple places
02:07:58 bilegeek joins (~bilegeek@2600:1008:b044:8ce0:7330:8978:b973:2dee)
02:10:55 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
02:15:44 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds)
02:22:06 × pikajude quits (~jude@149.28.207.64) (Ping timeout: 252 seconds)
02:22:26 pikajude joins (~jude@149.28.207.64)
02:23:56 × euphores quits (~SASL_euph@user/euphores) (Ping timeout: 252 seconds)
02:26:18 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
02:26:30 × Inst quits (~Inst@user/Inst) (Quit: Leaving...)
02:29:34 × tnt1 quits (~Thunderbi@user/tnt1) (Ping timeout: 260 seconds)
02:29:41 tnt2 joins (~Thunderbi@user/tnt1)
02:30:37 alfiee joins (~alfiee@user/alfiee)
02:31:09 euphores joins (~SASL_euph@user/euphores)
02:32:00 tnt2 is now known as tnt1
02:33:44 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds)
02:35:14 × alfiee quits (~alfiee@user/alfiee) (Ping timeout: 260 seconds)
02:39:06 × dtman34 quits (~dtman34@2601:447:d000:1f5e:d9a8:85bf:188a:75ef) (Ping timeout: 246 seconds)
02:41:50 tnt2 joins (~Thunderbi@user/tnt1)
02:43:24 × tnt1 quits (~Thunderbi@user/tnt1) (Ping timeout: 260 seconds)
02:44:21 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
02:45:18 × rekahsoft quits (~rekahsoft@bras-base-orllon1103w-grc-14-174-92-69-126.dsl.bell.ca) (Remote host closed the connection)
02:45:20 tnt1 joins (~Thunderbi@user/tnt1)
02:46:03 × tnt2 quits (~Thunderbi@user/tnt1) (Ping timeout: 244 seconds)
02:48:38 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
02:59:43 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
03:04:46 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds)
03:08:16 × tnt1 quits (~Thunderbi@user/tnt1) (Ping timeout: 244 seconds)
03:15:05 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
03:16:30 tnt1 joins (~Thunderbi@user/tnt1)
03:17:41 alfiee joins (~alfiee@user/alfiee)
03:19:52 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds)
03:21:57 × alfiee quits (~alfiee@user/alfiee) (Ping timeout: 248 seconds)
03:25:09 × tnt1 quits (~Thunderbi@user/tnt1) (Ping timeout: 248 seconds)
03:30:28 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
03:35:04 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
03:42:22 tewk joins (~tewk@host-178.97-90-209-981424-colocation.srv.fiber.net)
03:44:12 tnt1 joins (~Thunderbi@user/tnt1)
03:45:50 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
03:47:12 tnt2 joins (~Thunderbi@user/tnt1)
03:48:47 × tnt1 quits (~Thunderbi@user/tnt1) (Ping timeout: 244 seconds)
03:48:47 tnt2 is now known as tnt1
03:49:57 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
03:50:20 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
03:58:13 JeremyB99 joins (~JeremyB99@2607:ac80:407:7:7be1:7b66:cb37:6259)
03:58:36 Inst joins (~Inst@user/Inst)
04:01:12 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
04:05:05 alfiee joins (~alfiee@user/alfiee)
04:06:44 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 268 seconds)
04:07:23 × tnt1 quits (~Thunderbi@user/tnt1) (Ping timeout: 244 seconds)
04:07:57 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
04:08:03 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
04:09:32 × alfiee quits (~alfiee@user/alfiee) (Ping timeout: 252 seconds)
04:10:04 tnt1 joins (~Thunderbi@user/tnt1)
04:11:00 × Inst quits (~Inst@user/Inst) (Remote host closed the connection)
04:12:15 × pabs3 quits (~pabs3@user/pabs3) (Remote host closed the connection)
04:14:27 pabs3 joins (~pabs3@user/pabs3)
04:19:16 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
04:23:42 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
04:26:15 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
04:30:01 tnt2 joins (~Thunderbi@user/tnt1)
04:32:00 aforemny joins (~aforemny@i59F4C483.versanet.de)
04:32:01 × tnt1 quits (~Thunderbi@user/tnt1) (Ping timeout: 268 seconds)
04:32:51 × aforemny_ quits (~aforemny@i577B1223.versanet.de) (Ping timeout: 246 seconds)
04:34:33 × tnt2 quits (~Thunderbi@user/tnt1) (Ping timeout: 245 seconds)
04:34:38 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
04:39:08 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
04:50:01 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
04:52:29 alfiee joins (~alfiee@user/alfiee)
04:54:11 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
04:56:50 × alfiee quits (~alfiee@user/alfiee) (Ping timeout: 252 seconds)
04:57:33 Inst joins (~Inst@user/Inst)
04:59:05 myxos joins (~myxos@syn-065-028-251-121.res.spectrum.com)
05:01:39 tavare joins (~tavare@150.129.88.189)
05:01:39 × tavare quits (~tavare@150.129.88.189) (Changing host)
05:01:39 tavare joins (~tavare@user/tavare)
05:04:40 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
05:09:24 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
05:14:14 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Read error: Connection reset by peer)
05:20:04 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
05:21:10 × Inst quits (~Inst@user/Inst) (Remote host closed the connection)
05:22:49 <ski> "Also an existential pattern binding at the top level of a module doesn’t make sense" -- SML/NJ,PolyML kinda does something like that, when not generalizing in the presence of the value restriction (effectively replacing the tyvars with skolems)
05:23:04 <ski> OCaml,MoSML,MetaML otoh leaves the tyvars as meta variables, so later declarations could possibly instantiate them
05:24:32 <ski> (didn't check MLton,ML Kit,ML Works,Alice ML,EML,Caml)
05:24:44 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds)
05:24:54 <ski> (hm, nor F#)
05:25:11 <ski> "because it’s not clear how to prevent the existentially-quantified type “escaping”" -- neither SML nor OCaml does appear to prevent the skolem from leaking / the metavar from being instantiated after the module has been constructed, although it would probably be possible to do, somewhat similar to what is done with opening existentials in a local scope
05:25:19 <ski> instead of checking it doesn't occur in result type, you'd need to check it doesn't occur in types of exported operations
05:25:30 <ski> "how human intelligence is not embodied by individuals, but rather by groups---basically we /need/ to discuss difficult problems (preferably in small groups IRL), or we're only operating at half capacity" -- distributed cognition
05:28:36 michalz joins (~michalz@185.246.207.215)
05:32:36 × zungi quits (~tory@user/andrewchawk) (Ping timeout: 264 seconds)
05:35:04 × bilegeek quits (~bilegeek@2600:1008:b044:8ce0:7330:8978:b973:2dee) (Quit: Leaving)
05:35:27 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
05:37:01 zungi joins (~tory@user/andrewchawk)
05:39:53 alfiee joins (~alfiee@user/alfiee)
05:40:28 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds)
05:43:49 × alp quits (~alp@2001:861:8ca0:4940:8ccb:bb49:a412:bcda) (Ping timeout: 260 seconds)
05:44:11 bilegeek joins (~bilegeek@2600:1008:b044:8ce0:7330:8978:b973:2dee)
05:44:18 × alfiee quits (~alfiee@user/alfiee) (Ping timeout: 244 seconds)
05:49:10 Inst joins (~Inst@user/Inst)
05:50:06 atwm joins (~andrew@19-193-28-81.ftth.cust.kwaoo.net)
05:51:01 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
05:54:08 × atwm quits (~andrew@19-193-28-81.ftth.cust.kwaoo.net) (Ping timeout: 245 seconds)
05:55:23 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
05:57:54 × _ht quits (~huub@62.250.52.179) (Remote host closed the connection)
05:58:21 × Inst quits (~Inst@user/Inst) (Remote host closed the connection)
06:01:03 × tavare quits (~tavare@user/tavare) (Remote host closed the connection)
06:01:58 × j1n37- quits (~j1n37@user/j1n37) (Read error: Connection reset by peer)
06:05:32 j1n37 joins (~j1n37@user/j1n37)
06:06:24 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
06:11:04 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
06:18:00 takuan joins (~takuan@d8D86B601.access.telenet.be)
06:21:32 atwm joins (~andrew@19-193-28-81.ftth.cust.kwaoo.net)
06:21:45 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
06:22:45 misterfish joins (~misterfis@84.53.85.146)
06:26:22 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
06:27:57 alfiee joins (~alfiee@user/alfiee)
06:30:22 × misterfish quits (~misterfis@84.53.85.146) (Ping timeout: 265 seconds)
06:32:21 × alfiee quits (~alfiee@user/alfiee) (Ping timeout: 244 seconds)
06:37:08 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
06:43:43 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
06:45:13 × Unicorn_Princess quits (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection)
06:47:48 × tewk quits (~tewk@host-178.97-90-209-981424-colocation.srv.fiber.net) (Quit: Lost terminal)
06:50:08 × JeremyB99 quits (~JeremyB99@2607:ac80:407:7:7be1:7b66:cb37:6259) (Read error: Connection reset by peer)
06:50:59 dtman34 joins (~dtman34@2601:447:d000:1f5e:ca14:d507:141c:5e6f)
06:55:12 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
06:55:17 JeremyB99 joins (~JeremyB99@2607:ac80:407:7:7be1:7b66:cb37:6259)
06:57:27 × JeremyB99 quits (~JeremyB99@2607:ac80:407:7:7be1:7b66:cb37:6259) (Read error: Connection reset by peer)
06:58:09 Googulator91 joins (~Googulato@2a01-036d-0106-4074-e4c1-4d2b-93a1-bece.pool6.digikabel.hu)
06:58:24 × zungi quits (~tory@user/andrewchawk) (Ping timeout: 264 seconds)
06:59:39 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
07:02:10 × Googulator quits (~Googulato@2a01-036d-0106-4074-e4c1-4d2b-93a1-bece.pool6.digikabel.hu) (Ping timeout: 240 seconds)
07:02:37 × mud quits (~mud@user/kadoban) (Remote host closed the connection)
07:02:59 zungi joins (~tory@user/andrewchawk)
07:05:41 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
07:06:44 mud joins (~mud@user/kadoban)
07:10:04 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
07:10:10 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
07:12:05 × Garbanzo__ quits (~Garbanzo@2602:304:6eac:dc10::46) (Remote host closed the connection)
07:13:56 × GdeVolpiano quits (~GdeVolpia@user/GdeVolpiano) (Quit: WeeChat 4.4.2)
07:14:29 JeremyB99 joins (~JeremyB99@2607:ac80:407:7:7be1:7b66:cb37:6259)
07:15:01 alfiee joins (~alfiee@user/alfiee)
07:16:39 GdeVolpiano joins (~GdeVolpia@user/GdeVolpiano)
07:17:45 × JeremyB99 quits (~JeremyB99@2607:ac80:407:7:7be1:7b66:cb37:6259) (Read error: Connection reset by peer)
07:19:04 × alfiee quits (~alfiee@user/alfiee) (Ping timeout: 244 seconds)
07:21:14 homo joins (~homo@user/homo)
07:21:16 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
07:21:24 <[exa]> ok so now that we have the wasm and wasm still has zero official ways of interacting with DOM, wouldn't it be quite logical to build a small interpreter of wasm structures to DOM manipulation commands, so that we could just stream the changes to some small js urchin that interprets the whole thing into the browser DOM?
07:21:42 <[exa]> ^ possible nonsense, just decided to think out loud
07:22:09 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
07:23:18 <[exa]> as in, react & pals have a similar thing (they "interpret" via diffing and rebuild whole structure twice anyway), so the performance hit shouldn't be harsh
07:27:09 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds)
07:27:54 × atwm quits (~andrew@19-193-28-81.ftth.cust.kwaoo.net) (Ping timeout: 252 seconds)
07:33:33 JeremyB99 joins (~JeremyB99@2607:ac80:407:7:7be1:7b66:cb37:6259)
07:36:02 CiaoSen joins (~Jura@ip-037-201-240-075.um10.pools.vodafone-ip.de)
07:37:00 × JeremyB99 quits (~JeremyB99@2607:ac80:407:7:7be1:7b66:cb37:6259) (Read error: Connection reset by peer)
07:37:40 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
07:39:55 lortabac joins (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4)
07:42:48 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds)
07:43:15 JeremyB99 joins (~JeremyB99@2607:ac80:407:7:7be1:7b66:cb37:6259)
07:43:25 xdej joins (~xdej@quatramaran.salle-s.org)
07:52:08 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 244 seconds)
07:52:21 alp joins (~alp@2001:861:8ca0:4940:784b:876b:883d:5987)
07:52:58 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
07:54:33 × ft quits (~ft@p4fc2a610.dip0.t-ipconnect.de) (Quit: leaving)
07:59:14 sord937 joins (~sord937@gateway/tor-sasl/sord937)
07:59:25 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
08:00:04 acidjnk joins (~acidjnk@p200300d6e7283f20c06f460756a3e282.dip0.t-ipconnect.de)
08:00:04 × caconym quits (~caconym@user/caconym) (Quit: bye)
08:01:00 caconym joins (~caconym@user/caconym)
08:02:05 alfiee joins (~alfiee@user/alfiee)
08:06:05 × alfiee quits (~alfiee@user/alfiee) (Ping timeout: 244 seconds)
08:16:53 × alp quits (~alp@2001:861:8ca0:4940:784b:876b:883d:5987) (Ping timeout: 248 seconds)
08:19:40 <tomsmeding> EvanR: re what instead of mtl classes: write a monad definition, write the methods I want it to have, don't export the monad definition :p
08:20:37 <tomsmeding> sometimes if I want a local State or something I just do that; you can use Control.Monad.Trans.Class(MonadTrans(lift)) to, well, lift methods to monads further down (?) the stack
08:20:56 <tomsmeding> lifts usually go up, this one doesn't apparently /shrug/
08:24:13 atwm joins (~andrew@19-193-28-81.ftth.cust.kwaoo.net)
08:30:18 × atwm quits (~andrew@19-193-28-81.ftth.cust.kwaoo.net) (Ping timeout: 272 seconds)
08:31:48 j1n37- joins (~j1n37@user/j1n37)
08:33:28 × j1n37 quits (~j1n37@user/j1n37) (Ping timeout: 272 seconds)
08:34:29 atwm joins (~andrew@19-193-28-81.ftth.cust.kwaoo.net)
08:38:05 × kaskal quits (~kaskal@2a02:8388:15bf:c200:b761:f798:cc12:a3c8) (Quit: ZNC - https://znc.in)
08:38:26 kaskal joins (~kaskal@2a02:8388:15bf:c200:6260:f3eb:9ba8:d6f8)
08:38:34 ski . o O ( `exists m. Monad m *> ..m.. -> ...' )
08:38:38 misterfish joins (~misterfis@31-161-39-137.biz.kpn.net)
08:38:56 × atwm quits (~andrew@19-193-28-81.ftth.cust.kwaoo.net) (Ping timeout: 244 seconds)
08:39:21 × JeremyB99 quits (~JeremyB99@2607:ac80:407:7:7be1:7b66:cb37:6259) (Remote host closed the connection)
08:39:30 JeremyB99 joins (~JeremyB99@2607:ac80:407:7:7be1:7b66:cb37:6259)
08:40:18 × weary-traveler quits (~user@user/user363627) (Remote host closed the connection)
08:45:40 merijn joins (~merijn@77.242.116.146)
08:49:08 alfiee joins (~alfiee@user/alfiee)
08:49:18 bilegeek_ joins (~bilegeek@166.sub-174-209-34.myvzw.com)
08:49:57 × JeremyB99 quits (~JeremyB99@2607:ac80:407:7:7be1:7b66:cb37:6259) (Read error: Connection reset by peer)
08:50:48 × rvalue quits (~rvalue@user/rvalue) (Read error: Connection reset by peer)
08:51:18 bilegeek__ joins (~bilegeek@2600:1008:b045:5551:e9d9:7303:17af:7ef5)
08:51:19 rvalue joins (~rvalue@user/rvalue)
08:52:28 × bilegeek quits (~bilegeek@2600:1008:b044:8ce0:7330:8978:b973:2dee) (Ping timeout: 272 seconds)
08:53:24 × alfiee quits (~alfiee@user/alfiee) (Ping timeout: 260 seconds)
08:54:24 × bilegeek_ quits (~bilegeek@166.sub-174-209-34.myvzw.com) (Ping timeout: 260 seconds)
08:54:47 chele joins (~chele@user/chele)
08:56:17 bilegeek_ joins (~bilegeek@2600:1008:b08d:31ee:c57a:6a00:f000:b843)
08:56:50 ash3en joins (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207)
08:57:46 machinedgod joins (~machinedg@d108-173-18-100.abhsia.telus.net)
08:58:14 <haskellbridge> <sm> [exa] that sounds like a good comment for #haskell-wasm:matrix.org (https://matrix.to/#/#haskell-wasm:matrix.org)
08:59:04 × bilegeek__ quits (~bilegeek@2600:1008:b045:5551:e9d9:7303:17af:7ef5) (Ping timeout: 260 seconds)
09:03:35 JeremyB99 joins (~JeremyB99@2607:ac80:407:7:7be1:7b66:cb37:6259)
09:06:04 × ell quits (~ellie@user/ellie) (Ping timeout: 260 seconds)
09:08:39 × JeremyB99 quits (~JeremyB99@2607:ac80:407:7:7be1:7b66:cb37:6259) (Read error: Connection reset by peer)
09:11:24 Square2 joins (~Square4@user/square)
09:14:47 alp joins (~alp@2001:861:8ca0:4940:241a:8a1:befb:2c08)
09:22:45 JeremyB99 joins (~JeremyB99@2607:ac80:407:7:7be1:7b66:cb37:6259)
09:23:01 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 252 seconds)
09:24:58 lxsameer joins (~lxsameer@Serene/lxsameer)
09:27:03 merijn joins (~merijn@77.242.116.146)
09:28:24 × machinedgod quits (~machinedg@d108-173-18-100.abhsia.telus.net) (Ping timeout: 260 seconds)
09:31:29 × hattckory quits (~hattckory@bras-base-toroon4524w-grc-38-67-71-152-102.dsl.bell.ca) (Ping timeout: 248 seconds)
09:32:07 × JeremyB99 quits (~JeremyB99@2607:ac80:407:7:7be1:7b66:cb37:6259) (Read error: Connection reset by peer)
09:34:13 × bilegeek_ quits (~bilegeek@2600:1008:b08d:31ee:c57a:6a00:f000:b843) (Quit: Leaving)
09:35:07 machinedgod joins (~machinedg@2001:56a:7e11:e000:1878:e786:5ea1:464f)
09:36:28 × tzh quits (~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz)
09:36:33 alfiee joins (~alfiee@user/alfiee)
09:38:55 atwm joins (~andrew@19-193-28-81.ftth.cust.kwaoo.net)
09:40:48 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 245 seconds)
09:41:18 × alfiee quits (~alfiee@user/alfiee) (Ping timeout: 265 seconds)
09:41:47 JeremyB99 joins (~JeremyB99@2607:ac80:407:7:7be1:7b66:cb37:6259)
09:42:51 <[exa]> sm: oh noes that one isn't on irc?
09:42:55 [exa] sad
09:43:12 × atwm quits (~andrew@19-193-28-81.ftth.cust.kwaoo.net) (Ping timeout: 252 seconds)
09:44:08 merijn joins (~merijn@77.242.116.146)
09:45:07 <[exa]> (ok wow I just made matrix go http500 by putting brackets in my username)
09:45:28 × homo quits (~homo@user/homo) (Quit: Leaving)
09:45:37 × JeremyB99 quits (~JeremyB99@2607:ac80:407:7:7be1:7b66:cb37:6259) (Read error: Connection reset by peer)
09:46:07 <tomsmeding> input validation is difficult, 2025 webscale edition?
09:47:41 <[exa]> nick injection attack!!!1
09:47:43 bitterx joins (~bitterx@APN-122-12-44-gprs.simobil.net)
09:47:54 × bitterx quits (~bitterx@APN-122-12-44-gprs.simobil.net) (Changing host)
09:47:54 bitterx joins (~bitterx@user/bitterx)
09:51:34 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Ping timeout: 260 seconds)
09:58:25 lortabac joins (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4)
09:59:02 × nschoe quits (~nschoe@2a01:e0a:8e:a190:e51:40e8:9bc8:8d19) (Quit: ZNC 1.8.2 - https://znc.in)
09:59:18 nschoe joins (~nschoe@82-65-202-30.subs.proxad.net)
10:11:47 hattckory joins (~hattckory@bras-base-toroon4524w-grc-38-67-71-152-102.dsl.bell.ca)
10:14:10 × alp quits (~alp@2001:861:8ca0:4940:241a:8a1:befb:2c08) (Ping timeout: 272 seconds)
10:16:35 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 265 seconds)
10:18:52 × xff0x quits (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 244 seconds)
10:21:19 JuanDaugherty joins (~juan@user/JuanDaugherty)
10:23:37 alfiee joins (~alfiee@user/alfiee)
10:28:06 × alfiee quits (~alfiee@user/alfiee) (Ping timeout: 272 seconds)
10:29:59 merijn joins (~merijn@77.242.116.146)
10:32:14 JuanDaugherty is now known as ColinRobinson
10:46:49 × ash3en quits (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) (Quit: ash3en)
10:50:28 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.5.1)
10:51:33 ash3en joins (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207)
11:05:41 kuribas joins (~user@ip-188-118-57-242.reverse.destiny.be)
11:07:26 × caasih quits (sid13241@id-13241.ilkley.irccloud.com) (Ping timeout: 244 seconds)
11:11:26 caasih joins (sid13241@id-13241.ilkley.irccloud.com)
11:12:14 × sa quits (sid1055@id-1055.tinside.irccloud.com) (Ping timeout: 260 seconds)
11:12:22 alfiee joins (~alfiee@user/alfiee)
11:12:26 × bw quits (sid2730@user/betawaffle) (Ping timeout: 272 seconds)
11:12:54 × meinside quits (uid24933@id-24933.helmsley.irccloud.com) (Ping timeout: 246 seconds)
11:14:09 × bjs quits (sid190364@user/bjs) (Ping timeout: 244 seconds)
11:14:55 meinside joins (uid24933@id-24933.helmsley.irccloud.com)
11:14:59 × rune_ quits (sid21167@id-21167.ilkley.irccloud.com) (Ping timeout: 260 seconds)
11:15:11 × astra quits (sid289983@id-289983.hampstead.irccloud.com) (Ping timeout: 244 seconds)
11:15:19 sa joins (sid1055@id-1055.tinside.irccloud.com)
11:15:33 ubert joins (~Thunderbi@2a02:8109:ab8a:5a00:e800:c307:ee17:7c28)
11:16:33 × alfiee quits (~alfiee@user/alfiee) (Ping timeout: 248 seconds)
11:16:34 xff0x joins (~xff0x@2405:6580:b080:900:4548:6ab4:269:a170)
11:16:43 bw joins (sid2730@user/betawaffle)
11:17:20 astra joins (sid289983@id-289983.hampstead.irccloud.com)
11:18:02 bjs joins (sid190364@user/bjs)
11:18:07 rune_ joins (sid21167@id-21167.ilkley.irccloud.com)
11:18:43 × Moyst quits (~moyst@user/moyst) (Ping timeout: 245 seconds)
11:19:08 × CiaoSen quits (~Jura@ip-037-201-240-075.um10.pools.vodafone-ip.de) (Ping timeout: 245 seconds)
11:22:14 × sa quits (sid1055@id-1055.tinside.irccloud.com) (Max SendQ exceeded)
11:23:45 Moyst joins (~moyst@user/moyst)
11:24:21 alp joins (~alp@2001:861:8ca0:4940:e4d1:8a6d:1936:4535)
11:24:29 × buhman quits (sid411355@user/buhman) (Ping timeout: 260 seconds)
11:27:04 buhman joins (sid411355@user/buhman)
11:39:09 atwm joins (~andrew@19-193-28-81.ftth.cust.kwaoo.net)
11:39:53 sa joins (sid1055@id-1055.tinside.irccloud.com)
11:44:21 × atwm quits (~andrew@19-193-28-81.ftth.cust.kwaoo.net) (Ping timeout: 248 seconds)
11:47:38 atwm joins (~andrew@19-193-28-81.ftth.cust.kwaoo.net)
11:52:55 wootehfoot joins (~wootehfoo@user/wootehfoot)
11:55:55 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 252 seconds)
11:56:47 × atwm quits (~andrew@19-193-28-81.ftth.cust.kwaoo.net) (Remote host closed the connection)
11:57:12 atwm joins (~andrew@19-193-28-81.ftth.cust.kwaoo.net)
12:00:04 × caconym quits (~caconym@user/caconym) (Quit: bye)
12:00:16 __monty__ joins (~toonn@user/toonn)
12:00:26 alfiee joins (~alfiee@user/alfiee)
12:02:14 caconym joins (~caconym@user/caconym)
12:04:44 × alfiee quits (~alfiee@user/alfiee) (Ping timeout: 252 seconds)
12:05:06 × atwm quits (~andrew@19-193-28-81.ftth.cust.kwaoo.net) (Ping timeout: 252 seconds)
12:07:34 merijn joins (~merijn@77.242.116.146)
12:08:11 atwm joins (~andrew@19-193-28-81.ftth.cust.kwaoo.net)
12:10:04 × lisbeths quits (uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity)
12:13:34 × atwm quits (~andrew@19-193-28-81.ftth.cust.kwaoo.net) (Ping timeout: 244 seconds)
12:15:03 atwm joins (~andrew@19-193-28-81.ftth.cust.kwaoo.net)
12:15:45 × acidjnk quits (~acidjnk@p200300d6e7283f20c06f460756a3e282.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
12:20:50 × atwm quits (~andrew@19-193-28-81.ftth.cust.kwaoo.net) (Ping timeout: 272 seconds)
12:25:26 JeremyB99 joins (~JeremyB99@2607:ac80:407:7:7be1:7b66:cb37:6259)
12:28:01 × JeremyB99 quits (~JeremyB99@2607:ac80:407:7:7be1:7b66:cb37:6259) (Read error: Connection reset by peer)
12:29:12 CiaoSen joins (~Jura@ip-037-201-240-075.um10.pools.vodafone-ip.de)
12:31:09 × wootehfoot quits (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
12:31:30 atwm joins (~andrew@19-193-28-81.ftth.cust.kwaoo.net)
12:32:52 acidjnk joins (~acidjnk@p200300d6e7283f20c06f460756a3e282.dip0.t-ipconnect.de)
12:33:51 JeremyB99 joins (~JeremyB99@2607:ac80:407:7:7be1:7b66:cb37:6259)
12:35:03 × m1dnight quits (~m1dnight@d8D861908.access.telenet.be) (Quit: WeeChat 3.0)
12:38:10 m1dnight joins (~m1dnight@d8D861908.access.telenet.be)
12:40:05 × JeremyB99 quits (~JeremyB99@2607:ac80:407:7:7be1:7b66:cb37:6259) (Read error: Connection reset by peer)
12:40:09 × atwm quits (~andrew@19-193-28-81.ftth.cust.kwaoo.net) (Ping timeout: 260 seconds)
12:45:26 talisman` joins (~user@2601:644:937c:ed10::ae5)
12:47:49 × talismanick quits (~user@2601:644:937c:ed10::ae5) (Ping timeout: 268 seconds)
12:48:10 alfiee joins (~alfiee@user/alfiee)
12:48:55 JeremyB99 joins (~JeremyB99@2607:ac80:407:7:7be1:7b66:cb37:6259)
12:49:11 × JeremyB99 quits (~JeremyB99@2607:ac80:407:7:7be1:7b66:cb37:6259) (Read error: Connection reset by peer)
12:52:24 × alfiee quits (~alfiee@user/alfiee) (Ping timeout: 252 seconds)
12:52:33 jespada joins (~jespada@2800:a4:2354:b900:ccdb:e535:ea96:c225)
12:53:39 atwm joins (~andrew@19-193-28-81.ftth.cust.kwaoo.net)
12:55:02 × pavonia quits (~user@user/siracusa) (Quit: Bye!)
12:58:12 × atwm quits (~andrew@19-193-28-81.ftth.cust.kwaoo.net) (Ping timeout: 272 seconds)
13:02:30 lortabac joins (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4)
13:08:24 JeremyB99 joins (~JeremyB99@2607:ac80:407:7:7be1:7b66:cb37:6259)
13:11:27 raym joins (~ray@user/raym)
13:17:58 × JeremyB99 quits (~JeremyB99@2607:ac80:407:7:7be1:7b66:cb37:6259) (Read error: Connection reset by peer)
13:18:18 × acidjnk quits (~acidjnk@p200300d6e7283f20c06f460756a3e282.dip0.t-ipconnect.de) (Ping timeout: 245 seconds)
13:21:51 × yegorc quits (~yegorc@user/yegorc) (Quit: Leaving)
13:24:46 × landonf quits (landonf@mac68k.info) (Quit: ZNC - http://znc.sourceforge.net)
13:25:28 JeremyB99 joins (~JeremyB99@2607:ac80:407:7:7be1:7b66:cb37:6259)
13:28:17 atwm joins (~andrew@19-193-28-81.ftth.cust.kwaoo.net)
13:28:47 Googulator91 is now known as Googulator
13:35:18 × atwm quits (~andrew@19-193-28-81.ftth.cust.kwaoo.net) (Ping timeout: 268 seconds)
13:35:34 alfiee joins (~alfiee@user/alfiee)
13:35:47 atwm joins (~andrew@19-193-28-81.ftth.cust.kwaoo.net)
13:39:58 × alfiee quits (~alfiee@user/alfiee) (Ping timeout: 245 seconds)
13:39:59 × JeremyB99 quits (~JeremyB99@2607:ac80:407:7:7be1:7b66:cb37:6259) (Read error: Connection reset by peer)
13:42:13 JeremyB99 joins (~JeremyB99@2607:ac80:407:7:7be1:7b66:cb37:6259)
13:42:42 × pabs3 quits (~pabs3@user/pabs3) (Ping timeout: 268 seconds)
13:42:46 acidjnk joins (~acidjnk@p200300d6e7283f20c06f460756a3e282.dip0.t-ipconnect.de)
13:46:07 × JeremyB99 quits (~JeremyB99@2607:ac80:407:7:7be1:7b66:cb37:6259) (Read error: Connection reset by peer)
13:49:29 × atwm quits (~andrew@19-193-28-81.ftth.cust.kwaoo.net) (Ping timeout: 268 seconds)
13:51:45 × jespada quits (~jespada@2800:a4:2354:b900:ccdb:e535:ea96:c225) (Ping timeout: 248 seconds)
13:52:07 pabs3 joins (~pabs3@user/pabs3)
13:52:24 × zungi quits (~tory@user/andrewchawk) (Ping timeout: 264 seconds)
13:54:54 weary-traveler joins (~user@user/user363627)
13:55:01 jespada joins (~jespada@2800:a4:230a:8500:3876:76b6:1a27:e08)
14:03:13 zungi joins (~tory@user/andrewchawk)
14:09:27 atwm joins (~andrew@19-193-28-81.ftth.cust.kwaoo.net)
14:16:44 × atwm quits (~andrew@19-193-28-81.ftth.cust.kwaoo.net) (Ping timeout: 252 seconds)
14:18:57 × myxos quits (~myxos@syn-065-028-251-121.res.spectrum.com) (Ping timeout: 248 seconds)
14:23:38 alfiee joins (~alfiee@user/alfiee)
14:28:06 × alfiee quits (~alfiee@user/alfiee) (Ping timeout: 252 seconds)
14:36:41 atwm joins (~andrew@19-193-28-81.ftth.cust.kwaoo.net)
14:42:22 × atwm quits (~andrew@19-193-28-81.ftth.cust.kwaoo.net) (Ping timeout: 244 seconds)
14:43:24 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Ping timeout: 244 seconds)
14:45:53 Digitteknohippie joins (~user@user/digit)
14:45:59 × Digit quits (~user@user/digit) (Ping timeout: 244 seconds)
14:47:28 × CiaoSen quits (~Jura@ip-037-201-240-075.um10.pools.vodafone-ip.de) (Ping timeout: 245 seconds)
14:49:50 Digitteknohippie is now known as Digit
14:51:14 × bitterx quits (~bitterx@user/bitterx) (Remote host closed the connection)
14:52:57 × Pixi` quits (~Pixi@user/pixi) (Ping timeout: 252 seconds)
14:54:55 atwm joins (~andrew@19-193-28-81.ftth.cust.kwaoo.net)
15:04:33 × atwm quits (~andrew@19-193-28-81.ftth.cust.kwaoo.net) (Ping timeout: 245 seconds)
15:07:17 atwm joins (~andrew@19-193-28-81.ftth.cust.kwaoo.net)
15:12:59 × atwm quits (~andrew@19-193-28-81.ftth.cust.kwaoo.net) (Ping timeout: 260 seconds)
15:13:03 alfiee joins (~alfiee@user/alfiee)
15:13:47 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
15:15:16 misterfi1h joins (~misterfis@31-161-39-137.biz.kpn.net)
15:16:07 × misterfi1h quits (~misterfis@31-161-39-137.biz.kpn.net) (Client Quit)
15:16:23 misterfi1h joins (~misterfis@31-161-39-137.biz.kpn.net)
15:16:24 × misterfi1h quits (~misterfis@31-161-39-137.biz.kpn.net) (Client Quit)
15:16:30 × misterfish quits (~misterfis@31-161-39-137.biz.kpn.net) (Ping timeout: 252 seconds)
15:17:17 × alfiee quits (~alfiee@user/alfiee) (Ping timeout: 244 seconds)
15:19:49 × acidjnk quits (~acidjnk@p200300d6e7283f20c06f460756a3e282.dip0.t-ipconnect.de) (Ping timeout: 248 seconds)
15:20:02 acidjnk joins (~acidjnk@p200300d6e7283f20718e6a656831e8a3.dip0.t-ipconnect.de)
15:22:25 Pixi joins (~Pixi@user/pixi)
15:23:24 atwm joins (~andrew@19-193-28-81.ftth.cust.kwaoo.net)
15:23:36 × zungi quits (~tory@user/andrewchawk) (Ping timeout: 264 seconds)
15:31:14 misterfish joins (~misterfis@31-161-39-137.biz.kpn.net)
15:31:24 zungi joins (~tory@user/andrewchawk)
15:38:52 × misterfish quits (~misterfis@31-161-39-137.biz.kpn.net) (Ping timeout: 252 seconds)
15:38:57 × atwm quits (~andrew@19-193-28-81.ftth.cust.kwaoo.net) (Ping timeout: 248 seconds)
15:40:00 atwm joins (~andrew@19-193-28-81.ftth.cust.kwaoo.net)
15:48:08 tromp joins (~textual@2a02:a210:cba:8500:de2:dd98:e9b0:1ec7)
15:51:29 × Pixi quits (~Pixi@user/pixi) (Ping timeout: 260 seconds)
15:52:30 × atwm quits (~andrew@19-193-28-81.ftth.cust.kwaoo.net) (Ping timeout: 265 seconds)
15:53:44 atwm joins (~andrew@19-193-28-81.ftth.cust.kwaoo.net)
16:00:06 alfiee joins (~alfiee@user/alfiee)
16:00:53 × atwm quits (~andrew@19-193-28-81.ftth.cust.kwaoo.net) (Ping timeout: 248 seconds)
16:04:08 × alfiee quits (~alfiee@user/alfiee) (Ping timeout: 245 seconds)
16:07:42 × chele quits (~chele@user/chele) (Remote host closed the connection)
16:09:13 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.5.1)
16:11:23 Everything joins (~Everythin@static.208.206.21.65.clients.your-server.de)
16:14:27 atwm joins (~andrew@19-193-28-81.ftth.cust.kwaoo.net)
16:14:38 × ColinRobinson quits (~juan@user/JuanDaugherty) (Quit: praxis.meansofproduction.biz (juan@acm.org))
16:22:52 × atwm quits (~andrew@19-193-28-81.ftth.cust.kwaoo.net) (Ping timeout: 252 seconds)
16:30:02 justsomeguy joins (~justsomeg@user/justsomeguy)
16:30:08 atwm joins (~andrew@19-193-28-81.ftth.cust.kwaoo.net)
16:30:12 × ash3en quits (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) (Ping timeout: 265 seconds)
16:34:29 × atwm quits (~andrew@19-193-28-81.ftth.cust.kwaoo.net) (Ping timeout: 244 seconds)
16:38:56 Pixi joins (~Pixi@user/pixi)
16:46:10 <pounce> does anybody know how to delete all _built_ packages in cabal?
16:46:25 <pounce> here's my xyproblem: I'm trying to fix performance of building a haskell project with all dependencies
16:46:41 <pounce> but once i build it once then it's faster... because cabal caches all the pcakages
16:47:28 <sclv> pass in a different - - store-dir
16:48:00 <pounce> the actual cabal command is pretty deep in a makefile
16:48:31 alfiee joins (~alfiee@user/alfiee)
16:49:04 <sclv> ok then change the storedir in your ~/.cabal/config
16:49:35 <sclv> you can also delete the whole store from thereabouts if you Really want
16:49:43 <pounce> i don't have a ~/.cabal bc i use it with the xdg desktop dirs setup
16:49:44 atwm joins (~andrew@19-193-28-81.ftth.cust.kwaoo.net)
16:49:46 <pounce> which is why it's a bit harder
16:49:57 <pounce> i tried deleting ~/.local/state/cabal but that didn't help
16:50:17 <fvr> pounce: is there no ~/.config/cabal?
16:50:58 prasad joins (~Thunderbi@c-73-246-138-70.hsd1.in.comcast.net)
16:51:06 <sclv> with xdg it might be somewhere else like local/state. i don’t remember where xdg will say store goes
16:51:14 <pounce> i have that, but that's not where downloaded files go
16:51:20 <pounce> since ~/.config is human modified only
16:52:13 <fvr> But perhaps you can change storedir in ~/.config/cabal/config
16:52:45 <[exa]> pounce: if I got it right you're benchmarking the build time?
16:53:15 × alfiee quits (~alfiee@user/alfiee) (Ping timeout: 268 seconds)
16:53:19 <pounce> yeah
16:53:53 <pounce> so specifically this makefile sets -j1 (which I _think_ is propogated) with some comment that says it makes output pretty. I want to test if it goes faster without this, and whether the output looks similar
16:54:02 × atwm quits (~andrew@19-193-28-81.ftth.cust.kwaoo.net) (Ping timeout: 252 seconds)
16:54:03 <pounce> before I PR
16:54:32 <[exa]> not sure if -j1 from `make` will propagate to cabal builds tbh (unless there's some magicks involved)
16:54:34 <fvr> pounce: if you remove everything they you're also benchmarking download speeds I suppose, so you first `cabal build --only-download` and then run the benchmark
16:55:04 <pounce> well afaik downloads are stored in ~/.cache
16:55:11 <pounce> because when i removed ~/.cache/cabal only the downloads happened again
16:55:23 <pounce> [exa]: sorry, -j1 for *cabal*
16:55:33 <pounce> e.g. CABAL_ARGS="-j1 ...."
16:55:34 <geekosaur> if you remove the store, downloaded files are still around; that's ~/.cache/cabal/packages
16:55:36 <fvr> ah, I see
16:55:57 <fvr> does `CABAL_DIR` environment variable still work with xdg ?
16:56:05 <geekosaur> yes
16:56:23 <[exa]> pounce: ok tbh I wouldn't say it improves the logs a lot; cabal is quite consistent in what is printed even on many CPUs...
16:56:48 <[exa]> pounce: anyway passing random -j1s like this is very bad indeed and your cause is important! :D
16:57:06 <pounce> i saw a stackoverflow post from a few years back saying that cabal didn't use to print built packages when run with -j<blah>
16:57:12 × sord937 quits (~sord937@gateway/tor-sasl/sord937) (Ping timeout: 264 seconds)
16:57:53 <[exa]> pounce: for me it prints all the individual steps (like configuring foo, building foo, installing foo, the only difference is that with -j >= 1 these are mildly interleaved
16:58:04 <pounce> oops, a few years being... 14 years ago xD
16:58:07 <fvr> what happens if you instead set `XDG_STATE_HOME` env variable before running, does that change state directory
16:58:13 <pounce> but hey it's an old haskell project
16:59:08 <pounce> https://stackoverflow.com/a/16959611/7903988 [-j1 .... "gives much cleaner output"]
16:59:10 <pounce> in 2013
16:59:11 sord937 joins (~sord937@gateway/tor-sasl/sord937)
16:59:20 <pounce> which is probably why it was done with this originally
17:01:39 × remexre quits (~remexre@user/remexre) (Ping timeout: 252 seconds)
17:01:40 × jespada quits (~jespada@2800:a4:230a:8500:3876:76b6:1a27:e08) (Quit: My Mac has gone to sleep. ZZZzzz…)
17:04:05 <pounce> if i set CABAL_DIR=/tmp/cabal and then delete everything in /tmp/cabal it still says all the packages were installed
17:05:56 <[exa]> pounce: ok well cabal was completely different in 2013. that might be even before the nix-style builds.
17:06:31 × machinedgod quits (~machinedg@2001:56a:7e11:e000:1878:e786:5ea1:464f) (Ping timeout: 244 seconds)
17:10:03 ash3en joins (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207)
17:11:57 <fvr> pounce: perhaps try setting `XDG_STATE_HOME` instead
17:13:22 × kuribas quits (~user@ip-188-118-57-242.reverse.destiny.be) (Ping timeout: 248 seconds)
17:13:54 j1n37 joins (~j1n37@user/j1n37)
17:14:29 × ash3en quits (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) (Ping timeout: 260 seconds)
17:15:01 × j1n37- quits (~j1n37@user/j1n37) (Ping timeout: 248 seconds)
17:15:57 <pounce> oops all my haskell packages are broken :(
17:17:13 comerijn joins (~merijn@77.242.116.146)
17:17:32 <pounce> m, the package registry was in ~/.ghc
17:19:36 × Eoco quits (~ian@128.101.131.218) (Quit: WeeChat 4.4.2)
17:19:46 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 268 seconds)
17:20:36 Eoco joins (~ian@128.101.131.218)
17:20:54 ash3en joins (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207)
17:22:12 _ht joins (~huub@62.250.52.179)
17:22:38 <ski> @where SICP
17:22:38 <lambdabot> "Structure and Interpretation of Computer Programs",Harold Abelsson,Gerald Jay Sussman(,Julie Sussman),1996,<https://mitp-content-server.mit.edu/books/content/sectbyfn/books_pres_0/6515/sicp.zip/
17:22:38 <lambdabot> index.html>,<https://web.mit.edu/6.001/6.037/sicp.pdf>,<https://github.com/sarabander/sicp-pdf>,<https://www.neilvandyke.org/sicp-texi/>,<https://groups.csail.mit.edu/mac/classes/6.001/abelson-
17:22:38 <lambdabot> sussman-lectures/> | See also `SICP-cabal'
17:22:45 <ski> (updated broken links)
17:23:08 <ski> @where SICP-cabal
17:23:08 <lambdabot> "Storage and Identification of Cabalized Packages" <https://www.vex.net/~trebla/haskell/sicp.xhtml>
17:23:34 × comerijn quits (~merijn@77.242.116.146) (Ping timeout: 272 seconds)
17:27:29 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
17:28:45 remexre joins (~remexre@user/remexre)
17:32:24 <__monty__> ski: This is a nice modern version of SICP.texi, https://sarabander.github.io/sicp/html/index.xhtml
17:33:12 kuribas joins (~user@2a02:1808:87:2851:88d8:aec0:c000:8e91)
17:34:14 <ski> ah, ty
17:34:33 × remexre quits (~remexre@user/remexre) (Ping timeout: 245 seconds)
17:36:02 remexre joins (~remexre@user/remexre)
17:37:51 alfiee joins (~alfiee@user/alfiee)
17:38:50 wootehfoot joins (~wootehfoo@user/wootehfoot)
17:42:06 kuribas parts (~user@2a02:1808:87:2851:88d8:aec0:c000:8e91) (ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.3))
17:42:13 × alfiee quits (~alfiee@user/alfiee) (Ping timeout: 265 seconds)
17:44:03 <ski> seems <https://web.mit.edu/6.001/6.037/sicp.pdf> is slightly more updated (PDF) version of that (2016-02-02 over 2015-09-16). <https://sicpebook.wordpress.com/> seems to have some more info
17:46:21 × hattckory quits (~hattckory@bras-base-toroon4524w-grc-38-67-71-152-102.dsl.bell.ca) (Ping timeout: 276 seconds)
17:50:52 ft joins (~ft@p4fc2a610.dip0.t-ipconnect.de)
17:52:04 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 272 seconds)
17:59:02 L29Ah parts (~L29Ah@wikipedia/L29Ah) ()
17:59:17 × justsomeguy quits (~justsomeg@user/justsomeguy) (Ping timeout: 252 seconds)
18:00:09 JuanDaugherty joins (~juan@user/JuanDaugherty)
18:01:24 <ski> @where SICP
18:01:24 <lambdabot> "Structure and Interpretation of Computer Programs" (2nd ed.) by Harold Abelsson,Gerald Jay Sussman,(w. Julie Sussman) in 1996 at `SICP-html',`SICP-pdf',`SICP-epub',<https://sicpebook.wordpress.com/>
18:01:25 <lambdabot> ,(TexInfo) <https://www.neilvandyke.org/sicp-texi/>,(video lectures) <https://groups.csail.mit.edu/mac/classes/6.001/abelson-sussman-lectures/> | See also `SICP-cabal'
18:01:31 <ski> @where SICP-html
18:01:31 <lambdabot> <https://mitp-content-server.mit.edu/books/content/sectbyfn/books_pres_0/6515/sicp.zip/index.html>,<https://sarabander.github.io/sicp/>,<https://github.com/sarabander/sicp>
18:01:35 <ski> @where SICP-pdf
18:01:35 <lambdabot> <https://web.mit.edu/6.001/6.037/sicp.pdf>,<https://github.com/sarabander/sicp-pdf/blob/master/sicp.pdf?raw=true>,<https://github.com/sarabander/sicp-pdf>,<https://github.com/sarabander/sicp-pocket>,
18:01:35 <lambdabot> <https://github.com/minghai/sicp-pdf/>
18:01:38 <ski> @where SICP-epub
18:01:38 <lambdabot> <https://github.com/sarabander/sicp-epub/blob/master/sicp.epub?raw=true>,<https://www.dropbox.com/s/y9jt5kmabt02yg8/sicp.epub?dl=0>
18:04:05 target_i joins (~target_i@user/target-i/x-6023099)
18:04:50 × ubert quits (~Thunderbi@2a02:8109:ab8a:5a00:e800:c307:ee17:7c28) (Remote host closed the connection)
18:05:38 jespada joins (~jespada@2800:a4:230a:8500:3876:76b6:1a27:e08)
18:07:22 jespada_ joins (~jespada@2800:a4:230a:8500:3876:76b6:1a27:e08)
18:07:59 × MyNetAz quits (~MyNetAz@user/MyNetAz) (Remote host closed the connection)
18:10:25 × jespada quits (~jespada@2800:a4:230a:8500:3876:76b6:1a27:e08) (Ping timeout: 248 seconds)
18:12:13 ljdarj joins (~Thunderbi@user/ljdarj)
18:14:10 <hololeap> I'm a big fan of AccumT because it gives the best of both worlds in regards to StateT and WriterT, but does anyone know if it suffers from the same kinds of deficiencies as WriterT (the ones that prompt people to recommend the CPS version of WriterT)?
18:15:00 MyNetAz joins (~MyNetAz@user/MyNetAz)
18:18:40 atwm joins (~andrew@19-193-28-81.ftth.cust.kwaoo.net)
18:19:19 <[exa]> hololeap: AccumT is internally roughly the same as StateT right? reads to me a lot like CPS is already there
18:22:45 <hololeap> ok, I'm not sure I fully understood what was being changed (or more importantly why) between Writer and Writer.CPS, but I see that internally Writer.CPS is also w -> m (a, w)
18:23:44 × atwm quits (~andrew@19-193-28-81.ftth.cust.kwaoo.net) (Ping timeout: 272 seconds)
18:25:02 × dminuoso quits (~weechat@user/dminuoso) (Quit: WeeChat 4.2.2)
18:27:07 alfiee joins (~alfiee@user/alfiee)
18:31:34 × alfiee quits (~alfiee@user/alfiee) (Ping timeout: 252 seconds)
18:32:13 dminuoso joins (~weechat@user/dminuoso)
18:32:16 tzh joins (~tzh@c-76-115-131-146.hsd1.or.comcast.net)
18:32:25 <dminuoso> tomsmeding: Thanks, those weechat options work fine. :)
18:32:51 <dminuoso> It's almost bizarre that I have been using weechat for over 10 years, but unable to do even the most basic configuration..
18:33:07 atwm joins (~andrew@19-193-28-81.ftth.cust.kwaoo.net)
18:33:48 <int-e> hololeap: >>= is different: https://paste.tomsmeding.com/3y0drzUF
18:35:17 <int-e> hololeap: err, and so is the type. newtype WriterT w m a = WriterT { runWriterT :: m (a, w) }
18:35:47 <int-e> (no w argument)
18:35:52 <hololeap> when I said "also w -> m (a, w)" I was comparing it to AccumT
18:36:34 <int-e> Ah. I only read half the context as usual :-/
18:37:14 <hololeap> no worries! I just wanted to make sure we were on the same page
18:38:37 <int-e> So the difference is the interface.
18:38:42 × atwm quits (~andrew@19-193-28-81.ftth.cust.kwaoo.net) (Ping timeout: 268 seconds)
18:41:19 atwm joins (~andrew@19-193-28-81.ftth.cust.kwaoo.net)
18:42:17 int-e wonders how many people have ever used `censor`
18:42:36 <int-e> (from Writer)
18:43:22 × Pixi quits (~Pixi@user/pixi) (Ping timeout: 272 seconds)
18:44:37 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 248 seconds)
18:45:19 Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915)
18:49:06 <EvanR> quite an evocative name
18:49:11 × atwm quits (~andrew@19-193-28-81.ftth.cust.kwaoo.net) (Ping timeout: 268 seconds)
18:49:55 atwm joins (~andrew@19-193-28-81.ftth.cust.kwaoo.net)
18:55:44 <tomsmeding> dminuoso: for these tools with too many configuration options, you mostly don't, and then whenever you think you need something, you search whether there is a config option for it
18:56:21 <dminuoso> I have accepted my fate in this universe: ChatGPT is doing my emacs customizations for me for similar reasons.
18:56:33 <dminuoso> It's my best usecase for an LLM. :-)
18:56:50 <tomsmeding> I have not yet accepted my fate
18:56:54 <tomsmeding> maybe I'm too young yet
18:57:20 <dminuoso> I'm not that old, but I have noticed that I cant develop any focus or interest in learning how all the moving parts in emacs connect.
18:57:39 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
18:57:51 <dminuoso> It's rather the consequence of being bottlenecked.
18:58:07 × Googulator quits (~Googulato@2a01-036d-0106-4074-e4c1-4d2b-93a1-bece.pool6.digikabel.hu) (Quit: Client closed)
18:58:22 Googulator joins (~Googulato@2a01-036d-0106-4074-e4c1-4d2b-93a1-bece.pool6.digikabel.hu)
18:58:30 <tomsmeding> perhaps it would be different if I used emacs, and not vim, or perhaps it actually doesn't really matter
18:58:43 <dminuoso> Like for that one refactor job I needed an interface to quickly go back and forth across a bunch of files matching some regex with C-, and C-. such that I can instantly compare them
18:58:43 <tomsmeding> they work differently for sure
18:58:57 <geekosaur> I found elisp interesting enough to bother learning it
18:59:24 <geekosaur> but then I started that in the late 80s, when it was more interesting than a lot of stuff
18:59:34 <tomsmeding> heh
18:59:57 <tomsmeding> EvanR: you want evocative names? Try MonadChronicle
18:59:58 × atwm quits (~andrew@19-193-28-81.ftth.cust.kwaoo.net) (Ping timeout: 244 seconds)
19:00:07 <geekosaur> these days I can't be arsed to learn vimscript, and the examples I've seen don't help
19:00:25 <tomsmeding> the worst decision in vimscript is to make " the comment character
19:00:43 <EvanR> " be comment is prior art elsewhere
19:00:53 <tomsmeding> what moron decided that's a good idea
19:01:08 × jespada_ quits (~jespada@2800:a4:230a:8500:3876:76b6:1a27:e08) (Quit: My Mac has gone to sleep. ZZZzzz…)
19:01:13 <EvanR> also single quote a synonym for REM
19:01:25 Unicorn_Princess joins (~Unicorn_P@user/Unicorn-Princess/x-3540542)
19:01:42 <int-e> it's a nicely unobtrusive character, no?
19:02:00 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
19:02:04 <tomsmeding> put something in "quotes" in your comment and oh no, suddenly half of your comment is a string literal
19:02:11 <dminuoso> tomsmeding: Hey vim users should feel glad that strings dont use single hash instead: echo #Hello world
19:02:24 <tomsmeding> isn't that a symbol?
19:02:31 <tomsmeding> which is not quite the same as a string in lisp land
19:02:36 tomsmeding knows essentially no lisp
19:03:06 atwm joins (~andrew@19-193-28-81.ftth.cust.kwaoo.net)
19:03:33 <dminuoso> Heh, while I dont know much about elisp, the difference between let and let* instantly clicked
19:03:46 <tomsmeding> what's the difference?
19:03:58 pavonia joins (~user@user/siracusa)
19:04:02 <dminuoso> let* is sequential binding, whereas let does not enforce it.
19:04:14 <tomsmeding> is 'let' lazy?
19:04:24 <tomsmeding> or allows recursion?
19:05:11 <dminuoso> Not quite, it's rather that let evaluates them concurrently
19:05:12 <tomsmeding> int-e: using " for comments in vimscript is akin to using + for comments, or so
19:05:19 <tomsmeding> you use both about equally often
19:05:35 <dminuoso> Lack of lazyness means you cannot have let bindings refer to each other
19:05:40 <dminuoso> But with let* you can refer to earlier ones
19:05:44 <tomsmeding> dminuoso: any way you can observe that concurrent evaluation?
19:06:13 <dminuoso> tomsmeding: absolutely, you can have side effects in them.
19:06:26 <tomsmeding> is the idea that the things you put in 'let' have side effects, and when they're waiting on IO, some other expression can continue?
19:06:32 <dminuoso> Whether they actually do get executed concurrently or not probably depends on the exact kind of lisp you are using.
19:06:35 <tomsmeding> and when you use the value you block until it's done?
19:08:02 <dminuoso> tomsmeding: The difference can also be subtle. lisp is way more symbolic in the sense that `x` is not a reference to a particular thing
19:08:16 <dminuoso> It's more like in lambda calculus where `x` is just `x`.
19:08:28 <tomsmeding> do you mean dynamic scoping? Or does it do symbolic execution?
19:08:45 <dminuoso> What's the difference here in this context?
19:08:53 <dminuoso> But yeah, dynamic scoping.
19:09:23 <tomsmeding> whether `(+ (+ 2 3) x)`, when x is undefined, evaluates to `(+ 5 x)`, or to "error: x is not bound"
19:09:57 <dminuoso> Im not sure about this example to be honest.
19:10:17 <dminuoso> There's also evaluation strategy in the mix now.
19:10:35 <tomsmeding> I would also accept `(+ (+ 2 3) x)` instead of `(+ 5 x)`. :)
19:10:40 × atwm quits (~andrew@19-193-28-81.ftth.cust.kwaoo.net) (Ping timeout: 265 seconds)
19:10:45 <tomsmeding> (if it decides to evaluate arguments right-to-left or something)
19:11:19 <tomsmeding> I don't see any other sensible results than those three
19:11:26 machinedgod joins (~machinedg@d108-173-18-100.abhsia.telus.net)
19:11:33 <dminuoso> I would say symbolic execution is a strategy to get a maximall dynamically scoped program.
19:11:35 <tomsmeding> the "error" result would correspond to dynamic scoping, the other two to symbolic execution
19:12:28 <tomsmeding> is there some 'print' function that puts whatever you pass it as argument, onto the screen as output?
19:12:36 <tomsmeding> what does `(print (+ (+ 2 3) x))` yield?
19:12:36 atwm joins (~andrew@19-193-28-81.ftth.cust.kwaoo.net)
19:12:58 <tomsmeding> assuming x has not yet been defined
19:13:02 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
19:13:20 <dminuoso> That would give you (void-variable x)
19:13:32 <dminuoso> In lisp the difference between symbolic execution and dynamic scoping is meaningless
19:13:41 <dminuoso> I would say its both?
19:14:11 <tomsmeding> aha, so the `(+ 5 _)` context was lost
19:14:38 <tomsmeding> if it was symbolic execution, I would expect the context to be retained so that in principle, if you later decide to set x to some value, you can resume execution
19:15:38 <dminuoso> But thats the thing, because in lisp there is on difference between data and code, it can blow up or not, depending on how you use it.
19:15:48 <dminuoso> This is what homoiconicity means
19:15:52 <tomsmeding> assume I'm treating it as code :p
19:16:01 <dminuoso> That's a personal choice?
19:16:18 <tomsmeding> I dunno, perhaps I'm trying too hard to map this to concepts I know
19:16:25 <tomsmeding> I probably am
19:17:11 alfiee joins (~alfiee@user/alfiee)
19:17:13 sprotte24 joins (~sprotte24@p200300d16f0680000494f5c588a940e5.dip0.t-ipconnect.de)
19:17:36 <tomsmeding> I know roughly what 'quote' and 'eval' do
19:17:41 <dminuoso> tomsmeding: What Im saying is, is there a big meaningful difference between (+ 5 x) and '(+ 5 x) ?
19:17:55 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
19:18:14 <tomsmeding> well, if I evaluate the former I get (void-variable x), whereas if I evaluate the latter, I get '(+ 5 x)
19:18:19 <tomsmeding> so semantically, yes :p
19:18:28 <dminuoso> Well you can (eval) it
19:18:30 <tomsmeding> perhaps the ' there is not quite appropriate
19:18:40 <dminuoso> And depending on whether you (setq x 10) before it blows up or not.
19:18:43 <tomsmeding> yes
19:18:49 <dminuoso> That is, '(+ 5 x) is not a quoted closure
19:18:54 <tomsmeding> I get that
19:19:34 <tomsmeding> okay, I think I get what you're saying in that it's somehow "both" symbolic execution and dynamic scoping
19:19:59 <dminuoso> In Haskell we would differentiate between regular code and TH code because there's huge separations. But in plenty of lisp code there's very strong quoting and unquoting going on.
19:20:02 <tomsmeding> it's a term reducer
19:20:08 <tomsmeding> right
19:20:12 <dminuoso> Its idiomatic to blend the quoted and not quoted language.
19:20:38 <tomsmeding> in my mind, it's just that, though: it's idiomatic to blend the quoted and non-quoted language
19:20:42 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
19:20:43 <tomsmeding> doesn't mean that there's magic going on
19:21:08 <tomsmeding> just that you have different idioms, and syntax (and builtins) that are designed specifically for those idioms
19:21:49 <dminuoso> Okay the more I think about it, the more I accept that its really not symbolic execution.
19:22:00 × alfiee quits (~alfiee@user/alfiee) (Ping timeout: 272 seconds)
19:22:15 <tomsmeding> so I would say: `x` is very much a variable reference, but you have quoting, and a quoted term is just nested lists that you can interpret in any way you want
19:22:21 <dminuoso> Because the act of unquoting/eval'ing dynamically binds it
19:22:25 bilegeek joins (~bilegeek@2600:1008:b0a4:c6d5:66f:6873:2abc:50c5)
19:22:37 jespada joins (~jespada@2800:a4:230a:8500:3876:76b6:1a27:e08)
19:22:37 <tomsmeding> and because ' is so unobtrusive, it feels like `x` gets a more symbolic meaning somehow?
19:22:57 <dminuoso> But there's no way to sort of reduce `(+ (+ 2 3) x)` to `(+ 5 x)`, short of running it through a lisp interpreter.
19:23:07 <tomsmeding> not a standard lisp interpreter even
19:23:23 <haskellbridge> <magic_rb> Did this channel get mixed up with a lisp channel? :P
19:23:32 <dminuoso> Hey, when do we ever talk about Haskell in where?
19:23:39 <dminuoso> Haskell is for #haskell-offtopic-offtopic.
19:23:41 <tomsmeding> magic_rb: it started with weechat, if you believe that
19:24:02 <haskellbridge> <magic_rb> tomsmeding: i do :P
19:24:24 lisbeths joins (uid135845@id-135845.lymington.irccloud.com)
19:24:29 <dminuoso> tomsmeding: By the way, did I ever apologize to pulling you to munihac 2 years ago and not showing up?
19:24:44 <tomsmeding> I never went to munihac, so there's nothing to apologise for?
19:24:47 <dminuoso> Oh!
19:24:50 <tomsmeding> perhaps someone else :)
19:24:52 <haskellbridge> <magic_rb> dminuoso: right so #haskell is for offtopic and #haskell-offtopic is for haskell, statistically checks out
19:25:05 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
19:25:06 <tomsmeding> magic_rb: no, that's #haskell-offtopic-offtopic
19:25:27 <tomsmeding> #haskell-offtopic is for offtopic
19:25:30 <dminuoso> (And yes, that place once existed because people were having haskell discussions in #haskell-offtopic)
19:25:31 <tomsmeding> #haskell is for lisp, it seems, today
19:25:42 tomsmeding has never seen it
19:25:45 × Patternmaster quits (~georg@user/Patternmaster) (Quit: leaving)
19:25:52 <dminuoso> It may have fallen into the abyss
19:26:03 Patternmaster joins (~georg@user/Patternmaster)
19:26:27 <int-e> dminuoso: don't look up if you hate people people staring at you
19:26:43 <haskellbridge> <magic_rb> Should have been #offtopic-haskell-offtopic a nice offtopic sandwich
19:26:50 <tomsmeding> but then, don't look down if you don't like the abyss staring at you?
19:26:58 <tomsmeding> hah
19:27:04 <haskellbridge> <magic_rb> Just dont look, problem solved
19:27:28 × atwm quits (~andrew@19-193-28-81.ftth.cust.kwaoo.net) (Ping timeout: 245 seconds)
19:27:35 <monochrom> #haskell ≅ ∀r. #haskell-r-r >:)
19:27:50 <monochrom> (by Yoneda lemma!)
19:27:53 <tomsmeding> and now we've merged with ##dependent
19:28:20 <dminuoso> I categorically reject that joke.
19:28:46 <int-e> @quote dependable
19:28:47 <lambdabot> int-e says: I want dependable types.
19:29:38 <monochrom> @unmtl Cont offtopic haskell
19:29:38 <lambdabot> (haskell -> offtopic) -> offtopic
19:29:41 <monochrom> :)
19:30:42 <int-e> monochrom: what about -blah
19:30:52 <monochrom> @unmtl Cont blah haskell
19:30:52 <lambdabot> (haskell -> blah) -> blah
19:31:25 <tomsmeding> surely not, surely there we have haskell-blah-blah = haskell - 2blah
19:31:51 × sord937 quits (~sord937@gateway/tor-sasl/sord937) (Quit: sord937)
19:36:01 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
19:38:09 L29Ah joins (~L29Ah@wikipedia/L29Ah)
19:40:44 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
19:40:58 × ash3en quits (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) (Quit: ash3en)
19:44:39 × Patternmaster quits (~georg@user/Patternmaster) (Quit: leaving)
19:44:56 Patternmaster joins (~georg@vmi1645272.contaboserver.net)
19:44:56 × Patternmaster quits (~georg@vmi1645272.contaboserver.net) (Changing host)
19:44:56 Patternmaster joins (~georg@user/Patternmaster)
19:51:04 × weary-traveler quits (~user@user/user363627) (Remote host closed the connection)
19:51:23 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
19:52:03 × wootehfoot quits (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
19:56:24 ec_ joins (~ec@gateway/tor-sasl/ec)
19:58:05 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
19:59:36 × zungi quits (~tory@user/andrewchawk) (Ping timeout: 264 seconds)
20:00:01 × caconym quits (~caconym@user/caconym) (Quit: bye)
20:00:12 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 264 seconds)
20:00:41 caconym joins (~caconym@user/caconym)
20:03:25 ec joins (~ec@gateway/tor-sasl/ec)
20:04:36 alfiee joins (~alfiee@user/alfiee)
20:05:00 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 264 seconds)
20:08:53 × alfiee quits (~alfiee@user/alfiee) (Ping timeout: 248 seconds)
20:09:50 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
20:14:13 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
20:16:26 × lxsameer quits (~lxsameer@Serene/lxsameer) (Ping timeout: 244 seconds)
20:18:12 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 264 seconds)
20:21:38 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
20:22:19 × simplystuart quits (~simplystu@c-75-75-152-164.hsd1.pa.comcast.net) (Remote host closed the connection)
20:22:19 × euphores quits (~SASL_euph@user/euphores) (Ping timeout: 252 seconds)
20:22:19 × Yumemi quits (~Yumemi@chamoin.net) (Ping timeout: 252 seconds)
20:22:20 × MyNetAz quits (~MyNetAz@user/MyNetAz) (Remote host closed the connection)
20:22:32 euphores joins (~SASL_euph@user/euphores)
20:22:50 Yumemi joins (~Yumemi@chamoin.net)
20:23:00 simplystuart joins (~simplystu@c-75-75-152-164.hsd1.pa.comcast.net)
20:24:21 <hololeap> forall r. (a -> (s -> IO (r,s)) -> s -> IO (r,s)) -> (s -> IO (r,s)) -> (s -> IO (r,s))
20:24:24 <hololeap> vs
20:24:29 <hololeap> s -> (forall r. ((a,s) -> IO r -> IO r) -> IO r -> IO r)
20:24:32 <hololeap> hmm
20:25:15 <hololeap> LogicT (StateT s IO) vs. StateT s (LogicT IO)
20:28:03 <hololeap> the second one looks far more sane so it's probably what I want
20:28:52 <hololeap> (going down a tree of dependencies, with the possibility to branch at each node, modifying a state along the way)
20:29:20 MyNetAz joins (~MyNetAz@user/MyNetAz)
20:30:36 ec joins (~ec@gateway/tor-sasl/ec)
20:30:56 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds)
20:35:17 × Everything quits (~Everythin@static.208.206.21.65.clients.your-server.de) (Quit: leaving)
20:39:27 weary-traveler joins (~user@user/user363627)
20:41:22 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
20:42:12 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 264 seconds)
20:45:32 × JuanDaugherty quits (~juan@user/JuanDaugherty) (Quit: praxis.meansofproduction.biz (juan@acm.org))
20:45:38 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
20:46:52 × sprotte24 quits (~sprotte24@p200300d16f0680000494f5c588a940e5.dip0.t-ipconnect.de) (Read error: Connection reset by peer)
20:51:41 alfiee joins (~alfiee@user/alfiee)
20:51:59 _ht parts (~huub@62.250.52.179) (Konversation terminated!)
20:52:54 ec joins (~ec@gateway/tor-sasl/ec)
20:56:02 × alfiee quits (~alfiee@user/alfiee) (Ping timeout: 252 seconds)
20:56:44 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
20:56:54 sprotte24 joins (~sprotte24@p200300d16f0680009d71da3872d3d25e.dip0.t-ipconnect.de)
20:59:39 × michalz quits (~michalz@185.246.207.215) (Remote host closed the connection)
21:02:45 × juri__ quits (~juri@implicitcad.org) (Ping timeout: 248 seconds)
21:03:48 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 264 seconds)
21:04:44 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
21:06:58 son0p joins (~ff@2800:e6:4000:d723:c181:4205:f2b1:437a)
21:07:11 Pixi joins (~Pixi@user/pixi)
21:11:45 <hololeap> that was actually a misleading way of explaining what I'm trying to do. basically, start with a handful of text files as starting points, analyze them and jump to any other text files that are referenced (if they haven't been touched yet), building up a summary of all the text files that have been visited
21:12:01 <hololeap> so, fairly similar to a web spider I suppose
21:13:10 <hololeap> I think I need to write the LogicT module as an exercise for myself to help understand it. I think of lists as structures, not functions
21:15:19 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
21:16:19 misterfish joins (~misterfis@84.53.85.146)
21:16:59 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
21:19:09 × jespada quits (~jespada@2800:a4:230a:8500:3876:76b6:1a27:e08) (Quit: Textual IRC Client: www.textualapp.com)
21:19:33 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
21:19:51 juri_ joins (~juri@implicitcad.org)
21:24:43 jespada joins (~jespada@2800:a4:230a:8500:59b5:6023:4dee:9fa3)
21:26:40 × jespada quits (~jespada@2800:a4:230a:8500:59b5:6023:4dee:9fa3) (Client Quit)
21:27:04 tremon joins (~tremon@83.80.159.219)
21:29:33 <monochrom> LogicT = codensity of ListT-done-right
21:30:36 <monochrom> codensity of M = forall r. (a -> m r) -> m r
21:30:40 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
21:32:06 <monochrom> or maybe more elementarily: LogicT = CPS of ListT-done-right
21:32:21 <hololeap> fmap f (Logic l) = Logic $ \c n -> l (\x r -> c (f x) r) n
21:32:29 <hololeap> this is already brain-melting lol
21:32:51 <monochrom> Logic = CPS of []
21:33:17 <monochrom> So you're just CPSing "fmap f (x:xs) = f x : fmap f xs"
21:35:52 Square joins (~Square@user/square)
21:37:25 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
21:40:00 × Square2 quits (~Square4@user/square) (Ping timeout: 268 seconds)
21:40:30 hattckory joins (~hattckory@67.71.152.102)
21:41:17 alfiee joins (~alfiee@user/alfiee)
21:41:21 <monochrom> or rather, replace [] by church-encoding
21:43:53 <hololeap> fmap f l = \c -> l (c . f)
21:44:00 <hololeap> fmap f (x:xs) = f x : fmap f xs
21:44:42 <hololeap> maybe if I stare at it hard enough it will click eventually? :p
21:45:32 × alfiee quits (~alfiee@user/alfiee) (Ping timeout: 252 seconds)
21:46:30 <hololeap> unfortunately I don't think there's any shortcut to me getting an intuition for this. I'm just going to have to keep going with my exercise
21:48:42 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
21:49:05 <mauke> I cracked it
21:49:08 <mauke> c = cons, n = nil
21:49:21 tomsmeding was going to write the same thing at almost exactly the same time
21:49:44 <mauke> x = current element, r = rest
21:50:03 <tomsmeding> hololeap: "l (\x r -> c (f x) r) n" ~= "case l of { (:) x r -> (:) (f x) r ; [] -> [] }"
21:50:32 <tomsmeding> "replace [] by church-encoding"
21:51:08 <mauke> I've never looked at LogicT before, but l is clearly (hah) a list builder
21:51:23 <tomsmeding> if you see it you can't unsee it
21:51:31 × weary-traveler quits (~user@user/user363627) (Remote host closed the connection)
21:51:42 tomsmeding would have put the nil case first though
21:53:01 <tomsmeding> [] is really just a nondeterminism monad; CPSing doesn't change the semantics; and codensity is just for performance, right? So Logic is just a nondeterminism monad?
21:53:19 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
21:53:41 × remexre quits (~remexre@user/remexre) (Remote host closed the connection)
21:53:42 × target_i quits (~target_i@user/target-i/x-6023099) (Quit: leaving)
21:53:55 <tomsmeding> ah, the documentation doesn't fail us:
21:54:01 <tomsmeding> > It's important to remember that Logic on its own is just a lawful list monad, behaving exactly as instance Monad [].
21:54:04 <tomsmeding> (https://hackage.haskell.org/package/logict-0.8.2.0/docs/Control-Monad-Logic.html)
21:54:41 <monochrom> Yes the church encoding and cps'ing etc are for performance.
21:56:12 <monochrom> In the very same way, you could do algebraic effects with purely data, but you bring in delimited continuations for performance. For a beginner, using data is much less distracting.
21:57:39 <tomsmeding> monochrom: do you mean in the "free monad" style?
21:57:43 <monochrom> Yeah!
21:57:50 <tomsmeding> right, that works :)
21:57:59 <tomsmeding> and is crappy slow
21:58:14 <tomsmeding> but quite insightful in that the level of magic is very low
22:00:01 <monochrom> The historical backdrop is also that when logict was written, GHC was even slower with data than today. (Today we have pointer tagging; back then we didn't have that.)
22:03:19 <Leary> hololeap: It's simple if you approach these lambda encodings from their building blocks. I happen to have written about this recently, so I've edited it into a gist for you: https://gist.github.com/LSLeary/c25f39dff9ebcc726ba2ef1c7efbddb2
22:04:06 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
22:04:16 <hololeap> neat, thanks
22:05:57 codaraxis joins (~codaraxis@user/codaraxis)
22:07:50 <tomsmeding> Leary: is that LFP correct? Should it perhaps be `LFP (forall r. (f r -> r) -> r)`?
22:08:05 <tomsmeding> the expansion below of LFP (ListF a) seems to suggest that
22:08:43 <Leary> Oops, yes.
22:08:52 L29Ah parts (~L29Ah@wikipedia/L29Ah) ()
22:09:12 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds)
22:09:14 <Leary> Fixed.
22:09:15 <monochrom> Yeah LFP please :)
22:09:18 <monochrom> haha pun!
22:09:40 L29Ah joins (~L29Ah@wikipedia/L29Ah)
22:10:48 <tomsmeding> (and then you can explain the type too: given a function to "summarise" a ListF a r into an r, collapse the whole list into a single r.)
22:11:00 <tomsmeding> (given an algebra, cata the data structure.)
22:11:43 <tomsmeding> and with a similar operational intuition, GFP is also not so miraculous any more :)
22:11:51 Guest62 joins (~Guest62@136.58.29.171)
22:12:30 <tomsmeding> "what's the top-level constructor of your cute GFP f value? Oh, just apply the function to that s seed value."
22:13:00 × takuan quits (~takuan@d8D86B601.access.telenet.be) (Remote host closed the connection)
22:13:02 <tomsmeding> "but then what's in this recursive position? I have an s there, not another constructor! Oh, just put that into the 's -> f s' function again"
22:13:37 <monochrom> What I find miraculous, or at least mathematically interesting, is why the forall type contains no junk. (Starter: It requires parametricity.)
22:13:41 × lisbeths quits (uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity)
22:13:51 <monochrom> (or at least s/requires/is because of/)
22:14:57 <monochrom> Or there is probably a way you can use a Yoneda lemma instead.
22:15:58 <tomsmeding> parametricity is fun :)
22:16:18 <tomsmeding> I never really fully grasped the theory around it though
22:16:27 <tomsmeding> (in any case, it's bedtime for me, thanks for the fun)
22:16:36 × Guest62 quits (~Guest62@136.58.29.171) (Client Quit)
22:17:53 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 245 seconds)
22:19:29 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
22:21:01 <haskellbridge> <magic_rb> tomsmeding: goodnight! Im also out, pushed it till i can barely see again..
22:22:01 <haskellbridge> <Liamzee> If I'm building a simple snake game because I hate the AI generated version, should I be using TVar, MVar, or IORef for the keyPress listener?
22:23:06 <monochrom> @tell tomsmeding https://www.vex.net/~trebla/haskell/abs-type-param.html is how I motivate and derive (though not water-right) parametricity. I learned it from Reynolds, who began with the same consideration too. The Reynolds paper is "Types, abstraction, and parametric polymorphism".
22:23:06 <lambdabot> Consider it noted.
22:24:01 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
22:26:38 × tromp quits (~textual@2a02:a210:cba:8500:de2:dd98:e9b0:1ec7) (Quit: My iMac has gone to sleep. ZZZzzz…)
22:27:23 × connrs quits (~connrs@user/connrs) (Quit: ZNC 1.9.1 - https://znc.in)
22:29:35 connrs joins (~connrs@user/connrs)
22:30:02 alfiee joins (~alfiee@user/alfiee)
22:30:02 JeremyB99 joins (~JeremyB99@2607:ac80:407:7:4388:d333:b8ef:ba28)
22:32:34 × connrs quits (~connrs@user/connrs) (Client Quit)
22:33:29 remexre joins (~remexre@user/remexre)
22:34:18 × alfiee quits (~alfiee@user/alfiee) (Ping timeout: 252 seconds)
22:34:52 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
22:35:33 ljdarj1 joins (~Thunderbi@user/ljdarj)
22:38:18 × ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 245 seconds)
22:38:18 ljdarj1 is now known as ljdarj
22:38:42 connrs joins (~connrs@user/connrs)
22:39:15 × Googulator quits (~Googulato@2a01-036d-0106-4074-e4c1-4d2b-93a1-bece.pool6.digikabel.hu) (Quit: Client closed)
22:39:17 Inst joins (~Inst@user/Inst)
22:39:26 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
22:39:32 Googulator joins (~Googulato@2a01-036d-0106-4074-e4c1-4d2b-93a1-bece.pool6.digikabel.hu)
22:44:56 × misterfish quits (~misterfis@84.53.85.146) (Ping timeout: 244 seconds)
22:45:40 × remexre quits (~remexre@user/remexre) (Ping timeout: 252 seconds)
22:47:54 × Inst quits (~Inst@user/Inst) (Remote host closed the connection)
22:50:02 × connrs quits (~connrs@user/connrs) (Quit: ZNC 1.9.1 - https://znc.in)
22:50:15 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
22:55:07 Sgeo joins (~Sgeo@user/sgeo)
22:55:26 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds)
22:56:52 connrs joins (~connrs@user/connrs)
22:58:45 × JeremyB99 quits (~JeremyB99@2607:ac80:407:7:4388:d333:b8ef:ba28) (Remote host closed the connection)
23:00:39 mange joins (~user@user/mange)
23:03:48 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
23:04:11 weary-traveler joins (~user@user/user363627)
23:05:38 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
23:09:42 Tuplanolla joins (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi)
23:12:04 ljdarj1 joins (~Thunderbi@user/ljdarj)
23:12:26 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
23:16:11 × ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 265 seconds)
23:16:12 ljdarj1 is now known as ljdarj
23:17:26 alfiee joins (~alfiee@user/alfiee)
23:22:02 × alfiee quits (~alfiee@user/alfiee) (Ping timeout: 272 seconds)
23:23:41 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
23:27:00 remexre joins (~remexre@user/remexre)
23:30:23 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds)
23:31:19 × remexre quits (~remexre@user/remexre) (Ping timeout: 260 seconds)
23:40:19 × stiell quits (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
23:40:41 stiell joins (~stiell@gateway/tor-sasl/stiell)
23:40:45 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
23:45:44 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
23:49:22 remexre joins (~remexre@user/remexre)
23:52:02 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
23:54:03 × Googulator quits (~Googulato@2a01-036d-0106-4074-e4c1-4d2b-93a1-bece.pool6.digikabel.hu) (Quit: Client closed)
23:54:26 Googulator joins (~Googulato@2a01-036d-0106-4074-e4c1-4d2b-93a1-bece.pool6.digikabel.hu)
23:56:49 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)

All times are in UTC on 2025-02-18.