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 +0100 | acidjnk_new3 | (~acidjnk@p200300d6e7283f99c4dbaee3a15423f1.dip0.t-ipconnect.de) (Ping timeout: 272 seconds) |
2025-02-10 17:11:34 +0100 | alfiee | (~alfiee@user/alfiee) (Ping timeout: 252 seconds) |
2025-02-10 17:11:33 +0100 | lortabac | (~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 +0100 | alfiee | (~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 +0100 | tri | (~tri@ool-44c70bcb.dyn.optonline.net) (Ping timeout: 276 seconds) |
2025-02-10 16:49:49 +0100 | tri | (~tri@ool-44c70bcb.dyn.optonline.net) |
2025-02-10 16:44:07 +0100 | tzh | (~tzh@c-76-115-131-146.hsd1.or.comcast.net) tzh |
2025-02-10 16:36:44 +0100 | misterfish | (~misterfis@84.53.85.146) (Ping timeout: 252 seconds) |
2025-02-10 16:29:55 +0100 | misterfish | (~misterfis@84.53.85.146) misterfish |
2025-02-10 16:28:17 +0100 | Square2 | (~Square4@user/square) (Ping timeout: 252 seconds) |
2025-02-10 16:27:28 +0100 | Square3 | (~Square@user/square) Square |
2025-02-10 16:23:01 +0100 | hellwolf | (~user@92b0-6982-e317-36c1-0f00-4d40-07d0-2001.sta.estpak.ee) hellwolf |
2025-02-10 16:22:33 +0100 | alfiee | (~alfiee@user/alfiee) (Ping timeout: 246 seconds) |
2025-02-10 16:21:23 +0100 | sawilagar | (~sawilagar@user/sawilagar) sawilagar |
2025-02-10 16:20:22 +0100 | hellwolf | (~user@262a-8508-ab6e-9670-0f00-4d40-07d0-2001.sta.estpak.ee) (Ping timeout: 272 seconds) |
2025-02-10 16:18:16 +0100 | alfiee | (~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 +0100 | sawilagar | (~sawilagar@user/sawilagar) (Ping timeout: 244 seconds) |
2025-02-10 16:10:25 +0100 | merijn | (~merijn@77.242.116.146) merijn |
2025-02-10 16:09:55 +0100 | prasad | (~Thunderbi@2601:243:c001:3f07::d1) (Remote host closed the connection) |
2025-02-10 16:09:42 +0100 | merijn | (~merijn@77.242.116.146) (Ping timeout: 268 seconds) |
2025-02-10 15:53:08 +0100 | CiaoSen | (~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. |