I'm generally in favor of "embracing the host" but both generators and 
async/await would probably require substantial rewrites of core parts of 
the compiler. It it not just about adding a small *** or *async* keyword 
somewhere. The compiler will generally emit anonymous functions at various 
places to ensure proper scoping and this can pretty easily break 
async/generator functions. Given that you'd emitting ES6+ anways however 
you could replace those with proper block-scoped lets though. Of course 
that is not a reason to not do it, just don't underestimate how much work 
this would be.

I certainly looks like the JS world is adopting async/await but given the 
rate of change in that ecosystem that might change again when the next 
thing comes along. Given that the React folks decided to implement a pretty 
substantial feature based on throwing promises I guess they are here to 
stay for a while though.

I do not think that this compares in any way to core.async however. It is a 
much more powerful abstraction which can do a lot of things async/await 
can't and anything that does can easily be achieved with core.async and a 
few helper functions/macros. Yes, core.async is not perfect either but 
someone could work on fixing the kinks.

I guess I agree that we should eventually support async/await + generators 
for the sake of full interop but not because of "issues" with core.async. 


On Thursday, May 24, 2018 at 6:58:38 PM UTC+2, Shaun LeBron wrote:
>
> thanks for posting this question.  I asked about it a few months ago on 
> slack and apparently it has come up a few times.  There is resistance (for 
> good reason), but here's a proposal I put together that might get 
> discussion going:
>
>
> https://beta.observablehq.com/@shaunlebron/proposal-generators-and-async-functions-in-clojurescript
>
> in summary, core.async doesn't solve all the problems, can be harder to 
> debug, and using the promise api directly can be unwieldy.  but there are 
> arguments against including the extra syntax.
>
> feedback appreciated!
>
>
> On Wednesday, May 23, 2018 at 11:44:06 PM UTC-5, Philos Kim wrote:
>>
>> I wonder when the async/await feature in ES8 will be introduced in 
>> ClojureScript.
>>
>> Of course, I know there is core.async in ClojureScript but I hope that 
>> the async/await feature in ES8 will be supported in ClojureScript as soon 
>> as possible.
>>
>> Does anyone know when it will be supported?
>>
>

-- 
Note that posts from new members are moderated - please be patient with your 
first post.
--- 
You received this message because you are subscribed to the Google Groups 
"ClojureScript" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojurescript+unsubscr...@googlegroups.com.
To post to this group, send email to clojurescript@googlegroups.com.
Visit this group at https://groups.google.com/group/clojurescript.

Reply via email to