2023/01/25

2023-01-25 00:12:43 +0100zeenk(~zeenk@2a02:2f04:a014:8700::7fe)
2023-01-25 00:20:58 +0100Guest75(~Guest75@178.141.160.158) (Ping timeout: 260 seconds)
2023-01-25 00:28:15 +0100fserucas(~fserucas@2001:818:e376:a400:fb92:70c1:dd88:c7d7) (Ping timeout: 256 seconds)
2023-01-25 00:33:44 +0100segfaultfizzbuzz(~segfaultf@108.211.201.53) (Ping timeout: 252 seconds)
2023-01-25 00:34:11 +0100Lycurgus(~juan@user/Lycurgus)
2023-01-25 00:45:19 +0100unit73e(~emanuel@2001:818:e8dd:7c00:656:e5ff:fe72:9d36)
2023-01-25 00:48:49 +0100 <unit73e> I just found out that GHC doesn't have that code of conduct fad nonsense and I'm glad it doesn't. code doesn't need that political crap. just my opinion.
2023-01-25 00:50:28 +0100 <dsal> Which codes of conduct have prevented you from participating?
2023-01-25 00:50:56 +0100 <dsal> Generally people who complain about "political crap" are just not affected by things. Which is pretty cool for you.
2023-01-25 00:51:57 +0100 <byorgey> https://github.com/ghc-proposals/ghc-proposals/blob/master/GRC.rst
2023-01-25 00:52:15 +0100Guest75(~Guest75@178.141.149.12)
2023-01-25 00:52:34 +0100 <monochrom> Wait, so code doesn't need code? >:)
2023-01-25 00:53:10 +0100 <unit73e> true, but it does affect my patience when they put all over your face those code of conduct. just a little bit.
2023-01-25 00:53:54 +0100 <unit73e> ugh... so they are trying to put that annoying thing. very sad. well, whatever.
2023-01-25 00:54:03 +0100 <monochrom> IMO you should opine on codes of conducts on a case by case basis. Read an actual code of conduct before you like or dislike it.
2023-01-25 00:54:03 +0100 <unit73e> lol monochrom
2023-01-25 00:54:16 +0100 <unit73e> arch linux code of conduct is fine
2023-01-25 00:54:18 +0100 <unit73e> I guess
2023-01-25 00:54:26 +0100 <dsal> It's bizarre to complain about being asked to be polite and respectful.
2023-01-25 00:54:37 +0100 <unit73e> yeah but why have it? isn't that normal?
2023-01-25 00:54:38 +0100 <monochrom> Actually even better, observe how people actually interpret it and how they behave.
2023-01-25 00:54:57 +0100 <dibblego> observe how those who wrote it, adhere to it
2023-01-25 00:55:15 +0100 <dsal> It should be normal, but it clearly hasn't been. There are lots of toxic projects that have driven out good people for bad reasons.
2023-01-25 00:55:33 +0100ub(~Thunderbi@p548c9ce5.dip0.t-ipconnect.de)
2023-01-25 00:55:49 +0100 <unit73e> you won't stop conflicts with a code of conduct, polite or not
2023-01-25 00:55:58 +0100 <unit73e> just saying
2023-01-25 00:56:12 +0100 <dsal> Which codes of conduct disallows conflict?
2023-01-25 00:56:13 +0100 <unit73e> british are experts at being polite asshats
2023-01-25 00:56:19 +0100 <c_wraith> But you can clearly establish a policy for what you're going to do about conflicts up front.
2023-01-25 00:56:25 +0100 <c_wraith> And that's way better than not doing so
2023-01-25 00:56:29 +0100 <monochrom> You may as well ask why the UN has a charter of human rights, why countries have constitutions, why some governments distort those constitutions...
2023-01-25 00:56:35 +0100ubert(~Thunderbi@p200300ecdf264e3f7f9ba4aff8511836.dip0.t-ipconnect.de) (Ping timeout: 256 seconds)
2023-01-25 00:56:35 +0100ububert
2023-01-25 00:56:50 +0100 <unit73e> nah I disagree, I rather not have anything. but it's not my project, so not my call.
2023-01-25 00:57:26 +0100 <byorgey> then why come in here and immediately start complaining about it?
2023-01-25 00:57:33 +0100 <unit73e> because reasons
2023-01-25 00:57:35 +0100acidjnk_new(~acidjnk@p200300d6e715c483e1c7cd94b291a585.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2023-01-25 00:57:43 +0100byorgeysuggests we get back to discussing Haskell
2023-01-25 00:57:56 +0100 <unit73e> fair enough
2023-01-25 00:58:02 +0100 <monochrom> I would love to rhetocially ask "aren't human rights normal and universal and tautological, why do we need to state them" but clearly in the real world we see tons of governments disrepecting human rights.
2023-01-25 00:58:46 +0100 <monochrom> ObHaskell: Someone in haskell-cafe asked why we need monad laws, too, "isn't it common sense?"
2023-01-25 00:59:14 +0100chele(~chele@user/chele) (Remote host closed the connection)
2023-01-25 00:59:38 +0100 <monochrom> Fortunately, no, I have seen a blog article teaching an unlawful but intuitive monad instance.
2023-01-25 00:59:56 +0100 <unit73e> I'd say no, monad laws are clear and objective
2023-01-25 01:00:02 +0100 <unit73e> we need I mean
2023-01-25 01:00:11 +0100 <unit73e> like mathematics
2023-01-25 01:00:33 +0100 <dsal> I've got into arguments with people I'm happy I no longer work with about how things like `MonadIO` are really bad because it's *possible* to make `liftIO` do something unexpected.
2023-01-25 01:01:01 +0100 <unit73e> so the code of conduct didn't work
2023-01-25 01:01:05 +0100 <unit73e> eh
2023-01-25 01:01:27 +0100 <dsal> You seem to be expressing unhappiness with something you don't understand well.
2023-01-25 01:01:53 +0100 <unit73e> it's not actually unhappiness, it's more of a pebble in the shoe, I don't care really that much
2023-01-25 01:02:03 +0100 <unit73e> more of an observation
2023-01-25 01:02:24 +0100 <dsal> OK. Your commentary on your observations suggest you don't understand what you're observing.
2023-01-25 01:02:33 +0100 <dsal> People can disagree on ideas that's just fine.
2023-01-25 01:02:37 +0100 <unit73e> perhaps, I never managed such large projects
2023-01-25 01:03:17 +0100 <unit73e> still, I would be stubborn to not have it, until I was proven wrong
2023-01-25 01:03:35 +0100 <dsal> I don't dislike that person because he doesn't like `MonadIO`. I don't like him *and* he doesn't like `MonadIO`. And his argument was kind of bad, but he decided nobody else's opinions mattered and everyone had to do whatever he believed on every topic even when someone could demonstrate it was in violation with his own principles.
2023-01-25 01:04:49 +0100 <unit73e> well that's why voting or hierarchies were created. it's not that easy to solve these management problems.
2023-01-25 01:05:22 +0100 <monochrom> No no no, that is why unfriending was invented. >:)
2023-01-25 01:05:50 +0100 <dsal> Heh. Yeah. Now I work with reasonable people. I disagree with work folks all the time, but nobody is unreasonable.
2023-01-25 01:06:01 +0100 <monochrom> Or alternatively but equivalently /ignore, /part, /quit
2023-01-25 01:06:48 +0100jmdaemon(~jmdaemon@user/jmdaemon)
2023-01-25 01:07:53 +0100 <dsal> One thing that's come up recently at work is a function `:: A -> A` for a sum type that is represented in a different system that might be lagging behind, so they need some kind of backwards compatibility. Some folks think the best way to do this is to have a `case` over every input type explicitly. So there are these giant swaths of code that are just `x -> x` with more moving parts because it gives some feeling of safety.
2023-01-25 01:08:15 +0100segfaultfizzbuzz(~segfaultf@108.211.201.53)
2023-01-25 01:08:36 +0100 <dsal> Except like, I'm not familiar with the lagging system. I don't know what to put there. So I just replaced all those things with `x -> x`.
2023-01-25 01:09:33 +0100 <unit73e> so they rather have more code just to feel safe?
2023-01-25 01:09:38 +0100 <dsal> Now, it *did* break a thing, but it broke the same way it would've broken if I put `MyNewThing -> MyNewThing` like all the others in the file. Since the two types are theoretically different they either need to be different types or you need a test of what's actually downstream.
2023-01-25 01:10:30 +0100 <dsal> Yeah. Because when I add a new `A` constructor, I have to go touch that and maybe I have to know that instead of doing what all the rest of the code in that area does, I need to like, figure out who knows about downstream effects and get that person involved and make a guess as to what an equivalent value might be in the short term to make the other system happy.
2023-01-25 01:10:58 +0100merijn(~merijn@c-001-001-014.client.esciencecenter.eduvpn.nl)
2023-01-25 01:11:14 +0100 <unit73e> you know, it's not that weird, but I always see the same problems, over and over again in software engineering, no matter the framework or programming language, and guys who want to do the good old thing just because that's always why we did it is one of those, even when proven to be flawed
2023-01-25 01:11:16 +0100 <dsal> It makes sense in an `:: A -> B` type scenario. Or even in `:: A -> A` where there's a sort of "dual" value.
2023-01-25 01:12:08 +0100 <unit73e> and then I come up with "you know, that would be easier in haskell" and the answer is "here comes the haskell salesman"
2023-01-25 01:12:31 +0100 <dsal> My work is all Haskell, so it's usually "you know, that would be easier with lens"
2023-01-25 01:13:05 +0100 <unit73e> I avoid lens
2023-01-25 01:13:18 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2023-01-25 01:13:33 +0100 <dsal> Lots of people avoid lens. And then write a ton of code to do trivial things.
2023-01-25 01:14:09 +0100 <geekosaur> if I wanted to write Perl, I'd write Perl
2023-01-25 01:14:31 +0100 <unit73e> I just don't need lens most of the time, but I guess this is still a debate in haskell world
2023-01-25 01:14:38 +0100 <unit73e> it's relatively recent
2023-01-25 01:15:30 +0100 <dsal> You can do weird things with lens, of course, but I was just showing a coworker around a bit of code he's starting to work on which includes a test that validates some stuff found in a deeply nested set of a field in a non empty list of a type-specific field of non empty list of a sum type (which speciifes the previous type-specific field) of non empty lists of lists of nonempty lists.
2023-01-25 01:16:17 +0100 <dsal> It's just something like `x ^.. a . folded . b . folded . _whatever . folded . someThing . folded . someField` -- writing that out by hand is possible, but… tedious to write and much harder to read.
2023-01-25 01:17:26 +0100 <dsal> There were more fields than that, but the thing that made it complicated isn't the lens, it's this complicated data structure that I had to build out. So if the reader doesn't understand something, it's not lens' fault. :)
2023-01-25 01:18:30 +0100 <dsal> (this particular test was "the set of all `someField` values in this data structure is the thing we expect")
2023-01-25 01:19:47 +0100Tuplanolla(~Tuplanoll@91-159-68-152.elisa-laajakaista.fi) (Quit: Leaving.)
2023-01-25 01:19:53 +0100 <unit73e> lens do make some code simpler imo, I just didn't need much yet
2023-01-25 01:20:06 +0100 <unit73e> btw perl is in my top worst programming languages of all times I've ever used
2023-01-25 01:20:10 +0100 <dsal> Some of it's only mildly gimmicky. Today I had a `modify' (\s -> s { field = something })` which could just be `field .= something`
2023-01-25 01:20:30 +0100 <dsal> I had a codebase with, literally, millions of lines of code in the 90s. I've used up all my perl.
2023-01-25 01:23:36 +0100 <jackdk> dsal: `setOf (template . someField)`?
2023-01-25 01:24:37 +0100 <jackdk> aside: I think lens' operators are carefully chosen to create a beautiful and compact visual language that would be much worse if it was only offered as wordy function names
2023-01-25 01:26:35 +0100 <dsal> Yeah, I'm not using `setOf`, but I could there. I'm not even aware of all of the `Of` functions. heh
2023-01-25 01:28:54 +0100 <jackdk> Neither was I - I had to go digging around to find module `Data.Set.Lens`. I was more pointing at `template` and friends, which was very useful when I had to do deep traversals and rewrites of complex structures.
2023-01-25 01:31:03 +0100 <dsal> Ohh. Yeah, I didn't do anything plated here.
2023-01-25 01:32:25 +0100mei(~mei@user/mei) (Remote host closed the connection)
2023-01-25 01:33:02 +0100 <mauke> unit73e: your opinion is wrong, of course, but what do you think are the worst aspects of perl?
2023-01-25 01:33:15 +0100td_(~td@i53870917.versanet.de) (Ping timeout: 255 seconds)
2023-01-25 01:34:27 +0100 <unit73e> mauke, it's too cryptic. hard to read. I had trouble figuring out my own code written in perl. you can say yeah you didn't code simple and documented good enough, but it's hard to do that in perl.
2023-01-25 01:34:45 +0100mei(~mei@user/mei)
2023-01-25 01:34:54 +0100 <unit73e> not that I have that much experience in perl mind you
2023-01-25 01:35:05 +0100td_(~td@i53870917.versanet.de)
2023-01-25 01:35:13 +0100 <unit73e> so take my wrong opinion with a grain of salt
2023-01-25 01:36:21 +0100 <mauke> oh, by that metric Haskell is absolutely abysmal
2023-01-25 01:36:25 +0100 <dsal> No instance `Data.Data.Data` – heh
2023-01-25 01:36:34 +0100 <unit73e> that's the funny thing, I have zero trouble reading haskell
2023-01-25 01:36:43 +0100 <unit73e> I have a harder time reading java
2023-01-25 01:36:43 +0100 <c_wraith> daa
2023-01-25 01:36:55 +0100 <c_wraith> oops, sorry. failure to operate my keyboard
2023-01-25 01:37:31 +0100 <unit73e> much harder time reading java... and then I ask my minions to write javadoc and they only get why after trying to read their own code...
2023-01-25 01:38:08 +0100mizlan(~mizlan@131.179.76.137)
2023-01-25 01:41:35 +0100 <dsal> Yeah, I can't read java anymore.
2023-01-25 01:41:40 +0100Lears(~Leary]@user/Leary/x-0910699) (Remote host closed the connection)
2023-01-25 01:42:23 +0100[Leary](~Leary]@user/Leary/x-0910699)
2023-01-25 01:42:52 +0100 <geekosaur> I've been writing and reading Perl since the first public release. I've seen some pretty abysmal Perl code, true
2023-01-25 01:43:31 +0100Lycurgus(~juan@user/Lycurgus) (Quit: Exeunt: personae.ai-integration.biz)
2023-01-25 01:44:11 +0100segfaultfizzbuzz(~segfaultf@108.211.201.53) (Ping timeout: 246 seconds)
2023-01-25 01:45:14 +0100merijn(~merijn@c-001-001-014.client.esciencecenter.eduvpn.nl) (Ping timeout: 246 seconds)
2023-01-25 01:45:31 +0100 <mauke> the thing is, I have no trouble "reading" Perl on a basic level, statement by statement, expression by expression
2023-01-25 01:46:22 +0100wroathe(~wroathe@207-153-38-140.fttp.usinternet.com)
2023-01-25 01:46:22 +0100wroathe(~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
2023-01-25 01:46:22 +0100wroathe(~wroathe@user/wroathe)
2023-01-25 01:46:44 +0100jmorris(uid537181@id-537181.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
2023-01-25 01:47:17 +0100 <mauke> the point where I may have problems is figuring out the bigger picture of what the code is doing
2023-01-25 01:47:29 +0100 <mauke> but that's not really language dependent
2023-01-25 01:48:21 +0100wombat8756(~wombat875@2600:4041:5bea:f800:da64:71f6:cfa2:558) (Quit: WeeChat 3.6)
2023-01-25 01:48:37 +0100 <apache2> sometimes perl programmers document their perl, then it's not so bad.
2023-01-25 01:48:47 +0100 <mauke> that's why "you can say yeah you didn't code simple and documented good enough" is so unexpected to me
2023-01-25 01:49:22 +0100 <mauke> I don't need documentation at the single statement level; that's not helpful
2023-01-25 01:49:29 +0100 <apache2> I think the scalar reference stuff is hard to get used to
2023-01-25 01:49:42 +0100 <apache2> but that's because I'm not used to it anymore, I used to be able to follow pretty well.
2023-01-25 01:50:07 +0100 <mauke> eh, that part should be obvious to any C programmer :-)
2023-01-25 01:51:58 +0100 <unit73e> experience does make a lot of difference. in haskell I can easily understand what I wrote or others wrote because it's usually short code. java is too verbose. perl to me is very cryptic and I feel like I would have to get used to it (it's easy to learn though).
2023-01-25 01:52:24 +0100 <unit73e> and javascript I facepalm more than code
2023-01-25 01:52:45 +0100 <apache2> mauke: sure, PHP is also easy if you're a C programmer and you go internalize the Zen engine thing
2023-01-25 01:53:10 +0100 <mauke> I would disagree with that
2023-01-25 01:54:00 +0100 <unit73e> python is my prefered I don't care if it's good code or not language
2023-01-25 01:54:51 +0100jmdaemon(~jmdaemon@user/jmdaemon) (Ping timeout: 252 seconds)
2023-01-25 01:55:20 +0100 <mauke> my point is that Perl's data model is based on how C does data structures
2023-01-25 01:55:27 +0100 <mauke> it has nothing to do with implementation details
2023-01-25 01:55:35 +0100 <apache2> so is PHP's?
2023-01-25 01:55:42 +0100 <apache2> they just took the scenic route
2023-01-25 01:55:51 +0100 <apache2> it's all expressible in C
2023-01-25 01:56:16 +0100 <mauke> I don't think it is expressible in C, short of writing a custom interpreter
2023-01-25 01:56:20 +0100fanatichd(fanatichd@cpc76960-warw17-2-0-cust137.3-2.cable.virginm.net)
2023-01-25 01:58:10 +0100 <apache2> I just think the combination of pointer types and heteregenous container types and dynamic typing makes for a confusing experience, especially if you're not fluent to the point where you've memorized all the weird symbols
2023-01-25 01:58:25 +0100jmdaemon(~jmdaemon@user/jmdaemon)
2023-01-25 01:58:51 +0100Guest75(~Guest75@178.141.149.12) (Quit: Client closed)
2023-01-25 01:59:10 +0100 <mauke> PHP lets you put (dynamic) arrays in arrays, it treats arrays as value types (so copying an array of arrays makes recursive copies of everything), and it considers "arrays" to be finite maps that can be indexed by strings
2023-01-25 01:59:15 +0100 <mauke> none of that is a C thing
2023-01-25 01:59:16 +0100fanatichd(fanatichd@cpc76960-warw17-2-0-cust137.3-2.cable.virginm.net) (K-Lined)
2023-01-25 01:59:49 +0100 <apache2> it also makes it harder to see what's going on when you don't have a clear overview of which parameters (or how many, even) a function takes
2023-01-25 02:00:37 +0100 <apache2> all of which you can arguable emulate in C, it's just not what good C looks like
2023-01-25 02:00:42 +0100Guest75(~Guest75@178.141.149.12)
2023-01-25 02:00:47 +0100 <apache2> arguably*
2023-01-25 02:02:23 +0100 <apache2> mauke: heh yeah, php arrays are a thing of beauty. the "last in, last out" iteration order thing is also pretty amusing
2023-01-25 02:02:47 +0100 <mauke> on the other hand, consider ideas like: data structures are built out of pointers. (de)referencing is an explicit operation. there is no such thing as an "array value" (use a pointer instead).
2023-01-25 02:03:03 +0100 <mauke> pointers are first-class values
2023-01-25 02:03:17 +0100 <mauke> these are things that Perl and C have in common
2023-01-25 02:03:24 +0100mizlan(~mizlan@131.179.76.137) (Ping timeout: 260 seconds)
2023-01-25 02:04:32 +0100 <apache2> named function parameters would have gone a long way
2023-01-25 02:05:00 +0100 <geekosaur> hashes emulate them fairly well though
2023-01-25 02:05:08 +0100 <mauke> do you mean stuff like sub foo($x, $y, $z) { ... }?
2023-01-25 02:05:18 +0100 <mauke> i.e. formal parameter lists?
2023-01-25 02:05:33 +0100 <geekosaur> unless you mean that
2023-01-25 02:08:50 +0100 <mauke> because I've been using those in perl for 10 years
2023-01-25 02:12:04 +0100albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2023-01-25 02:13:12 +0100 <yushyin> i used to use a more fancy variant of parameter lists with the help of a module, written by mauke ;)
2023-01-25 02:13:13 +0100barzo(~hd@31.223.41.44)
2023-01-25 02:16:22 +0100 <mauke> :-D
2023-01-25 02:18:12 +0100albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2023-01-25 02:18:56 +0100mizlan(~mizlan@2607:f010:2e9:21:d18b:842e:d3ec:9398)
2023-01-25 02:20:07 +0100jmdaemon(~jmdaemon@user/jmdaemon) (Ping timeout: 252 seconds)
2023-01-25 02:22:53 +0100segfaultfizzbuzz(~segfaultf@108.211.201.53)
2023-01-25 02:28:13 +0100xff0x_(~xff0x@2405:6580:b080:900:ece5:bb89:923a:51c8) (Ping timeout: 252 seconds)
2023-01-25 02:36:54 +0100zeenk(~zeenk@2a02:2f04:a014:8700::7fe) (Quit: Konversation terminated!)
2023-01-25 02:39:15 +0100jmdaemon(~jmdaemon@user/jmdaemon)
2023-01-25 02:44:48 +0100jmdaemon(~jmdaemon@user/jmdaemon) (Quit: ZNC 1.8.2 - https://znc.in)
2023-01-25 02:49:59 +0100son0p(~ff@181.136.122.143) (Ping timeout: 246 seconds)
2023-01-25 02:52:27 +0100mizlan(~mizlan@2607:f010:2e9:21:d18b:842e:d3ec:9398) (Ping timeout: 255 seconds)
2023-01-25 03:00:54 +0100finsternis(~X@23.226.237.192) (Read error: Connection reset by peer)
2023-01-25 03:07:55 +0100mei(~mei@user/mei) (Ping timeout: 260 seconds)
2023-01-25 03:11:56 +0100mei(~mei@user/mei)
2023-01-25 03:14:40 +0100mizlan(~mizlan@2607:f010:2a7:1005:f921:fb99:8d3a:9d1)
2023-01-25 03:14:41 +0100xff0x(~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp)
2023-01-25 03:15:44 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 260 seconds)
2023-01-25 03:24:59 +0100 <apache2> mauke: oh, yeah, that is exactly what I meant
2023-01-25 03:25:13 +0100 <apache2> :o learn something every day
2023-01-25 03:33:32 +0100mizlan(~mizlan@2607:f010:2a7:1005:f921:fb99:8d3a:9d1) (Quit: mizlan)
2023-01-25 03:43:39 +0100merijn(~merijn@c-001-001-014.client.esciencecenter.eduvpn.nl)
2023-01-25 03:44:35 +0100segfaultfizzbuzz(~segfaultf@108.211.201.53) (Ping timeout: 264 seconds)
2023-01-25 03:48:25 +0100razetime(~Thunderbi@117.193.1.37)
2023-01-25 03:48:27 +0100sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
2023-01-25 03:49:58 +0100sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2023-01-25 03:55:35 +0100mcglk(~mcglk@2601:600:9f7f:e300:4cfa:364e:e1e4:69ad) (Quit: (zzz))
2023-01-25 03:55:41 +0100Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection)
2023-01-25 04:05:54 +0100mcglk(~mcglk@2601:600:9f7f:e300:4cfa:364e:e1e4:69ad)
2023-01-25 04:06:19 +0100unit73e(~emanuel@2001:818:e8dd:7c00:656:e5ff:fe72:9d36) (Ping timeout: 248 seconds)
2023-01-25 04:08:26 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:5dd6:a35b:a6fd:3837)
2023-01-25 04:11:10 +0100mcglk(~mcglk@2601:600:9f7f:e300:4cfa:364e:e1e4:69ad) (Quit: (zzz))
2023-01-25 04:15:22 +0100mcglk(~mcglk@2601:600:9f7f:e300:4cfa:364e:e1e4:69ad)
2023-01-25 04:15:23 +0100machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 248 seconds)
2023-01-25 04:15:38 +0100hueso(~root@user/hueso)
2023-01-25 04:16:10 +0100merijn(~merijn@c-001-001-014.client.esciencecenter.eduvpn.nl) (Ping timeout: 252 seconds)
2023-01-25 04:16:45 +0100 <mauke> apache2: yeah, those have been available (albeit as "experimental") since 5.20 and as a normal feature since 5.36.
2023-01-25 04:18:18 +0100harveypwca(~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67)
2023-01-25 04:25:56 +0100werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
2023-01-25 04:28:31 +0100bilegeek(~bilegeek@2600:1008:b018:3e3e:3230:f753:2573:58ce)
2023-01-25 04:28:45 +0100mcglk(~mcglk@2601:600:9f7f:e300:4cfa:364e:e1e4:69ad) (Quit: (zzz))
2023-01-25 04:30:05 +0100segfaultfizzbuzz(~segfaultf@108.211.201.53)
2023-01-25 04:34:45 +0100segfaultfizzbuzz(~segfaultf@108.211.201.53) (Ping timeout: 256 seconds)
2023-01-25 04:45:48 +0100Guest75(~Guest75@178.141.149.12) (Ping timeout: 260 seconds)
2023-01-25 04:47:54 +0100td_(~td@i53870917.versanet.de) (Ping timeout: 260 seconds)
2023-01-25 04:48:38 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 255 seconds)
2023-01-25 04:49:14 +0100tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Read error: Connection reset by peer)
2023-01-25 04:49:24 +0100td_(~td@i53870930.versanet.de)
2023-01-25 04:50:26 +0100tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net)
2023-01-25 04:51:23 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643)
2023-01-25 04:54:40 +0100razetime(~Thunderbi@117.193.1.37) (Ping timeout: 252 seconds)
2023-01-25 04:56:17 +0100azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 255 seconds)
2023-01-25 04:57:18 +0100azimut(~azimut@gateway/tor-sasl/azimut)
2023-01-25 05:02:54 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
2023-01-25 05:03:22 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643)
2023-01-25 05:03:46 +0100segfaultfizzbuzz(~segfaultf@108.211.201.53)
2023-01-25 05:08:19 +0100segfaultfizzbuzz(~segfaultf@108.211.201.53) (Ping timeout: 260 seconds)
2023-01-25 05:10:21 +0100oldfashionedcow(~Rahul_San@user/oldfashionedcow) (Quit: WeeChat 3.8)
2023-01-25 05:13:20 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
2023-01-25 05:13:52 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643)
2023-01-25 05:16:40 +0100mikoto-chan(~mikoto-ch@2001:999:784:4cb8:d8e9:51ca:a70:b0e5) (Quit: WeeChat 3.6)
2023-01-25 05:18:43 +0100jero98772(~jero98772@2800:484:1d80:d8ce:3490:26c5:1782:da8c) (Remote host closed the connection)
2023-01-25 05:24:02 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer)
2023-01-25 05:30:29 +0100mcglk(~mcglk@2601:600:9f7f:e300:9190:e0f8:c28e:3eed)
2023-01-25 05:38:04 +0100heartburn(~gass@2a00:d880:3:1::b1e4:b241) (Ping timeout: 252 seconds)
2023-01-25 05:39:08 +0100razetime(~Thunderbi@117.193.1.37)
2023-01-25 05:40:58 +0100heartburn(~gass@2a00:d880:3:1::b1e4:b241)
2023-01-25 05:49:47 +0100harveypwca(~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Quit: Leaving)
2023-01-25 05:54:16 +0100segfaultfizzbuzz(~segfaultf@108.211.201.53)
2023-01-25 05:58:36 +0100segfaultfizzbuzz(~segfaultf@108.211.201.53) (Ping timeout: 252 seconds)
2023-01-25 06:01:31 +0100jmdaemon(~jmdaemon@user/jmdaemon)
2023-01-25 06:03:23 +0100elevenkb(~elevenkb@105.184.125.233)
2023-01-25 06:05:52 +0100Guest75(~Guest75@178.141.149.12)
2023-01-25 06:09:57 +0100thegeekinside(~thegeekin@189.180.66.244) (Ping timeout: 256 seconds)
2023-01-25 06:13:43 +0100merijn(~merijn@c-001-001-014.client.esciencecenter.eduvpn.nl)
2023-01-25 06:17:24 +0100ddellacosta(~ddellacos@143.244.47.100)
2023-01-25 06:23:29 +0100jinsun__(~jinsun@user/jinsun)
2023-01-25 06:23:29 +0100jinsunGuest5124
2023-01-25 06:23:29 +0100jinsun__jinsun
2023-01-25 06:26:15 +0100Guest5124(~jinsun@user/jinsun) (Ping timeout: 260 seconds)
2023-01-25 06:26:16 +0100Vajb(~Vajb@2001:999:78d:d7:457c:7773:573e:6903) (Read error: Connection reset by peer)
2023-01-25 06:26:31 +0100CiaoSen(~Jura@p200300c9572d4e002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
2023-01-25 06:27:37 +0100Vajb(~Vajb@hag-jnsbng11-58c3a5-27.dhcp.inet.fi)
2023-01-25 06:28:38 +0100segfaultfizzbuzz(~segfaultf@108.211.201.53)
2023-01-25 06:32:54 +0100segfaultfizzbuzz(~segfaultf@108.211.201.53) (Ping timeout: 260 seconds)
2023-01-25 06:45:53 +0100merijn(~merijn@c-001-001-014.client.esciencecenter.eduvpn.nl) (Ping timeout: 246 seconds)
2023-01-25 06:47:35 +0100merijn(~merijn@c-001-001-014.client.esciencecenter.eduvpn.nl)
2023-01-25 06:53:39 +0100merijn(~merijn@c-001-001-014.client.esciencecenter.eduvpn.nl) (Ping timeout: 260 seconds)
2023-01-25 06:58:14 +0100Vajb(~Vajb@hag-jnsbng11-58c3a5-27.dhcp.inet.fi) (Read error: Connection reset by peer)
2023-01-25 06:59:46 +0100Vajb(~Vajb@2001:999:78d:d7:457c:7773:573e:6903)
2023-01-25 07:00:22 +0100segfaultfizzbuzz(~segfaultf@108.211.201.53)
2023-01-25 07:04:36 +0100segfaultfizzbuzz(~segfaultf@108.211.201.53) (Ping timeout: 252 seconds)
2023-01-25 07:11:55 +0100johnw_(~johnw@2600:1700:cf00:db0:ed68:6ce8:98a1:2c83) (Quit: ZNC - http://znc.in)
2023-01-25 07:12:18 +0100bgs(~bgs@212-85-160-171.dynamic.telemach.net)
2023-01-25 07:20:05 +0100Guest75(~Guest75@178.141.149.12) (Quit: Client closed)
2023-01-25 07:21:46 +0100Guest75(~Guest75@178.141.149.12)
2023-01-25 07:25:20 +0100bilegeek(~bilegeek@2600:1008:b018:3e3e:3230:f753:2573:58ce) (Quit: Leaving)
2023-01-25 07:26:27 +0100bgs(~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection)
2023-01-25 07:28:27 +0100perrierjouet(~perrier-j@modemcable048.127-56-74.mc.videotron.ca) (Ping timeout: 248 seconds)
2023-01-25 07:29:41 +0100perrierjouet(~perrier-j@modemcable048.127-56-74.mc.videotron.ca)
2023-01-25 07:32:09 +0100takuan(~takuan@178-116-218-225.access.telenet.be)
2023-01-25 07:33:51 +0100mechap2(~mechap@user/mechap)
2023-01-25 07:34:57 +0100jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 256 seconds)
2023-01-25 07:36:35 +0100mechap1(~mechap@user/mechap) (Ping timeout: 246 seconds)
2023-01-25 07:37:31 +0100mcglk(~mcglk@2601:600:9f7f:e300:9190:e0f8:c28e:3eed) (Ping timeout: 260 seconds)
2023-01-25 07:39:16 +0100mcglk(~mcglk@2601:600:9f7f:e300:c97:c704:43b8:7bc7)
2023-01-25 07:43:25 +0100mcglk_(~mcglk@2601:600:9f7f:e300:997b:556a:42cb:8050)
2023-01-25 07:47:07 +0100mcglk(~mcglk@2601:600:9f7f:e300:c97:c704:43b8:7bc7) (Ping timeout: 248 seconds)
2023-01-25 07:49:03 +0100haritz(~hrtz@user/haritz) (Ping timeout: 265 seconds)
2023-01-25 08:10:45 +0100zeenk(~zeenk@2a02:2f04:a014:8700::7fe)
2023-01-25 08:11:03 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:2283:b41:5476:a828)
2023-01-25 08:12:20 +0100sloorush(~sloorush@52.187.184.81) (Quit: ZNC 1.7.5+deb4 - https://znc.in)
2023-01-25 08:16:42 +0100sloorush(~sloorush@52.187.184.81)
2023-01-25 08:18:38 +0100shriekingnoise(~shrieking@186.137.175.87) (Ping timeout: 246 seconds)
2023-01-25 08:23:12 +0100mei(~mei@user/mei) (Ping timeout: 255 seconds)
2023-01-25 08:25:15 +0100use-value(~Thunderbi@2a00:23c6:8a03:2f01:1128:5091:e8f3:b17a) (Read error: Connection reset by peer)
2023-01-25 08:28:40 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-01-25 08:33:29 +0100opticblast(~Thunderbi@secure-165.caltech.edu)
2023-01-25 08:41:39 +0100califax(~califax@user/califx) (Remote host closed the connection)
2023-01-25 08:44:53 +0100Vajb(~Vajb@2001:999:78d:d7:457c:7773:573e:6903) (Ping timeout: 246 seconds)
2023-01-25 08:45:03 +0100califax(~califax@user/califx)
2023-01-25 08:45:20 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 255 seconds)
2023-01-25 08:45:52 +0100sloorush(~sloorush@52.187.184.81) (Quit: ZNC 1.7.5+deb4 - https://znc.in)
2023-01-25 08:46:15 +0100carbolymer(~carbolyme@dropacid.net) (Remote host closed the connection)
2023-01-25 08:46:40 +0100sloorush(~sloorush@52.187.184.81)
2023-01-25 08:47:30 +0100carbolymer(~carbolyme@dropacid.net)
2023-01-25 08:47:37 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643)
2023-01-25 08:50:05 +0100Vajb(~Vajb@2001:999:585:8d90:8bc4:5564:7d08:18a)
2023-01-25 08:52:06 +0100merijn(~merijn@c-001-001-014.client.esciencecenter.eduvpn.nl)
2023-01-25 08:53:32 +0100sloorush(~sloorush@52.187.184.81) (Quit: ZNC 1.7.5+deb4 - https://znc.in)
2023-01-25 08:53:52 +0100sloorush(~sloorush@52.187.184.81)
2023-01-25 09:00:05 +0100mc47(~mc47@xmonad/TheMC47)
2023-01-25 09:00:43 +0100mei(~mei@user/mei)
2023-01-25 09:13:27 +0100mmhat(~mmh@p200300f1c7123c88ee086bfffe095315.dip0.t-ipconnect.de)
2023-01-25 09:18:08 +0100ubert(~Thunderbi@p548c9ce5.dip0.t-ipconnect.de) (Quit: ubert)
2023-01-25 09:18:23 +0100ubert(~Thunderbi@p200300ecdf264eae508459a626a67f13.dip0.t-ipconnect.de)
2023-01-25 09:20:35 +0100Guest3777(~Guest37@110.235.233.57)
2023-01-25 09:22:37 +0100mmhat(~mmh@p200300f1c7123c88ee086bfffe095315.dip0.t-ipconnect.de) (Quit: WeeChat 3.8)
2023-01-25 09:24:12 +0100freeside(~mengwong@122.11.214.172)
2023-01-25 09:24:15 +0100Guest3777Enigmage
2023-01-25 09:26:00 +0100Enigmage(~Guest37@110.235.233.57) (Quit: Client closed)
2023-01-25 09:28:46 +0100Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2023-01-25 09:29:35 +0100anthezium(~ted@75.164.81.158) (Ping timeout: 264 seconds)
2023-01-25 09:35:59 +0100fserucas(~fserucas@2001:818:e376:a400:fb92:70c1:dd88:c7d7)
2023-01-25 09:36:11 +0100azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 255 seconds)
2023-01-25 09:42:18 +0100acidjnk_new(~acidjnk@p200300d6e715c41591073076158b9e8c.dip0.t-ipconnect.de)
2023-01-25 09:43:46 +0100nschoe(~q@141.101.51.197)
2023-01-25 09:46:02 +0100anthezium(~ted@97-120-70-39.ptld.qwest.net)
2023-01-25 09:48:42 +0100elevenkb63(~elevenkb@105.184.125.233)
2023-01-25 09:48:53 +0100elevenkb63(~elevenkb@105.184.125.233) (Write error: Broken pipe)
2023-01-25 09:49:38 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:5dd6:a35b:a6fd:3837) (Remote host closed the connection)
2023-01-25 09:49:43 +0100Major_Biscuit(~MajorBisc@145.15.244.234)
2023-01-25 09:57:31 +0100Vajb(~Vajb@2001:999:585:8d90:8bc4:5564:7d08:18a) (Ping timeout: 260 seconds)
2023-01-25 09:58:14 +0100jonathanx(~jonathan@h-178-174-176-109.a357.priv.bahnhof.se) (Ping timeout: 260 seconds)
2023-01-25 09:59:13 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:2283:b41:5476:a828) (Quit: WeeChat 2.8)
2023-01-25 09:59:30 +0100carbolymer(~carbolyme@dropacid.net) (Quit: No Ping reply in 180 seconds.)
2023-01-25 09:59:49 +0100machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net)
2023-01-25 10:00:05 +0100michalz(~michalz@185.246.207.200)
2023-01-25 10:00:10 +0100Vajb(~Vajb@2001:999:505:948d:ba9e:dbca:9a0a:eac6)
2023-01-25 10:01:12 +0100carbolymer(~carbolyme@dropacid.net)
2023-01-25 10:04:17 +0100ft(~ft@p4fc2a257.dip0.t-ipconnect.de) (Quit: leaving)
2023-01-25 10:04:18 +0100Kuttenbrunzer(~Kuttenbru@2a02:8108:8b80:1d48::f617)
2023-01-25 10:07:54 +0100boxscape_(~boxscape_@213.52.37.155)
2023-01-25 10:08:03 +0100Major_Biscuit(~MajorBisc@145.15.244.234) (Ping timeout: 255 seconds)
2023-01-25 10:10:25 +0100 <Inst__> gah
2023-01-25 10:10:29 +0100 <Inst__> i had this code working last night
2023-01-25 10:10:34 +0100Inst__Inst
2023-01-25 10:11:31 +0100sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Ping timeout: 260 seconds)
2023-01-25 10:11:52 +0100sammelweis(~quassel@mobile-166-170-23-171.mycingular.net)
2023-01-25 10:13:07 +0100waleee(~waleee@h-176-10-137-138.NA.cust.bahnhof.se) (Ping timeout: 252 seconds)
2023-01-25 10:17:06 +0100coot(~coot@213.134.171.3)
2023-01-25 10:22:13 +0100avicenzi(~avicenzi@2a00:ca8:a1f:b004::c32)
2023-01-25 10:47:40 +0100freeside(~mengwong@122.11.214.172) (Read error: Connection reset by peer)
2023-01-25 10:48:05 +0100acidjnk_new(~acidjnk@p200300d6e715c41591073076158b9e8c.dip0.t-ipconnect.de) (Ping timeout: 246 seconds)
2023-01-25 10:48:56 +0100tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz)
2023-01-25 10:50:06 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:5dd6:a35b:a6fd:3837)
2023-01-25 10:50:12 +0100kenran(~user@user/kenran)
2023-01-25 10:50:38 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:2283:b41:5476:a828)
2023-01-25 10:51:45 +0100freeside(~mengwong@122.11.214.172)
2023-01-25 10:52:55 +0100razetime(~Thunderbi@117.193.1.37) (Remote host closed the connection)
2023-01-25 10:53:53 +0100acidjnk_new(~acidjnk@p200300d6e715c415694b102f8bcbc4be.dip0.t-ipconnect.de)
2023-01-25 10:54:35 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:5dd6:a35b:a6fd:3837) (Ping timeout: 260 seconds)
2023-01-25 11:00:10 +0100gnalzo(~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
2023-01-25 11:00:18 +0100elevenkb(~elevenkb@105.184.125.233) (Ping timeout: 260 seconds)
2023-01-25 11:03:17 +0100kuribas(~user@ip-188-118-57-242.reverse.destiny.be)
2023-01-25 11:05:55 +0100xff0x(~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 252 seconds)
2023-01-25 11:18:23 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
2023-01-25 11:19:28 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643)
2023-01-25 11:20:02 +0100turlando(~turlando@user/turlando)
2023-01-25 11:24:34 +0100ubert1(~Thunderbi@2a02:8109:abc0:6434:dc1d:737c:6633:78c1)
2023-01-25 11:27:50 +0100the_proffesor(~theproffe@user/theproffesor) (Ping timeout: 260 seconds)
2023-01-25 11:27:52 +0100theproffesor(~theproffe@user/theproffesor)
2023-01-25 11:32:44 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 255 seconds)
2023-01-25 11:34:04 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643)
2023-01-25 11:36:38 +0100chele(~chele@user/chele)
2023-01-25 11:37:02 +0100sammelweis(~quassel@mobile-166-170-23-171.mycingular.net) (Ping timeout: 246 seconds)
2023-01-25 11:37:25 +0100sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2023-01-25 11:38:06 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Read error: Connection reset by peer)
2023-01-25 11:41:25 +0100econo(uid147250@user/econo) (Quit: Connection closed for inactivity)
2023-01-25 11:44:05 +0100fserucas(~fserucas@2001:818:e376:a400:fb92:70c1:dd88:c7d7) (Ping timeout: 246 seconds)
2023-01-25 11:51:06 +0100troydm(~troydm@user/troydm) (Ping timeout: 255 seconds)
2023-01-25 11:56:46 +0100elevenkb(~elevenkb@105.184.125.233)
2023-01-25 11:58:10 +0100gurkenglas(~gurkengla@dynamic-046-114-177-155.46.114.pool.telefonica.de)
2023-01-25 11:58:24 +0100elevenkb(~elevenkb@105.184.125.233) (Client Quit)
2023-01-25 12:00:23 +0100turlando(~turlando@user/turlando) (Read error: Connection reset by peer)
2023-01-25 12:00:52 +0100fserucas(~fserucas@2001:8a0:6d00:2500:4717:7619:c4e9:3aa2)
2023-01-25 12:01:39 +0100gurkenglas(~gurkengla@dynamic-046-114-177-155.46.114.pool.telefonica.de) (*.net *.split)
2023-01-25 12:01:51 +0100gurkenglas(~gurkengla@dynamic-046-114-177-155.46.114.pool.telefonica.de)
2023-01-25 12:02:03 +0100gurkenglas(~gurkengla@dynamic-046-114-177-155.46.114.pool.telefonica.de) (Max SendQ exceeded)
2023-01-25 12:03:09 +0100gurkenglas(~gurkengla@dynamic-046-114-177-155.46.114.pool.telefonica.de)
2023-01-25 12:05:36 +0100michalz(~michalz@185.246.207.200) (Read error: Connection reset by peer)
2023-01-25 12:05:54 +0100michalz(~michalz@185.246.207.193)
2023-01-25 12:06:05 +0100boxscape_(~boxscape_@213.52.37.155) (Ping timeout: 246 seconds)
2023-01-25 12:06:41 +0100xff0x(~xff0x@2405:6580:b080:900:871a:e40b:4f89:8da5)
2023-01-25 12:08:11 +0100gnalzo(~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8)
2023-01-25 12:08:24 +0100jonathanx(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se)
2023-01-25 12:12:10 +0100oldfashionedcow(~Rahul_San@user/oldfashionedcow)
2023-01-25 12:12:22 +0100turlando(~turlando@user/turlando)
2023-01-25 12:16:22 +0100mc47(~mc47@xmonad/TheMC47) (Remote host closed the connection)
2023-01-25 12:17:17 +0100turlando(~turlando@user/turlando) ()
2023-01-25 12:17:31 +0100merijn(~merijn@c-001-001-014.client.esciencecenter.eduvpn.nl) (Ping timeout: 260 seconds)
2023-01-25 12:17:34 +0100CiaoSen(~Jura@p200300c9572d4e002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
2023-01-25 12:20:22 +0100turlando(~turlando@user/turlando)
2023-01-25 12:22:58 +0100Tomx(~Tomx@88-119-11-136.static.zebra.lt)
2023-01-25 12:26:13 +0100cheater(~Username@user/cheater) (Ping timeout: 256 seconds)
2023-01-25 12:27:55 +0100CiaoSen(~Jura@p200300c9572d4e002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 256 seconds)
2023-01-25 12:27:55 +0100nschoe(~q@141.101.51.197) (Ping timeout: 260 seconds)
2023-01-25 12:31:04 +0100jmdaemon(~jmdaemon@user/jmdaemon) (Ping timeout: 260 seconds)
2023-01-25 12:32:33 +0100Tomx(~Tomx@88-119-11-136.static.zebra.lt) (Quit: Client closed)
2023-01-25 12:33:10 +0100teo(~teo@user/teo)
2023-01-25 12:34:42 +0100opticblast(~Thunderbi@secure-165.caltech.edu) (Quit: opticblast)
2023-01-25 12:34:54 +0100opticblast(~Thunderbi@secure-165.caltech.edu)
2023-01-25 12:39:00 +0100freeside(~mengwong@122.11.214.172) (Read error: Connection reset by peer)
2023-01-25 12:45:29 +0100acidjnk_new(~acidjnk@p200300d6e715c415694b102f8bcbc4be.dip0.t-ipconnect.de) (Ping timeout: 256 seconds)
2023-01-25 12:45:53 +0100merijn(~merijn@c-001-001-014.client.esciencecenter.eduvpn.nl)
2023-01-25 12:45:54 +0100cheater(~Username@user/cheater)
2023-01-25 12:57:41 +0100mei(~mei@user/mei) (Quit: mei)
2023-01-25 12:59:36 +0100boxscape_(~boxscape_@213.52.37.155)
2023-01-25 13:02:23 +0100CiaoSen(~Jura@p200300c9572d4e002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
2023-01-25 13:05:26 +0100Kuttenbrunzer(~Kuttenbru@2a02:8108:8b80:1d48::f617) (Quit: Where is it)
2023-01-25 13:08:14 +0100mc47(~mc47@xmonad/TheMC47)
2023-01-25 13:14:09 +0100freeside(~mengwong@103.252.202.170)
2023-01-25 13:18:39 +0100merijn(~merijn@c-001-001-014.client.esciencecenter.eduvpn.nl) (Ping timeout: 260 seconds)
2023-01-25 13:19:38 +0100CiaoSen(~Jura@p200300c9572d4e002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 246 seconds)
2023-01-25 13:20:48 +0100_mokee_(~mokee@37.228.215.106) (Remote host closed the connection)
2023-01-25 13:25:04 +0100jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
2023-01-25 13:25:51 +0100pja_pja
2023-01-25 13:28:34 +0100mei(~mei@user/mei)
2023-01-25 13:37:23 +0100kenran(~user@user/kenran) (Remote host closed the connection)
2023-01-25 13:45:11 +0100gurkenglas(~gurkengla@dynamic-046-114-177-155.46.114.pool.telefonica.de) (Ping timeout: 264 seconds)
2023-01-25 13:45:24 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2023-01-25 13:48:11 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 255 seconds)
2023-01-25 13:48:23 +0100pragma-(~chaos@user/pragmatic-chaos)
2023-01-25 13:49:03 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643)
2023-01-25 13:53:00 +0100gnalzo(~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
2023-01-25 14:05:04 +0100pragma-(~chaos@user/pragmatic-chaos) (Quit: Bye!)
2023-01-25 14:05:06 +0100coot(~coot@213.134.171.3) (Quit: coot)
2023-01-25 14:05:36 +0100pragma-(~chaos@user/pragmatic-chaos)
2023-01-25 14:07:48 +0100acidjnk_new(~acidjnk@p200300d6e715c415694b102f8bcbc4be.dip0.t-ipconnect.de)
2023-01-25 14:10:52 +0100segfaultfizzbuzz(~segfaultf@172.58.122.111)
2023-01-25 14:13:36 +0100rustisafungus(~segfaultf@108.211.201.53)
2023-01-25 14:14:56 +0100segfaultfizzbuzz(~segfaultf@172.58.122.111) (Ping timeout: 246 seconds)
2023-01-25 14:17:01 +0100nschoe(~q@141.101.51.197)
2023-01-25 14:17:23 +0100gurkenglas(~gurkengla@dynamic-046-114-177-155.46.114.pool.telefonica.de)
2023-01-25 14:22:42 +0100thyriaen(~thyriaen@2a01:aea0:dd4:4fa4:6245:cbff:fe9f:48b1)
2023-01-25 14:23:52 +0100nschoe(~q@141.101.51.197) (Quit: Switching off)
2023-01-25 14:25:11 +0100haritz(~hrtz@2a02:8010:65b5:0:6009:6384:e3cb:2220)
2023-01-25 14:25:11 +0100haritz(~hrtz@2a02:8010:65b5:0:6009:6384:e3cb:2220) (Changing host)
2023-01-25 14:25:11 +0100haritz(~hrtz@user/haritz)
2023-01-25 14:29:16 +0100Philonous_Philonous
2023-01-25 14:30:31 +0100gurkenglas(~gurkengla@dynamic-046-114-177-155.46.114.pool.telefonica.de) (Ping timeout: 252 seconds)
2023-01-25 14:40:12 +0100kuttenbrunzer(~kuttenbru@2a02:8108:8b80:1d48:e8b7:ebaf:ed8d:6e4b)
2023-01-25 14:40:30 +0100coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba)
2023-01-25 14:41:11 +0100use-value(~Thunderbi@2a00:23c6:8a03:2f01:4828:8948:882f:20e0)
2023-01-25 14:46:03 +0100Shaeto(~Shaeto@94.25.234.173)
2023-01-25 14:48:07 +0100rustisafungus(~segfaultf@108.211.201.53) (Ping timeout: 252 seconds)
2023-01-25 14:48:52 +0100razetime(~Thunderbi@117.193.1.37)
2023-01-25 14:51:25 +0100nschoe(~q@141.101.51.197)
2023-01-25 14:52:53 +0100shon(~shon@gateway/tor-sasl/shon)
2023-01-25 14:53:53 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 255 seconds)
2023-01-25 14:56:31 +0100segfaultfizzbuzz(~segfaultf@108.211.201.53)
2023-01-25 14:59:43 +0100cheater_(~Username@user/cheater)
2023-01-25 15:00:23 +0100cheater(~Username@user/cheater) (Ping timeout: 246 seconds)
2023-01-25 15:00:29 +0100cheater_cheater
2023-01-25 15:01:32 +0100razetime(~Thunderbi@117.193.1.37) (Quit: See You Space Cowboy)
2023-01-25 15:01:55 +0100segfaultfizzbuzz(~segfaultf@108.211.201.53) (Ping timeout: 260 seconds)
2023-01-25 15:02:22 +0100acidjnk_new(~acidjnk@p200300d6e715c415694b102f8bcbc4be.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
2023-01-25 15:02:37 +0100segfaultfizzbuzz(~segfaultf@108.211.201.53)
2023-01-25 15:06:36 +0100CiaoSen(~Jura@p200300c9572d4e002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
2023-01-25 15:06:49 +0100jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 252 seconds)
2023-01-25 15:09:51 +0100Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542)
2023-01-25 15:10:11 +0100stiell_(~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
2023-01-25 15:12:51 +0100stiell_(~stiell@gateway/tor-sasl/stiell)
2023-01-25 15:14:15 +0100merijn(~merijn@c-001-001-014.client.esciencecenter.eduvpn.nl)
2023-01-25 15:15:12 +0100thegeekinside(~thegeekin@189.180.66.244)
2023-01-25 15:15:33 +0100shriekingnoise(~shrieking@186.137.175.87)
2023-01-25 15:16:40 +0100segfaultfizzbuzz(~segfaultf@108.211.201.53) (Ping timeout: 268 seconds)
2023-01-25 15:17:07 +0100akegalj(~akegalj@89-164-101-255.dsl.iskon.hr)
2023-01-25 15:20:06 +0100segfaultfizzbuzz(~segfaultf@108.211.201.53)
2023-01-25 15:20:44 +0100CiaoSen(~Jura@p200300c9572d4e002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 246 seconds)
2023-01-25 15:21:12 +0100CiaoSen(~Jura@p200300c9572d4e002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
2023-01-25 15:25:17 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 256 seconds)
2023-01-25 15:25:31 +0100 <eldritchcookie[4> is there a library similar to sympy for haskell?
2023-01-25 15:30:39 +0100troydm(~troydm@user/troydm)
2023-01-25 15:32:07 +0100segfaultfizzbuzz(~segfaultf@108.211.201.53) (Ping timeout: 252 seconds)
2023-01-25 15:33:49 +0100 <boxscape_> I suspect you'll find some proofs of concept but nothing nearly as fully featured as sympy
2023-01-25 15:35:37 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2023-01-25 15:39:19 +0100 <raehik> to use the index of a constructor in some generics code, it seems I must thread it through `l:+:r` instances such that `l` returns its "total" index (after the rightmost element in its sum tree), then increment for `r`. is there a way around this? it feels clunky/slow
2023-01-25 15:40:00 +0100 <raehik> I looked at how the binary serializing pkg does things, and it seems to take a different approach using GHC's guarantee of decently-balanced sum trees (? I think anyway)
2023-01-25 15:40:26 +0100 <raehik> but in my case I need the actual index. do I have to do all the counting manually
2023-01-25 15:40:46 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:2283:b41:5476:a828) (Quit: WeeChat 2.8)
2023-01-25 15:47:39 +0100coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot)
2023-01-25 15:48:37 +0100merijn(~merijn@c-001-001-014.client.esciencecenter.eduvpn.nl) (Ping timeout: 252 seconds)
2023-01-25 15:52:00 +0100segfaultfizzbuzz(~segfaultf@108.211.201.53)
2023-01-25 15:53:04 +0100acidjnk_new(~acidjnk@p200300d6e715c415694b102f8bcbc4be.dip0.t-ipconnect.de)
2023-01-25 15:54:33 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:5dd6:a35b:a6fd:3837)
2023-01-25 15:59:03 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:5dd6:a35b:a6fd:3837) (Ping timeout: 255 seconds)
2023-01-25 15:59:04 +0100kurbus(~kurbus@user/kurbus)
2023-01-25 16:07:16 +0100 <raehik> glguy_, does the generic deriving in cereal (and adapted by binary) work based on the assumption that GHC balances its generic sums & products rep?
2023-01-25 16:13:25 +0100kuttenbrunzer(~kuttenbru@2a02:8108:8b80:1d48:e8b7:ebaf:ed8d:6e4b) (Quit: Leaving)
2023-01-25 16:15:29 +0100zer0bitz_(~zer0bitz@196.244.192.58)
2023-01-25 16:18:53 +0100Luj(~Luj@2a01:e0a:5f9:9681:5880:c9ff:fe9f:3dfb) (Quit: The Lounge - https://thelounge.chat)
2023-01-25 16:19:19 +0100segfaultfizzbuzz(~segfaultf@108.211.201.53) (Remote host closed the connection)
2023-01-25 16:19:41 +0100zer0bitz(~zer0bitz@2001:2003:f443:d600:a4e6:fd8f:f654:94ad) (Ping timeout: 256 seconds)
2023-01-25 16:20:21 +0100Luj(~Luj@2a01:e0a:5f9:9681:a800:fa55:60bb:e167)
2023-01-25 16:22:56 +0100beteigeuze(~Thunderbi@bl14-81-220.dsl.telepac.pt)
2023-01-25 16:25:32 +0100L29Ah(~L29Ah@wikipedia/L29Ah) (Read error: Connection reset by peer)
2023-01-25 16:26:27 +0100L29Ah(~L29Ah@wikipedia/L29Ah)
2023-01-25 16:33:17 +0100jmdaemon(~jmdaemon@user/jmdaemon)
2023-01-25 16:34:14 +0100Sgeo(~Sgeo@user/sgeo)
2023-01-25 16:35:48 +0100Luj(~Luj@2a01:e0a:5f9:9681:a800:fa55:60bb:e167) (Quit: The Lounge - https://thelounge.chat)
2023-01-25 16:36:46 +0100Luj(~Luj@2a01:e0a:5f9:9681:a800:fa55:60bb:e167)
2023-01-25 16:44:35 +0100stiell_(~stiell@gateway/tor-sasl/stiell) (Ping timeout: 255 seconds)
2023-01-25 16:48:25 +0100L29Ah(~L29Ah@wikipedia/L29Ah) (Read error: Connection reset by peer)
2023-01-25 16:48:34 +0100stiell_(~stiell@gateway/tor-sasl/stiell)
2023-01-25 16:52:42 +0100mc47(~mc47@xmonad/TheMC47) (Remote host closed the connection)
2023-01-25 16:53:25 +0100sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
2023-01-25 16:54:53 +0100sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2023-01-25 16:57:13 +0100jmdaemon(~jmdaemon@user/jmdaemon) (Ping timeout: 252 seconds)
2023-01-25 16:57:15 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Remote host closed the connection)
2023-01-25 16:57:40 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2023-01-25 16:57:47 +0100bontaq(~user@ool-45779fe5.dyn.optonline.net)
2023-01-25 16:59:39 +0100jonathanx(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Ping timeout: 268 seconds)
2023-01-25 17:00:12 +0100coot(~coot@213.134.171.3)
2023-01-25 17:00:45 +0100jonathanx(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se)
2023-01-25 17:02:48 +0100trev_(~trev@109-252-35-99.nat.spd-mgts.ru)
2023-01-25 17:06:05 +0100albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2023-01-25 17:06:57 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2023-01-25 17:09:13 +0100pavonia(~user@user/siracusa) (Quit: Bye!)
2023-01-25 17:10:14 +0100ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 255 seconds)
2023-01-25 17:11:15 +0100ec(~ec@gateway/tor-sasl/ec)
2023-01-25 17:11:45 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:5dd6:a35b:a6fd:3837)
2023-01-25 17:12:12 +0100albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2023-01-25 17:15:41 +0100freeside(~mengwong@103.252.202.170) (Ping timeout: 268 seconds)
2023-01-25 17:21:41 +0100ames(~amelia@offtopia/offtopian/amelia)
2023-01-25 17:22:31 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:5dd6:a35b:a6fd:3837) (Remote host closed the connection)
2023-01-25 17:28:47 +0100acidjnk_new(~acidjnk@p200300d6e715c415694b102f8bcbc4be.dip0.t-ipconnect.de) (Ping timeout: 246 seconds)
2023-01-25 17:31:33 +0100freeside(~mengwong@103.252.202.170)
2023-01-25 17:31:55 +0100dunj3(~dunj3@kingdread.de)
2023-01-25 17:35:15 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net)
2023-01-25 17:35:38 +0100oldfashionedcow(~Rahul_San@user/oldfashionedcow) (Quit: WeeChat 3.8)
2023-01-25 17:40:12 +0100jero98772(~jero98772@2800:484:1d80:d8ce:3490:26c5:1782:da8c)
2023-01-25 17:40:23 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 264 seconds)
2023-01-25 17:40:44 +0100hpc(~juzz@ip98-169-35-163.dc.dc.cox.net) (Ping timeout: 255 seconds)
2023-01-25 17:42:24 +0100hpc(~juzz@ip98-169-35-163.dc.dc.cox.net)
2023-01-25 17:42:33 +0100werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Remote host closed the connection)
2023-01-25 17:43:06 +0100razetime(~Thunderbi@117.193.1.37)
2023-01-25 17:43:15 +0100L29Ah(~L29Ah@wikipedia/L29Ah)
2023-01-25 17:44:40 +0100CiaoSen(~Jura@p200300c9572d4e002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
2023-01-25 17:46:59 +0100hpc(~juzz@ip98-169-35-163.dc.dc.cox.net) (Ping timeout: 264 seconds)
2023-01-25 17:51:35 +0100 <lyxia> raehik: it shouldn't be slow if inlining works
2023-01-25 17:52:57 +0100boxscape_(~boxscape_@213.52.37.155) (Ping timeout: 252 seconds)
2023-01-25 17:53:01 +0100 <lyxia> as for making the code less awkward, you can compute the index in a separate pass, and then just pass it down in the main pass
2023-01-25 17:53:22 +0100 <lyxia> or use generics-sop which relies on more high-level combinators
2023-01-25 17:53:49 +0100hpc(~juzz@ip98-169-35-163.dc.dc.cox.net)
2023-01-25 17:59:51 +0100johnw(~johnw@76-234-69-149.lightspeed.frokca.sbcglobal.net)
2023-01-25 18:02:38 +0100 <raehik> lyxia: that's true. I'm curious how the resulting code would really look (still GHC core-averse)
2023-01-25 18:02:48 +0100ubert1(~Thunderbi@2a02:8109:abc0:6434:dc1d:737c:6633:78c1) (Quit: ubert1)
2023-01-25 18:04:26 +0100 <raehik> and I think you're right I could probably add another function in the generic deriver class for index. that also feels easier for GHC to optimize
2023-01-25 18:07:47 +0100kurbus(~kurbus@user/kurbus) (Quit: Client closed)
2023-01-25 18:15:02 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 255 seconds)
2023-01-25 18:16:21 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643)
2023-01-25 18:17:12 +0100 <Jadesheit[m]> when I have a class definition like class Foo a where I can have functions like foo :: forall b. a b but how can I scope this forall to be on the class instead?
2023-01-25 18:17:37 +0100 <Jadesheit[m]> Specifically I want to fix t a on the class scope so I can use a in functions
2023-01-25 18:17:50 +0100 <Jadesheit[m]> * when I have a class definition like class Foo t where I can have functions like foo :: forall b. t b but how can I scope this forall to be on the class instead?
2023-01-25 18:18:01 +0100 <Jadesheit[m]> * when I have a class definition like class Foo t where I can have functions like foo :: forall a. t a but how can I scope this forall to be on the class instead?
2023-01-25 18:18:54 +0100 <Jadesheit[m]> (I might be using wrong terms here)
2023-01-25 18:20:07 +0100 <geekosaur> aren't class-scoped tyvars already visible that way?
2023-01-25 18:20:18 +0100kurbus(~kurbus@user/kurbus)
2023-01-25 18:20:31 +0100 <Jadesheit[m]> how would that work?
2023-01-25 18:20:33 +0100azimut(~azimut@gateway/tor-sasl/azimut)
2023-01-25 18:20:43 +0100chele(~chele@user/chele) (Remote host closed the connection)
2023-01-25 18:20:50 +0100 <geekosaur> hm, might need `ScopedTypeVariables` and explicit `forall` for them to be visible within definitions, though
2023-01-25 18:21:10 +0100 <Jadesheit[m]> I want to write `instance Foo (Bar a)` where both the `Bar` and the `a` are independently "visible" in the class
2023-01-25 18:21:32 +0100 <geekosaur> Jadesheit[m], a class-scoped type variable would be pretty useless if methods couldn't use it directly
2023-01-25 18:21:56 +0100jonathanx(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Remote host closed the connection)
2023-01-25 18:21:58 +0100 <geekosaur> % :info fmap
2023-01-25 18:21:58 +0100 <yahb2> type Functor :: (* -> *) -> Constraint ; class Functor f where ; fmap :: (a -> b) -> f a -> f b ; ... ; -- Defined in ‘GHC.Base’
2023-01-25 18:22:02 +0100 <Jadesheit[m]> how does it work on the syntax level?
2023-01-25 18:22:31 +0100 <geekosaur> should just work
2023-01-25 18:22:33 +0100 <Jadesheit[m]> yeah but here the a and b are local to the method right
2023-01-25 18:22:43 +0100 <tomsmeding> and f is class-global, yes
2023-01-25 18:22:54 +0100kuribas(~user@ip-188-118-57-242.reverse.destiny.be) (Ping timeout: 268 seconds)
2023-01-25 18:23:01 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:5dd6:a35b:a6fd:3837)
2023-01-25 18:23:20 +0100 <Jadesheit[m]> I want the a to be class-global too
2023-01-25 18:23:21 +0100 <Jadesheit[m]> * I want the a to be class-global too in my specific case
2023-01-25 18:23:23 +0100 <Jadesheit[m]> I think
2023-01-25 18:23:39 +0100 <geekosaur> if it';s named in the class header then it should be
2023-01-25 18:24:11 +0100avicenzi(~avicenzi@2a00:ca8:a1f:b004::c32) (Ping timeout: 264 seconds)
2023-01-25 18:25:04 +0100 <Jadesheit[m]> but how would you do that
2023-01-25 18:25:12 +0100 <geekosaur> as I said earlierm it;d be useless if it weren't
2023-01-25 18:25:17 +0100 <Jadesheit[m]> class Foo (Bar a) where
2023-01-25 18:25:20 +0100 <Jadesheit[m]> does that work?
2023-01-25 18:25:25 +0100 <tomsmeding> then 'a' will be visible
2023-01-25 18:25:26 +0100 <geekosaur> why do you think you need to do something special?
2023-01-25 18:25:27 +0100 <geekosaur> \
2023-01-25 18:25:53 +0100 <geekosaur> classes would be useless if they didn't already work that way
2023-01-25 18:26:28 +0100use-value1(~Thunderbi@2a00:23c6:8a03:2f01:6c1e:f171:b1ec:34de)
2023-01-25 18:26:42 +0100 <Jadesheit[m]> it doesn't work if the inner one is a type variable as well
2023-01-25 18:26:50 +0100 <Jadesheit[m]> class Foo (a b) where
2023-01-25 18:27:06 +0100jonathanx(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se)
2023-01-25 18:27:34 +0100 <tomsmeding> wait that is nonsense anyhow
2023-01-25 18:27:41 +0100 <tomsmeding> don't you mean 'instance Foo (a b) where'?
2023-01-25 18:28:08 +0100 <tomsmeding> a class declaration always looks like 'class Foo a b c d where', the a/b/c/d cannot be anything but type variables
2023-01-25 18:28:17 +0100 <tomsmeding> (well, technically they can also have kind signatures, but let's not get into that)
2023-01-25 18:28:21 +0100remedan(~remedan@ip-89-177-74-251.bb.vodafone.cz) (Quit: Bye!)
2023-01-25 18:28:26 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:5dd6:a35b:a6fd:3837) (Ping timeout: 252 seconds)
2023-01-25 18:28:31 +0100 <Jadesheit[m]> that's what I'm trying
2023-01-25 18:28:53 +0100use-value(~Thunderbi@2a00:23c6:8a03:2f01:4828:8948:882f:20e0) (Ping timeout: 256 seconds)
2023-01-25 18:28:53 +0100use-value1use-value
2023-01-25 18:29:09 +0100 <Jadesheit[m]> I know kind signature stuff a little
2023-01-25 18:29:11 +0100 <Jadesheit[m]> but I want the specific kind to be scoped to the class
2023-01-25 18:29:32 +0100barzo(~hd@31.223.41.44) (Ping timeout: 252 seconds)
2023-01-25 18:29:56 +0100 <tomsmeding> Jadesheit[m]: do you want something like 'class Foo (a :: Type -> Type) where'?
2023-01-25 18:30:05 +0100Jadesheit[m]sent a hs code block: https://libera.ems.host/_matrix/media/v3/download/libera.chat/ecf3505f3cec2a71a66c3cb62a2fc4f13a7a…
2023-01-25 18:30:06 +0100 <Jadesheit[m]> `
2023-01-25 18:30:24 +0100 <tomsmeding> that's impossible
2023-01-25 18:30:35 +0100 <Jadesheit[m]> tomsmeding: yes but with the specific kind fixed and scoped to the class
2023-01-25 18:30:38 +0100 <Jadesheit[m]> I know+
2023-01-25 18:30:43 +0100 <tomsmeding> this is unrelated to kinds
2023-01-25 18:30:47 +0100econo(uid147250@user/econo)
2023-01-25 18:30:51 +0100 <Jadesheit[m]> tomsmeding: hm ok
2023-01-25 18:31:01 +0100 <tomsmeding> what's the purpose?
2023-01-25 18:31:14 +0100 <tomsmeding> there is a workaround I can think of, but it's ugly, and there might be an X-Y problem here
2023-01-25 18:31:58 +0100nschoe(~q@141.101.51.197) (Quit: Switching off)
2023-01-25 18:32:02 +0100 <Jadesheit[m]> I want to have a general class for a Tree... (full message at <https://libera.ems.host/_matrix/media/v3/download/libera.chat/118d932ff39bc767e2efc2286ab83219cb0d…>)
2023-01-25 18:32:27 +0100merijn(~merijn@c-001-001-014.client.esciencecenter.eduvpn.nl)
2023-01-25 18:32:38 +0100 <Jadesheit[m]> might just be stupid lmao
2023-01-25 18:32:54 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:5dd6:a35b:a6fd:3837)
2023-01-25 18:32:55 +0100 <Jadesheit[m]> s/data/value/
2023-01-25 18:33:48 +0100 <tomsmeding> Jadesheit[m]: make it just this: class Tree t a where { data :: a ; children :: [t a] }
2023-01-25 18:34:08 +0100 <Jadesheit[m]> ohhhhhhhhhhhhhh
2023-01-25 18:34:20 +0100 <tomsmeding> works
2023-01-25 18:35:39 +0100 <c_wraith> uh... that definition is sketchy
2023-01-25 18:35:56 +0100 <c_wraith> I mean, you can make it work with -XTypeApplications
2023-01-25 18:36:01 +0100 <tomsmeding> fair point
2023-01-25 18:36:08 +0100 <c_wraith> but it's really awkward to not have data depend on t
2023-01-25 18:36:20 +0100 <tomsmeding> class Tree t a where { data :: t a -> a ; children :: t a -> [t a] }
2023-01-25 18:36:26 +0100 <tomsmeding> this was probably the intent
2023-01-25 18:36:32 +0100 <tomsmeding> though actually
2023-01-25 18:36:34 +0100 <c_wraith> ah, true. that works better
2023-01-25 18:36:37 +0100razetime(~Thunderbi@117.193.1.37) (Remote host closed the connection)
2023-01-25 18:36:41 +0100 <tomsmeding> class Tree t a where { data :: t -> a ; children :: t -> [t] }
2023-01-25 18:36:47 +0100 <tomsmeding> no reason to force 'a' to be a parameter of 't'
2023-01-25 18:37:01 +0100 <c_wraith> eh, that goes back to needing TypeApplications
2023-01-25 18:37:12 +0100 <tomsmeding> class Tree t a | t -> a
2023-01-25 18:37:13 +0100Jadesheit[m]uploaded an image: (119KiB) < https://libera.ems.host/_matrix/media/v3/download/matrix.org/vzztGaekuHBTFKPWXtIDhkCu/image.png >
2023-01-25 18:37:14 +0100 <Jadesheit[m]> hm
2023-01-25 18:37:20 +0100 <c_wraith> But even before that, my big question is "why is this a class?"
2023-01-25 18:37:28 +0100 <tomsmeding> Jadesheit[m]: yeah that's what c_wraith spotted
2023-01-25 18:38:02 +0100acidjnk_new(~acidjnk@p200300d6e715c4378995b0b991253537.dip0.t-ipconnect.de)
2023-01-25 18:40:30 +0100azimut(~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
2023-01-25 18:41:05 +0100azimut(~azimut@gateway/tor-sasl/azimut)
2023-01-25 18:42:24 +0100sm(~sm@plaintextaccounting/sm) (Excess Flood)
2023-01-25 18:42:47 +0100sm(~sm@plaintextaccounting/sm)
2023-01-25 18:43:07 +0100jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
2023-01-25 18:43:18 +0100 <tomsmeding> Jadesheit[m]: another option: class HasValues t a where value :: t -> a ; class HasChildren t where children :: t -> [t]
2023-01-25 18:44:09 +0100 <geekosaur> I'm with c_wraith though: are you sure this isn't handled better by a `data`?
2023-01-25 18:44:23 +0100 <geekosaur> This isn't an OOP language
2023-01-25 18:47:08 +0100 <Jadesheit[m]> The idea was to write functions that act on this "general" tree
2023-01-25 18:48:16 +0100 <c_wraith> The best questions to start with when you are thinking about creating a class are: 1) How many different instances am I going to have? 2) What kind of code will I be writing that treats all of those instances the same?
2023-01-25 18:48:25 +0100 <Jadesheit[m]> otherwise you'd need to have conversion methods from and to other tree types
2023-01-25 18:49:06 +0100infinity0_(~infinity0@pwned.gg)
2023-01-25 18:49:07 +0100infinity0(~infinity0@pwned.gg) (Killed (mercury.libera.chat (Nickname regained by services)))
2023-01-25 18:49:07 +0100infinity0_infinity0
2023-01-25 18:54:25 +0100cheater_(~Username@user/cheater)
2023-01-25 18:57:20 +0100azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 255 seconds)
2023-01-25 18:57:26 +0100cheater(~Username@user/cheater) (Ping timeout: 268 seconds)
2023-01-25 18:57:31 +0100cheater_cheater
2023-01-25 18:57:35 +0100teo(~teo@user/teo) (Ping timeout: 260 seconds)
2023-01-25 18:57:47 +0100stiell_(~stiell@gateway/tor-sasl/stiell) (Ping timeout: 255 seconds)
2023-01-25 18:58:03 +0100fserucas(~fserucas@2001:8a0:6d00:2500:4717:7619:c4e9:3aa2) (Remote host closed the connection)
2023-01-25 18:58:21 +0100fserucas(~fserucas@2001:8a0:6d00:2500:4717:7619:c4e9:3aa2)
2023-01-25 19:00:23 +0100azimut(~azimut@gateway/tor-sasl/azimut)
2023-01-25 19:01:09 +0100fserucas(~fserucas@2001:8a0:6d00:2500:4717:7619:c4e9:3aa2) (Remote host closed the connection)
2023-01-25 19:01:27 +0100fserucas(~fserucas@2001:8a0:6d00:2500:4717:7619:c4e9:3aa2)
2023-01-25 19:01:50 +0100stiell_(~stiell@gateway/tor-sasl/stiell)
2023-01-25 19:05:19 +0100tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net)
2023-01-25 19:06:25 +0100 <freeside> I need a bit of intuition, please. Why does [1,2] <|> [3] ==> [1,2,3] and not [1,2]?
2023-01-25 19:06:35 +0100fserucas(~fserucas@2001:8a0:6d00:2500:4717:7619:c4e9:3aa2) (Ping timeout: 248 seconds)
2023-01-25 19:07:46 +0100 <[exa]> freeside: the list functor/alternative/monad instances kinda represent "all possible results of a computation"
2023-01-25 19:08:20 +0100 <freeside> I was expecting [] <|> [3] to be analogous to Nothing <|> Just 3
2023-01-25 19:08:28 +0100 <[exa]> so if you have a computation with all possible results [1,2] and another with all possible results [3], all possible results of either one are literally [1,2,3]
2023-01-25 19:09:11 +0100 <[exa]> > (Nothing <|> Just 3, [] <|> [3])
2023-01-25 19:09:13 +0100 <lambdabot> (Just 3,[3])
2023-01-25 19:09:39 +0100 <freeside> > (Just 1 <|> Just 2, [1] <|> [2])
2023-01-25 19:09:41 +0100 <lambdabot> (Just 1,[1,2])
2023-01-25 19:09:44 +0100coot(~coot@213.134.171.3) (Quit: coot)
2023-01-25 19:10:11 +0100 <[exa]> yeah, there's the difference, Just can only store 1 result and the semantics is that it's the "leftmost" one
2023-01-25 19:10:12 +0100 <freeside> is there some idiom which is semantically closer to a "if not null x then x else y"
2023-01-25 19:10:34 +0100 <[exa]> :t fromJust
2023-01-25 19:10:36 +0100 <lambdabot> Maybe a -> a
2023-01-25 19:10:36 +0100 <freeside> i seem to be asking for Perl's // operator lol
2023-01-25 19:10:50 +0100 <[exa]> oh no that one just explodes on Nothing
2023-01-25 19:11:21 +0100 <[exa]> > (fromMaybe 3 Nothing, fromMaybe 3 (Just 5))
2023-01-25 19:11:23 +0100 <lambdabot> (3,5)
2023-01-25 19:11:27 +0100 <[exa]> that's the one.
2023-01-25 19:11:33 +0100 <geekosaur> > (First [1,2] <|> First [3])
2023-01-25 19:11:35 +0100 <lambdabot> error:
2023-01-25 19:11:35 +0100 <lambdabot> • Couldn't match expected type ‘Maybe a’ with actual type ‘[a0]’
2023-01-25 19:11:35 +0100 <lambdabot> • In the first argument of ‘First’, namely ‘[1, 2]’
2023-01-25 19:11:41 +0100 <geekosaur> hm
2023-01-25 19:11:57 +0100 <geekosaur> thought First was general for monoids
2023-01-25 19:13:29 +0100 <[exa]> `First a` is a semigroup on itself, without requiring Semigroup a, right?
2023-01-25 19:14:44 +0100opticblast(~Thunderbi@secure-165.caltech.edu) (Ping timeout: 260 seconds)
2023-01-25 19:14:47 +0100Shaeto(~Shaeto@94.25.234.173) (Quit: WeeChat 3.8)
2023-01-25 19:14:56 +0100 <[exa]> freeside: btw it's pretty common to just `head` that list after the computation is done and get whatever first option that gets through :D
2023-01-25 19:15:23 +0100Tuplanolla(~Tuplanoll@91-159-68-152.elisa-laajakaista.fi)
2023-01-25 19:16:00 +0100 <geekosaur> I think they want [1.2], not 1
2023-01-25 19:16:13 +0100 <geekosaur> er, [1,2]
2023-01-25 19:17:30 +0100 <freeside> yeah, i want to return all of the lhs if it's not null
2023-01-25 19:17:37 +0100acidjnk_new(~acidjnk@p200300d6e715c4378995b0b991253537.dip0.t-ipconnect.de) (Ping timeout: 256 seconds)
2023-01-25 19:18:09 +0100remedan(~remedan@ip-89-177-74-251.bb.vodafone.cz)
2023-01-25 19:18:55 +0100 <freeside> not seeing anything in Foldable, but boy, Control.Bool has some wacky stuff up its sleeve
2023-01-25 19:19:46 +0100 <geekosaur> > [[1,2]] <|> [[3]]
2023-01-25 19:19:48 +0100 <lambdabot> [[1,2],[3]]
2023-01-25 19:19:52 +0100infinity0(~infinity0@pwned.gg) (Remote host closed the connection)
2023-01-25 19:19:55 +0100 <monochrom> Control.Bool and Data.Machine :)
2023-01-25 19:20:58 +0100shon(~shon@gateway/tor-sasl/shon) (Quit: WeeChat 3.8)
2023-01-25 19:24:03 +0100infinity0(~infinity0@pwned.gg)
2023-01-25 19:26:32 +0100 <freeside> call me crazy, but i have just defined x <|||> y = if not (null x) then x else y :: Foldable t => t a -> t a -> t a
2023-01-25 19:27:03 +0100 <freeside> I would have done <||> but that was taken by Text.Parser.Permutation
2023-01-25 19:28:33 +0100 <monochrom> This is related to Prolog's cut. :)
2023-01-25 19:29:08 +0100 <freeside> oh dear, it is.
2023-01-25 19:29:18 +0100 <freeside> how naf of me
2023-01-25 19:29:48 +0100 <monochrom> It is also worth considering to: newtype CutList a = CutList [a], write its Alternative instance to do <|||>
2023-01-25 19:30:31 +0100 <freeside> (brief moment of existential panic wondering if i should go look at how Curry thinks about this)
2023-01-25 19:31:08 +0100tv(~tv@user/tv) (Quit: derp)
2023-01-25 19:31:35 +0100tv(~tv@user/tv)
2023-01-25 19:33:53 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:5dd6:a35b:a6fd:3837) (Remote host closed the connection)
2023-01-25 19:34:25 +0100acidjnk_new(~acidjnk@p200300d6e715c4378952c6d8f1083787.dip0.t-ipconnect.de)
2023-01-25 19:35:31 +0100\yrlnry(~yrlnry@2600:4040:738e:5400:b8c6:a4da:9f09:51fa) (Remote host closed the connection)
2023-01-25 19:36:18 +0100yrlnry(~yrlnry@2600:4040:738e:5400:85d2:5b54:72c6:ed3e)
2023-01-25 19:39:28 +0100 <Jadesheit[m]> can't wait for the ultimate `<||||>`
2023-01-25 19:40:41 +0100 <geekosaur> will https://hackage.haskell.org/package/xmonad-contrib-0.17.1/docs/XMonad-Layout-LayoutCombinators.htm… do?
2023-01-25 19:42:21 +0100 <monochrom> Haha that's great ascii art to convey what the operators do geometrically
2023-01-25 19:43:56 +0100infinity0(~infinity0@pwned.gg) (Remote host closed the connection)
2023-01-25 19:44:26 +0100hrberg(~quassel@171.79-160-161.customer.lyse.net) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
2023-01-25 19:44:48 +0100finsternis(~X@23.226.237.192)
2023-01-25 19:46:04 +0100infinity0(~infinity0@pwned.gg)
2023-01-25 19:47:34 +0100hrberg(~quassel@171.79-160-161.customer.lyse.net)
2023-01-25 19:51:11 +0100freeside(~mengwong@103.252.202.170) (Ping timeout: 264 seconds)
2023-01-25 19:52:29 +0100freeside(~mengwong@103.252.202.170)
2023-01-25 19:53:22 +0100Inst(~Inst@2601:6c4:4081:54f0:d621:5cdd:9051:c240) (Ping timeout: 252 seconds)
2023-01-25 19:57:15 +0100freeside(~mengwong@103.252.202.170) (Ping timeout: 268 seconds)
2023-01-25 19:58:15 +0100freeside(~mengwong@103.252.202.170)
2023-01-25 19:59:01 +0100trev_(~trev@109-252-35-99.nat.spd-mgts.ru) (Remote host closed the connection)
2023-01-25 20:02:07 +0100ft(~ft@p4fc2a257.dip0.t-ipconnect.de)
2023-01-25 20:02:26 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 246 seconds)
2023-01-25 20:04:32 +0100freeside(~mengwong@103.252.202.170) (Ping timeout: 246 seconds)
2023-01-25 20:09:29 +0100akegalj(~akegalj@89-164-101-255.dsl.iskon.hr) (Quit: leaving)
2023-01-25 20:09:36 +0100opticblast(~Thunderbi@secure-165.caltech.edu)
2023-01-25 20:14:05 +0100freeside(~mengwong@103.252.202.170)
2023-01-25 20:21:11 +0100Inst(~Inst@2601:6c4:4081:54f0:dc48:1108:b41f:ce7b)
2023-01-25 20:23:31 +0100bgs(~bgs@212-85-160-171.dynamic.telemach.net)
2023-01-25 20:23:35 +0100jinsun__(~jinsun@user/jinsun)
2023-01-25 20:23:35 +0100jinsun(~jinsun@user/jinsun) (Killed (osmium.libera.chat (Nickname regained by services)))
2023-01-25 20:23:35 +0100jinsun__jinsun
2023-01-25 20:31:41 +0100seriously_(~seriously@2001:1c06:2715:c200:1800:e7f0:57e2:d1cf)
2023-01-25 20:34:22 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:5dd6:a35b:a6fd:3837)
2023-01-25 20:35:15 +0100jespada_(~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net)
2023-01-25 20:35:37 +0100jespada(~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) (Ping timeout: 265 seconds)
2023-01-25 20:38:41 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:5dd6:a35b:a6fd:3837) (Ping timeout: 252 seconds)
2023-01-25 20:38:58 +0100Xeroine(~Xeroine@user/xeroine) (Ping timeout: 252 seconds)
2023-01-25 20:39:17 +0100Xeroine(~Xeroine@user/xeroine)
2023-01-25 20:40:27 +0100 <seriously_> Hey everyone... I'm really stuck on Excercise 1 here on yorgey-hw11, applicatives: https://www.cis.upenn.edu/~cis1940/spring13/hw/11-applicative2.pdf. We wrote an instance of Applicative (and functor) for the Parser type. Basically by understanding is that using <$> and <*>, we can write the "control structure" of a complex parser composed of low
2023-01-25 20:40:28 +0100 <seriously_> level parsers like primitive parsers. So for example if you want to parse a string that you know will always be in the format 'firstname,lastname' and you want to parse it into a data type (Person = Person String String) then you can define a 'complex' parser (p = Person <$> parseLetters <*> parsePipe <*> parseLetters. The "control structure" being
2023-01-25 20:40:28 +0100 <seriously_> the order in which the parsers appear composed with the apply functions.
2023-01-25 20:42:05 +0100 <seriously_> control structure of parser p: parse letters up to non-letter -> parse out non-letter -> parse letters up to non-letter
2023-01-25 20:42:12 +0100unit73e(~emanuel@2001:818:e8dd:7c00:656:e5ff:fe72:9d36)
2023-01-25 20:43:42 +0100 <monochrom> zeroOrMore and oneOrMore are each recursive. In fact, you can leverage much code reuse by making them mutually recursive to each other.
2023-01-25 20:44:19 +0100 <seriously_> Now excercise 1 here is telling me to define a control structure which continuously runs a given parser until it fails. I don't know how I can do that... I think i can possibly use the repeat function somehow?
2023-01-25 20:44:21 +0100 <monochrom> They will also need <|>. I forgot whether they need empty.
2023-01-25 20:44:32 +0100kurbus(~kurbus@user/kurbus) (Quit: Client closed)
2023-01-25 20:44:34 +0100 <monochrom> repeat will not help.
2023-01-25 20:44:57 +0100beteigeuze1(~Thunderbi@bl14-81-220.dsl.telepac.pt)
2023-01-25 20:45:01 +0100beteigeuze(~Thunderbi@bl14-81-220.dsl.telepac.pt) (Read error: Connection reset by peer)
2023-01-25 20:45:01 +0100beteigeuze1beteigeuze
2023-01-25 20:46:17 +0100kurbus(~kurbus@user/kurbus)
2023-01-25 20:46:50 +0100 <seriously_> I might be understanding this inccorectly but the assignment says I cant use  details of the Parser type; only the applicative methods provided on the instance of Parser. So I take this to mean I shouldnt use the runParser command or the Parser constructor... is that right?
2023-01-25 20:47:09 +0100 <seriously_> Applicative instance of Parser*
2023-01-25 20:47:12 +0100 <monochrom> When you finally have a solution, it will look like this English description: `oneOrMore p` runs p, and then --- now that we have done p once, we just need to run p zero or more times! `zeroOrMore p` just means attempting p one or more times, but in case that fails, it's OK, just use <|> to say we have a plan B, which is pure [].
2023-01-25 20:47:30 +0100 <monochrom> Right, no runParser.
2023-01-25 20:48:23 +0100 <monochrom> The solution is also a two-liner (one for each) and extremely short.
2023-01-25 20:48:47 +0100 <seriously_> Thanks for the hints let me see if something clicks
2023-01-25 20:52:15 +0100mechap2(~mechap@user/mechap) (Ping timeout: 252 seconds)
2023-01-25 20:54:09 +0100mechap2(~mechap@user/mechap)
2023-01-25 20:56:39 +0100mechap2(~mechap@user/mechap) (Client Quit)
2023-01-25 20:57:08 +0100mechap(~mechap@user/mechap)
2023-01-25 21:00:34 +0100coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba)
2023-01-25 21:02:07 +0100telser(~quassel@user/telser) (Ping timeout: 252 seconds)
2023-01-25 21:03:16 +0100telser(~quassel@user/telser)
2023-01-25 21:05:27 +0100waleee(~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7)
2023-01-25 21:09:34 +0100gmg(~user@user/gehmehgeh)
2023-01-25 21:13:47 +0100freeside(~mengwong@103.252.202.170) (Ping timeout: 256 seconds)
2023-01-25 21:15:00 +0100freeside(~mengwong@103.252.202.170)
2023-01-25 21:15:03 +0100pavonia(~user@user/siracusa)
2023-01-25 21:18:11 +0100stiell_(~stiell@gateway/tor-sasl/stiell) (Ping timeout: 255 seconds)
2023-01-25 21:19:23 +0100freeside(~mengwong@103.252.202.170) (Ping timeout: 252 seconds)
2023-01-25 21:22:54 +0100stiell_(~stiell@gateway/tor-sasl/stiell)
2023-01-25 21:24:44 +0100acidjnk_new(~acidjnk@p200300d6e715c4378952c6d8f1083787.dip0.t-ipconnect.de) (Ping timeout: 246 seconds)
2023-01-25 21:27:04 +0100mechap(~mechap@user/mechap) (WeeChat 3.8)
2023-01-25 21:32:19 +0100freeside(~mengwong@103.252.202.170)
2023-01-25 21:32:24 +0100telser(~quassel@user/telser) (Ping timeout: 260 seconds)
2023-01-25 21:32:28 +0100telser_(~quassel@user/telser)
2023-01-25 21:32:33 +0100eggplantade(~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net)
2023-01-25 21:33:33 +0100zeenk(~zeenk@2a02:2f04:a014:8700::7fe) (Quit: Konversation terminated!)
2023-01-25 21:34:30 +0100acidjnk_new(~acidjnk@p200300d6e715c4379da7c174e15005ed.dip0.t-ipconnect.de)
2023-01-25 21:37:04 +0100freeside(~mengwong@103.252.202.170) (Ping timeout: 260 seconds)
2023-01-25 21:38:14 +0100kurbus(~kurbus@user/kurbus) (Quit: Client closed)
2023-01-25 21:42:26 +0100stiell(~stiell@gateway/tor-sasl/stiell)
2023-01-25 21:42:57 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-01-25 21:46:05 +0100stiell_(~stiell@gateway/tor-sasl/stiell) (Ping timeout: 255 seconds)
2023-01-25 21:47:40 +0100 <unit73e> one question, because I'm very lazy to try. is emacs better than neovim in haskell nowadays or same thing if you use plugins?
2023-01-25 21:47:48 +0100 <unit73e> spoiler alert I use neovim
2023-01-25 21:50:06 +0100 <unit73e> I tried vscode for a while but eh... nah... it just doesn't feel right
2023-01-25 21:51:13 +0100 <geekosaur> I've largely switched to vscode for Haskell editing at this point
2023-01-25 21:51:33 +0100coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot)
2023-01-25 21:51:39 +0100 <geekosaur> otherwise I use *vim for quick stuff and emacs for more involved / long term stuff
2023-01-25 21:52:45 +0100nehsou^(~nehsou@c-24-30-76-89.hsd1.ga.comcast.net) (Remote host closed the connection)
2023-01-25 21:53:23 +0100 <unit73e> thanks, I actually might try vscode again despite saying that. the setup was easy. emacs maybe, I always preferred neovim, but I heard good things of emacs.
2023-01-25 21:53:37 +0100 <unit73e> the recent versions at least
2023-01-25 21:54:16 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2023-01-25 21:54:18 +0100 <ddellacosta> I don't know much about neovim but I use emacs with evil-mode with Haskell. It's pretty good. I feel like it has been hard to get everything around Haskell Language Server configured in a way that suits me, but that could be as much about my idiosyncratic emacs configuration as anything else. I found that vscode was WAY easier to set up and have things working in out of the gate, but I just cannot
2023-01-25 21:54:20 +0100 <ddellacosta> move around in it as efficiently as with emacs
2023-01-25 21:54:22 +0100 <geekosaur> emacs is fairly idiosyncratic. I use it because I've been using it since the mid-1980s
2023-01-25 21:54:59 +0100yrlnry(~yrlnry@2600:4040:738e:5400:85d2:5b54:72c6:ed3e) (Remote host closed the connection)
2023-01-25 21:55:35 +0100 <monochrom> I like emacs so emacs is always better to me.
2023-01-25 21:55:43 +0100 <geekosaur> and I have yet to adapt to the extended functionality of vim/neovim; I still use it like 1980s vi
2023-01-25 21:55:57 +0100 <monochrom> or rather I've spent too much time in emacs, sunk cost policy, too old to learn another editor or IDE.
2023-01-25 21:56:11 +0100 <unit73e> lua scripts easily beat vimscripts, that's for sure
2023-01-25 21:56:16 +0100merijn(~merijn@c-001-001-014.client.esciencecenter.eduvpn.nl) (Ping timeout: 268 seconds)
2023-01-25 21:56:20 +0100 <monochrom> If you like neovim (or more pessimistically sunk too much cost in it) then it is always better.
2023-01-25 21:57:01 +0100 <unit73e> so vscode is still the go to editor if you don't want to waste much time or for newbies
2023-01-25 21:57:12 +0100 <monochrom> If you like your Toyota car then you don't switch to Tesla just because it has a better game console. >:)
2023-01-25 21:57:12 +0100 <unit73e> for any programming language actually
2023-01-25 21:58:09 +0100 <monochrom> "If you like your Myspace account then you don't switch to Facebook just because more people use it >:)"
2023-01-25 21:58:12 +0100 <unit73e> well if you smash your toyota it's not that big of a deal. there's one advantage :p
2023-01-25 21:58:17 +0100 <geekosaur> probably. neither neovim nor emacs is easily configured for language server support, in particular, although the editing modes that come with neovim and emacs are decent out of the box
2023-01-25 21:59:07 +0100jonathanx_(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se)
2023-01-25 22:00:01 +0100 <ddellacosta> I have been thinking about this a lot, and I think it's not _just_ sunk cost, although I wouldn't deny that's a big chunk of it for me--it's also a different paradigm that I don't think vscode can replicate. In emacs it feels like the fundamental abstraction of moving around buffers is the same regardless of the context--whether editing a file, in dired, using magit, etc.--I am just bouncing in
2023-01-25 22:00:03 +0100 <ddellacosta> and out of the minibuffer and moving data in and out of buffers, like searching on the command-line which dumps its results in a buffer which I can then directly open up files from based on the search results, etc...all using evil, it's super fast. I don't know how I'd get anything like that with vscode, not that I'm saying it's not possible
2023-01-25 22:00:09 +0100 <ddellacosta> sorry I wrote a blog post
2023-01-25 22:00:59 +0100 <unit73e> more of a tweet
2023-01-25 22:01:01 +0100 <[Leary]> @tell freeside Consider something like `(<|>) `on` nonEmpty` or `getAlt . foldMap (Alt . nonEmpty)`. They have the advantage that they "parse" rather than "validate".
2023-01-25 22:01:01 +0100 <lambdabot> Consider it noted.
2023-01-25 22:01:44 +0100pragma-(~chaos@user/pragmatic-chaos) (Quit: Bye!)
2023-01-25 22:01:52 +0100 <unit73e> but thanks, it did answer my question.
2023-01-25 22:02:00 +0100 <ddellacosta> awesome
2023-01-25 22:03:07 +0100cheater(~Username@user/cheater) (Ping timeout: 248 seconds)
2023-01-25 22:03:11 +0100jonathanx(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Ping timeout: 260 seconds)
2023-01-25 22:03:43 +0100 <[exa]> ddellacosta: emacs is a unix, just on buffers and commands instead of files and shell
2023-01-25 22:03:57 +0100seriously_(~seriously@2001:1c06:2715:c200:1800:e7f0:57e2:d1cf) (Quit: Client closed)
2023-01-25 22:04:21 +0100freeside(~mengwong@103.252.202.170)
2023-01-25 22:04:24 +0100 <ddellacosta> [exa]: never thought of it like that! Sounds like an old emacs trope I was just ignorant of...
2023-01-25 22:05:10 +0100dysfigureddfg
2023-01-25 22:05:19 +0100dfg(dfg@dfg.rocks) (Changing host)
2023-01-25 22:05:19 +0100dfg(dfg@user/dfg)
2023-01-25 22:07:39 +0100jinsunGuest3805
2023-01-25 22:07:39 +0100jinsun__(~jinsun@user/jinsun)
2023-01-25 22:07:39 +0100Guest3805(~jinsun@user/jinsun) (Killed (molybdenum.libera.chat (Nickname regained by services)))
2023-01-25 22:07:39 +0100jinsun__jinsun
2023-01-25 22:08:43 +0100cheater(~Username@user/cheater)
2023-01-25 22:09:13 +0100freeside(~mengwong@103.252.202.170) (Ping timeout: 268 seconds)
2023-01-25 22:09:46 +0100acidjnk_new(~acidjnk@p200300d6e715c4379da7c174e15005ed.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
2023-01-25 22:10:16 +0100yrlnry(~yrlnry@2600:4040:738e:5400:85d2:5b54:72c6:ed3e)
2023-01-25 22:21:57 +0100merijn(~merijn@c-001-001-014.client.esciencecenter.eduvpn.nl)
2023-01-25 22:24:04 +0100bgs(~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection)
2023-01-25 22:28:59 +0100jonathanx_(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Remote host closed the connection)
2023-01-25 22:29:24 +0100jonathanx_(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se)
2023-01-25 22:30:26 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Remote host closed the connection)
2023-01-25 22:30:50 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2023-01-25 22:30:58 +0100johnw(~johnw@76-234-69-149.lightspeed.frokca.sbcglobal.net) (Quit: ZNC - http://znc.in)
2023-01-25 22:31:43 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-01-25 22:33:59 +0100beteigeuze(~Thunderbi@bl14-81-220.dsl.telepac.pt) (Read error: Connection reset by peer)
2023-01-25 22:34:06 +0100beteigeuze1(~Thunderbi@bl14-81-220.dsl.telepac.pt)
2023-01-25 22:34:59 +0100jonathanx_(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Remote host closed the connection)
2023-01-25 22:35:44 +0100jonathanx_(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se)
2023-01-25 22:36:23 +0100beteigeuze1beteigeuze
2023-01-25 22:38:00 +0100freeside(~mengwong@103.252.202.170)
2023-01-25 22:41:53 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 252 seconds)
2023-01-25 22:42:18 +0100CiaoSen(~Jura@p200300c9572d4e002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
2023-01-25 22:42:23 +0100freeside(~mengwong@103.252.202.170) (Ping timeout: 248 seconds)
2023-01-25 22:43:20 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915)
2023-01-25 22:48:52 +0100johnw(~johnw@2600:1700:cf00:db0:e8e7:7b37:a447:4fc6)
2023-01-25 22:52:25 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
2023-01-25 22:54:10 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643)
2023-01-25 22:55:23 +0100merijn(~merijn@c-001-001-014.client.esciencecenter.eduvpn.nl) (Ping timeout: 248 seconds)
2023-01-25 22:55:59 +0100freeside(~mengwong@103.252.202.170)
2023-01-25 23:01:31 +0100freeside(~mengwong@103.252.202.170) (Ping timeout: 260 seconds)
2023-01-25 23:03:29 +0100stiell(~stiell@gateway/tor-sasl/stiell) (Ping timeout: 255 seconds)
2023-01-25 23:03:54 +0100thyriaen(~thyriaen@2a01:aea0:dd4:4fa4:6245:cbff:fe9f:48b1) (Remote host closed the connection)
2023-01-25 23:10:03 +0100Me-me(~me-me@2602:ff16:3:0:1:dc:beef:d00d) (Remote host closed the connection)
2023-01-25 23:11:24 +0100Me-me(~me-me@2602:ff16:3:0:1:dc:beef:d00d)
2023-01-25 23:14:09 +0100EvanR_EvanR
2023-01-25 23:17:29 +0100eggplantade(~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2023-01-25 23:17:37 +0100gnalzo(~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8)
2023-01-25 23:17:46 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:5dd6:a35b:a6fd:3837)
2023-01-25 23:20:18 +0100stiell(~stiell@gateway/tor-sasl/stiell)
2023-01-25 23:25:31 +0100ubert(~Thunderbi@p200300ecdf264eae508459a626a67f13.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
2023-01-25 23:25:48 +0100ubert(~Thunderbi@p200300ecdf264e7816f08ea68d9bd4cc.dip0.t-ipconnect.de)
2023-01-25 23:29:23 +0100freeside(~mengwong@103.252.202.170)
2023-01-25 23:33:35 +0100freeside(~mengwong@103.252.202.170) (Ping timeout: 248 seconds)
2023-01-25 23:37:15 +0100pragma-(~chaos@user/pragmatic-chaos)
2023-01-25 23:38:23 +0100unit73e(~emanuel@2001:818:e8dd:7c00:656:e5ff:fe72:9d36) (Ping timeout: 260 seconds)
2023-01-25 23:40:36 +0100ub(~Thunderbi@p548c9ce5.dip0.t-ipconnect.de)
2023-01-25 23:41:04 +0100ubert(~Thunderbi@p200300ecdf264e7816f08ea68d9bd4cc.dip0.t-ipconnect.de) (Ping timeout: 248 seconds)
2023-01-25 23:41:04 +0100ububert
2023-01-25 23:43:01 +0100habib(~habib@78-110-166-168.as42831.net)
2023-01-25 23:46:11 +0100turlando(~turlando@user/turlando) (Read error: Connection reset by peer)
2023-01-25 23:48:14 +0100turlando(~turlando@user/turlando)
2023-01-25 23:49:42 +0100freeside(~mengwong@103.252.202.170)
2023-01-25 23:57:01 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 252 seconds)
2023-01-25 23:58:19 +0100pavonia(~user@user/siracusa) (Read error: Connection reset by peer)
2023-01-25 23:59:26 +0100ddellacosta(~ddellacos@143.244.47.100) (Ping timeout: 246 seconds)