<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><div>Hi Chris and Co.</div><div><br></div><div>Sorry this email has turned into a bit of a documentation exercise, as I think processes in Impromptu are still a little misunderstood.</div><div><br></div><div><blockquote type="cite"> callback seems like a misnomer because if i'm not mistaken, callback can be used to call any process, not just the one that encapsulates it?<br></blockquote><br></div><div>Actually no, callback always calls the specified function in the process that it was called in. However, it is trivial to schedule calls to other processes using a combination of callback and Impromptu's IPC architecture. </div><div> </div><div><font class="Apple-style-span" color="#000467" face="Monaco"><font class="Apple-style-span" color="#000000" face="Helvetica"><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; color: rgb(183, 76, 0); "><span style="color: #000467">(</span>callback<span style="color: #000467"> (</span>+<span style="color: #000467"> (</span>now<span style="color: #000467">) </span>*second*<span style="color: #000467">) '* </span><span style="color: #000bff">2</span><span style="color: #000467"> </span><span style="color: #000bff">3</span><span style="color: #000467">)</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; color: rgb(0, 4, 103); ">(<span style="color: #b74c00">callback</span> (<span style="color: #b74c00">+</span> (<span style="color: #b74c00">now</span>) <span style="color: #b74c00">*second*</span>) 'ipc:call <span style="color: #7e09ff">"utility process"</span> '* <span style="color: #000bff">2</span> <span style="color: #000bff">3</span>)</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; color: rgb(126, 9, 255); min-height: 16px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; color: rgb(126, 9, 255); min-height: 16px; "><span class="Apple-style-span" style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; ">The first line calls (* 2 3) in one second in the current process (whatever that is currently set to). The second callback calls (ipc:call "utility process" '* 2 3) in one second (in whatever the current process is) - which then immediately calls (* 2 3) in the "utility process" - always the "utility process" no matter what the current process is set to.</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; color: rgb(126, 9, 255); min-height: 16px; "><font class="Apple-style-span" color="#000000" face="Helvetica"><span class="Apple-style-span" style="font-size: medium;"><br></span></font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; color: rgb(126, 9, 255); min-height: 16px; "><font class="Apple-style-span" color="#000000" face="Helvetica"><span class="Apple-style-span" style="font-size: medium;"><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; color: rgb(126, 9, 255); min-height: 16px; "><font class="Apple-style-span" color="#000000" face="Helvetica"><span class="Apple-style-span" style="font-size: medium; "><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; color: rgb(126, 9, 255); min-height: 16px; "><span class="Apple-style-span" style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; ">Of course you could easily tidy the call up with a macro.</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; color: rgb(126, 9, 255); min-height: 16px; "><font class="Apple-style-span" color="#000467"><span class="Apple-style-span" style="font-size: medium; "><font class="Apple-style-span" color="#000000" face="Helvetica"><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; color: rgb(0, 4, 103); min-height: 16px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; color: rgb(157, 0, 0); "><span style="color: rgb(0, 4, 103); ">(</span>define-macro<span style="color: rgb(0, 4, 103); "> (</span><span style="color: rgb(183, 76, 0); ">proc-cb</span><span style="color: rgb(0, 4, 103); "> . args)</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; color: rgb(0, 4, 103); "> `(<span style="color: rgb(183, 76, 0); ">callback</span> ,(<span style="color: rgb(183, 76, 0); ">cadr</span> args) 'ipc:call ,(<span style="color: rgb(183, 76, 0); ">car</span> args) ,@(<span style="color: rgb(183, 76, 0); ">cddr</span> args)))</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; color: rgb(0, 4, 103); min-height: 16px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; color: rgb(183, 76, 0); "><span style="color: rgb(0, 4, 103); ">(</span>proc-cb<span style="color: rgb(0, 4, 103); "> </span><span style="color: rgb(126, 9, 255); ">"utility process"</span><span style="color: rgb(0, 4, 103); "> (</span>+<span style="color: rgb(0, 4, 103); "> (</span>now<span style="color: rgb(0, 4, 103); ">) </span>*second*<span style="color: rgb(0, 4, 103); ">) '* </span><span style="color: rgb(0, 11, 255); ">2</span><span style="color: rgb(0, 4, 103); "> </span><span style="color: rgb(0, 11, 255); ">3</span><span style="color: rgb(0, 4, 103); ">)</span></div></font></span></font></div></span></font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; color: rgb(126, 9, 255); min-height: 16px; "><font class="Apple-style-span" color="#000000" face="Helvetica"><span class="Apple-style-span" style="font-size: medium;"><br></span></font><span class="Apple-style-span" style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; "></span></div></span></font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; color: rgb(126, 9, 255); min-height: 16px; "><span class="Apple-style-span" style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; "><div>This makes it trivially easy to spawn work off onto other cores/hosts etc.. Here's an example of an alarm clock distributed over four processes (note that these processes could potentially be running remotely).</div><div><br></div></span></div></font></font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; color: rgb(206, 191, 126); min-height: 16px; "><font class="Apple-style-span" color="#000000" face="Helvetica"><span class="Apple-style-span" style="font-size: medium; "><font class="Apple-style-span" color="#CEBF7E" face="Monaco"><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; color: rgb(0, 102, 23); ">;; a distribued alarm clock</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; color: rgb(0, 4, 103); min-height: 16px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; color: rgb(0, 102, 23); ">;; define four process names</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; color: rgb(126, 9, 255); "><span style="color: #000467">(</span><span style="color: #9d0000">define</span><span style="color: #000467"> </span><span style="color: #b74c00">procs</span><span style="color: #000467"> (</span><span style="color: #b74c00">list</span><span style="color: #000467"> </span>"proc one"<span style="color: #000467"> </span>"proc two"<span style="color: #000467"> </span>"proc three"<span style="color: #000467"> </span>"proc four"<span style="color: #000467">))</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; color: rgb(0, 4, 103); min-height: 16px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; color: rgb(0, 102, 23); ">;; start four processes</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; color: rgb(183, 76, 0); "><span style="color: #000467">(</span>dotimes<span style="color: #000467"> (i </span><span style="color: #000bff">4</span><span style="color: #000467">)</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; color: rgb(183, 76, 0); "><span style="color: #000467"> (</span>ipc:new-process<span style="color: #000467"> (</span>list-ref<span style="color: #000467"> </span>procs<span style="color: #000467"> i) (</span>+<span style="color: #000467"> </span><span style="color: #000bff">8990</span><span style="color: #000467"> i)))</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; color: rgb(0, 4, 103); min-height: 16px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; color: rgb(0, 102, 23); ">;; define a worker function to set and call alarms in each of four processes</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; color: rgb(183, 76, 0); "><span style="color: #000467">(</span>dotimes<span style="color: #000467"> (i </span><span style="color: #000bff">4</span><span style="color: #000467">)</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; color: rgb(183, 76, 0); "><span style="color: #000467"> (</span>ipc:define<span style="color: #000467"> (</span>list-ref<span style="color: #000467"> </span>procs<span style="color: #000467"> i) 'worker </span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; color: rgb(0, 4, 103); "> (<span style="color: #9d0000">lambda</span> (time)</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; color: rgb(0, 4, 103); "> (<span style="color: #b74c00">print</span> 'set-alarm-in-proc: (<span style="color: #b74c00">ipc:get-process-name</span>) </div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; color: rgb(0, 4, 103); "> 'for-time: (<span style="color: #b74c00">objc:date:make</span> time))</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; color: rgb(0, 4, 103); "> (<span style="color: #b74c00">sys:wait</span> (<span style="color: #b74c00">clock->samples</span> time))</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; color: rgb(0, 4, 103); "> (<span style="color: #b74c00">print</span> 'alarm: (<span style="color: #b74c00">ipc:get-process-name</span>) </div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; color: rgb(0, 4, 103); "> 'time: (<span style="color: #b74c00">objc:date:make</span> (<span style="color: #b74c00">samples->clock</span> (<span style="color: #b74c00">now</span>)))))))</div><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Monaco; color: #000467; min-height: 16.0px"> <br class="webkit-block-placeholder"></p><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; color: rgb(0, 4, 103); min-height: 16px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; color: rgb(0, 102, 23); ">;; start loop firing off alarm requests randomly to four processes</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; color: rgb(157, 0, 0); "><span style="color: #000467">(</span>define<span style="color: #000467"> </span><span style="color: #b74c00">loop</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; color: rgb(0, 4, 103); "> (<span style="color: #9d0000">lambda</span> (beat) </div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; color: rgb(0, 4, 103); "> (<span style="color: #b74c00">callback</span> (<span style="color: #b74c00">*metro*</span> beat) 'ipc:call (<span style="color: #b74c00">list-ref</span> <span style="color: #b74c00">procs</span> (<span style="color: #b74c00">random</span> <span style="color: #000bff">4</span>)) </div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; color: rgb(0, 4, 103); "> 'worker (<span style="color: #b74c00">+</span> (<span style="color: #b74c00">clock</span>) (<span style="color: #b74c00">random</span> <span style="color: #000bff">60</span>)))</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; color: rgb(0, 4, 103); "> (<span style="color: #b74c00">callback</span> (<span style="color: #b74c00">*metro*</span> (<span style="color: #b74c00">+</span> beat (<span style="color: #b74c00">*</span> <span style="color: #000bff">1/2</span> <span style="color: #000bff">1</span>))) 'loop (<span style="color: #b74c00">+</span> beat <span style="color: #000bff">1</span>))))</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; color: rgb(0, 4, 103); min-height: 16px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; color: rgb(0, 102, 23); ">;; start manager loop</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; color: rgb(0, 4, 103); ">(<span style="color: #b74c00">loop</span> (<span style="color: #b74c00">*metro*</span> 'get-beat <span style="color: #000bff">4</span>))</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; color: rgb(0, 4, 103); "><span class="Apple-style-span" style="font-size: medium;"><br></span></div></font></span></font></div><div>This example is really all you need to understand how to do your own load balancing, distributed computation etc..</div><div><br></div><div>Just a note on remote vs local processes. You spawn a new process in impromptu by calling ipc:new-process. This creates a new impromptu process which you give a name to and then call using ipc commands. Remote processes work slightly differently because you do not create them. They already exist and you just connect to them with an alias. So for example. Creating a process locally works like this:</div><div><br></div><div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; color: rgb(183, 76, 0); "><span style="color: #000467">(</span>ipc:new-process<span style="color: #000467"> </span><span style="color: #7e09ff">"my-new-proc"</span><span style="color: #000467"> </span><span style="color: #000bff">9287</span><span style="color: #000467">)</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; color: rgb(0, 4, 103); ">(<span style="color: #b74c00">print</span> 'result: (<span style="color: #b74c00">ipc:call</span> <span style="color: #7e09ff">"my-new-proc"</span> '* <span style="color: #000bff">2</span> <span style="color: #000bff">3</span>))</div><div><font class="Apple-style-span" color="#000467" face="Monaco"><br></font></div><div> If someone wanted to connect to this existing "my-new-proc" process from another host they would do this:</div><div><br></div><div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; color: rgb(126, 9, 255); "><span style="color: #000467">(</span><span style="color: #b74c00">ipc:connect-to-process</span><span style="color: #000467"> </span>"the-remote-proc"<span style="color: #000467"> </span>"varese.local"<span style="color: #000467"> </span><span style="color: #000bff">9287</span><span style="color: #000467">) </span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; color: rgb(126, 9, 255); "><span style="color: #000467">(</span><span style="color: #b74c00">ipc:call-async</span><span style="color: #000467"> </span>"the-remote-proc"<span style="color: #000467"> 'print </span>"hello world"<span style="color: #000467">)</span></div><div><font class="Apple-style-span" color="#000467" face="Monaco"><br></font></div><div>The remote host can call the connection whatever they like, the important details are the hostname and the port to connect to. The important thing to note is that they have not created a new process on the host varese.local they have just connected an "alias" to an existing process.</div><div><br></div><div>One last thing in this ever expanding email. In order to use ipc:call (i.e. an ipc call that returns a value) from a remote host, you need to supply an additional argument which is the process name (as named by the remote host) to send the result to. You don't need to supply this argument locally but you do need to supply it remotely. So here's a common example that connects to a remote hosts "primary process" - by convention I usually prefix the hosts name.</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; color: rgb(0, 4, 103); min-height: 16px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; color: rgb(0, 102, 23); ">;; connecting from debussy.local to varese.local</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; color: rgb(0, 102, 23); ">;; first create alias to "primary process" on varese - called "varese:primary process"</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; color: rgb(126, 9, 255); "><span style="color: #000467">(</span><span style="color: #b74c00">ipc:connect-to-process</span><span style="color: #000467"> </span>"varese:primary process"<span style="color: #000467"> </span>"varese.local"<span style="color: #000467"> </span><span style="color: #000bff">7010</span><span style="color: #000467">)</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; color: rgb(0, 102, 23); ">;; secondly use the alias to establish another alias </div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; color: rgb(0, 102, 23); ">;; going the other way - from varese back to debussy</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; color: rgb(0, 4, 103); ">(<span style="color: #b74c00">ipc:call-async</span> <span style="color: #7e09ff">"varese:primary process"</span> 'ipc:connect-to-process </div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; color: rgb(126, 9, 255); "><span style="color: #000467"> </span>"debussy:primary process"<span style="color: #000467"> </span>"debussy.local"<span style="color: #000467"> </span><span style="color: #000bff">7010</span><span style="color: #000467">)</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; color: rgb(0, 102, 23); ">;; now we can make synchronous calls from debussy to varese like this</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; color: rgb(126, 9, 255); "><span style="color: #000467">(</span><span style="color: #b74c00">print</span><span style="color: #000467"> 'result: (</span><span style="color: #b74c00">ipc:call</span><span style="color: #000467"> </span>"varese:primary process"<span style="color: #000467"> </span>"debuss:primary process"<span style="color: #000467"> '* </span><span style="color: #000bff">2</span><span style="color: #000467"> </span><span style="color: #000bff">3</span><span style="color: #000467">))</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; color: rgb(0, 102, 23); ">;; of course you can also spawn new processes remotely</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; color: rgb(126, 9, 255); "><span style="color: #000467">(</span><span style="color: #b74c00">ipc:call-async</span><span style="color: #000467"> </span>"varese:primary process"<span style="color: #000467"> 'ipc:new-process </span>"another-new-proc"<span style="color: #000467"> </span><span style="color: #000bff">9288</span><span style="color: #000467">)</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; color: rgb(0, 102, 23); ">;; and connect to them remotely with an alias</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; color: rgb(126, 9, 255); "><span style="color: #000467">(</span><span style="color: #b74c00">ipc:connect-to-process</span><span style="color: #000467"> </span>"varese:another-new-proc"<span style="color: #000467"> </span>"varese.local"<span style="color: #000467"> </span><span style="color: #000bff">9288</span><span style="color: #000467">)</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; color: rgb(0, 102, 23); ">;; etc..</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; color: rgb(126, 9, 255); min-height: 16px; "><br></div><div>Processes in Impromptu are quite powerful but are generally under-utilised. I expect that this is in part because I haven't document them very well so please let me know if something is unclear.</div><div><br></div><div>Cheers,</div></div></div><div>Andrew.</div><div><br></div><div><br></div><div><br></div><div><blockquote type="cite"><br><div class="gmail_quote"> 2010/1/2 Andrew Brown <span dir="ltr"><<a href="mailto:a.brown@qut.edu.au">a.brown@qut.edu.au</a>></span><br><blockquote class="gmail_quote" style="border-left-width: 1px; border-left-style: solid; border-left-color: rgb(204, 204, 204); margin-top: 0pt; margin-right: 0pt; margin-bottom: 0pt; margin-left: 0.8ex; padding-left: 1ex; position: static; z-index: auto; "> I think "schedule" would be easier to understand for many and is probably more broadly useful, but "callback" does have an important meaning too and so should be maintained. Besides, I more likely to mis-spell schedule during live coding performances :)<br> <br> Cheers,<br> <font color="#888888"><br> Andrew<br> </font><div><div></div><div class="h5"><br> On 29/12/2009, at 3:32 PM, Andrew Sorensen wrote:<br> <br> > I'm thinking of changing the symbol name callback to schedule?<br> ><br> > callback will still work as an alias but documentation would start<br> > using schedule<br> ><br> > Any thoughts?<br> > Got a better name?<br> > Good idea, bad idea, don't care?<br> > _______________________________________________<br> > Impromptu mailing list<br> > <a href="mailto:Impromptu@lists.moso.com.au">Impromptu@lists.moso.com.au</a><br> > <a href="http://lists.moso.com.au/mailman/listinfo/impromptu" target="_blank">http://lists.moso.com.au/mailman/listinfo/impromptu</a><br> <br> _______________________________________________<br> Impromptu mailing list<br> <a href="mailto:Impromptu@lists.moso.com.au">Impromptu@lists.moso.com.au</a><br> <a href="http://lists.moso.com.au/mailman/listinfo/impromptu" target="_blank">http://lists.moso.com.au/mailman/listinfo/impromptu</a><br> </div></div></blockquote></div><br><br clear="all"><br>-- <br>----------------------------------------<br>Christopher Chong<br>Composition for Screen<br>Royal College of Music<br>SW7 2BS<br><a href="http://www.MajorC.co.uk">http://www.MajorC.co.uk</a><br> <a href="http://majorc.wordpress.com">http://majorc.wordpress.com</a><br>----------------------------------------<br> _______________________________________________<br>Impromptu mailing list<br><a href="mailto:Impromptu@lists.moso.com.au">Impromptu@lists.moso.com.au</a><br>http://lists.moso.com.au/mailman/listinfo/impromptu<br></blockquote></div><br></div></body></html>