2024/07/08

Newest at the top

2024-07-08 08:43:45 +0200euleritian(~euleritia@77.22.252.56)
2024-07-08 08:36:42 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-07-08 08:31:52 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 268 seconds)
2024-07-08 08:22:37 +0200 <haskellbridge> <maerwald> https://hackage.haskell.org/package/optics-vl-0.2.1/docs/Optics-VL.html
2024-07-08 08:16:31 +0200takuan(~takuan@178-116-218-225.access.telenet.be)
2024-07-08 08:15:33 +0200 <jackdk> so it means that VL optics are usable by both? good to know
2024-07-08 08:15:01 +0200 <haskellbridge> <maerwald> jackdk: optics support van laarhoven too. So you can still do that as a library author
2024-07-08 08:12:57 +0200 <jackdk> They show up as additional messages but at least it's clear that it's an edit.
2024-07-08 08:12:31 +0200 <haskellbridge> <sm> though with the latest bridge I seem to remember the policy was that matrix edits are fine
2024-07-08 08:11:24 +0200 <haskellbridge> <sm> oops, irc, sorry
2024-07-08 08:11:04 +0200 <haskellbridge> <sm> * package reviews and ecosystem
2024-07-08 08:06:43 +0200 <haskellbridge> <sm> and making that attribute more visible (eg on hackage and flora and in reviews/ecosystem overviews) will help encourage that
2024-07-08 08:03:24 +0200 <haskellbridge> <sm> more generally I think some haskell libs with good docs do exist,
2024-07-08 08:03:20 +0200 <jackdk> The main difficulty I have with optics is that I really like being able to provide lenses without incurring the `lens` dependency
2024-07-08 08:02:23 +0200 <haskellbridge> <sm> optics is a lens alternative with good docs, I've heard
2024-07-08 07:51:06 +0200 <haskellbridge> <maerwald> But I doubt that will happen without an engaged contributor who cares about this specifically
2024-07-08 07:50:35 +0200 <haskellbridge> <maerwald> The maintainer of lens gives away commit rights willingly. So you probably can contribute such documentation easily
2024-07-08 07:41:22 +0200 <lain`> even if someone can figure out how something works from looking at the types, that doesn't mean it won't take extra time compared to it being explained well alongside examples
2024-07-08 07:40:54 +0200 <lain`> and i think even for people who understand it, good documentation will make it easier to learn the library
2024-07-08 07:40:10 +0200 <lain`> if someone doesn't *want* to provide documentation aimed at people who don't follow the research of the subject, that's fine, but it doesn't change the fact that they could. and that many other things do.
2024-07-08 07:38:29 +0200 <lain`> it's not like doing so would make it harder for people who know a lot about lenses to use the library
2024-07-08 07:38:08 +0200machinedgod(~machinedg@d173-183-246-216.abhsia.telus.net)
2024-07-08 07:36:28 +0200 <lain`> i mean, i feel like that's kind of just an excuse to provide poor documentation
2024-07-08 07:33:51 +0200 <haskellbridge> <maerwald> lain`: Someone who isn't into the academic foundations of lenses.
2024-07-08 07:32:58 +0200acidjnk_new3(~acidjnk@p200300d6e72cfb54f9d6478c2267a5ca.dip0.t-ipconnect.de)
2024-07-08 07:32:28 +0200 <jackdk> https://diataxis.fr/ has an interesting breakdown on the front page, differentiating "tutorials", "how-to guides", "explanations" and "reference material"
2024-07-08 07:32:22 +0200 <lain`> beginner to haskell?
2024-07-08 07:32:17 +0200 <haskellbridge> <maerwald> But you can write a beginner friendly lens library
2024-07-08 07:32:14 +0200 <lain`> what does "beginner" even mean
2024-07-08 07:32:07 +0200 <lain`> i mean
2024-07-08 07:31:58 +0200 <Axman6> Yep
2024-07-08 07:31:45 +0200 <haskellbridge> <maerwald> And it wasn't written for beginners anyway. The API doesn't consider "beginner issues". It's just not the use case
2024-07-08 07:31:33 +0200 <Axman6> Sure, I'm not saying things can't be improved, but that's actually quite a lot of motivation needed to explain why they even should exist in the first place
2024-07-08 07:31:00 +0200 <lain`> i mean, you can look at the racket lens docs https://docs.racket-lang.org/lens/lens-intro.html#%28tech._lens%29
2024-07-08 07:30:56 +0200 <haskellbridge> <maerwald> The documentation of lens just isn't very good for beginners
2024-07-08 07:30:35 +0200 <haskellbridge> <maerwald> Axman6: don't agree
2024-07-08 07:30:23 +0200Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2024-07-08 07:29:48 +0200 <Axman6> Some things are just complex ideas, and expecting a half page explanation that's useful for using something isn't always going to be possible
2024-07-08 07:29:43 +0200 <haskellbridge> <maerwald> lain`: https://hackage.haskell.org/package/lens-5.3.2/docs/Control-Lens-Lens.html#v:lens
2024-07-08 07:29:17 +0200 <Axman6> it's not a thing that a README is going to be able to clearly explain, it's an idea that has taken up many hour long talks explaining
2024-07-08 07:28:46 +0200califax(~califax@user/califx)
2024-07-08 07:28:43 +0200 <Axman6> What is a lens?
2024-07-08 07:28:26 +0200califax(~califax@user/califx) (Remote host closed the connection)
2024-07-08 07:25:02 +0200krei-se(~krei-se@p5085d24b.dip0.t-ipconnect.de)
2024-07-08 07:24:09 +0200krei-se(~krei-se@p5085d24b.dip0.t-ipconnect.de) (Read error: Connection reset by peer)
2024-07-08 07:18:27 +0200 <lain`> the lens readme doesn't even say what a lens *is*.
2024-07-08 07:13:28 +0200 <lain`> even if what a function literally does is understandable, why it's there and what place it has in the design isn't always obvious. i think that's the kind of thing that examples and tutorials can help with.
2024-07-08 07:12:41 +0200 <lain`> i mean, people won't nessecarily intuit the depth, even if it's intended to be used that way by the authors.
2024-07-08 07:08:16 +0200 <Axman6> lain`: many libraries rely heavily on types, and lens is a good example of that; many of the types tell you a lot about what they could possibly do, without needing to explain much in words - but learning how to know what the types mean is something that takes time and use of the library. The basics of lens are trivial, but it is a library with a very broad range of applications, and in many cases a lot of depth too.
2024-07-08 06:55:59 +0200machinedgod(~machinedg@d173-183-246-216.abhsia.telus.net) (Ping timeout: 268 seconds)