var closureVar: (<parameters>) -> (<returnType>) // As a variable or property type
typealias ClosureType = (<parameters>) -> (<returnType>)
{ [<captureList>] (<parameters>) <throws-ness> -> <returnType> in <statements> } // Complete ...
x -> [body]
(x, y) -> [body]
(xs...) -> [body]
0.4.0
In older versions of Julia, closures and anonymous functions had a runtime performance penalty. This penalty has been eliminated in 0.5.
From the StackOverflow closure tag:
A closure is a first-class function that refers to (closes over) variables from the scope in which it was defined. If the closure still exists after its defining scope ends, the variables it closes over will continue to exist as well.
It is sometimes useful...