[HN Gopher] New in C# 10: Easier Lambda Expressions ___________________________________________________________________ New in C# 10: Easier Lambda Expressions Author : FairDune Score : 16 points Date : 2021-11-26 21:18 UTC (1 hours ago) (HTM) web link (dontcodetired.com) (TXT) w3m dump (dontcodetired.com) | jayd16 wrote: | Here's a link to the official summary. | | https://docs.microsoft.com/en-us/dotnet/csharp/language-refe... | | Lambdas can also have attributes now, too. | tester756 wrote: | Nice, I like it. | | I do wonder what was limiting them before | jayd16 wrote: | They added an explicit return type, which allows for the full | delegate type to be inferred. | ygra wrote: | Every feature starts out with -100 points. So there's always a | trade-off to do everything you can imagine to make every last | corner case nice or shipping something in a reasonable | timeframe. When lambda expressions were introduced they were | designed to work well together with LINQ and that whole part of | the language isn't a small one either. Storing a lambda | expression in a local variable is not such a common occurrence | to really _need_ type inference or the ability to add types to | lambda expressions. | | Heck, I'd say, by now with local functions most lambdas that | previously would have been a local could now just be a local | function. | agluszak wrote: | There's something clearly wrong with the code samples: look at | the </string> "closing tags" which somehow sneaked in in line 17 | of the first sample | mastax wrote: | The markdown parser of the "Reddit Sync" app adds closing tags | to things as well. Hasn't been annoying enough for me to | switch. | FairDune wrote: | Yeah, I tried those out in a scratch pad. They don't compile. | Sharlin wrote: | Seems the renderer has "helpfully" added closing tags for the | `<string ...>` generic parameter lists since they look like | *ml... | thrower123 wrote: | F# is really, really bleeding into C#. There'll be a convergence, | for all intents and purposes, by about C# 15 at this rate. | paavohtl wrote: | Ehhh, not really. It really depends on what you mean by | convergence. You could add every single one of F#'s features | into C#, and I still wouldn't consider them the to be same | language or the other to be irrelevant. The strength of F# is | the primary coding style: mostly functional, mostly immutable, | expression-based, strongly typed with global type inference. | The way most C# is written is almost the polar opposite: mostly | OOP/imperative, mostly mutable, statement-based, statically | typed but with a less expressive type system (no sum types, | exceptions and nulls over Result and Option) and very limited | local type inference. | | The F# style is enabled by a set of features - some of would be | really hard to add to C# (such as currying and global type | inference) - but even if they were added, the millions(?) of C# | developers would be unlikely adopt the functional style just | because it was possible. A language is not just a list of | features; each language has its own culture and "idiomatic" way | of doing things. ___________________________________________________________________ (page generated 2021-11-26 23:00 UTC)