Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- cl-user> (cat "/tmp/f.lisp")
- ;; Funciona: retorna o valor correto
- (defmacro only (obj val)
- `(jsown:val ,obj ,val))
- (pprint (macroexpand-1 '(only *js* "a"))) ; "amor"
- ;; Erro: usa o valor dentro de um let
- (defmacro only-2 (obj val &body body)
- `(let ((val ,(jsown:val obj val)))
- ,@body))
- (pprint (macroexpand-1 '(only-2 *js* "a"
- (format t "~A" val))))
- ;; The value
- ;; *JS*
- ;; is not of type
- ;; LIST
- ; No value
- cl-user> (load "/tmp/f.lisp")
- (jsown:val *js* "a")
- (let ((val nil)) (format t "~A" val))
- #P"/private/tmp/f.lisp"
- cl-user>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement