2025/02/18

2025-02-18 00:01:27 +0100 <tomsmeding> only downside: this requires mtl, you can't pull this trick with transformers alone
2025-02-18 00:01:37 +0100 <tomsmeding> and I've been avoiding mtl classes for a while and it suits me
2025-02-18 00:06:11 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-18 00:07:33 +0100__monty__(~toonn@user/toonn) (Quit: leaving)
2025-02-18 00:09:58 +0100 <Leary> Whether I'm using mtl or just transformers, I regularly newtype-expand my monad transformers. There's a real advantage to it: if the monad you're transforming is known, you obtain better roles!
2025-02-18 00:12:53 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2025-02-18 00:16:49 +0100tnt2(~Thunderbi@user/tnt1) tnt1
2025-02-18 00:18:14 +0100tnt1(~Thunderbi@user/tnt1) (Ping timeout: 260 seconds)
2025-02-18 00:18:15 +0100tnt2tnt1
2025-02-18 00:18:47 +0100vanishingideal(~vanishing@user/vanishingideal) vanishingideal
2025-02-18 00:19:59 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-02-18 00:20:14 +0100byorgey(~byorgey@user/byorgey) (Ping timeout: 252 seconds)
2025-02-18 00:20:21 +0100byorgey(~byorgey@155.138.238.211)
2025-02-18 00:20:21 +0100byorgey(~byorgey@155.138.238.211) (Changing host)
2025-02-18 00:20:21 +0100byorgey(~byorgey@user/byorgey) byorgey
2025-02-18 00:24:14 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-18 00:24:29 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 260 seconds)
2025-02-18 00:28:23 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-02-18 00:39:37 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-18 00:42:03 +0100euphores(~SASL_euph@user/euphores) (Ping timeout: 245 seconds)
2025-02-18 00:44:18 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-02-18 00:47:51 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich
2025-02-18 00:48:47 +0100euphores(~SASL_euph@user/euphores) euphores
2025-02-18 00:52:36 +0100sawilagar(~sawilagar@user/sawilagar) (Ping timeout: 265 seconds)
2025-02-18 00:54:58 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-18 00:59:10 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-02-18 01:03:29 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-18 01:08:03 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-02-18 01:09:08 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2025-02-18 01:12:28 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 245 seconds)
2025-02-18 01:19:16 +0100TheCoffeMaker(~TheCoffeM@user/thecoffemaker) (Ping timeout: 252 seconds)
2025-02-18 01:20:11 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-18 01:21:06 +0100Square2(~Square4@user/square) (Ping timeout: 252 seconds)
2025-02-18 01:24:24 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds)
2025-02-18 01:24:55 +0100ljdarj(~Thunderbi@user/ljdarj) (Quit: ljdarj)
2025-02-18 01:25:10 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds)
2025-02-18 01:27:28 +0100j1n37-(~j1n37@user/j1n37) j1n37
2025-02-18 01:28:06 +0100j1n37(~j1n37@user/j1n37) (Ping timeout: 244 seconds)
2025-02-18 01:35:33 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-18 01:38:45 +0100Smiles(uid551636@id-551636.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2025-02-18 01:40:04 +0100Inst(~Inst@user/Inst) Inst
2025-02-18 01:40:11 +0100 <Inst> I saw the transcript.
2025-02-18 01:40:46 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds)
2025-02-18 01:41:13 +0100 <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)
2025-02-18 01:41:37 +0100 <Inst> Apparently Xiaohongshu (Rednote) is infested with foreign bots
2025-02-18 01:43:57 +0100 <EvanR> I use a few ways to install haskell on OSX but ghcup would be what I would use now
2025-02-18 01:44:04 +0100 <EvanR> if my macbook didn't die
2025-02-18 01:45:11 +0100 <EvanR> tomsmeding, by avoiding mtl classes, what do you use instead
2025-02-18 01:45:38 +0100 <Inst> yeah, already went to GHCup
2025-02-18 01:45:51 +0100 <Inst> also, is it valid to try to boycott Michael Snoyman?
2025-02-18 01:46:09 +0100 <Inst> Hecate would know why
2025-02-18 01:48:02 +0100 <haskellbridge> <sm> please don't target persons with FUD, if you have something the community really needs to hear about then speak up
2025-02-18 01:48:32 +0100 <Inst> It's just about politics, i.e, some people would wish to avoid products made by developers in certain countries.
2025-02-18 01:48:52 +0100 <haskellbridge> <sm> that's a better way to ask (general principles, not personal attacks)
2025-02-18 01:48:59 +0100xff0x(~xff0x@2405:6580:b080:900:6343:237d:85c9:269e) (Ping timeout: 244 seconds)
2025-02-18 01:49:18 +0100 <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.
2025-02-18 01:49:31 +0100 <EvanR> this topic seems toxic as hell
2025-02-18 01:49:34 +0100 <EvanR> lovely
2025-02-18 01:49:35 +0100xff0x(~xff0x@2405:6580:b080:900:6343:237d:85c9:269e)
2025-02-18 01:49:48 +0100 <Inst> Yeah, that's why I asked in that way, I just wanted to know if it was possible.
2025-02-18 01:50:01 +0100 <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
2025-02-18 01:50:09 +0100 <Inst> Cabal has Snoyman on the contributors list, so you can't avoid Cabal.
2025-02-18 01:50:55 +0100 <EvanR> technically you can
2025-02-18 01:51:05 +0100 <EvanR> compile and link stuff directly
2025-02-18 01:51:21 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-18 01:51:37 +0100 <EvanR> but I'll give you a 99% of chance of your reasons for doing so being ridiculous
2025-02-18 01:52:05 +0100 <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.
2025-02-18 01:53:19 +0100 <haskellbridge> <sm> tuning out
2025-02-18 01:53:35 +0100 <Inst> I just wanted to ask, not throwing fuel on the fire.
2025-02-18 01:53:38 +0100 <EvanR> lol
2025-02-18 01:55:48 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-02-18 01:56:34 +0100sprotte24(~sprotte24@p200300d16f275200c497ecd45d202d2a.dip0.t-ipconnect.de) (Read error: Connection reset by peer)
2025-02-18 01:57:32 +0100 <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 :)
2025-02-18 01:58:08 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-02-18 01:59:16 +0100acidjnk(~acidjnk@p200300d6e7283f34117511048fc3b2ed.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
2025-02-18 01:59:18 +0100 <haskellbridge> <sm> well I've said my piece, carry on
2025-02-18 01:59:55 +0100 <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.
2025-02-18 02:00:11 +0100 <Inst> Maybe forget this conversation, it's just cursed in general.
2025-02-18 02:00:38 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 272 seconds)
2025-02-18 02:00:42 +0100 <monochrom> Yes you have a track record of creating cursed topics.
2025-02-18 02:01:03 +0100 <monochrom> If I boycott anything, it's cursed topics and their creators.
2025-02-18 02:01:09 +0100machinedgod(~machinedg@d108-173-18-100.abhsia.telus.net) (Ping timeout: 248 seconds)
2025-02-18 02:01:53 +0100 <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
2025-02-18 02:02:00 +0100 <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
2025-02-18 02:02:39 +0100 <haskellbridge> <sm> just let's not stir up vague FUD about individuals please
2025-02-18 02:02:41 +0100 <monochrom> Oh the Aesop fable of the mice predicts that people who not bother to do such things. :)
2025-02-18 02:02:55 +0100 <monochrom> s/who/will/
2025-02-18 02:03:05 +0100 <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
2025-02-18 02:04:09 +0100 <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.
2025-02-18 02:04:21 +0100 <Inst> For me, it's that http-conduit was my go-to.
2025-02-18 02:06:08 +0100 <EvanR> you want to rewrite http-conduit
2025-02-18 02:06:55 +0100weary-traveler(~user@user/user363627) user363627
2025-02-18 02:07:30 +0100 <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"
2025-02-18 02:08:03 +0100 <EvanR> again contradicting what it seems like you're saying
2025-02-18 02:08:28 +0100 <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
2025-02-18 02:08:38 +0100 <Inst> *actually becomes commonly used
2025-02-18 02:09:01 +0100 <haskellbridge> <maerwald> Sorry what? You boycott Snoymans libraries because of his nationality or did he actually share his political opinion publicly?
2025-02-18 02:09:25 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-18 02:10:03 +0100 <Inst> tbh maybe you're right and it's silly, because it's open-source, no one's making any money off it
2025-02-18 02:10:32 +0100 <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
2025-02-18 02:10:44 +0100 <Inst> wreq is there
2025-02-18 02:10:59 +0100user363627(~user@user/user363627) (Ping timeout: 244 seconds)
2025-02-18 02:11:27 +0100 <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.
2025-02-18 02:11:33 +0100 <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
2025-02-18 02:11:35 +0100 <Inst> would otherwise DM it to maerwald
2025-02-18 02:12:46 +0100user363627(~user@user/user363627) user363627
2025-02-18 02:12:48 +0100 <haskellbridge> <sm> * HTTP is
2025-02-18 02:12:53 +0100weary-traveler(~user@user/user363627) (Ping timeout: 245 seconds)
2025-02-18 02:12:55 +0100 <haskellbridge> <sm> * by
2025-02-18 02:13:37 +0100 <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.
2025-02-18 02:13:54 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-02-18 02:13:56 +0100 <geekosaur> ^
2025-02-18 02:15:10 +0100 <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.
2025-02-18 02:15:31 +0100 <haskellbridge> <sm> are you seriously going to keep mentioning his name in every comment ?
2025-02-18 02:15:40 +0100 <Inst> I'll drop it, forget it.
2025-02-18 02:15:49 +0100 <monochrom> Finally.
2025-02-18 02:15:51 +0100xff0x(~xff0x@2405:6580:b080:900:6343:237d:85c9:269e) (Ping timeout: 244 seconds)
2025-02-18 02:16:24 +0100 <haskellbridge> <maerwald> I've had intense political arguments at Zurihac in private. It works much better than online, in my experience.
2025-02-18 02:16:43 +0100yegorc(~yegorc@user/yegorc) yegorc
2025-02-18 02:17:43 +0100 <haskellbridge> <maerwald> Online political commentary is rarel insightful
2025-02-18 02:18:15 +0100 <monochrom> Oh, very generally, opinions are rarely valuable.
2025-02-18 02:18:17 +0100 <geekosaur> I'm not sure I recommend political arguments anyway. people tend to get defensive and intransigent, which makes it pointless
2025-02-18 02:19:23 +0100 <EvanR> someone once said there are no good arguments, only good arguers
2025-02-18 02:19:29 +0100 <monochrom> be it politics or technical topics. https://danluu.com/cocktail-ideas/ explains the technical topics case.
2025-02-18 02:19:43 +0100 <Axman6> monochrom: my opinion is your opinion is valuable
2025-02-18 02:19:47 +0100 <haskellbridge> <maerwald> Yes, veritasium made an interesting video on that. Apparently bias gets worse the more intelligent you are.
2025-02-18 02:19:59 +0100 <monochrom> I'm a rarity! >:D
2025-02-18 02:23:22 +0100 <EvanR> *edits the CSS of that page with the debugger to decrease the width*
2025-02-18 02:23:40 +0100 <EvanR> I get exhausted reading before the end of the line
2025-02-18 02:23:55 +0100 <monochrom> Or just shrink the browser window width to what it should be!
2025-02-18 02:24:17 +0100 <EvanR> change the size of the window :horror: ?
2025-02-18 02:24:44 +0100 <monochrom> It is other web pages that assume/require wide windows that are wrong.
2025-02-18 02:24:47 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-18 02:25:58 +0100 <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.
2025-02-18 02:26:28 +0100 <monochrom> and height, and font size, and font styles, etc etc
2025-02-18 02:26:52 +0100 <EvanR> configuration over convention eh?
2025-02-18 02:27:04 +0100 <monochrom> But it's not just my opinion by now. After decades, accessibility rediscovers the same principle.
2025-02-18 02:28:02 +0100 <Inst> maerwald: is it because reality is a poorly-defined axiomatic system?
2025-02-18 02:28:12 +0100 <Inst> And people tend not to acknowledge that fact?
2025-02-18 02:28:36 +0100 <EvanR> reality is not a poorly-defined axiomatic system
2025-02-18 02:28:54 +0100 <haskellbridge> <maerwald> Watch the video
2025-02-18 02:29:17 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-02-18 02:29:53 +0100 <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
2025-02-18 02:30:19 +0100 <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
2025-02-18 02:31:56 +0100 <geekosaur> your edits of old messages are kinda screwy on this side
2025-02-18 02:32:15 +0100 <EvanR> IRC is append-only log xD
2025-02-18 02:32:42 +0100 <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)
2025-02-18 02:32:52 +0100 <monochrom> I'm OK with edits, until you edit very old messages, at which point the point is moot.
2025-02-18 02:35:55 +0100Inst(~Inst@user/Inst) (Remote host closed the connection)
2025-02-18 02:36:05 +0100 <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. >.>
2025-02-18 02:37:01 +0100 <geekosaur> bet he gets along well with James Burke…
2025-02-18 02:37:28 +0100 <geekosaur> (sarcasm, if its not clear)
2025-02-18 02:37:32 +0100 <monochrom> Except/Until you hear from some of us that the rubber duck method is equivalent to talking to real people. >:)
2025-02-18 02:38:22 +0100 <monochrom> On that note, I like to butcher a Shaw quote. I argue with myself all the time, it adds sparks to my arguments. >:)
2025-02-18 02:40:10 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-18 02:41:25 +0100 <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.
2025-02-18 02:41:26 +0100 <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
2025-02-18 02:42:06 +0100 <monochrom> I have success with that sometimes. I build a counterexample by trying to prove with pretty standard techniques.
2025-02-18 02:42:25 +0100 <monochrom> (and see where I get stuck, that's where counterexamples are inspired)
2025-02-18 02:42:35 +0100 <haskellbridge> <sm> sorry for the edits, I forgot this room is IRC-bridged and IRC-first
2025-02-18 02:43:06 +0100Inst(~Inst@user/Inst) Inst
2025-02-18 02:43:33 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-02-18 02:44:21 +0100 <Inst> geekosaur: sorry for bringing it up, but #haskell-offtopic
2025-02-18 02:44:50 +0100 <monochrom> #haskell-offtopic is not where you dump your toxic topics either.
2025-02-18 02:45:04 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-02-18 02:45:44 +0100 <geekosaur> this channel often goes offtopic when nothing else is going on, it's not a problem unless it interferes with on-topic discussions
2025-02-18 02:45:55 +0100 <geekosaur> and -offtopic isn't bridged and probably won't be
2025-02-18 02:46:43 +0100 <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
2025-02-18 02:47:02 +0100user363627weary-traveler
2025-02-18 02:47:45 +0100 <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
2025-02-18 02:47:59 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 260 seconds)
2025-02-18 02:48:50 +0100 <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.
2025-02-18 02:49:54 +0100 <geekosaur> "events" are in the eye of the beholder; they make lousy axioms
2025-02-18 02:50:46 +0100 <geekosaur> ask three people what happened, you get at least3 different answers
2025-02-18 02:51:55 +0100 <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
2025-02-18 02:52:36 +0100 <Inst> Which is my point about that being an explanation for why bias is more intense with intelligent people.
2025-02-18 02:52:38 +0100 <EvanR> though it might be nonsensical when done 30 minutes later
2025-02-18 02:52:51 +0100 <monochrom> I just wonder (I am evil) what if my message is "s/space/spaces/" and then I edit it to "s/space/spice/" >:)
2025-02-18 02:53:10 +0100 <EvanR> processing
2025-02-18 02:54:08 +0100 <EvanR> so it reports s/spaces/spice/ right lol
2025-02-18 02:54:17 +0100hsw(~hsw@2001-b030-2303-0104-0172-0025-0012-0132.hinet-ip6.hinet.net) hsw
2025-02-18 02:54:24 +0100 <monochrom> Oh! Right, that's easy.
2025-02-18 02:55:01 +0100 <weary-traveler> what are we talking about?
2025-02-18 02:55:21 +0100 <weary-traveler> sed patterns?
2025-02-18 02:55:32 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-18 02:55:45 +0100 <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.
2025-02-18 02:55:54 +0100 <EvanR> autogenerating simplistic sed patterns from two versions of messages
2025-02-18 02:56:52 +0100 <EvanR> yes it breaks down if it's not a minor edit
2025-02-18 02:57:41 +0100 <weary-traveler> i propose that a diff patch be generated and uploaded to a paste service
2025-02-18 02:57:46 +0100 <EvanR> the wizard went vaguely north
2025-02-18 02:57:48 +0100 <EvanR> edited to
2025-02-18 02:57:54 +0100 <EvanR> the ogre went vaguely west
2025-02-18 02:58:05 +0100 <EvanR> no one would sed substitute it
2025-02-18 02:58:29 +0100 <EvanR> with 1 command
2025-02-18 02:59:12 +0100 <monochrom> If you're limited to 1 command, I have a feeling that it's an NP-complete problem.
2025-02-18 02:59:18 +0100 <jackdk> `s/.*/the ogre went vaguely west/`
2025-02-18 02:59:22 +0100 <weary-traveler> jokes aside, it might be better to paste the updated message anew. something like: "EDIT: xyz (WAS: abc)"
2025-02-18 03:00:06 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-02-18 03:00:15 +0100 <weary-traveler> (assuming i didn't misunderstand the context that this is in the context of an irc bridge)
2025-02-18 03:00:42 +0100 <weary-traveler> i.e., the approach that message-mode takes when altering subject in an email thread
2025-02-18 03:04:33 +0100 <geekosaur> weary-traveler, we're talking about Matrix-side edits sent to IRC
2025-02-18 03:04:44 +0100 <geekosaur> (this channel exists on both with a bridge bot)
2025-02-18 03:05:17 +0100Tuplanolla(~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.)
2025-02-18 03:05:31 +0100xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp)
2025-02-18 03:05:52 +0100 <geekosaur> so yeh, appservice-irc would send the second edit relative to the first, not the originsl
2025-02-18 03:06:24 +0100 <geekosaur> but it would still need to send the whole message again if there've been additional messages sent since
2025-02-18 03:06:41 +0100 <geekosaur> there's just no good solution given IRC doesn't support edits
2025-02-18 03:06:46 +0100 <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
2025-02-18 03:07:36 +0100 <geekosaur> oh, matrix-appserice-irc also includes just enough context to disambiguate if an edit could otherwise match in multiple places
2025-02-18 03:07:58 +0100bilegeek(~bilegeek@2600:1008:b044:8ce0:7330:8978:b973:2dee) bilegeek
2025-02-18 03:10:55 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-18 03:15:44 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds)
2025-02-18 03:22:06 +0100pikajude(~jude@149.28.207.64) (Ping timeout: 252 seconds)
2025-02-18 03:22:26 +0100pikajude(~jude@149.28.207.64) pikajude
2025-02-18 03:23:56 +0100euphores(~SASL_euph@user/euphores) (Ping timeout: 252 seconds)
2025-02-18 03:26:18 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-18 03:26:30 +0100Inst(~Inst@user/Inst) (Quit: Leaving...)
2025-02-18 03:29:34 +0100tnt1(~Thunderbi@user/tnt1) (Ping timeout: 260 seconds)
2025-02-18 03:29:41 +0100tnt2(~Thunderbi@user/tnt1) tnt1
2025-02-18 03:30:37 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-02-18 03:31:09 +0100euphores(~SASL_euph@user/euphores) euphores
2025-02-18 03:32:00 +0100tnt2tnt1
2025-02-18 03:33:44 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds)
2025-02-18 03:35:14 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 260 seconds)
2025-02-18 03:39:06 +0100dtman34(~dtman34@2601:447:d000:1f5e:d9a8:85bf:188a:75ef) (Ping timeout: 246 seconds)
2025-02-18 03:41:50 +0100tnt2(~Thunderbi@user/tnt1) tnt1
2025-02-18 03:43:24 +0100tnt1(~Thunderbi@user/tnt1) (Ping timeout: 260 seconds)
2025-02-18 03:44:21 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-18 03:45:18 +0100rekahsoft(~rekahsoft@bras-base-orllon1103w-grc-14-174-92-69-126.dsl.bell.ca) (Remote host closed the connection)
2025-02-18 03:45:20 +0100tnt1(~Thunderbi@user/tnt1) tnt1
2025-02-18 03:46:03 +0100tnt2(~Thunderbi@user/tnt1) (Ping timeout: 244 seconds)
2025-02-18 03:48:38 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-02-18 03:59:43 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-18 04:04:46 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds)
2025-02-18 04:08:16 +0100tnt1(~Thunderbi@user/tnt1) (Ping timeout: 244 seconds)
2025-02-18 04:15:05 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-18 04:16:30 +0100tnt1(~Thunderbi@user/tnt1) tnt1
2025-02-18 04:17:41 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-02-18 04:19:52 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds)
2025-02-18 04:21:57 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 248 seconds)
2025-02-18 04:25:09 +0100tnt1(~Thunderbi@user/tnt1) (Ping timeout: 248 seconds)
2025-02-18 04:30:28 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-18 04:35:04 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-02-18 04:42:22 +0100tewk(~tewk@host-178.97-90-209-981424-colocation.srv.fiber.net)
2025-02-18 04:44:12 +0100tnt1(~Thunderbi@user/tnt1) tnt1
2025-02-18 04:45:50 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-18 04:47:12 +0100tnt2(~Thunderbi@user/tnt1) tnt1
2025-02-18 04:48:47 +0100tnt1(~Thunderbi@user/tnt1) (Ping timeout: 244 seconds)
2025-02-18 04:48:47 +0100tnt2tnt1
2025-02-18 04:49:57 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich
2025-02-18 04:50:20 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-02-18 04:58:13 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:7be1:7b66:cb37:6259)
2025-02-18 04:58:36 +0100Inst(~Inst@user/Inst) Inst
2025-02-18 05:01:12 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-18 05:05:05 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-02-18 05:06:44 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 268 seconds)
2025-02-18 05:07:23 +0100tnt1(~Thunderbi@user/tnt1) (Ping timeout: 244 seconds)
2025-02-18 05:07:57 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) bitdex
2025-02-18 05:08:03 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-02-18 05:09:32 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 252 seconds)
2025-02-18 05:10:04 +0100tnt1(~Thunderbi@user/tnt1) tnt1
2025-02-18 05:11:00 +0100Inst(~Inst@user/Inst) (Remote host closed the connection)
2025-02-18 05:12:15 +0100pabs3(~pabs3@user/pabs3) (Remote host closed the connection)
2025-02-18 05:14:27 +0100pabs3(~pabs3@user/pabs3) pabs3
2025-02-18 05:19:16 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-18 05:23:42 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-02-18 05:26:15 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich
2025-02-18 05:30:01 +0100tnt2(~Thunderbi@user/tnt1) tnt1
2025-02-18 05:32:00 +0100aforemny(~aforemny@i59F4C483.versanet.de) aforemny
2025-02-18 05:32:01 +0100tnt1(~Thunderbi@user/tnt1) (Ping timeout: 268 seconds)
2025-02-18 05:32:51 +0100aforemny_(~aforemny@i577B1223.versanet.de) (Ping timeout: 246 seconds)
2025-02-18 05:34:33 +0100tnt2(~Thunderbi@user/tnt1) (Ping timeout: 245 seconds)
2025-02-18 05:34:38 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-18 05:39:08 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2025-02-18 05:50:01 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-18 05:52:29 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-02-18 05:54:11 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-02-18 05:56:50 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 252 seconds)
2025-02-18 05:57:33 +0100Inst(~Inst@user/Inst) Inst
2025-02-18 05:59:05 +0100myxos(~myxos@syn-065-028-251-121.res.spectrum.com) myxokephale
2025-02-18 06:01:39 +0100tavare(~tavare@150.129.88.189)
2025-02-18 06:01:39 +0100tavare(~tavare@150.129.88.189) (Changing host)
2025-02-18 06:01:39 +0100tavare(~tavare@user/tavare) tavare
2025-02-18 06:04:40 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-18 06:09:24 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-02-18 06:14:14 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Read error: Connection reset by peer)
2025-02-18 06:20:04 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-18 06:21:10 +0100Inst(~Inst@user/Inst) (Remote host closed the connection)
2025-02-18 06:22:49 +0100 <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)
2025-02-18 06:23:04 +0100 <ski> OCaml,MoSML,MetaML otoh leaves the tyvars as meta variables, so later declarations could possibly instantiate them
2025-02-18 06:24:32 +0100 <ski> (didn't check MLton,ML Kit,ML Works,Alice ML,EML,Caml)
2025-02-18 06:24:44 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds)
2025-02-18 06:24:54 +0100 <ski> (hm, nor F#)
2025-02-18 06:25:11 +0100 <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
2025-02-18 06:25:19 +0100 <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
2025-02-18 06:25:30 +0100 <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
2025-02-18 06:28:36 +0100michalz(~michalz@185.246.207.215)
2025-02-18 06:32:36 +0100zungi(~tory@user/andrewchawk) (Ping timeout: 264 seconds)
2025-02-18 06:35:04 +0100bilegeek(~bilegeek@2600:1008:b044:8ce0:7330:8978:b973:2dee) (Quit: Leaving)
2025-02-18 06:35:27 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-18 06:37:01 +0100zungi(~tory@user/andrewchawk) andrewchawk
2025-02-18 06:39:53 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-02-18 06:40:28 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds)
2025-02-18 06:43:49 +0100alp(~alp@2001:861:8ca0:4940:8ccb:bb49:a412:bcda) (Ping timeout: 260 seconds)
2025-02-18 06:44:11 +0100bilegeek(~bilegeek@2600:1008:b044:8ce0:7330:8978:b973:2dee) bilegeek
2025-02-18 06:44:18 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 244 seconds)
2025-02-18 06:49:10 +0100Inst(~Inst@user/Inst) Inst
2025-02-18 06:50:06 +0100atwm(~andrew@19-193-28-81.ftth.cust.kwaoo.net) atwm
2025-02-18 06:51:01 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-18 06:54:08 +0100atwm(~andrew@19-193-28-81.ftth.cust.kwaoo.net) (Ping timeout: 245 seconds)
2025-02-18 06:55:23 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2025-02-18 06:57:54 +0100_ht(~huub@62.250.52.179) (Remote host closed the connection)
2025-02-18 06:58:21 +0100Inst(~Inst@user/Inst) (Remote host closed the connection)
2025-02-18 07:01:03 +0100tavare(~tavare@user/tavare) (Remote host closed the connection)
2025-02-18 07:01:58 +0100j1n37-(~j1n37@user/j1n37) (Read error: Connection reset by peer)
2025-02-18 07:05:32 +0100j1n37(~j1n37@user/j1n37) j1n37
2025-02-18 07:06:24 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-18 07:11:04 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-02-18 07:18:00 +0100takuan(~takuan@d8D86B601.access.telenet.be)
2025-02-18 07:21:32 +0100atwm(~andrew@19-193-28-81.ftth.cust.kwaoo.net) atwm
2025-02-18 07:21:45 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-18 07:22:45 +0100misterfish(~misterfis@84.53.85.146) misterfish
2025-02-18 07:26:22 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-02-18 07:27:57 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-02-18 07:30:22 +0100misterfish(~misterfis@84.53.85.146) (Ping timeout: 265 seconds)
2025-02-18 07:32:21 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 244 seconds)
2025-02-18 07:37:08 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-18 07:43:43 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2025-02-18 07:45:13 +0100Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection)
2025-02-18 07:47:48 +0100tewk(~tewk@host-178.97-90-209-981424-colocation.srv.fiber.net) (Quit: Lost terminal)
2025-02-18 07:50:08 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:7be1:7b66:cb37:6259) (Read error: Connection reset by peer)
2025-02-18 07:50:59 +0100dtman34(~dtman34@2601:447:d000:1f5e:ca14:d507:141c:5e6f) dtman34
2025-02-18 07:55:12 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-18 07:55:17 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:7be1:7b66:cb37:6259)
2025-02-18 07:57:27 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:7be1:7b66:cb37:6259) (Read error: Connection reset by peer)
2025-02-18 07:58:09 +0100Googulator91(~Googulato@2a01-036d-0106-4074-e4c1-4d2b-93a1-bece.pool6.digikabel.hu)
2025-02-18 07:58:24 +0100zungi(~tory@user/andrewchawk) (Ping timeout: 264 seconds)
2025-02-18 07:59:39 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-02-18 08:02:10 +0100Googulator(~Googulato@2a01-036d-0106-4074-e4c1-4d2b-93a1-bece.pool6.digikabel.hu) (Ping timeout: 240 seconds)
2025-02-18 08:02:37 +0100mud(~mud@user/kadoban) (Remote host closed the connection)
2025-02-18 08:02:59 +0100zungi(~tory@user/andrewchawk) andrewchawk
2025-02-18 08:05:41 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-18 08:06:44 +0100mud(~mud@user/kadoban) kadoban
2025-02-18 08:10:04 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-02-18 08:10:10 +0100Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2025-02-18 08:12:05 +0100Garbanzo__(~Garbanzo@2602:304:6eac:dc10::46) (Remote host closed the connection)
2025-02-18 08:13:56 +0100GdeVolpiano(~GdeVolpia@user/GdeVolpiano) (Quit: WeeChat 4.4.2)
2025-02-18 08:14:29 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:7be1:7b66:cb37:6259)
2025-02-18 08:15:01 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-02-18 08:16:39 +0100GdeVolpiano(~GdeVolpia@user/GdeVolpiano) GdeVolpiano
2025-02-18 08:17:45 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:7be1:7b66:cb37:6259) (Read error: Connection reset by peer)
2025-02-18 08:19:04 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 244 seconds)
2025-02-18 08:21:14 +0100homo(~homo@user/homo) homo
2025-02-18 08:21:16 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich
2025-02-18 08:21:24 +0100 <[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?
2025-02-18 08:21:42 +0100 <[exa]> ^ possible nonsense, just decided to think out loud
2025-02-18 08:22:09 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-18 08:23:18 +0100 <[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
2025-02-18 08:27:09 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds)
2025-02-18 08:27:54 +0100atwm(~andrew@19-193-28-81.ftth.cust.kwaoo.net) (Ping timeout: 252 seconds)
2025-02-18 08:33:33 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:7be1:7b66:cb37:6259)
2025-02-18 08:36:02 +0100CiaoSen(~Jura@ip-037-201-240-075.um10.pools.vodafone-ip.de) CiaoSen
2025-02-18 08:37:00 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:7be1:7b66:cb37:6259) (Read error: Connection reset by peer)
2025-02-18 08:37:40 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-18 08:39:55 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4)
2025-02-18 08:42:48 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds)
2025-02-18 08:43:15 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:7be1:7b66:cb37:6259)
2025-02-18 08:43:25 +0100xdej(~xdej@quatramaran.salle-s.org) xdej
2025-02-18 08:52:08 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 244 seconds)
2025-02-18 08:52:21 +0100alp(~alp@2001:861:8ca0:4940:784b:876b:883d:5987)
2025-02-18 08:52:58 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-18 08:54:33 +0100ft(~ft@p4fc2a610.dip0.t-ipconnect.de) (Quit: leaving)
2025-02-18 08:59:14 +0100sord937(~sord937@gateway/tor-sasl/sord937) sord937
2025-02-18 08:59:25 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-02-18 09:00:04 +0100acidjnk(~acidjnk@p200300d6e7283f20c06f460756a3e282.dip0.t-ipconnect.de) acidjnk
2025-02-18 09:00:04 +0100caconym(~caconym@user/caconym) (Quit: bye)
2025-02-18 09:01:00 +0100caconym(~caconym@user/caconym) caconym
2025-02-18 09:02:05 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-02-18 09:06:05 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 244 seconds)
2025-02-18 09:16:53 +0100alp(~alp@2001:861:8ca0:4940:784b:876b:883d:5987) (Ping timeout: 248 seconds)
2025-02-18 09:19:40 +0100 <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
2025-02-18 09:20:37 +0100 <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
2025-02-18 09:20:56 +0100 <tomsmeding> lifts usually go up, this one doesn't apparently /shrug/
2025-02-18 09:24:13 +0100atwm(~andrew@19-193-28-81.ftth.cust.kwaoo.net) atwm
2025-02-18 09:30:18 +0100atwm(~andrew@19-193-28-81.ftth.cust.kwaoo.net) (Ping timeout: 272 seconds)
2025-02-18 09:31:48 +0100j1n37-(~j1n37@user/j1n37) j1n37
2025-02-18 09:33:28 +0100j1n37(~j1n37@user/j1n37) (Ping timeout: 272 seconds)
2025-02-18 09:34:29 +0100atwm(~andrew@19-193-28-81.ftth.cust.kwaoo.net) atwm
2025-02-18 09:38:05 +0100kaskal(~kaskal@2a02:8388:15bf:c200:b761:f798:cc12:a3c8) (Quit: ZNC - https://znc.in)
2025-02-18 09:38:26 +0100kaskal(~kaskal@2a02:8388:15bf:c200:6260:f3eb:9ba8:d6f8) kaskal
2025-02-18 09:38:34 +0100ski. o O ( `exists m. Monad m *> ..m.. -> ...' )
2025-02-18 09:38:38 +0100misterfish(~misterfis@31-161-39-137.biz.kpn.net) misterfish
2025-02-18 09:38:56 +0100atwm(~andrew@19-193-28-81.ftth.cust.kwaoo.net) (Ping timeout: 244 seconds)
2025-02-18 09:39:21 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:7be1:7b66:cb37:6259) (Remote host closed the connection)
2025-02-18 09:39:30 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:7be1:7b66:cb37:6259)
2025-02-18 09:40:18 +0100weary-traveler(~user@user/user363627) (Remote host closed the connection)
2025-02-18 09:45:40 +0100merijn(~merijn@77.242.116.146) merijn
2025-02-18 09:49:08 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-02-18 09:49:18 +0100bilegeek_(~bilegeek@166.sub-174-209-34.myvzw.com) bilegeek
2025-02-18 09:49:57 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:7be1:7b66:cb37:6259) (Read error: Connection reset by peer)
2025-02-18 09:50:48 +0100rvalue(~rvalue@user/rvalue) (Read error: Connection reset by peer)
2025-02-18 09:51:18 +0100bilegeek__(~bilegeek@2600:1008:b045:5551:e9d9:7303:17af:7ef5) bilegeek
2025-02-18 09:51:19 +0100rvalue(~rvalue@user/rvalue) rvalue
2025-02-18 09:52:28 +0100bilegeek(~bilegeek@2600:1008:b044:8ce0:7330:8978:b973:2dee) (Ping timeout: 272 seconds)
2025-02-18 09:53:24 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 260 seconds)
2025-02-18 09:54:24 +0100bilegeek_(~bilegeek@166.sub-174-209-34.myvzw.com) (Ping timeout: 260 seconds)
2025-02-18 09:54:47 +0100chele(~chele@user/chele) chele
2025-02-18 09:56:17 +0100bilegeek_(~bilegeek@2600:1008:b08d:31ee:c57a:6a00:f000:b843) bilegeek
2025-02-18 09:56:50 +0100ash3en(~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) ash3en
2025-02-18 09:57:46 +0100machinedgod(~machinedg@d108-173-18-100.abhsia.telus.net) machinedgod
2025-02-18 09:58:14 +0100 <haskellbridge> <sm> [exa] that sounds like a good comment for #haskell-wasm:matrix.org (https://matrix.to/#/#haskell-wasm:matrix.org)
2025-02-18 09:59:04 +0100bilegeek__(~bilegeek@2600:1008:b045:5551:e9d9:7303:17af:7ef5) (Ping timeout: 260 seconds)
2025-02-18 10:03:35 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:7be1:7b66:cb37:6259)
2025-02-18 10:06:04 +0100ell(~ellie@user/ellie) (Ping timeout: 260 seconds)
2025-02-18 10:08:39 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:7be1:7b66:cb37:6259) (Read error: Connection reset by peer)
2025-02-18 10:11:24 +0100Square2(~Square4@user/square) Square
2025-02-18 10:14:47 +0100alp(~alp@2001:861:8ca0:4940:241a:8a1:befb:2c08)
2025-02-18 10:22:45 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:7be1:7b66:cb37:6259)
2025-02-18 10:23:01 +0100merijn(~merijn@77.242.116.146) (Ping timeout: 252 seconds)
2025-02-18 10:24:58 +0100lxsameer(~lxsameer@Serene/lxsameer) lxsameer
2025-02-18 10:27:03 +0100merijn(~merijn@77.242.116.146) merijn
2025-02-18 10:28:24 +0100machinedgod(~machinedg@d108-173-18-100.abhsia.telus.net) (Ping timeout: 260 seconds)
2025-02-18 10:31:29 +0100hattckory(~hattckory@bras-base-toroon4524w-grc-38-67-71-152-102.dsl.bell.ca) (Ping timeout: 248 seconds)
2025-02-18 10:32:07 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:7be1:7b66:cb37:6259) (Read error: Connection reset by peer)
2025-02-18 10:34:13 +0100bilegeek_(~bilegeek@2600:1008:b08d:31ee:c57a:6a00:f000:b843) (Quit: Leaving)
2025-02-18 10:35:07 +0100machinedgod(~machinedg@2001:56a:7e11:e000:1878:e786:5ea1:464f) machinedgod
2025-02-18 10:36:28 +0100tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz)
2025-02-18 10:36:33 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-02-18 10:38:55 +0100atwm(~andrew@19-193-28-81.ftth.cust.kwaoo.net) atwm
2025-02-18 10:40:48 +0100merijn(~merijn@77.242.116.146) (Ping timeout: 245 seconds)
2025-02-18 10:41:18 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 265 seconds)
2025-02-18 10:41:47 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:7be1:7b66:cb37:6259)
2025-02-18 10:42:51 +0100 <[exa]> sm: oh noes that one isn't on irc?
2025-02-18 10:42:55 +0100[exa]sad
2025-02-18 10:43:12 +0100atwm(~andrew@19-193-28-81.ftth.cust.kwaoo.net) (Ping timeout: 252 seconds)
2025-02-18 10:44:08 +0100merijn(~merijn@77.242.116.146) merijn
2025-02-18 10:45:07 +0100 <[exa]> (ok wow I just made matrix go http500 by putting brackets in my username)
2025-02-18 10:45:28 +0100homo(~homo@user/homo) (Quit: Leaving)
2025-02-18 10:45:37 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:7be1:7b66:cb37:6259) (Read error: Connection reset by peer)
2025-02-18 10:46:07 +0100 <tomsmeding> input validation is difficult, 2025 webscale edition?
2025-02-18 10:47:41 +0100 <[exa]> nick injection attack!!!1
2025-02-18 10:47:43 +0100bitterx(~bitterx@APN-122-12-44-gprs.simobil.net)
2025-02-18 10:47:54 +0100bitterx(~bitterx@APN-122-12-44-gprs.simobil.net) (Changing host)
2025-02-18 10:47:54 +0100bitterx(~bitterx@user/bitterx) bitterx
2025-02-18 10:51:34 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Ping timeout: 260 seconds)
2025-02-18 10:58:25 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4)
2025-02-18 10:59:02 +0100nschoe(~nschoe@2a01:e0a:8e:a190:e51:40e8:9bc8:8d19) (Quit: ZNC 1.8.2 - https://znc.in)
2025-02-18 10:59:18 +0100nschoe(~nschoe@82-65-202-30.subs.proxad.net) nschoe
2025-02-18 11:11:47 +0100hattckory(~hattckory@bras-base-toroon4524w-grc-38-67-71-152-102.dsl.bell.ca)
2025-02-18 11:14:10 +0100alp(~alp@2001:861:8ca0:4940:241a:8a1:befb:2c08) (Ping timeout: 272 seconds)
2025-02-18 11:16:35 +0100merijn(~merijn@77.242.116.146) (Ping timeout: 265 seconds)
2025-02-18 11:18:52 +0100xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 244 seconds)
2025-02-18 11:21:19 +0100JuanDaugherty(~juan@user/JuanDaugherty) JuanDaugherty
2025-02-18 11:23:37 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-02-18 11:28:06 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 272 seconds)
2025-02-18 11:29:59 +0100merijn(~merijn@77.242.116.146) merijn
2025-02-18 11:32:14 +0100JuanDaughertyColinRobinson
2025-02-18 11:46:49 +0100ash3en(~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) (Quit: ash3en)
2025-02-18 11:50:28 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.5.1)
2025-02-18 11:51:33 +0100ash3en(~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) ash3en
2025-02-18 12:05:41 +0100kuribas(~user@ip-188-118-57-242.reverse.destiny.be) kuribas
2025-02-18 12:07:26 +0100caasih(sid13241@id-13241.ilkley.irccloud.com) (Ping timeout: 244 seconds)
2025-02-18 12:11:26 +0100caasih(sid13241@id-13241.ilkley.irccloud.com) caasih
2025-02-18 12:12:14 +0100sa(sid1055@id-1055.tinside.irccloud.com) (Ping timeout: 260 seconds)
2025-02-18 12:12:22 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-02-18 12:12:26 +0100bw(sid2730@user/betawaffle) (Ping timeout: 272 seconds)
2025-02-18 12:12:54 +0100meinside(uid24933@id-24933.helmsley.irccloud.com) (Ping timeout: 246 seconds)
2025-02-18 12:14:09 +0100bjs(sid190364@user/bjs) (Ping timeout: 244 seconds)
2025-02-18 12:14:55 +0100meinside(uid24933@id-24933.helmsley.irccloud.com) meinside
2025-02-18 12:14:59 +0100rune_(sid21167@id-21167.ilkley.irccloud.com) (Ping timeout: 260 seconds)
2025-02-18 12:15:11 +0100astra(sid289983@id-289983.hampstead.irccloud.com) (Ping timeout: 244 seconds)
2025-02-18 12:15:19 +0100sa(sid1055@id-1055.tinside.irccloud.com) sa
2025-02-18 12:15:33 +0100ubert(~Thunderbi@2a02:8109:ab8a:5a00:e800:c307:ee17:7c28) ubert
2025-02-18 12:16:33 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 248 seconds)
2025-02-18 12:16:34 +0100xff0x(~xff0x@2405:6580:b080:900:4548:6ab4:269:a170)
2025-02-18 12:16:43 +0100bw(sid2730@user/betawaffle) betawaffle
2025-02-18 12:17:20 +0100astra(sid289983@id-289983.hampstead.irccloud.com)
2025-02-18 12:18:02 +0100bjs(sid190364@user/bjs) bjs
2025-02-18 12:18:07 +0100rune_(sid21167@id-21167.ilkley.irccloud.com)
2025-02-18 12:18:43 +0100Moyst(~moyst@user/moyst) (Ping timeout: 245 seconds)
2025-02-18 12:19:08 +0100CiaoSen(~Jura@ip-037-201-240-075.um10.pools.vodafone-ip.de) (Ping timeout: 245 seconds)
2025-02-18 12:22:14 +0100sa(sid1055@id-1055.tinside.irccloud.com) (Max SendQ exceeded)
2025-02-18 12:23:45 +0100Moyst(~moyst@user/moyst) Moyst
2025-02-18 12:24:21 +0100alp(~alp@2001:861:8ca0:4940:e4d1:8a6d:1936:4535)
2025-02-18 12:24:29 +0100buhman(sid411355@user/buhman) (Ping timeout: 260 seconds)
2025-02-18 12:27:04 +0100buhman(sid411355@user/buhman) buhman
2025-02-18 12:39:09 +0100atwm(~andrew@19-193-28-81.ftth.cust.kwaoo.net) atwm
2025-02-18 12:39:53 +0100sa(sid1055@id-1055.tinside.irccloud.com) sa
2025-02-18 12:44:21 +0100atwm(~andrew@19-193-28-81.ftth.cust.kwaoo.net) (Ping timeout: 248 seconds)
2025-02-18 12:47:38 +0100atwm(~andrew@19-193-28-81.ftth.cust.kwaoo.net) atwm
2025-02-18 12:52:55 +0100wootehfoot(~wootehfoo@user/wootehfoot) wootehfoot
2025-02-18 12:55:55 +0100merijn(~merijn@77.242.116.146) (Ping timeout: 252 seconds)
2025-02-18 12:56:47 +0100atwm(~andrew@19-193-28-81.ftth.cust.kwaoo.net) (Remote host closed the connection)
2025-02-18 12:57:12 +0100atwm(~andrew@19-193-28-81.ftth.cust.kwaoo.net) atwm
2025-02-18 13:00:04 +0100caconym(~caconym@user/caconym) (Quit: bye)
2025-02-18 13:00:16 +0100__monty__(~toonn@user/toonn) toonn
2025-02-18 13:00:26 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-02-18 13:02:14 +0100caconym(~caconym@user/caconym) caconym
2025-02-18 13:04:44 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 252 seconds)
2025-02-18 13:05:06 +0100atwm(~andrew@19-193-28-81.ftth.cust.kwaoo.net) (Ping timeout: 252 seconds)
2025-02-18 13:07:34 +0100merijn(~merijn@77.242.116.146) merijn
2025-02-18 13:08:11 +0100atwm(~andrew@19-193-28-81.ftth.cust.kwaoo.net) atwm
2025-02-18 13:10:04 +0100lisbeths(uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2025-02-18 13:13:34 +0100atwm(~andrew@19-193-28-81.ftth.cust.kwaoo.net) (Ping timeout: 244 seconds)
2025-02-18 13:15:03 +0100atwm(~andrew@19-193-28-81.ftth.cust.kwaoo.net) atwm
2025-02-18 13:15:45 +0100acidjnk(~acidjnk@p200300d6e7283f20c06f460756a3e282.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
2025-02-18 13:20:50 +0100atwm(~andrew@19-193-28-81.ftth.cust.kwaoo.net) (Ping timeout: 272 seconds)
2025-02-18 13:25:26 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:7be1:7b66:cb37:6259)
2025-02-18 13:28:01 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:7be1:7b66:cb37:6259) (Read error: Connection reset by peer)
2025-02-18 13:29:12 +0100CiaoSen(~Jura@ip-037-201-240-075.um10.pools.vodafone-ip.de) CiaoSen
2025-02-18 13:31:09 +0100wootehfoot(~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
2025-02-18 13:31:30 +0100atwm(~andrew@19-193-28-81.ftth.cust.kwaoo.net) atwm
2025-02-18 13:32:52 +0100acidjnk(~acidjnk@p200300d6e7283f20c06f460756a3e282.dip0.t-ipconnect.de) acidjnk
2025-02-18 13:33:51 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:7be1:7b66:cb37:6259)
2025-02-18 13:35:03 +0100m1dnight(~m1dnight@d8D861908.access.telenet.be) (Quit: WeeChat 3.0)
2025-02-18 13:38:10 +0100m1dnight(~m1dnight@d8D861908.access.telenet.be) m1dnight
2025-02-18 13:40:05 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:7be1:7b66:cb37:6259) (Read error: Connection reset by peer)
2025-02-18 13:40:09 +0100atwm(~andrew@19-193-28-81.ftth.cust.kwaoo.net) (Ping timeout: 260 seconds)
2025-02-18 13:45:26 +0100talisman`(~user@2601:644:937c:ed10::ae5)
2025-02-18 13:47:49 +0100talismanick(~user@2601:644:937c:ed10::ae5) (Ping timeout: 268 seconds)
2025-02-18 13:48:10 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-02-18 13:48:55 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:7be1:7b66:cb37:6259)
2025-02-18 13:49:11 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:7be1:7b66:cb37:6259) (Read error: Connection reset by peer)
2025-02-18 13:52:24 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 252 seconds)
2025-02-18 13:52:33 +0100jespada(~jespada@2800:a4:2354:b900:ccdb:e535:ea96:c225) jespada
2025-02-18 13:53:39 +0100atwm(~andrew@19-193-28-81.ftth.cust.kwaoo.net) atwm
2025-02-18 13:55:02 +0100pavonia(~user@user/siracusa) (Quit: Bye!)
2025-02-18 13:58:12 +0100atwm(~andrew@19-193-28-81.ftth.cust.kwaoo.net) (Ping timeout: 272 seconds)
2025-02-18 14:02:30 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) lortabac
2025-02-18 14:08:24 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:7be1:7b66:cb37:6259)
2025-02-18 14:11:27 +0100raym(~ray@user/raym) raym
2025-02-18 14:17:58 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:7be1:7b66:cb37:6259) (Read error: Connection reset by peer)
2025-02-18 14:18:18 +0100acidjnk(~acidjnk@p200300d6e7283f20c06f460756a3e282.dip0.t-ipconnect.de) (Ping timeout: 245 seconds)
2025-02-18 14:21:51 +0100yegorc(~yegorc@user/yegorc) (Quit: Leaving)
2025-02-18 14:24:46 +0100landonf(landonf@mac68k.info) (Quit: ZNC - http://znc.sourceforge.net)
2025-02-18 14:25:28 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:7be1:7b66:cb37:6259)
2025-02-18 14:28:17 +0100atwm(~andrew@19-193-28-81.ftth.cust.kwaoo.net) atwm
2025-02-18 14:28:47 +0100Googulator91Googulator
2025-02-18 14:35:18 +0100atwm(~andrew@19-193-28-81.ftth.cust.kwaoo.net) (Ping timeout: 268 seconds)
2025-02-18 14:35:34 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-02-18 14:35:47 +0100atwm(~andrew@19-193-28-81.ftth.cust.kwaoo.net) atwm
2025-02-18 14:39:58 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 245 seconds)
2025-02-18 14:39:59 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:7be1:7b66:cb37:6259) (Read error: Connection reset by peer)
2025-02-18 14:42:13 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:7be1:7b66:cb37:6259)
2025-02-18 14:42:42 +0100pabs3(~pabs3@user/pabs3) (Ping timeout: 268 seconds)
2025-02-18 14:42:46 +0100acidjnk(~acidjnk@p200300d6e7283f20c06f460756a3e282.dip0.t-ipconnect.de) acidjnk
2025-02-18 14:46:07 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:7be1:7b66:cb37:6259) (Read error: Connection reset by peer)
2025-02-18 14:49:29 +0100atwm(~andrew@19-193-28-81.ftth.cust.kwaoo.net) (Ping timeout: 268 seconds)
2025-02-18 14:51:45 +0100jespada(~jespada@2800:a4:2354:b900:ccdb:e535:ea96:c225) (Ping timeout: 248 seconds)
2025-02-18 14:52:07 +0100pabs3(~pabs3@user/pabs3) pabs3
2025-02-18 14:52:24 +0100zungi(~tory@user/andrewchawk) (Ping timeout: 264 seconds)
2025-02-18 14:54:54 +0100weary-traveler(~user@user/user363627) user363627
2025-02-18 14:55:01 +0100jespada(~jespada@2800:a4:230a:8500:3876:76b6:1a27:e08) jespada
2025-02-18 15:03:13 +0100zungi(~tory@user/andrewchawk) andrewchawk
2025-02-18 15:09:27 +0100atwm(~andrew@19-193-28-81.ftth.cust.kwaoo.net) atwm
2025-02-18 15:16:44 +0100atwm(~andrew@19-193-28-81.ftth.cust.kwaoo.net) (Ping timeout: 252 seconds)
2025-02-18 15:18:57 +0100myxos(~myxos@syn-065-028-251-121.res.spectrum.com) (Ping timeout: 248 seconds)
2025-02-18 15:23:38 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-02-18 15:28:06 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 252 seconds)
2025-02-18 15:36:41 +0100atwm(~andrew@19-193-28-81.ftth.cust.kwaoo.net) atwm
2025-02-18 15:42:22 +0100atwm(~andrew@19-193-28-81.ftth.cust.kwaoo.net) (Ping timeout: 244 seconds)
2025-02-18 15:43:24 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Ping timeout: 244 seconds)
2025-02-18 15:45:53 +0100Digitteknohippie(~user@user/digit) Digit
2025-02-18 15:45:59 +0100Digit(~user@user/digit) (Ping timeout: 244 seconds)
2025-02-18 15:47:28 +0100CiaoSen(~Jura@ip-037-201-240-075.um10.pools.vodafone-ip.de) (Ping timeout: 245 seconds)
2025-02-18 15:49:50 +0100DigitteknohippieDigit
2025-02-18 15:51:14 +0100bitterx(~bitterx@user/bitterx) (Remote host closed the connection)
2025-02-18 15:52:57 +0100Pixi`(~Pixi@user/pixi) (Ping timeout: 252 seconds)
2025-02-18 15:54:55 +0100atwm(~andrew@19-193-28-81.ftth.cust.kwaoo.net) atwm
2025-02-18 16:04:33 +0100atwm(~andrew@19-193-28-81.ftth.cust.kwaoo.net) (Ping timeout: 245 seconds)
2025-02-18 16:07:17 +0100atwm(~andrew@19-193-28-81.ftth.cust.kwaoo.net) atwm
2025-02-18 16:12:59 +0100atwm(~andrew@19-193-28-81.ftth.cust.kwaoo.net) (Ping timeout: 260 seconds)
2025-02-18 16:13:03 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-02-18 16:13:47 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
2025-02-18 16:15:16 +0100misterfi1h(~misterfis@31-161-39-137.biz.kpn.net) misterfish
2025-02-18 16:16:07 +0100misterfi1h(~misterfis@31-161-39-137.biz.kpn.net) (Client Quit)
2025-02-18 16:16:23 +0100misterfi1h(~misterfis@31-161-39-137.biz.kpn.net) misterfish
2025-02-18 16:16:24 +0100misterfi1h(~misterfis@31-161-39-137.biz.kpn.net) (Client Quit)
2025-02-18 16:16:30 +0100misterfish(~misterfis@31-161-39-137.biz.kpn.net) (Ping timeout: 252 seconds)
2025-02-18 16:17:17 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 244 seconds)
2025-02-18 16:19:49 +0100acidjnk(~acidjnk@p200300d6e7283f20c06f460756a3e282.dip0.t-ipconnect.de) (Ping timeout: 248 seconds)
2025-02-18 16:20:02 +0100acidjnk(~acidjnk@p200300d6e7283f20718e6a656831e8a3.dip0.t-ipconnect.de) acidjnk
2025-02-18 16:22:25 +0100Pixi(~Pixi@user/pixi) Pixi
2025-02-18 16:23:24 +0100atwm(~andrew@19-193-28-81.ftth.cust.kwaoo.net) atwm
2025-02-18 16:23:36 +0100zungi(~tory@user/andrewchawk) (Ping timeout: 264 seconds)
2025-02-18 16:31:14 +0100misterfish(~misterfis@31-161-39-137.biz.kpn.net) misterfish
2025-02-18 16:31:24 +0100zungi(~tory@user/andrewchawk) andrewchawk
2025-02-18 16:38:52 +0100misterfish(~misterfis@31-161-39-137.biz.kpn.net) (Ping timeout: 252 seconds)
2025-02-18 16:38:57 +0100atwm(~andrew@19-193-28-81.ftth.cust.kwaoo.net) (Ping timeout: 248 seconds)
2025-02-18 16:40:00 +0100atwm(~andrew@19-193-28-81.ftth.cust.kwaoo.net) atwm
2025-02-18 16:48:08 +0100tromp(~textual@2a02:a210:cba:8500:de2:dd98:e9b0:1ec7)
2025-02-18 16:51:29 +0100Pixi(~Pixi@user/pixi) (Ping timeout: 260 seconds)
2025-02-18 16:52:30 +0100atwm(~andrew@19-193-28-81.ftth.cust.kwaoo.net) (Ping timeout: 265 seconds)
2025-02-18 16:53:44 +0100atwm(~andrew@19-193-28-81.ftth.cust.kwaoo.net) atwm
2025-02-18 17:00:06 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-02-18 17:00:53 +0100atwm(~andrew@19-193-28-81.ftth.cust.kwaoo.net) (Ping timeout: 248 seconds)
2025-02-18 17:04:08 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 245 seconds)
2025-02-18 17:07:42 +0100chele(~chele@user/chele) (Remote host closed the connection)
2025-02-18 17:09:13 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.5.1)
2025-02-18 17:11:23 +0100Everything(~Everythin@static.208.206.21.65.clients.your-server.de) Everything
2025-02-18 17:14:27 +0100atwm(~andrew@19-193-28-81.ftth.cust.kwaoo.net) atwm
2025-02-18 17:14:38 +0100ColinRobinson(~juan@user/JuanDaugherty) (Quit: praxis.meansofproduction.biz (juan@acm.org))
2025-02-18 17:22:52 +0100atwm(~andrew@19-193-28-81.ftth.cust.kwaoo.net) (Ping timeout: 252 seconds)
2025-02-18 17:30:02 +0100justsomeguy(~justsomeg@user/justsomeguy) justsomeguy
2025-02-18 17:30:08 +0100atwm(~andrew@19-193-28-81.ftth.cust.kwaoo.net) atwm
2025-02-18 17:30:12 +0100ash3en(~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) (Ping timeout: 265 seconds)
2025-02-18 17:34:29 +0100atwm(~andrew@19-193-28-81.ftth.cust.kwaoo.net) (Ping timeout: 244 seconds)
2025-02-18 17:38:56 +0100Pixi(~Pixi@user/pixi) Pixi
2025-02-18 17:46:10 +0100 <pounce> does anybody know how to delete all _built_ packages in cabal?
2025-02-18 17:46:25 +0100 <pounce> here's my xyproblem: I'm trying to fix performance of building a haskell project with all dependencies
2025-02-18 17:46:41 +0100 <pounce> but once i build it once then it's faster... because cabal caches all the pcakages
2025-02-18 17:47:28 +0100 <sclv> pass in a different - - store-dir
2025-02-18 17:48:00 +0100 <pounce> the actual cabal command is pretty deep in a makefile
2025-02-18 17:48:31 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-02-18 17:49:04 +0100 <sclv> ok then change the storedir in your ~/.cabal/config
2025-02-18 17:49:35 +0100 <sclv> you can also delete the whole store from thereabouts if you Really want
2025-02-18 17:49:43 +0100 <pounce> i don't have a ~/.cabal bc i use it with the xdg desktop dirs setup
2025-02-18 17:49:44 +0100atwm(~andrew@19-193-28-81.ftth.cust.kwaoo.net) atwm
2025-02-18 17:49:46 +0100 <pounce> which is why it's a bit harder
2025-02-18 17:49:57 +0100 <pounce> i tried deleting ~/.local/state/cabal but that didn't help
2025-02-18 17:50:17 +0100 <fvr> pounce: is there no ~/.config/cabal?
2025-02-18 17:50:58 +0100prasad(~Thunderbi@c-73-246-138-70.hsd1.in.comcast.net)
2025-02-18 17:51:06 +0100 <sclv> with xdg it might be somewhere else like local/state. i don’t remember where xdg will say store goes
2025-02-18 17:51:14 +0100 <pounce> i have that, but that's not where downloaded files go
2025-02-18 17:51:20 +0100 <pounce> since ~/.config is human modified only
2025-02-18 17:52:13 +0100 <fvr> But perhaps you can change storedir in ~/.config/cabal/config
2025-02-18 17:52:45 +0100 <[exa]> pounce: if I got it right you're benchmarking the build time?
2025-02-18 17:53:15 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 268 seconds)
2025-02-18 17:53:19 +0100 <pounce> yeah
2025-02-18 17:53:53 +0100 <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
2025-02-18 17:54:02 +0100atwm(~andrew@19-193-28-81.ftth.cust.kwaoo.net) (Ping timeout: 252 seconds)
2025-02-18 17:54:03 +0100 <pounce> before I PR
2025-02-18 17:54:32 +0100 <[exa]> not sure if -j1 from `make` will propagate to cabal builds tbh (unless there's some magicks involved)
2025-02-18 17:54:34 +0100 <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
2025-02-18 17:55:04 +0100 <pounce> well afaik downloads are stored in ~/.cache
2025-02-18 17:55:11 +0100 <pounce> because when i removed ~/.cache/cabal only the downloads happened again
2025-02-18 17:55:23 +0100 <pounce> [exa]: sorry, -j1 for *cabal*
2025-02-18 17:55:33 +0100 <pounce> e.g. CABAL_ARGS="-j1 ...."
2025-02-18 17:55:34 +0100 <geekosaur> if you remove the store, downloaded files are still around; that's ~/.cache/cabal/packages
2025-02-18 17:55:36 +0100 <fvr> ah, I see
2025-02-18 17:55:57 +0100 <fvr> does `CABAL_DIR` environment variable still work with xdg ?
2025-02-18 17:56:05 +0100 <geekosaur> yes
2025-02-18 17:56:23 +0100 <[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...
2025-02-18 17:56:48 +0100 <[exa]> pounce: anyway passing random -j1s like this is very bad indeed and your cause is important! :D
2025-02-18 17:57:06 +0100 <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>
2025-02-18 17:57:12 +0100sord937(~sord937@gateway/tor-sasl/sord937) (Ping timeout: 264 seconds)
2025-02-18 17:57:53 +0100 <[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
2025-02-18 17:58:04 +0100 <pounce> oops, a few years being... 14 years ago xD
2025-02-18 17:58:07 +0100 <fvr> what happens if you instead set `XDG_STATE_HOME` env variable before running, does that change state directory
2025-02-18 17:58:13 +0100 <pounce> but hey it's an old haskell project
2025-02-18 17:59:08 +0100 <pounce> https://stackoverflow.com/a/16959611/7903988 [-j1 .... "gives much cleaner output"]
2025-02-18 17:59:10 +0100 <pounce> in 2013
2025-02-18 17:59:11 +0100sord937(~sord937@gateway/tor-sasl/sord937) sord937
2025-02-18 17:59:20 +0100 <pounce> which is probably why it was done with this originally
2025-02-18 18:01:39 +0100remexre(~remexre@user/remexre) (Ping timeout: 252 seconds)
2025-02-18 18:01:40 +0100jespada(~jespada@2800:a4:230a:8500:3876:76b6:1a27:e08) (Quit: My Mac has gone to sleep. ZZZzzz…)
2025-02-18 18:04:05 +0100 <pounce> if i set CABAL_DIR=/tmp/cabal and then delete everything in /tmp/cabal it still says all the packages were installed
2025-02-18 18:05:56 +0100 <[exa]> pounce: ok well cabal was completely different in 2013. that might be even before the nix-style builds.
2025-02-18 18:06:31 +0100machinedgod(~machinedg@2001:56a:7e11:e000:1878:e786:5ea1:464f) (Ping timeout: 244 seconds)
2025-02-18 18:10:03 +0100ash3en(~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) ash3en
2025-02-18 18:11:57 +0100 <fvr> pounce: perhaps try setting `XDG_STATE_HOME` instead
2025-02-18 18:13:22 +0100kuribas(~user@ip-188-118-57-242.reverse.destiny.be) (Ping timeout: 248 seconds)
2025-02-18 18:13:54 +0100j1n37(~j1n37@user/j1n37) j1n37
2025-02-18 18:14:29 +0100ash3en(~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) (Ping timeout: 260 seconds)
2025-02-18 18:15:01 +0100j1n37-(~j1n37@user/j1n37) (Ping timeout: 248 seconds)
2025-02-18 18:15:57 +0100 <pounce> oops all my haskell packages are broken :(
2025-02-18 18:17:13 +0100comerijn(~merijn@77.242.116.146) merijn
2025-02-18 18:17:32 +0100 <pounce> m, the package registry was in ~/.ghc
2025-02-18 18:19:36 +0100Eoco(~ian@128.101.131.218) (Quit: WeeChat 4.4.2)
2025-02-18 18:19:46 +0100merijn(~merijn@77.242.116.146) (Ping timeout: 268 seconds)
2025-02-18 18:20:36 +0100Eoco(~ian@128.101.131.218) Eoco
2025-02-18 18:20:54 +0100ash3en(~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) ash3en
2025-02-18 18:22:12 +0100_ht(~huub@62.250.52.179) _ht
2025-02-18 18:22:38 +0100 <ski> @where SICP
2025-02-18 18:22:38 +0100 <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/
2025-02-18 18:22:38 +0100 <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-
2025-02-18 18:22:38 +0100 <lambdabot> sussman-lectures/> | See also `SICP-cabal'
2025-02-18 18:22:45 +0100 <ski> (updated broken links)
2025-02-18 18:23:08 +0100 <ski> @where SICP-cabal
2025-02-18 18:23:08 +0100 <lambdabot> "Storage and Identification of Cabalized Packages" <https://www.vex.net/~trebla/haskell/sicp.xhtml>
2025-02-18 18:23:34 +0100comerijn(~merijn@77.242.116.146) (Ping timeout: 272 seconds)
2025-02-18 18:27:29 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich
2025-02-18 18:28:45 +0100remexre(~remexre@user/remexre) remexre
2025-02-18 18:32:24 +0100 <__monty__> ski: This is a nice modern version of SICP.texi, https://sarabander.github.io/sicp/html/index.xhtml
2025-02-18 18:33:12 +0100kuribas(~user@2a02:1808:87:2851:88d8:aec0:c000:8e91) kuribas
2025-02-18 18:34:14 +0100 <ski> ah, ty
2025-02-18 18:34:33 +0100remexre(~remexre@user/remexre) (Ping timeout: 245 seconds)
2025-02-18 18:36:02 +0100remexre(~remexre@user/remexre) remexre
2025-02-18 18:37:51 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-02-18 18:38:50 +0100wootehfoot(~wootehfoo@user/wootehfoot) wootehfoot
2025-02-18 18:42:06 +0100kuribas(~user@2a02:1808:87:2851:88d8:aec0:c000:8e91) (ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.3))
2025-02-18 18:42:13 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 265 seconds)
2025-02-18 18:44:03 +0100 <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
2025-02-18 18:46:21 +0100hattckory(~hattckory@bras-base-toroon4524w-grc-38-67-71-152-102.dsl.bell.ca) (Ping timeout: 276 seconds)
2025-02-18 18:50:52 +0100ft(~ft@p4fc2a610.dip0.t-ipconnect.de) ft
2025-02-18 18:52:04 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 272 seconds)
2025-02-18 18:59:02 +0100L29Ah(~L29Ah@wikipedia/L29Ah) ()
2025-02-18 18:59:17 +0100justsomeguy(~justsomeg@user/justsomeguy) (Ping timeout: 252 seconds)
2025-02-18 19:00:09 +0100JuanDaugherty(~juan@user/JuanDaugherty) JuanDaugherty
2025-02-18 19:01:24 +0100 <ski> @where SICP
2025-02-18 19:01:24 +0100 <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/>
2025-02-18 19:01:25 +0100 <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'
2025-02-18 19:01:31 +0100 <ski> @where SICP-html
2025-02-18 19:01:31 +0100 <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>
2025-02-18 19:01:35 +0100 <ski> @where SICP-pdf
2025-02-18 19:01:35 +0100 <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>,
2025-02-18 19:01:35 +0100 <lambdabot> <https://github.com/minghai/sicp-pdf/>
2025-02-18 19:01:38 +0100 <ski> @where SICP-epub
2025-02-18 19:01:38 +0100 <lambdabot> <https://github.com/sarabander/sicp-epub/blob/master/sicp.epub?raw=true>,<https://www.dropbox.com/s/y9jt5kmabt02yg8/sicp.epub?dl=0>
2025-02-18 19:04:05 +0100target_i(~target_i@user/target-i/x-6023099) target_i
2025-02-18 19:04:50 +0100ubert(~Thunderbi@2a02:8109:ab8a:5a00:e800:c307:ee17:7c28) (Remote host closed the connection)
2025-02-18 19:05:38 +0100jespada(~jespada@2800:a4:230a:8500:3876:76b6:1a27:e08) jespada
2025-02-18 19:07:22 +0100jespada_(~jespada@2800:a4:230a:8500:3876:76b6:1a27:e08) jespada
2025-02-18 19:07:59 +0100MyNetAz(~MyNetAz@user/MyNetAz) (Remote host closed the connection)
2025-02-18 19:10:25 +0100jespada(~jespada@2800:a4:230a:8500:3876:76b6:1a27:e08) (Ping timeout: 248 seconds)
2025-02-18 19:12:13 +0100ljdarj(~Thunderbi@user/ljdarj) ljdarj
2025-02-18 19:14:10 +0100 <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)?
2025-02-18 19:15:00 +0100MyNetAz(~MyNetAz@user/MyNetAz) MyNetAz
2025-02-18 19:18:40 +0100atwm(~andrew@19-193-28-81.ftth.cust.kwaoo.net) atwm
2025-02-18 19:19:19 +0100 <[exa]> hololeap: AccumT is internally roughly the same as StateT right? reads to me a lot like CPS is already there
2025-02-18 19:22:45 +0100 <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)
2025-02-18 19:23:44 +0100atwm(~andrew@19-193-28-81.ftth.cust.kwaoo.net) (Ping timeout: 272 seconds)
2025-02-18 19:25:02 +0100dminuoso(~weechat@user/dminuoso) (Quit: WeeChat 4.2.2)
2025-02-18 19:27:07 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-02-18 19:31:34 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 252 seconds)
2025-02-18 19:32:13 +0100dminuoso(~weechat@user/dminuoso) dminuoso
2025-02-18 19:32:16 +0100tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net)
2025-02-18 19:32:25 +0100 <dminuoso> tomsmeding: Thanks, those weechat options work fine. :)
2025-02-18 19:32:51 +0100 <dminuoso> It's almost bizarre that I have been using weechat for over 10 years, but unable to do even the most basic configuration..
2025-02-18 19:33:07 +0100atwm(~andrew@19-193-28-81.ftth.cust.kwaoo.net) atwm
2025-02-18 19:33:48 +0100 <int-e> hololeap: >>= is different: https://paste.tomsmeding.com/3y0drzUF
2025-02-18 19:35:17 +0100 <int-e> hololeap: err, and so is the type. newtype WriterT w m a = WriterT { runWriterT :: m (a, w) }
2025-02-18 19:35:47 +0100 <int-e> (no w argument)
2025-02-18 19:35:52 +0100 <hololeap> when I said "also w -> m (a, w)" I was comparing it to AccumT
2025-02-18 19:36:34 +0100 <int-e> Ah. I only read half the context as usual :-/
2025-02-18 19:37:14 +0100 <hololeap> no worries! I just wanted to make sure we were on the same page
2025-02-18 19:38:37 +0100 <int-e> So the difference is the interface.
2025-02-18 19:38:42 +0100atwm(~andrew@19-193-28-81.ftth.cust.kwaoo.net) (Ping timeout: 268 seconds)
2025-02-18 19:41:19 +0100atwm(~andrew@19-193-28-81.ftth.cust.kwaoo.net) atwm
2025-02-18 19:42:17 +0100int-ewonders how many people have ever used `censor`
2025-02-18 19:42:36 +0100 <int-e> (from Writer)
2025-02-18 19:43:22 +0100Pixi(~Pixi@user/pixi) (Ping timeout: 272 seconds)
2025-02-18 19:44:37 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 248 seconds)
2025-02-18 19:45:19 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915) Lord_of_Life
2025-02-18 19:49:06 +0100 <EvanR> quite an evocative name
2025-02-18 19:49:11 +0100atwm(~andrew@19-193-28-81.ftth.cust.kwaoo.net) (Ping timeout: 268 seconds)
2025-02-18 19:49:55 +0100atwm(~andrew@19-193-28-81.ftth.cust.kwaoo.net) atwm
2025-02-18 19:55:44 +0100 <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
2025-02-18 19:56:21 +0100 <dminuoso> I have accepted my fate in this universe: ChatGPT is doing my emacs customizations for me for similar reasons.
2025-02-18 19:56:33 +0100 <dminuoso> It's my best usecase for an LLM. :-)
2025-02-18 19:56:50 +0100 <tomsmeding> I have not yet accepted my fate
2025-02-18 19:56:54 +0100 <tomsmeding> maybe I'm too young yet
2025-02-18 19:57:20 +0100 <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.
2025-02-18 19:57:39 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-18 19:57:51 +0100 <dminuoso> It's rather the consequence of being bottlenecked.
2025-02-18 19:58:07 +0100Googulator(~Googulato@2a01-036d-0106-4074-e4c1-4d2b-93a1-bece.pool6.digikabel.hu) (Quit: Client closed)
2025-02-18 19:58:22 +0100Googulator(~Googulato@2a01-036d-0106-4074-e4c1-4d2b-93a1-bece.pool6.digikabel.hu)
2025-02-18 19:58:30 +0100 <tomsmeding> perhaps it would be different if I used emacs, and not vim, or perhaps it actually doesn't really matter
2025-02-18 19:58:43 +0100 <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
2025-02-18 19:58:43 +0100 <tomsmeding> they work differently for sure
2025-02-18 19:58:57 +0100 <geekosaur> I found elisp interesting enough to bother learning it
2025-02-18 19:59:24 +0100 <geekosaur> but then I started that in the late 80s, when it was more interesting than a lot of stuff
2025-02-18 19:59:34 +0100 <tomsmeding> heh
2025-02-18 19:59:57 +0100 <tomsmeding> EvanR: you want evocative names? Try MonadChronicle
2025-02-18 19:59:58 +0100atwm(~andrew@19-193-28-81.ftth.cust.kwaoo.net) (Ping timeout: 244 seconds)
2025-02-18 20:00:07 +0100 <geekosaur> these days I can't be arsed to learn vimscript, and the examples I've seen don't help
2025-02-18 20:00:25 +0100 <tomsmeding> the worst decision in vimscript is to make " the comment character
2025-02-18 20:00:43 +0100 <EvanR> " be comment is prior art elsewhere
2025-02-18 20:00:53 +0100 <tomsmeding> what moron decided that's a good idea
2025-02-18 20:01:08 +0100jespada_(~jespada@2800:a4:230a:8500:3876:76b6:1a27:e08) (Quit: My Mac has gone to sleep. ZZZzzz…)
2025-02-18 20:01:13 +0100 <EvanR> also single quote a synonym for REM
2025-02-18 20:01:25 +0100Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542) Unicorn_Princess
2025-02-18 20:01:42 +0100 <int-e> it's a nicely unobtrusive character, no?
2025-02-18 20:02:00 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-02-18 20:02:04 +0100 <tomsmeding> put something in "quotes" in your comment and oh no, suddenly half of your comment is a string literal
2025-02-18 20:02:11 +0100 <dminuoso> tomsmeding: Hey vim users should feel glad that strings dont use single hash instead: echo #Hello world
2025-02-18 20:02:24 +0100 <tomsmeding> isn't that a symbol?
2025-02-18 20:02:31 +0100 <tomsmeding> which is not quite the same as a string in lisp land
2025-02-18 20:02:36 +0100tomsmedingknows essentially no lisp
2025-02-18 20:03:06 +0100atwm(~andrew@19-193-28-81.ftth.cust.kwaoo.net) atwm
2025-02-18 20:03:33 +0100 <dminuoso> Heh, while I dont know much about elisp, the difference between let and let* instantly clicked
2025-02-18 20:03:46 +0100 <tomsmeding> what's the difference?
2025-02-18 20:03:58 +0100pavonia(~user@user/siracusa) siracusa
2025-02-18 20:04:02 +0100 <dminuoso> let* is sequential binding, whereas let does not enforce it.
2025-02-18 20:04:14 +0100 <tomsmeding> is 'let' lazy?
2025-02-18 20:04:24 +0100 <tomsmeding> or allows recursion?
2025-02-18 20:05:11 +0100 <dminuoso> Not quite, it's rather that let evaluates them concurrently
2025-02-18 20:05:12 +0100 <tomsmeding> int-e: using " for comments in vimscript is akin to using + for comments, or so
2025-02-18 20:05:19 +0100 <tomsmeding> you use both about equally often
2025-02-18 20:05:35 +0100 <dminuoso> Lack of lazyness means you cannot have let bindings refer to each other
2025-02-18 20:05:40 +0100 <dminuoso> But with let* you can refer to earlier ones
2025-02-18 20:05:44 +0100 <tomsmeding> dminuoso: any way you can observe that concurrent evaluation?
2025-02-18 20:06:13 +0100 <dminuoso> tomsmeding: absolutely, you can have side effects in them.
2025-02-18 20:06:26 +0100 <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?
2025-02-18 20:06:32 +0100 <dminuoso> Whether they actually do get executed concurrently or not probably depends on the exact kind of lisp you are using.
2025-02-18 20:06:35 +0100 <tomsmeding> and when you use the value you block until it's done?
2025-02-18 20:08:02 +0100 <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
2025-02-18 20:08:16 +0100 <dminuoso> It's more like in lambda calculus where `x` is just `x`.
2025-02-18 20:08:28 +0100 <tomsmeding> do you mean dynamic scoping? Or does it do symbolic execution?
2025-02-18 20:08:45 +0100 <dminuoso> What's the difference here in this context?
2025-02-18 20:08:53 +0100 <dminuoso> But yeah, dynamic scoping.
2025-02-18 20:09:23 +0100 <tomsmeding> whether `(+ (+ 2 3) x)`, when x is undefined, evaluates to `(+ 5 x)`, or to "error: x is not bound"
2025-02-18 20:09:57 +0100 <dminuoso> Im not sure about this example to be honest.
2025-02-18 20:10:17 +0100 <dminuoso> There's also evaluation strategy in the mix now.
2025-02-18 20:10:35 +0100 <tomsmeding> I would also accept `(+ (+ 2 3) x)` instead of `(+ 5 x)`. :)
2025-02-18 20:10:40 +0100atwm(~andrew@19-193-28-81.ftth.cust.kwaoo.net) (Ping timeout: 265 seconds)
2025-02-18 20:10:45 +0100 <tomsmeding> (if it decides to evaluate arguments right-to-left or something)
2025-02-18 20:11:19 +0100 <tomsmeding> I don't see any other sensible results than those three
2025-02-18 20:11:26 +0100machinedgod(~machinedg@d108-173-18-100.abhsia.telus.net) machinedgod
2025-02-18 20:11:33 +0100 <dminuoso> I would say symbolic execution is a strategy to get a maximall dynamically scoped program.
2025-02-18 20:11:35 +0100 <tomsmeding> the "error" result would correspond to dynamic scoping, the other two to symbolic execution
2025-02-18 20:12:28 +0100 <tomsmeding> is there some 'print' function that puts whatever you pass it as argument, onto the screen as output?
2025-02-18 20:12:36 +0100 <tomsmeding> what does `(print (+ (+ 2 3) x))` yield?
2025-02-18 20:12:36 +0100atwm(~andrew@19-193-28-81.ftth.cust.kwaoo.net) atwm
2025-02-18 20:12:58 +0100 <tomsmeding> assuming x has not yet been defined
2025-02-18 20:13:02 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-18 20:13:20 +0100 <dminuoso> That would give you (void-variable x)
2025-02-18 20:13:32 +0100 <dminuoso> In lisp the difference between symbolic execution and dynamic scoping is meaningless
2025-02-18 20:13:41 +0100 <dminuoso> I would say its both?
2025-02-18 20:14:11 +0100 <tomsmeding> aha, so the `(+ 5 _)` context was lost
2025-02-18 20:14:38 +0100 <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
2025-02-18 20:15:38 +0100 <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.
2025-02-18 20:15:48 +0100 <dminuoso> This is what homoiconicity means
2025-02-18 20:15:52 +0100 <tomsmeding> assume I'm treating it as code :p
2025-02-18 20:16:01 +0100 <dminuoso> That's a personal choice?
2025-02-18 20:16:18 +0100 <tomsmeding> I dunno, perhaps I'm trying too hard to map this to concepts I know
2025-02-18 20:16:25 +0100 <tomsmeding> I probably am
2025-02-18 20:17:11 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-02-18 20:17:13 +0100sprotte24(~sprotte24@p200300d16f0680000494f5c588a940e5.dip0.t-ipconnect.de)
2025-02-18 20:17:36 +0100 <tomsmeding> I know roughly what 'quote' and 'eval' do
2025-02-18 20:17:41 +0100 <dminuoso> tomsmeding: What Im saying is, is there a big meaningful difference between (+ 5 x) and '(+ 5 x) ?
2025-02-18 20:17:55 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2025-02-18 20:18:14 +0100 <tomsmeding> well, if I evaluate the former I get (void-variable x), whereas if I evaluate the latter, I get '(+ 5 x)
2025-02-18 20:18:19 +0100 <tomsmeding> so semantically, yes :p
2025-02-18 20:18:28 +0100 <dminuoso> Well you can (eval) it
2025-02-18 20:18:30 +0100 <tomsmeding> perhaps the ' there is not quite appropriate
2025-02-18 20:18:40 +0100 <dminuoso> And depending on whether you (setq x 10) before it blows up or not.
2025-02-18 20:18:43 +0100 <tomsmeding> yes
2025-02-18 20:18:49 +0100 <dminuoso> That is, '(+ 5 x) is not a quoted closure
2025-02-18 20:18:54 +0100 <tomsmeding> I get that
2025-02-18 20:19:34 +0100 <tomsmeding> okay, I think I get what you're saying in that it's somehow "both" symbolic execution and dynamic scoping
2025-02-18 20:19:59 +0100 <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.
2025-02-18 20:20:02 +0100 <tomsmeding> it's a term reducer
2025-02-18 20:20:08 +0100 <tomsmeding> right
2025-02-18 20:20:12 +0100 <dminuoso> Its idiomatic to blend the quoted and not quoted language.
2025-02-18 20:20:38 +0100 <tomsmeding> in my mind, it's just that, though: it's idiomatic to blend the quoted and non-quoted language
2025-02-18 20:20:42 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-18 20:20:43 +0100 <tomsmeding> doesn't mean that there's magic going on
2025-02-18 20:21:08 +0100 <tomsmeding> just that you have different idioms, and syntax (and builtins) that are designed specifically for those idioms
2025-02-18 20:21:49 +0100 <dminuoso> Okay the more I think about it, the more I accept that its really not symbolic execution.
2025-02-18 20:22:00 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 272 seconds)
2025-02-18 20:22:15 +0100 <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
2025-02-18 20:22:21 +0100 <dminuoso> Because the act of unquoting/eval'ing dynamically binds it
2025-02-18 20:22:25 +0100bilegeek(~bilegeek@2600:1008:b0a4:c6d5:66f:6873:2abc:50c5) bilegeek
2025-02-18 20:22:37 +0100jespada(~jespada@2800:a4:230a:8500:3876:76b6:1a27:e08) jespada
2025-02-18 20:22:37 +0100 <tomsmeding> and because ' is so unobtrusive, it feels like `x` gets a more symbolic meaning somehow?
2025-02-18 20:22:57 +0100 <dminuoso> But there's no way to sort of reduce `(+ (+ 2 3) x)` to `(+ 5 x)`, short of running it through a lisp interpreter.
2025-02-18 20:23:07 +0100 <tomsmeding> not a standard lisp interpreter even
2025-02-18 20:23:23 +0100 <haskellbridge> <magic_rb> Did this channel get mixed up with a lisp channel? :P
2025-02-18 20:23:32 +0100 <dminuoso> Hey, when do we ever talk about Haskell in where?
2025-02-18 20:23:39 +0100 <dminuoso> Haskell is for #haskell-offtopic-offtopic.
2025-02-18 20:23:41 +0100 <tomsmeding> magic_rb: it started with weechat, if you believe that
2025-02-18 20:24:02 +0100 <haskellbridge> <magic_rb> tomsmeding: i do :P
2025-02-18 20:24:24 +0100lisbeths(uid135845@id-135845.lymington.irccloud.com) lisbeths
2025-02-18 20:24:29 +0100 <dminuoso> tomsmeding: By the way, did I ever apologize to pulling you to munihac 2 years ago and not showing up?
2025-02-18 20:24:44 +0100 <tomsmeding> I never went to munihac, so there's nothing to apologise for?
2025-02-18 20:24:47 +0100 <dminuoso> Oh!
2025-02-18 20:24:50 +0100 <tomsmeding> perhaps someone else :)
2025-02-18 20:24:52 +0100 <haskellbridge> <magic_rb> dminuoso: right so #haskell is for offtopic and #haskell-offtopic is for haskell, statistically checks out
2025-02-18 20:25:05 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-02-18 20:25:06 +0100 <tomsmeding> magic_rb: no, that's #haskell-offtopic-offtopic
2025-02-18 20:25:27 +0100 <tomsmeding> #haskell-offtopic is for offtopic
2025-02-18 20:25:30 +0100 <dminuoso> (And yes, that place once existed because people were having haskell discussions in #haskell-offtopic)
2025-02-18 20:25:31 +0100 <tomsmeding> #haskell is for lisp, it seems, today
2025-02-18 20:25:42 +0100tomsmedinghas never seen it
2025-02-18 20:25:45 +0100Patternmaster(~georg@user/Patternmaster) (Quit: leaving)
2025-02-18 20:25:52 +0100 <dminuoso> It may have fallen into the abyss
2025-02-18 20:26:03 +0100Patternmaster(~georg@user/Patternmaster) Patternmaster
2025-02-18 20:26:27 +0100 <int-e> dminuoso: don't look up if you hate people people staring at you
2025-02-18 20:26:43 +0100 <haskellbridge> <magic_rb> Should have been #offtopic-haskell-offtopic a nice offtopic sandwich
2025-02-18 20:26:50 +0100 <tomsmeding> but then, don't look down if you don't like the abyss staring at you?
2025-02-18 20:26:58 +0100 <tomsmeding> hah
2025-02-18 20:27:04 +0100 <haskellbridge> <magic_rb> Just dont look, problem solved
2025-02-18 20:27:28 +0100atwm(~andrew@19-193-28-81.ftth.cust.kwaoo.net) (Ping timeout: 245 seconds)
2025-02-18 20:27:35 +0100 <monochrom> #haskell ≅ ∀r. #haskell-r-r >:)
2025-02-18 20:27:50 +0100 <monochrom> (by Yoneda lemma!)
2025-02-18 20:27:53 +0100 <tomsmeding> and now we've merged with ##dependent
2025-02-18 20:28:20 +0100 <dminuoso> I categorically reject that joke.
2025-02-18 20:28:46 +0100 <int-e> @quote dependable
2025-02-18 20:28:47 +0100 <lambdabot> int-e says: I want dependable types.
2025-02-18 20:29:38 +0100 <monochrom> @unmtl Cont offtopic haskell
2025-02-18 20:29:38 +0100 <lambdabot> (haskell -> offtopic) -> offtopic
2025-02-18 20:29:41 +0100 <monochrom> :)
2025-02-18 20:30:42 +0100 <int-e> monochrom: what about -blah
2025-02-18 20:30:52 +0100 <monochrom> @unmtl Cont blah haskell
2025-02-18 20:30:52 +0100 <lambdabot> (haskell -> blah) -> blah
2025-02-18 20:31:25 +0100 <tomsmeding> surely not, surely there we have haskell-blah-blah = haskell - 2blah
2025-02-18 20:31:51 +0100sord937(~sord937@gateway/tor-sasl/sord937) (Quit: sord937)
2025-02-18 20:36:01 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-18 20:38:09 +0100L29Ah(~L29Ah@wikipedia/L29Ah) L29Ah
2025-02-18 20:40:44 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-02-18 20:40:58 +0100ash3en(~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) (Quit: ash3en)
2025-02-18 20:44:39 +0100Patternmaster(~georg@user/Patternmaster) (Quit: leaving)
2025-02-18 20:44:56 +0100Patternmaster(~georg@vmi1645272.contaboserver.net) Patternmaster
2025-02-18 20:44:56 +0100Patternmaster(~georg@vmi1645272.contaboserver.net) (Changing host)
2025-02-18 20:44:56 +0100Patternmaster(~georg@user/Patternmaster) Patternmaster
2025-02-18 20:51:04 +0100weary-traveler(~user@user/user363627) (Remote host closed the connection)
2025-02-18 20:51:23 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-18 20:52:03 +0100wootehfoot(~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
2025-02-18 20:56:24 +0100ec_(~ec@gateway/tor-sasl/ec) ec
2025-02-18 20:58:05 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-02-18 20:59:36 +0100zungi(~tory@user/andrewchawk) (Ping timeout: 264 seconds)
2025-02-18 21:00:01 +0100caconym(~caconym@user/caconym) (Quit: bye)
2025-02-18 21:00:12 +0100ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 264 seconds)
2025-02-18 21:00:41 +0100caconym(~caconym@user/caconym) caconym
2025-02-18 21:03:25 +0100ec(~ec@gateway/tor-sasl/ec) ec
2025-02-18 21:04:36 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-02-18 21:05:00 +0100ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 264 seconds)
2025-02-18 21:08:53 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 248 seconds)
2025-02-18 21:09:50 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-18 21:14:13 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-02-18 21:16:26 +0100lxsameer(~lxsameer@Serene/lxsameer) (Ping timeout: 244 seconds)
2025-02-18 21:18:12 +0100ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 264 seconds)
2025-02-18 21:21:38 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-18 21:22:19 +0100simplystuart(~simplystu@c-75-75-152-164.hsd1.pa.comcast.net) (Remote host closed the connection)
2025-02-18 21:22:19 +0100euphores(~SASL_euph@user/euphores) (Ping timeout: 252 seconds)
2025-02-18 21:22:19 +0100Yumemi(~Yumemi@chamoin.net) (Ping timeout: 252 seconds)
2025-02-18 21:22:20 +0100MyNetAz(~MyNetAz@user/MyNetAz) (Remote host closed the connection)
2025-02-18 21:22:32 +0100euphores(~SASL_euph@user/euphores) euphores
2025-02-18 21:22:50 +0100Yumemi(~Yumemi@chamoin.net) Yumemi
2025-02-18 21:23:00 +0100simplystuart(~simplystu@c-75-75-152-164.hsd1.pa.comcast.net)
2025-02-18 21:24:21 +0100 <hololeap> forall r. (a -> (s -> IO (r,s)) -> s -> IO (r,s)) -> (s -> IO (r,s)) -> (s -> IO (r,s))
2025-02-18 21:24:24 +0100 <hololeap> vs
2025-02-18 21:24:29 +0100 <hololeap> s -> (forall r. ((a,s) -> IO r -> IO r) -> IO r -> IO r)
2025-02-18 21:24:32 +0100 <hololeap> hmm
2025-02-18 21:25:15 +0100 <hololeap> LogicT (StateT s IO) vs. StateT s (LogicT IO)
2025-02-18 21:28:03 +0100 <hololeap> the second one looks far more sane so it's probably what I want
2025-02-18 21:28:52 +0100 <hololeap> (going down a tree of dependencies, with the possibility to branch at each node, modifying a state along the way)
2025-02-18 21:29:20 +0100MyNetAz(~MyNetAz@user/MyNetAz) MyNetAz
2025-02-18 21:30:36 +0100ec(~ec@gateway/tor-sasl/ec) ec
2025-02-18 21:30:56 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds)
2025-02-18 21:35:17 +0100Everything(~Everythin@static.208.206.21.65.clients.your-server.de) (Quit: leaving)
2025-02-18 21:39:27 +0100weary-traveler(~user@user/user363627) user363627
2025-02-18 21:41:22 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-18 21:42:12 +0100ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 264 seconds)
2025-02-18 21:45:32 +0100JuanDaugherty(~juan@user/JuanDaugherty) (Quit: praxis.meansofproduction.biz (juan@acm.org))
2025-02-18 21:45:38 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-02-18 21:46:52 +0100sprotte24(~sprotte24@p200300d16f0680000494f5c588a940e5.dip0.t-ipconnect.de) (Read error: Connection reset by peer)
2025-02-18 21:51:41 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-02-18 21:51:59 +0100_ht(~huub@62.250.52.179) (Konversation terminated!)
2025-02-18 21:52:54 +0100ec(~ec@gateway/tor-sasl/ec) ec
2025-02-18 21:56:02 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 252 seconds)
2025-02-18 21:56:44 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-18 21:56:54 +0100sprotte24(~sprotte24@p200300d16f0680009d71da3872d3d25e.dip0.t-ipconnect.de)
2025-02-18 21:59:39 +0100michalz(~michalz@185.246.207.215) (Remote host closed the connection)
2025-02-18 22:02:45 +0100juri__(~juri@implicitcad.org) (Ping timeout: 248 seconds)
2025-02-18 22:03:48 +0100ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 264 seconds)
2025-02-18 22:04:44 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-02-18 22:06:58 +0100son0p(~ff@2800:e6:4000:d723:c181:4205:f2b1:437a) son0p
2025-02-18 22:07:11 +0100Pixi(~Pixi@user/pixi) Pixi
2025-02-18 22:11:45 +0100 <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
2025-02-18 22:12:01 +0100 <hololeap> so, fairly similar to a web spider I suppose
2025-02-18 22:13:10 +0100 <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
2025-02-18 22:15:19 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-18 22:16:19 +0100misterfish(~misterfis@84.53.85.146) misterfish
2025-02-18 22:16:59 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich
2025-02-18 22:19:09 +0100jespada(~jespada@2800:a4:230a:8500:3876:76b6:1a27:e08) (Quit: Textual IRC Client: www.textualapp.com)
2025-02-18 22:19:33 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2025-02-18 22:19:51 +0100juri_(~juri@implicitcad.org) juri_
2025-02-18 22:24:43 +0100jespada(~jespada@2800:a4:230a:8500:59b5:6023:4dee:9fa3) jespada
2025-02-18 22:26:40 +0100jespada(~jespada@2800:a4:230a:8500:59b5:6023:4dee:9fa3) (Client Quit)
2025-02-18 22:27:04 +0100tremon(~tremon@83.80.159.219) tremon
2025-02-18 22:29:33 +0100 <monochrom> LogicT = codensity of ListT-done-right
2025-02-18 22:30:36 +0100 <monochrom> codensity of M = forall r. (a -> m r) -> m r
2025-02-18 22:30:40 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-18 22:32:06 +0100 <monochrom> or maybe more elementarily: LogicT = CPS of ListT-done-right
2025-02-18 22:32:21 +0100 <hololeap> fmap f (Logic l) = Logic $ \c n -> l (\x r -> c (f x) r) n
2025-02-18 22:32:29 +0100 <hololeap> this is already brain-melting lol
2025-02-18 22:32:51 +0100 <monochrom> Logic = CPS of []
2025-02-18 22:33:17 +0100 <monochrom> So you're just CPSing "fmap f (x:xs) = f x : fmap f xs"
2025-02-18 22:35:52 +0100Square(~Square@user/square) Square
2025-02-18 22:37:25 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-02-18 22:40:00 +0100Square2(~Square4@user/square) (Ping timeout: 268 seconds)
2025-02-18 22:40:30 +0100hattckory(~hattckory@67.71.152.102)
2025-02-18 22:41:17 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-02-18 22:41:21 +0100 <monochrom> or rather, replace [] by church-encoding
2025-02-18 22:43:53 +0100 <hololeap> fmap f l = \c -> l (c . f)
2025-02-18 22:44:00 +0100 <hololeap> fmap f (x:xs) = f x : fmap f xs
2025-02-18 22:44:42 +0100 <hololeap> maybe if I stare at it hard enough it will click eventually? :p
2025-02-18 22:45:32 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 252 seconds)
2025-02-18 22:46:30 +0100 <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
2025-02-18 22:48:42 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-18 22:49:05 +0100 <mauke> I cracked it
2025-02-18 22:49:08 +0100 <mauke> c = cons, n = nil
2025-02-18 22:49:21 +0100tomsmedingwas going to write the same thing at almost exactly the same time
2025-02-18 22:49:44 +0100 <mauke> x = current element, r = rest
2025-02-18 22:50:03 +0100 <tomsmeding> hololeap: "l (\x r -> c (f x) r) n" ~= "case l of { (:) x r -> (:) (f x) r ; [] -> [] }"
2025-02-18 22:50:32 +0100 <tomsmeding> "replace [] by church-encoding"
2025-02-18 22:51:08 +0100 <mauke> I've never looked at LogicT before, but l is clearly (hah) a list builder
2025-02-18 22:51:23 +0100 <tomsmeding> if you see it you can't unsee it
2025-02-18 22:51:31 +0100weary-traveler(~user@user/user363627) (Remote host closed the connection)
2025-02-18 22:51:42 +0100tomsmedingwould have put the nil case first though
2025-02-18 22:53:01 +0100 <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?
2025-02-18 22:53:19 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-02-18 22:53:41 +0100remexre(~remexre@user/remexre) (Remote host closed the connection)
2025-02-18 22:53:42 +0100target_i(~target_i@user/target-i/x-6023099) (Quit: leaving)
2025-02-18 22:53:55 +0100 <tomsmeding> ah, the documentation doesn't fail us:
2025-02-18 22:54:01 +0100 <tomsmeding> > It's important to remember that Logic on its own is just a lawful list monad, behaving exactly as instance Monad [].
2025-02-18 22:54:04 +0100 <tomsmeding> (https://hackage.haskell.org/package/logict-0.8.2.0/docs/Control-Monad-Logic.html)
2025-02-18 22:54:41 +0100 <monochrom> Yes the church encoding and cps'ing etc are for performance.
2025-02-18 22:56:12 +0100 <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.
2025-02-18 22:57:39 +0100 <tomsmeding> monochrom: do you mean in the "free monad" style?
2025-02-18 22:57:43 +0100 <monochrom> Yeah!
2025-02-18 22:57:50 +0100 <tomsmeding> right, that works :)
2025-02-18 22:57:59 +0100 <tomsmeding> and is crappy slow
2025-02-18 22:58:14 +0100 <tomsmeding> but quite insightful in that the level of magic is very low
2025-02-18 23:00:01 +0100 <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.)
2025-02-18 23:03:19 +0100 <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
2025-02-18 23:04:06 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-18 23:04:16 +0100 <hololeap> neat, thanks
2025-02-18 23:05:57 +0100codaraxis(~codaraxis@user/codaraxis) Codaraxis
2025-02-18 23:07:50 +0100 <tomsmeding> Leary: is that LFP correct? Should it perhaps be `LFP (forall r. (f r -> r) -> r)`?
2025-02-18 23:08:05 +0100 <tomsmeding> the expansion below of LFP (ListF a) seems to suggest that
2025-02-18 23:08:43 +0100 <Leary> Oops, yes.
2025-02-18 23:08:52 +0100L29Ah(~L29Ah@wikipedia/L29Ah) ()
2025-02-18 23:09:12 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds)
2025-02-18 23:09:14 +0100 <Leary> Fixed.
2025-02-18 23:09:15 +0100 <monochrom> Yeah LFP please :)
2025-02-18 23:09:18 +0100 <monochrom> haha pun!
2025-02-18 23:09:40 +0100L29Ah(~L29Ah@wikipedia/L29Ah) L29Ah
2025-02-18 23:10:48 +0100 <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.)
2025-02-18 23:11:00 +0100 <tomsmeding> (given an algebra, cata the data structure.)
2025-02-18 23:11:43 +0100 <tomsmeding> and with a similar operational intuition, GFP is also not so miraculous any more :)
2025-02-18 23:11:51 +0100Guest62(~Guest62@136.58.29.171)
2025-02-18 23:12:30 +0100 <tomsmeding> "what's the top-level constructor of your cute GFP f value? Oh, just apply the function to that s seed value."
2025-02-18 23:13:00 +0100takuan(~takuan@d8D86B601.access.telenet.be) (Remote host closed the connection)
2025-02-18 23:13:02 +0100 <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"
2025-02-18 23:13:37 +0100 <monochrom> What I find miraculous, or at least mathematically interesting, is why the forall type contains no junk. (Starter: It requires parametricity.)
2025-02-18 23:13:41 +0100lisbeths(uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2025-02-18 23:13:51 +0100 <monochrom> (or at least s/requires/is because of/)
2025-02-18 23:14:57 +0100 <monochrom> Or there is probably a way you can use a Yoneda lemma instead.
2025-02-18 23:15:58 +0100 <tomsmeding> parametricity is fun :)
2025-02-18 23:16:18 +0100 <tomsmeding> I never really fully grasped the theory around it though
2025-02-18 23:16:27 +0100 <tomsmeding> (in any case, it's bedtime for me, thanks for the fun)
2025-02-18 23:16:36 +0100Guest62(~Guest62@136.58.29.171) (Client Quit)
2025-02-18 23:17:53 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 245 seconds)
2025-02-18 23:19:29 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-18 23:21:01 +0100 <haskellbridge> <magic_rb> tomsmeding: goodnight! Im also out, pushed it till i can barely see again..
2025-02-18 23:22:01 +0100 <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?
2025-02-18 23:23:06 +0100 <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".
2025-02-18 23:23:06 +0100 <lambdabot> Consider it noted.
2025-02-18 23:24:01 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-02-18 23:26:38 +0100tromp(~textual@2a02:a210:cba:8500:de2:dd98:e9b0:1ec7) (Quit: My iMac has gone to sleep. ZZZzzz…)
2025-02-18 23:27:23 +0100connrs(~connrs@user/connrs) (Quit: ZNC 1.9.1 - https://znc.in)
2025-02-18 23:29:35 +0100connrs(~connrs@user/connrs) connrs
2025-02-18 23:30:02 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-02-18 23:30:02 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:4388:d333:b8ef:ba28)
2025-02-18 23:32:34 +0100connrs(~connrs@user/connrs) (Client Quit)
2025-02-18 23:33:29 +0100remexre(~remexre@user/remexre) remexre
2025-02-18 23:34:18 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 252 seconds)
2025-02-18 23:34:52 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-18 23:35:33 +0100ljdarj1(~Thunderbi@user/ljdarj) ljdarj
2025-02-18 23:38:18 +0100ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 245 seconds)
2025-02-18 23:38:18 +0100ljdarj1ljdarj
2025-02-18 23:38:42 +0100connrs(~connrs@user/connrs) connrs
2025-02-18 23:39:15 +0100Googulator(~Googulato@2a01-036d-0106-4074-e4c1-4d2b-93a1-bece.pool6.digikabel.hu) (Quit: Client closed)
2025-02-18 23:39:17 +0100Inst(~Inst@user/Inst) Inst
2025-02-18 23:39:26 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-02-18 23:39:32 +0100Googulator(~Googulato@2a01-036d-0106-4074-e4c1-4d2b-93a1-bece.pool6.digikabel.hu)
2025-02-18 23:44:56 +0100misterfish(~misterfis@84.53.85.146) (Ping timeout: 244 seconds)
2025-02-18 23:45:40 +0100remexre(~remexre@user/remexre) (Ping timeout: 252 seconds)
2025-02-18 23:47:54 +0100Inst(~Inst@user/Inst) (Remote host closed the connection)
2025-02-18 23:50:02 +0100connrs(~connrs@user/connrs) (Quit: ZNC 1.9.1 - https://znc.in)
2025-02-18 23:50:15 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-18 23:55:07 +0100Sgeo(~Sgeo@user/sgeo) Sgeo
2025-02-18 23:55:26 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds)
2025-02-18 23:56:52 +0100connrs(~connrs@user/connrs) connrs
2025-02-18 23:58:45 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:4388:d333:b8ef:ba28) (Remote host closed the connection)