Indeed, I like that better than either typical prefix or infix nested expressions.
What do you advise in the case the expression tree is a little bit more complex?
For example: (setv result (- (/ (+ 1 3 88) 2) (* 8 (+ 3 2)))
What do you advise in the case the expression tree is a little bit more complex?
For example: (setv result (- (/ (+ 1 3 88) 2) (* 8 (+ 3 2)))
(setv result (- (/ (+ 1 3 88)
2)
(* 8
(+ 3 2)))
Another possibility is to use a (let ...) to give nested values temporary names, like: (setv result (let ((first (/ (+ 1 3 88) 2))
(second (* 8 (+ 3 2))))
(- first second)))
It helps if "first" and "second" have meaningful names like "velocity" or "force" that can describe what they are. (setv e0 (-> (+ 1 3 88) (/ 2)))
(setv e1 (-> (+ 3 2) (* 8)))
(setv result (- e0 e1)) (setv e0 (-> (+ 1 3 88) (/ 2)))
e1 (-> (+ 3 2) (* 8))
result (- e0 e1))
like setq and setf in CL.