Browse Source

Synching org-babel.org across branches

Dan Davison 16 years ago
parent
commit
6f9985a749
1 changed files with 23 additions and 2 deletions
  1. 23 2
      org-babel.org

+ 23 - 2
org-babel.org

@@ -116,6 +116,12 @@ and the results to be collected in the same table.
 
 
 * Tasks [22/41]
 * Tasks [22/41]
 ** TODO add a function to jump to a source-block by name
 ** TODO add a function to jump to a source-block by name
+   I've had an initial stab at that in org-babel-find-named-block
+   (library-of-babel branch).
+
+   At the same time I introduced org-babel-named-src-block-regexp, to
+   match src-blocks with srcname.
+
 ** TODO Create objects in top level (global) environment [3/5]
 ** TODO Create objects in top level (global) environment [3/5]
 *sessions*
 *sessions*
 
 
@@ -882,11 +888,11 @@ msg + " y python"
     one that comes to mind is the ability to treat a source-code block
     one that comes to mind is the ability to treat a source-code block
     like a function which accepts arguments and returns results. Actually
     like a function which accepts arguments and returns results. Actually
     this can be it's own TODO (see [[* source blocks as functions][source blocks as functions]]).
     this can be it's own TODO (see [[* source blocks as functions][source blocks as functions]]).
-*** Objectives
+*** Objectives [Dan]
     - We want to provide convenient off-the-shelf actions
     - We want to provide convenient off-the-shelf actions
       (e.g. plotting data) that make use of our new code evaluation
       (e.g. plotting data) that make use of our new code evaluation
       environment but do not require any actual coding.
       environment but do not require any actual coding.
-*** Design proposal
+*** Initial Design proposal [Dan]
     - *Input data* will be specified using the same mechanism as :var
     - *Input data* will be specified using the same mechanism as :var
       references, thus the input data may come from a table, or
       references, thus the input data may come from a table, or
       another source block, and it is initially available as an elisp
       another source block, and it is initially available as an elisp
@@ -909,6 +915,21 @@ msg + " y python"
         be executed with the :data referent passed in using a :var arg.
         be executed with the :data referent passed in using a :var arg.
       - :showcode or something controlling whether to show the code
       - :showcode or something controlling whether to show the code
       
       
+*** Modification to design
+    I'm implementing this, at least initially, as a new interpreter
+    named 'babel', which has an empty body. 'babel' blocks take
+    a :srcname header arg, and look for the source-code block with
+    that name. They then execute the referenced block, after first
+    appending their own header args on to the target block's header
+    args.
+
+    If the target block is in the library of babel (a.o.t. e.g. the
+    current buffer), then the code in the block will refer to the
+    input data with a name dictated by convention (e.g. __data__
+    (something which is syntactically legal in all languages...). Thus
+    the babel block will use a :var __data__ = whatever header arg to
+    reference the data to be plotted.
+
 ** TODO share org-babel
 ** TODO share org-babel
 how should we share org-babel?
 how should we share org-babel?