Re: functions inside of go blocks

2014-01-17 Thread Alex Miller
You can definitely call functions, just not ones use the channel ops. The recommendation is to keep the io ops inside the go block and pull your logic into external functions. There are two benefits to this approach: 1) You keep all the impure io stuff together in the go block while putting y

Re: functions inside of go blocks

2014-01-16 Thread t x
Hi Bart, !, alts! must happen within a _lexical scope_ of a (async/go block) On Thu, Jan 16, 2014 at 1:32 PM, Bart Spiers wrote: > I'm not really familiar with async, but why would you not be allowed to > call that function inside a go block? > > > On Saturday, January 11, 2014 8:45:08 PM UT

Re: functions inside of go blocks

2014-01-16 Thread Bart Spiers
I'm not really familiar with async, but why would you not be allowed to call that function inside a go block? On Saturday, January 11, 2014 8:45:08 PM UTC+1, t x wrote: > > Hi, > > Consider this function: > > (defn try-put! [chan msg] > (not (= (alts! [chan msg] > :defau

functions inside of go blocks

2014-01-11 Thread t x
Hi, Consider this function: (defn try-put! [chan msg] (not (= (alts! [chan msg] :default :chan-full) :chan-full))) Now, I understand that: * go blocks involve deep macro walking / rewriting * thus, I can't call this function inside of a go block My questio