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
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
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
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