История изменений
Исправление monk, (текущая версия) :
Когда такое городят на Си++ ещё можно понять. Хотя после нескольких уточнений системы правил хочется написать что-то вроде
int f(int x)
{
return run_script("(if (< x 2) 1
(do ((y 1 z) (z 1 (+ y z)) (x (- x 2) (- x 1)))
((= x 0) (- z 1))))",
script_args("x", x));
}
А вот когда в таком стиле пишут на JS (в котором есть eval) и даже на clojure (в которой есть даже макросы), совершенно не понимаю.
Исходная версия monk, :
Когда такое городят на Си++ ещё можно понять. Хотя после нескольких уточнений системы правил хочется написать что-то вроде
int f(int x)
{
return run_algo("(if (< x 2) 1
(do ((y 1 z) (z 1 (+ y z)) (x (- x 2) (- x 1)))
((= x 0) (- z 1))))",
script_args("x", x));
}
А вот когда в таком стиле пишут на JS (в котором есть eval) и даже на clojure (в которой есть даже макросы), совершенно не понимаю.