Browse Source

Proposed task: un-named args, plus minor update to o-b.org

Dan Davison 16 years ago
parent
commit
4c2faf86c0
1 changed files with 39 additions and 15 deletions
  1. 39 15
      org-babel.org

+ 39 - 15
org-babel.org

@@ -388,7 +388,8 @@ org-mode core
    python. I bet ruby does too. Maybe more of an issue for functional
    python. I bet ruby does too. Maybe more of an issue for functional
    style; in my proposed scripting style the error just gets dumped to
    style; in my proposed scripting style the error just gets dumped to
    the org buffer and the user is thus alerted.
    the org buffer and the user is thus alerted.
-** TODO figure out how to handle graphic output
+** STARTED figure out how to handle graphic output
+   
 This is listed under [[* graphical output][graphical output]] in out objectives.
 This is listed under [[* graphical output][graphical output]] in out objectives.
 
 
 This should take advantage of the =:results file= option, and
 This should take advantage of the =:results file= option, and
@@ -2283,7 +2284,7 @@ plot data using 1:2 with lines
 (see [[* file result types][file result types]])
 (see [[* file result types][file result types]])
 
 
 
 
-* Bugs [25/36]
+* Bugs [24/37]
 ** TODO allow srcname to omit function call parentheses
 ** TODO allow srcname to omit function call parentheses
    Someone needs to revisit those regexps. Is there an argument for
    Someone needs to revisit those regexps. Is there an argument for
    moving some of the regexps used to match function calls into
    moving some of the regexps used to match function calls into
@@ -2442,6 +2443,22 @@ for example
 
 
 #+resname: this-doesn't-match-orgtbl
 #+resname: this-doesn't-match-orgtbl
    
    
+** PROPOSED allow un-named arguments
+
+#+srcname: f(x)
+#+begin_src python 
+x
+#+end_src
+
+#+lob: f(5)
+
+## produces no output
+
+ It's not essential but would be nice for this to work. To do it
+properly, would mean that we'd have to specify rules for how a string
+of supplied arguments (some possibly named) interact with the
+arguments in the definition (some possibly with defaults) to give
+values to the variables in the funbction body.
 ** PROPOSED external shell execution can't isolate return values
 ** PROPOSED external shell execution can't isolate return values
 I have no idea how to do this as of yet.  The result is that when
 I have no idea how to do this as of yet.  The result is that when
 shell functions are run w/o a session there is no difference between
 shell functions are run w/o a session there is no difference between
@@ -2472,7 +2489,7 @@ the same for the other languages. [Dan]
 ** TODO LoB is not populated on startup
 ** TODO LoB is not populated on startup
    org-babel-library-of-babel is nil for me on startup. I have to
    org-babel-library-of-babel is nil for me on startup. I have to
    evaluate the [[file:lisp/org-babel-lob.el::][org-babel-lob-ingest]] line manually.
    evaluate the [[file:lisp/org-babel-lob.el::][org-babel-lob-ingest]] line manually.
-** DONE Fix nested evaluation
+** TODO Fix nested evaluation and default args
    The current parser / evaluator fails with greater levels of nested
    The current parser / evaluator fails with greater levels of nested
    function block calls (example below).
    function block calls (example below).
 
 
@@ -2636,7 +2653,6 @@ a+b
 
 
 #+resname: adder1
 #+resname: adder1
 : 30
 : 30
-
 ****** DONE Rely on defaults
 ****** DONE Rely on defaults
 #+lob: adder1()
 #+lob: adder1()
 
 
@@ -2654,9 +2670,10 @@ a+b
 #+lob: adder1(a=0)
 #+lob: adder1(a=0)
 
 
 #+resname: adder1(a=0)
 #+resname: adder1(a=0)
-## should be 10
 : 20
 : 20
 
 
+## should be 20
+
 #+lob: adder1(b=0)
 #+lob: adder1(b=0)
 
 
 #+resname: adder1(b=0)
 #+resname: adder1(b=0)
@@ -2667,9 +2684,8 @@ a+b
 #+lob: adder1(a=1,b=2)
 #+lob: adder1(a=1,b=2)
 
 
 #+resname: adder1(a=1,b=2)
 #+resname: adder1(a=1,b=2)
-## should be 3
-: 3
 
 
+: 3
 **** One arg lacks default in definition
 **** One arg lacks default in definition
 #+srcname: adder2(a=10,b)
 #+srcname: adder2(a=10,b)
 #+begin_src python
 #+begin_src python
@@ -2703,6 +2719,7 @@ more flexible to allow the source block language to handle the error.
 #+resname: adder2(b=1)
 #+resname: adder2(b=1)
 : 11
 : 11
 
 
+
 ## should be 11
 ## should be 11
 ## OK
 ## OK
 
 
@@ -2711,6 +2728,7 @@ more flexible to allow the source block language to handle the error.
 
 
 #+resname: adder2(a=1,b=2)
 #+resname: adder2(a=1,b=2)
 : 3
 : 3
+
 ## should be 3
 ## should be 3
 
 
 *** Example that fails
 *** Example that fails
@@ -2725,26 +2743,32 @@ a+b
 : 99
 : 99
 
 
 #+srcname: one()
 #+srcname: one()
-#+begin_src python :results silent
-2
+#+begin_src python
+1
 #+end_src
 #+end_src
 
 
+#+resname: one
+: 1
+
+
 
 
-#+srcname: level-one-nesting
+#+srcname: level-one-nesting()
 #+begin_src python :var arg=adder(a=one(),b=one())
 #+begin_src python :var arg=adder(a=one(),b=one())
 arg
 arg
 #+end_src
 #+end_src
 
 
-#+resname:
+#+resname: level-one-nesting
+
 : 4
 : 4
 
 
-#+srcname: level-one-nesting
+
+#+srcname: level-one-nesting()
 #+begin_src python :var arg=adder(a=adder(a=one(),b=one()),b=adder(a=one(),b=one()))
 #+begin_src python :var arg=adder(a=adder(a=one(),b=one()),b=adder(a=one(),b=one()))
 arg
 arg
 #+end_src
 #+end_src
 
 
 #+resname:
 #+resname:
-: 99
+: 12
 
 
 *** DONE deeply nested arguments still fails
 *** DONE deeply nested arguments still fails
 
 
@@ -2754,9 +2778,9 @@ arg
 #+end_src
 #+end_src
 
 
 #+resname:
 #+resname:
-: 8
+: 4
 
 
-results in this error
+**** Used to result in this error
 : supplied params=nil
 : supplied params=nil
 : new-refere="adder", new-referent="a=adder(a=one(),b=one()),b=adder(a=one(),b=one())"
 : new-refere="adder", new-referent="a=adder(a=one(),b=one()),b=adder(a=one(),b=one())"
 : args=((:var . "a=adder(a=one()") (:var . "b=one())") (:var . "b=adder(a=one()") (:var . "b=one())"))
 : args=((:var . "a=adder(a=one()") (:var . "b=one())") (:var . "b=adder(a=one()") (:var . "b=one())"))