FLET
authorDavid Vázquez <davazp@gmail.com>
Sat, 29 Jun 2013 16:36:11 +0000 (18:36 +0200)
committerDavid Vázquez <davazp@gmail.com>
Sat, 29 Jun 2013 16:36:11 +0000 (18:36 +0200)
src/compiler.lisp

index 10783e9..b590962 100644 (file)
           (extend-lexenv (mapcar #'make-function-binding fnames)
                          *environment*
                          'function)))
-    `(code "(function("
-           ,@(interleave (mapcar #'translate-function fnames) ",")
-           "){"
-           ,(ls-compile-block body t)
-           "})(" ,@(interleave cfuncs ",") ")")))
+    `(call (function ,(mapcar #'make-symbol (mapcar #'translate-function fnames))
+                ,(ls-compile-block body t))
+           ,@cfuncs)))
 
 (define-compilation labels (definitions &rest body)
   (let* ((fnames (mapcar #'car definitions))