Hello everyone, I am a beginner with clojure and I am playing around with pcalls (I am using clojure 1.2.1). I see different behavior if I run some code from inside the REPL or launching it "form the command line".
I have the following code in a file called "test-pcalls.clj": (let [waste-time (fn [label] (dotimes [k 4] (let [msg (str label " " k "\n")] (Thread/sleep 2000) (print msg))))] (dorun (pcalls #(waste-time "A") #(waste-time "b")))) This just creates the function 'waste-time' which slowly (2 seconds at a time) counts 0..3 and prints a label and the count each time. Two copies of the function are then started in parallel with a different label ("A" and "b") I start clojure and then from the REPL I do (load-file "test- pcalls.clj"). After 8 seconds (2 seconds x 4) I see the two sequences being printed out all in one go. First question I cannot find an aswer is: why do I see everything printed together instead of one step a time? Then I exit to the command line and then start clojure with the source file: clojure test-pcalls.clj Again after 8 seconds I see the sequences printed out as above. But now clojure hangs for a minute or so before returning to the command prompt. Can anyone explain this additional delay? thanks -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en