瀏覽代碼

expanding ** PROPOSED add =:none= session argument (for purely functional execution)

Eric Schulte 16 年之前
父節點
當前提交
7984724a2b
共有 1 個文件被更改,包括 18 次插入1 次删除
  1. 18 1
      org-babel.org

+ 18 - 1
org-babel.org

@@ -500,7 +500,24 @@ Another example is in the [[*operations%20in%20on%20tables][grades example]].
 ** PROPOSED add =:none= session argument (for purely functional execution)
 This would allow source blocks to be run in their own new process
 
-These blocks could then also be run in the background.
+- These blocks could then also be run in the background (since we can
+  detach and just wait for the process to signal that it has terminated)
+- We wouldn't be drowning in session buffers after running the tests
+- we can re-use much of the session code to run in a more /functional/
+  mode
+
+While session provide a lot of cool features, like persistent
+environments, [[* DONE function to bring up inferior-process buffer][pop-to-session]], and hints at exportation for
+org-babel-tangle, they also have some down sides and I'm thinking that
+session-based execution maybe shouldn't be the default behavior.
+
+Down-sides to sessions
+- *much* more complicated than functional evaluation
+  - maintaining the state of the session has weird issues
+  - waiting for evaluation to finish
+  - prompt issues like [[* TODO weird escaped characters in shell prompt break shell evaluation][shell-prompt-escapes-bug]]
+- can't run in background
+- litter emacs with session buffers
 
 ** PROPOSED Are we happy with current behaviour regarding vector/scalar output?
 This simple example of multilingual chaining produces vector output if