| 
					
				 | 
			
			
				@@ -18,38 +18,6 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    argument, and the default behavior could be controlled through a 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    configuration variable. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-** TODO results name 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    In order to do this we will need to start naming our results. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    Since the source blocks are named with =#+srcname:= lines we can 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    name results with =#+resname:= lines (if the source block has no 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    name then no name is given to the =#+resname:= line on creation, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    otherwise the name of the source block is used). 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    This will have the additional benefit of allowing results and 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    source blocks to be located in different places in a buffer (and 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    eventually in different buffers entirely). 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-#+srcname: developing-resnames 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-#+begin_src emacs-lisp  :results silent 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-'schulte 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-#+end_src 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    Once source blocks are able to find their own =#+resname:= lines 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    we then need to... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-#+srcname: sbe-w-new-results 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-#+begin_src emacs-lisp :results replace 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-(sbe "developing-resnames") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-#+end_src 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-#+resname: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-: schulte 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-*** TODO change the results insertion functions to use these lines 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-*** TODO teach references to resolve =#+resname= lines. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ** TODO re-implement R evaluation using ess-command or ess-execute 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    I don't have any complaints with the current R evaluation code or 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    behaviour, but I think it would be good to use the ESS functions 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -245,6 +213,37 @@ mean(mean(vec)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     posterity. Same for a shell session either in a *shell* buffer, or 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     pasted from another terminal emulator. And python of course. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+** DONE results name 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    In order to do this we will need to start naming our results. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    Since the source blocks are named with =#+srcname:= lines we can 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    name results with =#+resname:= lines (if the source block has no 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    name then no name is given to the =#+resname:= line on creation, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    otherwise the name of the source block is used). 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    This will have the additional benefit of allowing results and 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    source blocks to be located in different places in a buffer (and 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    eventually in different buffers entirely). 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#+srcname: developing-resnames 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#+begin_src emacs-lisp  :results silent 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+'schulte 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#+end_src 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    Once source blocks are able to find their own =#+resname:= lines 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    we then need to... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#+srcname: sbe-w-new-results 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#+begin_src emacs-lisp :results replace 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+(sbe "developing-resnames") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#+end_src 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#+resname: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+: schulte 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+*** TODO change the results insertion functions to use these lines 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+*** TODO teach references to resolve =#+resname= lines. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ** DONE litorgy tests litorgy [1/1] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 since we are accumulating this nice collection of source-code blocks 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 in the sandbox section we should make use of them as unit tests. 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -424,13 +423,40 @@ example in the [[* emacs lisp source reference][emacs lisp source reference]]. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-* Bugs [6/8] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+* Bugs [7/9] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+** TODO R code execution seems to choke on certain inputs 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#+srcname: set-debug-on-error 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#+begin_src emacs-lisp :results silent 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+(setq debug-on-error t) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#+end_src 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#+srcname: bug-numerical-table 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#+begin_src emacs-lisp :results silent 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+'(1 2 3) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#+end_src 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#+srcname: bug-R-number-evaluation 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#+begin_src R :var table=bug-numerical-table :results silent 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+mean(table) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#+end_src 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ** TODO cursor movement when evaluating source blocks 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    E.g. the pie chart example. Despite the save-window-excursion in 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    litorgy-execute:R. (I never learned how to do this properly: org-R 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    jumps all over the place...) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-** TODO with :results replace, non-table output doesn't replace table output 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+** DEFERRED org bug/request: prevent certain org behaviour within code blocks 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   E.g. [[]] gets recognised as a link (when there's text inside the 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   brackets). This is bad for R code at least, and more generally 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   could be argued to be inappropriate. Is it difficult to get org to 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   ignore text in code blocks? [DED] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   I believe Carsten addressed this recently on the mailing list with 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   the comment that it was indeed a difficult issue.  I believe this 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   may be one area where we could wait for an upstream (org-mode) fix. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+** DONE with :results replace, non-table output doesn't replace table output 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    And vice versa. E.g. Try this first with table and then with len(table) [DED] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #+begin_src python :var table=sandbox :results replace 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 table 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -461,16 +487,6 @@ This would have a couple of benefits... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 Thoughts?  If no-one objects, I believe I will implement the labeling 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 of results. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-** DEFERRED org bug/request: prevent certain org behaviour within code blocks 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-   E.g. [[]] gets recognised as a link (when there's text inside the 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-   brackets). This is bad for R code at least, and more generally 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-   could be argued to be inappropriate. Is it difficult to get org to 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-   ignore text in code blocks? [DED] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-   I believe Carsten addressed this recently on the mailing list with 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-   the comment that it was indeed a difficult issue.  I believe this 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-   may be one area where we could wait for an upstream (org-mode) fix. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ** DONE extra quotes for nested string 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 Well R appears to be reading the tables without issue... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -575,40 +591,41 @@ Evaluate all the cells in this table for a comprehensive test of the 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 litorgy functionality. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #+TBLNAME: litorgy-tests 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-| functionality           | block            | arg |    expected |     results | pass | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-|-------------------------+------------------+-----+-------------+-------------+------| 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-| basic evaluation        |                  |     |             |             | pass | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-|-------------------------+------------------+-----+-------------+-------------+------| 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-| emacs lisp              | basic-elisp      |     |           5 |           5 | pass | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-| shell                   | basic-shell      |     |           6 |           6 | pass | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-| ruby                    | basic-ruby       |     |     litorgy |     litorgy | pass | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-| python                  | basic-python     |     | hello world | hello world | pass | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-| R                       | basic-R          |     |          13 |          13 | pass | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-|-------------------------+------------------+-----+-------------+-------------+------| 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-| tables                  |                  |     |             |             | pass | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-|-------------------------+------------------+-----+-------------+-------------+------| 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-| emacs lisp              | table-elisp      |     |           3 |           3 | pass | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-| ruby                    | table-ruby       |     |       1-2-3 |       1-2-3 | pass | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-| python                  | table-python     |     |           5 |           5 | pass | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-| R                       | table-R          |     |         3.5 |         3.5 | pass | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-|-------------------------+------------------+-----+-------------+-------------+------| 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-| source block references |                  |     |             |             | pass | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-|-------------------------+------------------+-----+-------------+-------------+------| 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-| all languages           | chained-ref-last |     |       Array |       Array | pass | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-|-------------------------+------------------+-----+-------------+-------------+------| 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-| source block functions  |                  |     |             |             | pass | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-|-------------------------+------------------+-----+-------------+-------------+------| 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-| emacs lisp              | defun-fibb       |     |       fibbd |       fibbd | pass | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-| run over                | Fibonacci        |   0 |           1 |           1 | pass | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-| a                       | Fibonacci        |   1 |           1 |           1 | pass | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-| variety                 | Fibonacci        |   2 |           2 |           2 | pass | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-| of                      | Fibonacci        |   3 |           3 |           3 | pass | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-| different               | Fibonacci        |   4 |           5 |           5 | pass | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-| arguments               | Fibonacci        |   5 |           8 |           8 | pass | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-|-------------------------+------------------+-----+-------------+-------------+------| 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-| bug fixing              |                  |     |             |             | pass | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-|-------------------------+------------------+-----+-------------+-------------+------| 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-| simple ruby arrays      | ruby-array-test  |     |           3 |           3 | pass | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+| functionality           | block                   | arg |    expected |     results | pass                          | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+|-------------------------+-------------------------+-----+-------------+-------------+-------------------------------| 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+| basic evaluation        |                         |     |             |             | pass                          | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+|-------------------------+-------------------------+-----+-------------+-------------+-------------------------------| 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+| emacs lisp              | basic-elisp             |     |           5 |           5 | pass                          | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+| shell                   | basic-shell             |     |           6 |           6 | pass                          | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+| ruby                    | basic-ruby              |     |     litorgy |     litorgy | pass                          | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+| python                  | basic-python            |     | hello world | hello world | pass                          | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+| R                       | basic-R                 |     |          13 |          13 | pass                          | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+|-------------------------+-------------------------+-----+-------------+-------------+-------------------------------| 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+| tables                  |                         |     |             |             | pass                          | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+|-------------------------+-------------------------+-----+-------------+-------------+-------------------------------| 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+| emacs lisp              | table-elisp             |     |           3 |           3 | pass                          | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+| ruby                    | table-ruby              |     |       1-2-3 |       1-2-3 | pass                          | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+| python                  | table-python            |     |           5 |           5 | pass                          | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+| R                       | table-R                 |     |         3.5 |         3.5 | pass                          | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+|-------------------------+-------------------------+-----+-------------+-------------+-------------------------------| 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+| source block references |                         |     |             |             | pass                          | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+|-------------------------+-------------------------+-----+-------------+-------------+-------------------------------| 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+| all languages           | chained-ref-last        |     |       Array |       Array | pass                          | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+|-------------------------+-------------------------+-----+-------------+-------------+-------------------------------| 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+| source block functions  |                         |     |             |             | pass                          | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+|-------------------------+-------------------------+-----+-------------+-------------+-------------------------------| 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+| emacs lisp              | defun-fibb              |     |       fibbd |       fibbd | pass                          | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+| run over                | Fibonacci               |   0 |           1 |           1 | pass                          | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+| a                       | Fibonacci               |   1 |           1 |           1 | pass                          | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+| variety                 | Fibonacci               |   2 |           2 |           2 | pass                          | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+| of                      | Fibonacci               |   3 |           3 |           3 | pass                          | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+| different               | Fibonacci               |   4 |           5 |           5 | pass                          | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+| arguments               | Fibonacci               |   5 |           8 |           8 | pass                          | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+|-------------------------+-------------------------+-----+-------------+-------------+-------------------------------| 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+| bug fixing              |                         |     |             |             | pass                          | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+|-------------------------+-------------------------+-----+-------------+-------------+-------------------------------| 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+| simple ruby arrays      | ruby-array-test         |     |           3 |           3 | pass                          | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+| R number evaluation     | bug-R-number-evaluation |     |           2 |      #ERROR | expected "2" but was "#ERROR" | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #+TBLFM: $5='(if (= (length $3) 1) (progn (message (format "running %S" '(sbe $2 (n $3)))) (sbe $2 (n $3))) (sbe $2))::$6='(if (string= $4 $5) "pass" (format "expected %S but was %S" $4 $5)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ** basic tests 
			 |