Examples of WITH clause (ANSI and GNU Common Lisp Document)

Previous: Local Variable Initializations, Up: Variable Initialization and Stepping Clauses

#### 6.1.2.16 Examples of WITH clause

    ;; These bindings occur in sequence.
     (loop with a = 1
           with b = (+ a 2)
           with c = (+ b 3)
           return (list a b c))
    ⇒  (1 3 6)

    ;; These bindings occur in parallel.
     (setq a 5 b 10)
    ⇒  10
     (loop with a = 1
           and b = (+ a 2)
           and c = (+ b 3)
           return (list a b c))
    ⇒  (1 7 13)

    ;; This example shows a shorthand way to declare local variables
    ;; that are of different types.
     (loop with (a b c) of-type (float integer float)
           return (format nil "~A ~A ~A" a b c))
    ⇒  "0.0 0 0.0"

    ;; This example shows a shorthand way to declare local variables
    ;; that are the same type.
     (loop with (a b c) of-type float
           return (format nil "~A ~A ~A" a b c))
    ⇒  "0.0 0.0 0.0"