![[livejournal.com profile]](https://www.dreamwidth.org/img/external/lj-userinfo.gif)
Для примера разберём такую простую конструкцию, как функция, генерирующая замыкания.
function foo(filter, pattern) { var f = function(list) { return filter(pattern, list); }; return f; };
Конечно, в JavaScript есть опциональные точки с запятыми. Их можно не ставить, если это не приведёт к синтаксическим проблемам. Поэтому предлагаю завершающие точки с запятыми из языка убрать, а в язык добавить правило, что если строка кончается и при этом на строке находится полностью завершённое выражение (то есть, все открывающие скобки уже закрыты), то считаем, что выражение действительно завершено. При этом точки с запятыми становятся не нужны:
( Далее: )