Liking cljdoc? Tell your friends :D
All platforms.

tupelo.quote


tmplclj/smacro

(tmpl form)

Template macro similar to clojure.core/syntax-quote, except does not prepend current namespace to all free symbols. Value substitution is supported via (insert ...) and (splice ...) forms:

    (ns demo.core
      (:require [tupelo.quote :as q]))

    ; problem:  free symbols a and b are fully-qualified using current ns
    `[a b ~(+ 2 3)] => [demo.core/a
                        demo.core/b
                        5]

    (q/tmpl-fn '[a b (insert (+ 2 3))])  =>  [a b 5]

    (let [a 1 b 2]
      (q/tmpl [a b (insert (+ 2 3))]))  =>  [1 2 5]

    (is= [1 [2 3 4] 5] (q/tmpl [1 (insert (t/thru 2 4)) 5]))
    (is= [1  2 3 4  5] (q/tmpl [1 (splice (t/thru 2 4)) 5]))
Template macro similar to clojure.core/syntax-quote, except does not prepend current namespace to all free symbols.
Value substitution is supported via `(insert ...)` and `(splice ...)` forms:
```
    (ns demo.core
      (:require [tupelo.quote :as q]))

    ; problem:  free symbols a and b are fully-qualified using current ns
    `[a b ~(+ 2 3)] => [demo.core/a
                        demo.core/b
                        5]

    (q/tmpl-fn '[a b (insert (+ 2 3))])  =>  [a b 5]

    (let [a 1 b 2]
      (q/tmpl [a b (insert (+ 2 3))]))  =>  [1 2 5]

    (is= [1 [2 3 4] 5] (q/tmpl [1 (insert (t/thru 2 4)) 5]))
    (is= [1  2 3 4  5] (q/tmpl [1 (splice (t/thru 2 4)) 5]))
``` 
sourceraw docstring

tmpl-fnclj/s

(tmpl-fn form)

Template function similar to clojure.core/syntax-quote, except does not prepend current namespace to all free symbols. Value substitution is supported via (insert ...) and (splice ...) forms:

    (ns demo.core
      (:require [tupelo.quote :as q]))

    ; problem:  free symbols a and b are fully-qualified using current ns
    `[a b ~(+ 2 3)] => [demo.core/a
                        demo.core/b
                        5]

    (q/tmpl-fn '[a b (insert (+ 2 3))])  =>  [a b 5]

    (let [a 1 b 2]
      (q/tmpl [a b (insert (+ 2 3))]))  =>  [1 2 5]

    (is= [1 [2 3 4] 5] (q/tmpl [1 (insert (t/thru 2 4)) 5]))
    (is= [1  2 3 4  5] (q/tmpl [1 (splice (t/thru 2 4)) 5]))
Template function similar to clojure.core/syntax-quote, except does not prepend current namespace to all free symbols.
Value substitution is supported via `(insert ...)` and `(splice ...)` forms:
```
    (ns demo.core
      (:require [tupelo.quote :as q]))

    ; problem:  free symbols a and b are fully-qualified using current ns
    `[a b ~(+ 2 3)] => [demo.core/a
                        demo.core/b
                        5]

    (q/tmpl-fn '[a b (insert (+ 2 3))])  =>  [a b 5]

    (let [a 1 b 2]
      (q/tmpl [a b (insert (+ 2 3))]))  =>  [1 2 5]

    (is= [1 [2 3 4] 5] (q/tmpl [1 (insert (t/thru 2 4)) 5]))
    (is= [1  2 3 4  5] (q/tmpl [1 (splice (t/thru 2 4)) 5]))
``` 
sourceraw docstring

cljdoc is a website building & hosting documentation for Clojure/Script libraries

× close