emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Darlan Cavalcante Moreira <darcamo@gmail.com>
To: org-mode Mailinglist <emacs-orgmode@gnu.org>
Subject: Sage Math - Maybe some inspiration for org-babel
Date: Mon, 19 Oct 2009 19:20:08 -0300	[thread overview]
Message-ID: <4adce61d.0508d00a.3475.2d8d@mx.google.com> (raw)


Hello org-users

I have been reading with attention the E-Mails about org-babel here on the list
and decided to play with it a little this weekend. It reminded me about another
great piece of software called "Sage Math" (Some screencasts here ->
http://www.sagemath.org/help-video.html) that I have tested sometime ago.

"Sage is a free open-source mathematics software system licensed under the
GPL. It combines the power of many existing open-source packages into a common
Python-based interface."

Although Sage and org-babel are very different, I think that Sage may be a good
source of inspiration for org-babel. Probably the most practical way of using
sage is though the notebook: a front-end that runs inside the browser and
communicates with the sage server (may be remote or local).

In the sage notebook one creates worksheets. Each worksheet starts with a text
area where you type the code. The main language is python, but others may be
used if specified with a comment. When the code is evaluated any output is shown
in addition to the last value. Therefore, the code

,----
| print "hello"
| 10
| print "world"
| 9
| 15
`----
will show
,----
| hello
| world
| 15
`----

This is similar to a "combination" of :results output and :results value in
org-babel. A really nice feature is that if an image is created by the last
command in the block it is automatically shown. Therefore, it doesn't matter
which library was used to generate the plot as long as it creates an image (for
instance, plotting to a file with matplotlib will shown the plot when the code
is evaluated). Maybe the same approach could be used in org-mode.

In the text area, RET only creates a new line, Shift+RET evaluates the code in
the text area and creates a new one below the output keeping all the variables
similar to the multiple source blocks within a single session in org-babel.

Two things I find interesting is that you can easily evaluate all blocks in the
worksheet (org-mode already has org-babel-execute-buffer) and if any block
starts with the comment "%hide" the code is not shown, only its output. I think
that a header argument ":hide" for a source block could be useful.


That's my two cents. It is really amazing what you can do with org-mode and
org-babel and I'm not saying in that org-babel should became more similar to
sage. I only think that getting some inspiration from sage could be nice.

Regards,

Darlan

             reply	other threads:[~2009-10-19 22:20 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-10-19 22:20 Darlan Cavalcante Moreira [this message]
2009-10-21 15:11 ` Sage Math - Maybe some inspiration for org-babel Eric Schulte
2009-10-22  5:30   ` Darlan Cavalcante Moreira
2009-10-22 14:23     ` Eric Schulte

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4adce61d.0508d00a.3475.2d8d@mx.google.com \
    --to=darcamo@gmail.com \
    --cc=emacs-orgmode@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).