I believe https://developer.mozilla.org/en-US/docs/Web/JavaScript/New_in_JavaScript/1.7 suffices.
However, it's currently Firefox only and no Chrome. On Tue, Apr 8, 2014 at 8:51 PM, Timothy Baldridge <tbaldri...@gmail.com> wrote: > What is going to fulfill a promise? How will you know when a promise is > fulfilled. In a single threaded VM like JS you're stuck with callbacks. > Nothing short of full program transformation will give you any better > experience than core.async. > > A good way to look at it is this...if you do this in ClojureScript what > javascript is this supposed to execute? > > (deref (promise)) > > The only way this can work is with a code transform like go. Perhaps someday > a new version of JS will arise that presents a different solution, but until > then core.async is the best you're going to get. > > Timothy > > > On Tue, Apr 8, 2014 at 3:11 PM, t x <txrev...@gmail.com> wrote: >> >> I'm guilty of the X-Y problem. >> >> >> I'm trying to, inside of CLJS, write a simple WebOS. >> >> >> So I want to simultaneously be able to run things like: >> * a notepad app >> * an IRC app >> * a webRTC video chat app >> >> >> I have built each of these individual pieces in CLJS, -- but combining >> them / having them work well together in a clean, non-spaghetti way is >> harder than I thought. >> >> >> >> ### The main problems here I have are: >> >> * multi-threading (run all three apps at once) and >> * have is inter-"process" (in this case app) communication >> >> >> I'd also prefer to do this in a way where I write each app as if it's >> the only app running (i.e. no callback hell.) >> >> >> One possible approach is to make each app a "go-thread", but then I >> run into the issue of: >> >> (go ... (>! ... ) (<! ... )) all forced into the same lexical function. >> >> >> >> I'm looking for alternatives to this. By using: >> >> settimeout(func, 0); I should be able to fire off 3 threads >> >> now, if I had something like promises, I can do inter-process >> communication >> >> >> >> I'm still working this through -- so if my thinking is sloppy / >> unclear, please point it out so I can make it clearer. >> >> >> Thanks! >> >> On Tue, Apr 8, 2014 at 2:05 PM, James Reeves <ja...@booleanknot.com> >> wrote: >> > What exactly are you trying to do? Could you describe the problem you're >> > trying to solve in more detail? >> > >> > - James >> > >> > >> > On 8 April 2014 22:02, t x <txrev...@gmail.com> wrote: >> >> >> >> I'd really like to avoid callbacks. :-) >> >> >> >> If cljs had promises, it would suffice. :-) >> >> >> >> On Tue, Apr 8, 2014 at 2:00 PM, Gary Trakhman <gary.trakh...@gmail.com> >> >> wrote: >> >> > I think you might be able to use put! with a callback, or (go (>! >> >> > ..)) >> >> > within foo for a transient go process. Not sure if there's any ill >> >> > effects. >> >> > >> >> > >> >> > On Tue, Apr 8, 2014 at 4:51 PM, t x <txrev...@gmail.com> wrote: >> >> >> >> >> >> Hi, >> >> >> >> >> >> >> >> >> * I am aware of core.async. However, I don't like the fact that >> >> >> (go >> >> >> ... ) is a macro, thus forcing the >! and <! to appear "in the >> >> >> body", >> >> >> and I can't do nested things like: >> >> >> >> >> >> (defn foo [chan] >> >> >> (let [x (<! chan)] ... )) >> >> >> >> >> >> (go ... (foo ... )) >> >> >> >> >> >> >> >> >> * For the following, I only need it to work in ClojureScript. I >> >> >> don't need it to work in Clojure. Furthermore, we can assume browser >> >> >> = >> >> >> latest Firefox, or browser = latest Chrome. >> >> >> >> >> >> >> >> >> Now, my question: is there a library which provides "true" >> >> >> lightweight Clojurescript threads? >> >> >> >> >> >> >> >> >> Thanks! >> >> >> >> >> >> -- >> >> >> You received this message because you are subscribed to the Google >> >> >> Groups "Clojure" group. >> >> >> To post to this group, send email to clojure@googlegroups.com >> >> >> Note that posts from new members are moderated - please be patient >> >> >> with >> >> >> your first post. >> >> >> To unsubscribe from this group, send email to >> >> >> clojure+unsubscr...@googlegroups.com >> >> >> For more options, visit this group at >> >> >> http://groups.google.com/group/clojure?hl=en >> >> >> --- >> >> >> You received this message because you are subscribed to the Google >> >> >> Groups >> >> >> "Clojure" group. >> >> >> To unsubscribe from this group and stop receiving emails from it, >> >> >> send >> >> >> an >> >> >> email to clojure+unsubscr...@googlegroups.com. >> >> >> For more options, visit https://groups.google.com/d/optout. >> >> > >> >> > >> >> > -- >> >> > You received this message because you are subscribed to the Google >> >> > Groups "Clojure" group. >> >> > To post to this group, send email to clojure@googlegroups.com >> >> > Note that posts from new members are moderated - please be patient >> >> > with >> >> > your >> >> > first post. >> >> > To unsubscribe from this group, send email to >> >> > clojure+unsubscr...@googlegroups.com >> >> > For more options, visit this group at >> >> > http://groups.google.com/group/clojure?hl=en >> >> > --- >> >> > You received this message because you are subscribed to the Google >> >> > Groups >> >> > "Clojure" group. >> >> > To unsubscribe from this group and stop receiving emails from it, >> >> > send >> >> > an >> >> > email to clojure+unsubscr...@googlegroups.com. >> >> > For more options, visit https://groups.google.com/d/optout. >> >> >> >> -- >> >> You received this message because you are subscribed to the Google >> >> Groups "Clojure" group. >> >> To post to this group, send email to clojure@googlegroups.com >> >> Note that posts from new members are moderated - please be patient with >> >> your first post. >> >> To unsubscribe from this group, send email to >> >> clojure+unsubscr...@googlegroups.com >> >> For more options, visit this group at >> >> http://groups.google.com/group/clojure?hl=en >> >> --- >> >> You received this message because you are subscribed to the Google >> >> Groups >> >> "Clojure" group. >> >> To unsubscribe from this group and stop receiving emails from it, send >> >> an >> >> email to clojure+unsubscr...@googlegroups.com. >> >> For more options, visit https://groups.google.com/d/optout. >> > >> > >> > -- >> > You received this message because you are subscribed to the Google >> > Groups "Clojure" group. >> > To post to this group, send email to clojure@googlegroups.com >> > Note that posts from new members are moderated - please be patient with >> > your >> > first post. >> > To unsubscribe from this group, send email to >> > clojure+unsubscr...@googlegroups.com >> > For more options, visit this group at >> > http://groups.google.com/group/clojure?hl=en >> > --- >> > You received this message because you are subscribed to the Google >> > Groups >> > "Clojure" group. >> > To unsubscribe from this group and stop receiving emails from it, send >> > an >> > email to clojure+unsubscr...@googlegroups.com. >> > For more options, visit https://groups.google.com/d/optout. >> >> -- >> You received this message because you are subscribed to the Google >> Groups "Clojure" group. >> To post to this group, send email to clojure@googlegroups.com >> Note that posts from new members are moderated - please be patient with >> your first post. >> To unsubscribe from this group, send email to >> clojure+unsubscr...@googlegroups.com >> For more options, visit this group at >> http://groups.google.com/group/clojure?hl=en >> --- >> You received this message because you are subscribed to the Google Groups >> "Clojure" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to clojure+unsubscr...@googlegroups.com. >> For more options, visit https://groups.google.com/d/optout. > > > > > -- > "One of the main causes of the fall of the Roman Empire was that-lacking > zero-they had no way to indicate successful termination of their C > programs." > (Robert Firth) > > -- > You received this message because you are subscribed to the Google > Groups "Clojure" group. > To post to this group, send email to clojure@googlegroups.com > Note that posts from new members are moderated - please be patient with your > first post. > To unsubscribe from this group, send email to > clojure+unsubscr...@googlegroups.com > For more options, visit this group at > http://groups.google.com/group/clojure?hl=en > --- > You received this message because you are subscribed to the Google Groups > "Clojure" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to clojure+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.