Certainly not.  The foldl is a part of the TypeScript program that implements the Lisp.<p>By the way, as for &quot;while&quot; in the implemented Lisp, it is defined with recursion and will be executed with tail-call optimization.  See<p><pre><code>  (defmacro while (test &amp;rest body)
    (let ((loop (gensym)))
      `(letrec ((,loop (lambda () (cond (,test ,@body (,loop))))))
         (,loop))))
</code></pre>
in the const prelude of lisp.ts (<a href="http:&#x2F;&#x2F;www.oki-osk.jp&#x2F;esc&#x2F;typescript&#x2F;lisp&#x2F;lisp.ts.html" rel="nofollow">http:&#x2F;&#x2F;www.oki-osk.jp&#x2F;esc&#x2F;typescript&#x2F;lisp&#x2F;lisp.ts.html</a>).