Function: org-babel-execute:clojure

org-babel-execute:clojure is a byte-compiled function defined in ob-clojure.el.gz.

Signature

(org-babel-execute:clojure BODY PARAMS)

Documentation

Execute the BODY block of Clojure code with PARAMS using Babel.

Source Code

;; Defined in /usr/src/emacs/lisp/org/ob-clojure.el.gz
(defun org-babel-execute:clojure (body params)
  "Execute the BODY block of Clojure code with PARAMS using Babel."
  (let* ((backend-override (cdr (assq :backend params)))
         (org-babel-clojure-backend
          (cond
           (backend-override (intern backend-override))
           (org-babel-clojure-backend org-babel-clojure-backend)
           (t (user-error "You need to customize `org-babel-clojure-backend'
or set the `:backend' header argument")))))
    (let* ((expanded (org-babel-expand-body:clojure body params))
	   (result-params (cdr (assq :result-params params)))
	   result)
      (setq result
	    (cond
	     ((eq org-babel-clojure-backend 'inf-clojure)
	      (ob-clojure-eval-with-inf-clojure expanded params))
             ((eq org-babel-clojure-backend 'babashka)
	      (ob-clojure-eval-with-babashka ob-clojure-babashka-command expanded))
             ((eq org-babel-clojure-backend 'nbb)
	      (ob-clojure-eval-with-babashka ob-clojure-nbb-command expanded))
	     ((eq org-babel-clojure-backend 'cider)
	      (ob-clojure-eval-with-cider expanded params))
	     ((eq org-babel-clojure-backend 'slime)
	      (ob-clojure-eval-with-slime expanded params))))
      (org-babel-result-cond result-params
        result
        (condition-case nil (org-babel-script-escape result)
	  (error result))))))