Just in case you find this package interesting. Except some
problems with units conversion, it's nice:
https://github.com/sulami/literate-calc-mode.el
This is a literate calc file. Lines without "=" are ignored. All results starting with "=>" are an overlay generated by literate-calc-mode. That means they are displayed in Emacs, but not actually in the buffer/file contents. We can calculate a value like so: = 2 + 2 => 4 If there is any string on the left hand side, it becomes a bound variable. Pi = 3.14159 => Pi: 3.14159 We can use this variable below the definiton. Tau = Pi * 2 => Tau: 6.28318 Results are calculated using Emacs' own calc, so you can use formulas as well. = round(Pi, 2) => 3.14 Later bindings shadow earlier ones: Pi = 3 => Pi: 3 = Pi => 3 Variable names can have spaces as well: Monthly Expenses = 500 => Monthly Expenses: 500 Monthly Income = 1000 => Monthly Income: 1000 Annual Savings = 12 * (Monthly Income - Monthly Expenses) => Annual Savings: 6000 All values are recalculated on every update in a spreadsheet-like fashion. Calc also has a lot of advanced features, like arrays: Numbers = [1 2 3] => Numbers: [1, 2, 3] = 3 Numbers => [3, 6, 9]
"Fraga, Eric" <e.fraga@ucl.ac.uk> writes: >> I guess that the main problem is that calc is tightly integrated with >> interactive commands. Maybe ob-calc could be extended to somehow >> indicate the commands to be executed in addition to inputting stack >> entries. >> >> Not sure if there is much interest in such feature though. > > Thinking out loud, what would be better, but I have no idea how feasible > it would be, would be to have ob-calc make use of the embedded calc > functionality and syntax, so that you could write something like this: > > #+begin_src calc > a := 300 m > b := 2 a => > #+end_src > > which would output the result of any line with => on it. I am CCing Tom Gillespie, the maintainer of ob-calc. Maybe he has something to say.