2025/02/10

Newest at the top

2025-02-10 17:11:58 +0100 <bwe> for `Text` I define `Parser MyDataType`. But how do I parse for example a tuple `(Text, Text)`? I feel defining a function `:: (Text, Text) -> Maybe MyDataType` is not right because I can't combine it with other parsers easily. What's your take on it?
2025-02-10 17:11:40 +0100acidjnk_new3(~acidjnk@p200300d6e7283f99c4dbaee3a15423f1.dip0.t-ipconnect.de) (Ping timeout: 272 seconds)
2025-02-10 17:11:34 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 252 seconds)
2025-02-10 17:11:33 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.4.2)
2025-02-10 17:09:23 +0100 <dminuoso> Otherwise you deprive yourself of the wonders of coming up with this yhourself.
2025-02-10 17:09:16 +0100 <euouae> learn fromsome real code
2025-02-10 17:09:13 +0100 <dminuoso> Perhaps try and derive this yohurself first.
2025-02-10 17:09:03 +0100 <euouae> i thought maybe to look into the microlens implementation too
2025-02-10 17:07:21 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-02-10 17:07:02 +0100 <dminuoso> taught me lenses with.
2025-02-10 17:06:53 +0100 <dminuoso> (In fact, these are the very excercises that someone tought me with)
2025-02-10 17:06:45 +0100 <euouae> sure, i will look together with the book
2025-02-10 17:06:27 +0100 <dminuoso> If you are interested.
2025-02-10 17:06:06 +0100 <dminuoso> euouae: You can derive this yourself. I have a set of simple excercises where you could come up with how they work on your own.
2025-02-10 17:05:22 +0100 <dminuoso> That is, in optics you dont ever see any profunctors or some strange missing constraint when misusing the library
2025-02-10 17:04:52 +0100 <dminuoso> In a sense this applies to `optics` too, except its hidden behind a custom composition operator (%) to hide the mathematical implementation.
2025-02-10 17:04:48 +0100 <euouae> ah, i dont know howw that works, but i was curious yes
2025-02-10 17:03:57 +0100 <dminuoso> You compose any kind of optic with just function composition (.)
2025-02-10 17:03:47 +0100 <dminuoso> lens exposes this fact into your face.
2025-02-10 17:03:29 +0100 <dminuoso> euouae: Well you kind of are, already.
2025-02-10 17:03:13 +0100 <euouae> im not aware of that but if i learn them well i might look into papers too
2025-02-10 16:54:36 +0100tri(~tri@ool-44c70bcb.dyn.optonline.net) (Ping timeout: 276 seconds)
2025-02-10 16:49:49 +0100tri(~tri@ool-44c70bcb.dyn.optonline.net)
2025-02-10 16:44:07 +0100tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net) tzh
2025-02-10 16:36:44 +0100misterfish(~misterfis@84.53.85.146) (Ping timeout: 252 seconds)
2025-02-10 16:29:55 +0100misterfish(~misterfis@84.53.85.146) misterfish
2025-02-10 16:28:17 +0100Square2(~Square4@user/square) (Ping timeout: 252 seconds)
2025-02-10 16:27:28 +0100Square3(~Square@user/square) Square
2025-02-10 16:23:01 +0100hellwolf(~user@92b0-6982-e317-36c1-0f00-4d40-07d0-2001.sta.estpak.ee) hellwolf
2025-02-10 16:22:33 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 246 seconds)
2025-02-10 16:21:23 +0100sawilagar(~sawilagar@user/sawilagar) sawilagar
2025-02-10 16:20:22 +0100hellwolf(~user@262a-8508-ab6e-9670-0f00-4d40-07d0-2001.sta.estpak.ee) (Ping timeout: 272 seconds)
2025-02-10 16:18:16 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-02-10 16:18:04 +0100__monty__(~toonn@user/toonn) toonn
2025-02-10 16:15:48 +0100 <dminuoso> The cool thing about lens/optics is not just that they are first class, but all their characteristics (does it target multiple things or not, is it a sum or product type, what is the larger thing and what is the smaller thing) do not just live in the type system, but the the the types change from composition is the result of some mathematics rather.
2025-02-10 16:12:13 +0100sawilagar(~sawilagar@user/sawilagar) (Ping timeout: 244 seconds)
2025-02-10 16:10:25 +0100merijn(~merijn@77.242.116.146) merijn
2025-02-10 16:09:55 +0100prasad(~Thunderbi@2601:243:c001:3f07::d1) (Remote host closed the connection)
2025-02-10 16:09:42 +0100merijn(~merijn@77.242.116.146) (Ping timeout: 268 seconds)
2025-02-10 15:53:08 +0100CiaoSen(~Jura@ip-037-201-241-067.um10.pools.vodafone-ip.de) (Ping timeout: 272 seconds)
2025-02-10 15:48:41 +0100 <euouae> I just know that I've looked in the past to understand view/span better and it reminded me of them
2025-02-10 15:48:08 +0100 <euouae> They're very much like view/span because in both cases templates are involved & their wonderful error messages :P
2025-02-10 15:47:50 +0100 <mauke> first-class, composable member pointers
2025-02-10 15:47:29 +0100 <mauke> [...] Like view/span of C++ <- I always thought they were a bit like C++ member pointers, at least in the trivial case
2025-02-10 15:45:34 +0100 <dminuoso> `optics` does not break in non-trivial cases, b
2025-02-10 15:45:30 +0100 <euouae> could've chosen something else like x`name or x@name
2025-02-10 15:45:22 +0100 <dminuoso> In my eyes RecordDotSyntax feels very unpolished and it breaks in plenty of non-trivial cases.
2025-02-10 15:44:59 +0100 <dminuoso> But hey, some people seem to like it?
2025-02-10 15:44:51 +0100 <euouae> got it
2025-02-10 15:44:45 +0100 <dminuoso> Like I said, I find them confusing due to interactions with other extensions.