equal
deleted
inserted
replaced
70 |
70 |
71 use "Concurrent/synchronized.ML"; |
71 use "Concurrent/synchronized.ML"; |
72 if Multithreading.available then () |
72 if Multithreading.available then () |
73 else use "Concurrent/synchronized_sequential.ML"; |
73 else use "Concurrent/synchronized_sequential.ML"; |
74 |
74 |
|
75 if Multithreading.available |
|
76 then use "Concurrent/bash.ML" |
|
77 else use "Concurrent/bash_sequential.ML"; |
|
78 |
|
79 fun bash s = |
|
80 (case bash_output s of |
|
81 ("", rc) => rc |
|
82 | (out, rc) => (writeln (perhaps (try (unsuffix "\n")) out); rc)); |
|
83 |
75 use "Concurrent/mailbox.ML"; |
84 use "Concurrent/mailbox.ML"; |
76 use "Concurrent/task_queue.ML"; |
85 use "Concurrent/task_queue.ML"; |
77 use "Concurrent/future.ML"; |
86 use "Concurrent/future.ML"; |
78 |
87 |
79 use "Concurrent/lazy.ML"; |
88 use "Concurrent/lazy.ML"; |