FSharpLint icon indicating copy to clipboard operation
FSharpLint copied to clipboard

separate warning for lambda length in single inner lambda bindings

Open varon opened this issue 9 years ago • 1 comments

I commonly use a pattern such as this:

let someFunction =
   // expensive once-off initialization here
   fun x y ->
       // do stuff with this expensive data

This is a pretty common pattern I use to store data from expensive once-off computations. The major benefits of having shorter lambdas do not apply here - I could easily refactor to bring the parameters to the top of the function, but that would mean repeating the expensive call each time.

Instead, I'd suggest that length checking of such a pattern should use the standard 'function length' rather than global lambda length in cases where a single lambda is bound to a let as part of a parameterless value. Failing that please at least allow for the warnings on lambda length to be turned off for 'single-lambda' functions.

varon avatar Jan 26 '16 15:01 varon

Thanks for pointing this case out, I think as you say this should be the default behaviour

duckmatt avatar Jan 26 '16 18:01 duckmatt