Прямо к делу, в https://stackoverflow.com/questions/4696618/is -haskell-a-lisp? answertab = messages # tab-top , есть комментарий Кевина Канту, в котором говорится:
Да, если выйти за рамки синтаксиса, JavaScript, вероятно, больше похож на Lisp чем Haskell. (Первоначально задуманная как реализация схемы ...)
Кроме того, в Lambda the Ultimate: компилятор Lisp to JavaScript в 100 строках они говорят:
Это сразу довольно ясно, что JS и Lisp имеют тесные связи на уровне семантики [...]
Я знаком с Lisp и функциональным программированием, но не с JavaScript. Таким образом, эти предложения заставили задуматься о том, насколько мощным является JavaScript. До сих пор я читал, что он предоставляет лямбда-выражения и замыкания. Какие еще концепции функционального программирования и Lisp-подобные функции он предоставляет? Предоставляет ли он, например, рекурсию хвостового вызова, или макросы, или возможность манипулировать кодом как данными (например, Lisp)?