Re: [O] [ob-calc] bug when given table data as a variable

2014-03-06 Thread Eric Schulte
Org-mode's calc support is very limited.  I think someone with a working
knowledge of how calc uses vectors would need to add table support.
Unfortunately calc experts seem to be few and far between.

Best,

Daniel Hackney d...@haxney.org writes:

 I am trying to use data from a table in a calc source block, but I get
 the following error when trying to eval the block:

 #+BEGIN_EXAMPLE
 math-format-stack-value: Wrong type argument: symbolp, 10
 #+END_EXAMPLE

 Here is an example file which demonstrates the problem:

 #+BEGIN_EXAMPLE
 Org version: 8.2.5h (org-20140224 from package)
 Emacs version: 24.3.1

 Run after starting Emacs with =emacs -Q=

 #+BEGIN_SRC elisp
 (add-to-list 'org-babel-load-languages '(calc . t))
 (require 'ob-calc)
 #+END_SRC
 #+NAME: the-table
 | a |  b |   c |
 |---++-|
 | 1 | 10 | 100 |
 | 2 | 20 | 200 |
 | 3 | 30 | 300 |
 | 4 | 40 | 400 |

 #+BEGIN_SRC calc :var data=the-table[,1]
 1
 #+END_SRC
 #+BEGIN_SRC elisp :var data=the-table[,1]
 (format %s data)
 #+END_SRC
 #+END_EXAMPLE

 I'm not familiar with the workings of calc, but is there a workaround?

 P.S. Please CC me in replies since I'm not subscribed to the list.

 --
 Daniel Hackney


-- 
Eric Schulte
https://cs.unm.edu/~eschulte
PGP: 0x614CA05D



Re: [O] [ob-calc] bug when given table data as a variable

2014-03-06 Thread Daniel Hackney
Eric Schulte schulte.e...@gmail.com wrote:
 Org-mode's calc support is very limited. I think someone with a
 working knowledge of how calc uses vectors would need to add table
 support. Unfortunately calc experts seem to be few and far between.

Looking at the calc source code was not terribly helpful, since it is
barely documented. The info page can help somewhat, though.

Doing a little bit of digging, it looks like you can bind variables for
=calc-eval= like so:

#+BEGIN_SRC elisp
(let ((var-a [1, 2, 3]))
 (calc-eval evalv(reduce(add, a
#+END_SRC

#+RESULTS:
: 6

This pattern could be used for variable binding. It would mean wrapping
the code to be evaluated in =evalv=. If I get some time, I might
investigate writing a patch to do this.

--
Daniel Hackney



[O] [ob-calc] bug when given table data as a variable

2014-03-04 Thread Daniel Hackney
I am trying to use data from a table in a calc source block, but I get
the following error when trying to eval the block:

#+BEGIN_EXAMPLE
math-format-stack-value: Wrong type argument: symbolp, 10
#+END_EXAMPLE

Here is an example file which demonstrates the problem:

#+BEGIN_EXAMPLE
Org version: 8.2.5h (org-20140224 from package)
Emacs version: 24.3.1

Run after starting Emacs with =emacs -Q=

#+BEGIN_SRC elisp
(add-to-list 'org-babel-load-languages '(calc . t))
(require 'ob-calc)
#+END_SRC

#+NAME: the-table
| a |  b |   c |
|---++-|
| 1 | 10 | 100 |
| 2 | 20 | 200 |
| 3 | 30 | 300 |
| 4 | 40 | 400 |

#+BEGIN_SRC calc :var data=the-table[,1]
1
#+END_SRC

#+BEGIN_SRC elisp :var data=the-table[,1]
(format %s data)
#+END_SRC
#+END_EXAMPLE

I'm not familiar with the workings of calc, but is there a workaround?

P.S. Please CC me in replies since I'm not subscribed to the list.

--
Daniel Hackney