Преглед на файлове

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

Eric Schulte преди 17 години
родител
ревизия
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)
 ** PROPOSED add =:none= session argument (for purely functional execution)
 This would allow source blocks to be run in their own new process
 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?
 ** PROPOSED Are we happy with current behaviour regarding vector/scalar output?
 This simple example of multilingual chaining produces vector output if
 This simple example of multilingual chaining produces vector output if