[swift-evolution] Proposal: optionally define nested functions elsewhere

Craig Cruden ccruden at novafore.com
Sun Feb 7 08:57:20 CST 2016


Is there a language that implements it this way?  

I actually don’t much like it, most of my functions are fairly small and I actually like it the way it is.

If you are using an IDE or editor it is easy to collapse the function if it is not what you want to focus on.  


> On 2016-02-07, at 21:32:19, Amir Michail via swift-evolution <swift-evolution at swift.org> wrote:
> 
> The problem with nested functions is that they can make the function containing them very long and hard to read.
> 
> So the idea is to separate the body of a nested function from where it is declared.
> 
> For example:
> 
> func f() {
>  var x:Int
>  func g(y:String) {
>    print(“x=\(x), y=\(y)")
>  }  
>  ...
> }
> 
> could be refactored as:
> 
> func f() {
>  var x:Int
>  func g(y:String) // function body elsewhere to avoid clutter in f
>  ...
> }
> 
> func f().g(y:String) {
>    print(“x=\(x), y=\(y)")
> }  
> 
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution



More information about the swift-evolution mailing list