good point about the IIFEs, added some notes on what to fixl:

https://beta.observablehq.com/@shaunlebron/proposal-generators-and-async-functions-in-clojurescript#blockers

> [core.async] 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

not quite! core.async doesn't allow you to cancel a go-block (to my 
knowledge), which JS allows.  I added a section on this:

https://beta.observablehq.com/@shaunlebron/proposal-generators-and-async-functions-in-clojurescript#coreasync

On Thursday, May 24, 2018 at 4:44:29 PM UTC-5, Thomas Heller wrote:
>
> 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