emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: "Eric H. Neilsen, Jr." <neilsen@fnal.gov>
Cc: emacs-orgmode@gnu.org
Subject: Re: Re: Literate Programming with Org mode
Date: Wed, 29 Jul 2009 17:16:10 -0500	[thread overview]
Message-ID: <4A70CA2A.8040605@fnal.gov> (raw)
In-Reply-To: <20090728215355.GA5609@issac.linlan>

Sam,

sam kleinman wrote:

...
> Here's a literate programing example: 
>
> I talked with a statistician, programer and human rights violation
> researcher, who wrote (with his team) reports of statistical studies
> of data regarding possible genocide incidents. He wrote the LaTeX
> documents which, within the text of the document, all values and
> analysis' were called in and generated when LaTeX ran, so that as data
> was collected, and the report was recompiled the analysis was
> completed with the most up-to-date version of the data, and that the
> production of the text was isolated from the collection of data, and
> from the analysis of those figures. 
>
> The stack itself, was comprised of Sweave
> <http://www.stat.umn.edu/~charlie/Sweave/> R for stats processing,
> make, and a little bit of python for glue. I think. 
This is how it is often used in R (or S), and is compatible with the 
original idea, which is a little broader. The idea is to write a full 
software application by first writing a document about its design and 
implementation (in whatever organization is clearest for humans), but at 
a high enough level of detail that *all* code in *all* source files in 
the final application gets included somewhere in code snippets within 
the documentation. To compile your program, you run a program to 
"tangle" your text into C files, makefiles, or whatever is appropriate, 
and then compile that (with no additional editing).

See http://www.literateprogramming.com/

Every time I have tried this, I have given up in frustration at the 
tools. I have put together some org code to do it, and have used it 
successfully for some small projects, but I am still pulling my hair out 
on being able to properly contribute it to org, and it would need to be 
reworked in light of other developments anyway. org-babel now has 
includes literate programming in it as well, but I have not yet 
experimented with it (but am very interested in trying).

    -Eric

-- 
Eric H. Neilsen, Jr.
http://home.fnal.gov/~neilsen

  reply	other threads:[~2009-07-29 22:16 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-07-28 16:14 Literate Programming with Org mode Sébastien Vauban
2009-07-28 16:46 ` Marcelo de Moraes Serpa
2009-07-28 20:41   ` Sébastien Vauban
2009-07-28 21:53     ` sam kleinman
2009-07-29 22:16       ` Eric H. Neilsen, Jr. [this message]
2009-07-31 17:01       ` Eric Schulte
2009-07-31 20:30         ` sam kleinman
2009-07-30  0:42 ` Eric Schulte
2009-08-02  1:46   ` Eric Schulte
2009-08-03  8:42     ` Sébastien Vauban
2009-08-03 15:38       ` Eric Schulte
2009-08-11  9:42         ` Sébastien Vauban
2009-08-11 18:55           ` 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=4A70CA2A.8040605@fnal.gov \
    --to=neilsen@fnal.gov \
    --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).