▲ 5 r/lisp
How am I supposed to splice raw strings into parenscript?
If I wanted to write
(defun foo (x)
(ps
(+ x 1))
(foo "var")
This only prints x + 1. Doing
(defun foo (x)
(ps
(+ (ps:lisp x) 1))
(foo "var")
prints "var" + 1. I have to do
(ps::define-expression-operator lisp-raw (lisp-form)
`(ps-js:escape
,lisp-form))
(let ((x "var"))
(ps:ps
(+ (lisp-raw x) 1)))
"var + 1;"
But ps::define-expression-operator is an internal symbol, so I feel like I shouldn't be using it. However, this feels like a fairly common use of parenscript. How am I supposed to write this extension then in idiomatic lisp?
u/Weak_Education_1778 — 9 days ago