Fix indentation rules on mutually recursive functions when using with CE
Its common to write F# async workflow in the following style:
let doSth () = async {
...
}
I propose we allow writing recursive function as follows with CE at the same line as let/and definition:
let rec async1 () = async {
return! async2 ()
}
and async2 () = async {
return 1
}
Currently the compiler gives the error: The value or constructor 'async2' is not defined.
The existing way of approaching this problem in F# is to change the style so that async keyword appears in the next line after the let bindings.
let rec async1 () =
async { return! async2 () }
and async2 () =
async { return 1 }
Pros and Cons
The advantages of making this adjustment to F# are, consistent with the first example.
The disadvantages of making this adjustment to F# are none.
Extra information
Estimated cost (XS, S, M, L, XL, XXL): S-M
Related suggestions: (put links to related suggestions here)
Affidavit (please submit!)
Please tick this by placing a cross in the box:
Please tick all that apply:
Fix indentation rules on mutually recursive functions when using with CE
Its common to write F# async workflow in the following style:
I propose we allow writing recursive function as follows with CE at the same line as let/and definition:
Currently the compiler gives the error:
The value or constructor 'async2' is not defined.The existing way of approaching this problem in F# is to change the style so that async keyword appears in the next line after the let bindings.
Pros and Cons
The advantages of making this adjustment to F# are, consistent with the first example.
The disadvantages of making this adjustment to F# are none.
Extra information
Estimated cost (XS, S, M, L, XL, XXL): S-M
Related suggestions: (put links to related suggestions here)
Affidavit (please submit!)
Please tick this by placing a cross in the box:
Please tick all that apply: