While Yi doesn't explicitly provide any means to do concurrency, there are 
two relevant points:

 1. YiM has access to IO, which means you can access forkIO, MVars, async, 
stm, etc there
 2. Yi has an action queue which can be used as a synchronization point 
when several threads want to access editor state concurrently

As an example you could look 
at 
https://github.com/ethercrow/yi-config/blob/18e634fe38833e4331ec6db88cc7e29459d7f46c/modules/Make.hs#L181
Here `make` is invoked from a separate thread and after it's complete an 
Editor action that updates error highlighting is dispatched to that queue 
on line 217.

I should have also add a cancellation logic so that a later `make` cancels 
the current one, but I was too lazy.

On Sunday, June 12, 2016 at 3:50:10 AM UTC+6, Cody Goodman wrote:
>
> does Yi have concurrency yet or would something like a compilation buffer 
> halt it?
>

-- 
-- 
Yi development mailing list
yi-devel@googlegroups.com
http://groups.google.com/group/yi-devel
--- 
You received this message because you are subscribed to the Google Groups 
"yi.devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to yi-devel+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to