Your second block can't run in a repl unless you have additional
definitions you are not showing here. The error messages are complaining
that

1. There is no function called sum. Clojure does not have a sum function
and your not defining one in this block, so that makes perfect sense.

2. The function avg1 is unbound. This also makes perfect sense because the
line where you try to bind avg1 is the same line where the error about sum
is generated, which means that binding failed.

The additional settings you are using might be contributing to your
problems - I don't know I don't have any additional default header args. I
would remove them and only set them once you know you have things working
with normal/standard src block settings.

The fact I cannot reproduce your errors with a stock setup indicates the
problem is still something with your environment.

On 13 July 2017 at 22:23, numbch...@gmail.com <numbch...@gmail.com> wrote:

> I run the both blocks fine in CIDER REPL, that's weird.
> I have the following special settings for ob-clojure.
> ```elisp
> (add-to-list 'org-babel-default-header-args:clojure
>              '(:eval . "yes"))
> (add-to-list 'org-babel-default-header-args:clojure
>              '(:results . "value pp"))
> (add-to-list 'org-babel-default-header-args:clojure ; for Clojure
> `dotimes' etc.
>              '(:show-process . "no"))
> (add-to-list 'org-babel-default-header-args:clojure
>              '(:noweb . "yes"))
> ```
>
>
> [stardiviner]           <Hack this world!>      GPG key ID: 47C32433
> IRC(freeenode): stardiviner                     Twitter:  @numbchild
> Key fingerprint = 9BAA 92BC CDDD B9EF 3B36  CB99 B8C4 B8E5 47C3 2433
> Blog: http://stardiviner.github.io/
>
> On Thu, Jul 13, 2017 at 4:48 PM, Tim Cross <theophil...@gmail.com> wrote:
>
>>
>> I think there is something wrong with your environment and your second
>> block is not legal code. If you run your second block directly in a
>> clojure repl, you will get the same errors, which means it isn't an org
>> issue.
>>
>> Executing your examples with org from master branch I get
>>
>> #+BEGIN_SRC clojure
>> (+ 1 1) ;=> 2
>> #+END_SRC
>>
>> #+RESULTS:
>> : 2
>>
>> #+BEGIN_SRC clojure :results value
>> (def sum1 #(reduce + %))
>> (def avg1 #(/ (sum %) (count %)))
>>
>> (defn stats
>>   [numbers]
>>   (map #(% numbers) [sum1 count avg1]))
>>
>> (stats [3 4 10])
>>
>> (stats [80 1 44 13 6])
>>
>> #+END_SRC
>>
>> #+RESULTS:
>> : #'user/sum1#'user/statsclass clojure.lang.Compiler$CompilerExceptionclass
>> java.lang.IllegalStateExceptionclass java.lang.IllegalStateExceptionclass
>> clojure.lang.Compiler$CompilerExceptionclass
>> java.lang.IllegalStateExceptionclass 
>> java.lang.IllegalStateExceptionCompilerException
>> java.lang.RuntimeException: Unable to resolve symbol: sum in this context,
>> compiling:(/tmp/form-init6637865895670060372.clj:2:15)
>> : IllegalStateException Attempting to call unbound fn: #'user/avg1
>> clojure.lang.Var$Unbound.throwArity (Var.java:43)
>> : IllegalStateException Attempting to call unbound fn: #'user/avg1
>> clojure.lang.Var$Unbound.throwArity (Var.java:43)
>>
>> I'm not sure why the version of ob-clojure.el is not yet in the org or
>> org-plus-contrib packages - Does master only become maint after major
>> version releases?
>>
>> Note also, there appears to be an issue with most recent versions of
>> cider when you do cider-jack-in and your not inside a project. The
>> issues seem to relate mainly to clj-refactor, but there could be other
>> problems. Again, highly recommend running your cider inside a clojure
>> project.
>>
>> Tim
>>
>> numbch...@gmail.com writes:
>>
>> > Here is the examples:
>> >
>> > #+BEGIN_SRC clojure
>> > (+ 1 1) ;=> 2
>> > #+END_SRC
>> >
>> > #+RESULTS:
>> > : class clojure.lang.LispReader$ReaderExceptionclass
>> > java.lang.RuntimeExceptionRuntimeException EOF while reading, starting
>> at
>> > line 1  clojure.lang.Util.runtimeException (Util.java:221)
>> >
>> > #+BEGIN_SRC clojure :results value
>> > (def sum1 #(reduce + %))
>> > (def avg1 #(/ (sum %) (count %)))
>> >
>> > (defn stats
>> >   [numbers]
>> >   (map #(% numbers) [sum1 count avg1]))
>> >
>> > (stats [3 4 10])
>> > ;; => (17 3 17/3)
>> >
>> > (stats [80 1 44 13 6])
>> > ;; => (144 5 144/5)
>> > #+END_SRC
>> >
>> > #+RESULTS:
>> > : class clojure.lang.LispReader$ReaderExceptionclass
>> > java.lang.RuntimeExceptionRuntimeException EOF while reading, starting
>> at
>> > line 1  clojure.lang.Util.runtimeException (Util.java:221)
>> >
>> >
>> > [stardiviner]           <Hack this world!>      GPG key ID: 47C32433
>> > IRC(freeenode): stardiviner                     Twitter:  @numbchild
>> > Key fingerprint = 9BAA 92BC CDDD B9EF 3B36  CB99 B8C4 B8E5 47C3 2433
>> > Blog: http://stardiviner.github.io/
>>
>>
>> --
>> Tim Cross
>>
>
>


-- 
regards,

Tim

--
Tim Cross

Reply via email to