## Sum with closures

importance: 4

Write function `sum`

that works like this: `sum(a)(b) = a+b`

.

Yes, exactly this way, via double brackets (not a mistype).

For instance:

```
sum(1)(2) = 3
sum(5)(-1) = 4
```

For the second brackets to work, the first ones must return a function.

Like this:

```
function sum(a) {
return function(b) {
return a + b; // takes "a" from the outer lexical environment
};
}
alert( sum(1)(2) ); // 3
alert( sum(5)(-1) ); // 4
```