"John Wiegley" <jo...@gnu.org> writes:

> 1. Use =org-table-to-lisp= to parse the Org table into a Lisp matrix (list of
>    lists).
>
> 2. Map through all of the cells in this matrix, converting each into a closure
>    that maps from a matrix of strings to a string.
>
>    The work of each such closure is to calculate the formula for that
>    particular cell using =org-table-eval-formula= — which may involve looking
>    up the relevant cell, row or column formula from the table’s formula field
>    — and resolving any cell references by looking up those values in the
>    matrix argument.
> ...

That would be nice indeed!

> When I went looking at org-table.el, I find that it’s very much tailored to
> work on the state of the buffer and its “work space”, and may not be so easy
> to convert to a functional style, where instead we convert the table to a Lisp
> data structure, operate on the data structure, and then render it back out to
> a table.

Unfortunately, yes. org-table.el is a very old code.

> Are there any org-table.el masters who might be interested in helping with
> such a reworking of the calculation engine?

I am afraid that even I am lost in that file.
But I do have some familiarity with that code and I will be willing to
help if someone leads the refactoring effort.
Also, CCing Corwin who has been working on some improvements/extensions
to org-table.el recently.

-- 
Ihor Radchenko // yantar92,
Org mode maintainer,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>

Reply via email to