Sorry, mis-typed: #+begin_src clojure :var i=myfun1 (map inc i) #+end_src On Sat, Sep 24, 2016 at 4:53 PM, Lawrence Bottorff wrote: > Not sure if you know Clojure, but here's what I've been toying with: > > #+name: my-test > #+begin_src clojure :var i=[1 2] > (map inc i) > #+end_src > > #+RESULTS: my-test > | 2 | 3 | > > looks good, but then > > #+name: myfun1 > #+begin_src clojure > (defn myfun1 > [ ] > [8 9]) > #+end_src > > #+begin_src clojure :var i=myfunc1 > (map inc i) > #+end_src > > doesn't do anything, i.e., it doesn't process the myfunc1 and provide the > vector [8 9] > > This elisp code works, though: > > #+name: mylist1 > #+begin_src emacs-lisp > (defun mylist1 () > (list 1 2 3 4)) > #+end_src > > then > > #+begin_src emacs-lisp :var myx=(mylist1) > (mapcar '1+ myx) > #+end_src > > #+RESULTS: > | 2 | 3 | 4 | 5 | > > Note how I put mylist1 in parens. Without produced odd output > > #+RESULTS: > | 110 | 122 | 109 | 106 | 116 | 117 | 50 | > > . . . which is literally taking the ascii letters of the word "mylist1" > and incrementing them. (Too much fun. . . ). What might be wrong with my > Clojure attempt? I've tried (myfun1), myfun1, and myfun1() gives an error. > > > > On Tue, Sep 20, 2016 at 3:33 PM, Thomas S. Dye wrote: > >> Aloha Lawrence, >> >> Lawrence Bottorff writes: >> >> > So I can run code for a REPL-type language like Clojure in a babel code >> > block and get "results," e.g., a Clojure code block takes in a vector of >> > mappings and produces new "results": >> > >> > #+RESULTS[abc5c51bb569a82c19c4eea1c385c74e839922c7]: >> > symmetrize-body-parts-test >> > | :name | head | :size | 3 | >> > | :name | left-eye | :size | 1 | >> > | :name | right-eye | :size | 1 | >> > | :name | left-ear | :size | 1 | >> > . . . >> > >> > but could I generate results that aren't just static output listed >> after a >> > #+RESULTS tag, rather, embedded in a newly created babel code block? I'd >> > like such output "initialized" as far as the running REPL is concerned >> too. >> > Is it possible to generate new code/data that is immediately known to >> the >> > REPL session? Any examples don't have to be Clojure. >> >> You can use the :session header argument which will give you access to >> any variables created during the session: >> >> http://orgmode.org/worg/org-contrib/babel/languages/ob-doc- >> clojure.html#orgheadline13 >> >> You can pass the function results to a variable argument, which makes >> possible chaining (see http://www.jstatsoft.org/v46/i03): >> >> #+header: :var x=myfunc(2) >> >> You can also embed and call a function in a source code block using noweb >> syntax: >> >> http://orgmode.org/worg/org-contrib/babel/intro.html#literate-programming >> >> hth, >> Tom >> >> -- >> Thomas S. Dye >> http://www.tsdye.com >> > >