In.mesh: one step closer to threads on the web :fireworks:
Announcing in.mesh I’m pleased to announce an early sneak peak at in.mesh, a webworker library for Clojurescript. Y’all know how I like to release libraries on holidays, and it’s 4th of July, y’all!...
View ArticleIn.mesh: one step closer to threads on the web :fireworks:
Hey folks, quick update on this - good news! I got blocking semantics working (using a service worker hack). Not ready to release the update yet - hopefully tomorrow or in a few days - but I wanted to...
View ArticleIn.mesh: one step closer to threads on the web :fireworks:
Quick update on this: The first official alpha release of inmesh is out: net.clojars.john/inmesh {:mvn/version "0.1.0-alpha.1"} - “One step closer to threads on the web” - GitHub - johnmn3/inmesh Now...
View ArticleIn.mesh: one step closer to threads on the web :fireworks:
@John_Newman this is really cool. Do you have a complete cljs environment running in the web worker? What is the protocol you are using for sending commands/receiving data? Does it work on Safari?...
View ArticleIn.mesh: one step closer to threads on the web :fireworks:
Thanks @zcaudate! Yeah, it’s a pure cljs artifact with a :webworker build target. The screen launches first a service worker node (:sw) and then a :root node, then the :root node launches a :db node...
View ArticleIn.mesh: one step closer to threads on the web :fireworks:
Before the js/eval stuff, it uses rpc calls dispatched via a defmethod. That’s only used for distributing ports to construct the mesh. Once the mesh is constructed, it then bootstraps the in macro...
View ArticleIn.mesh: one step closer to threads on the web :fireworks:
Wow. It is fast and quite compact too. What’s the advantage of using ServiceWorkers over WebWorkers? Are you sharing the mesh between tabs? or are you relying on IndexDB for that? How hard is it to...
View ArticleIn.mesh: one step closer to threads on the web :fireworks:
The Service Worker is just for being able to do blocking waits. You create a fresh work id, send work to another worker, then we issue a synchronous XHR request (which are still allowed in workers) to...
View ArticleIn.mesh: one step closer to threads on the web :fireworks:
Either all the variables one references must be compiled beforehand, available to both sides of the invocation, or one must ship it over via the implicit or explicit binding. (let [my-fn (fn [x] (+ x...
View ArticleIn.mesh: one step closer to threads on the web :fireworks:
John_Newman: OTOH, implementing cider’s debugger for Clojurescript only requires blocking semantics. So, maybe with inmesh, we can finally have a stepping debugger for CLJS in cider and similar IDEs!...
View ArticleIn.mesh: one step closer to threads on the web :fireworks:
RIght now it’s a proof of concept but I’m hoping to develop it into a full fledged open source library that can be used to accomplish hard things more easily in production code. I’ll be dogfooding it...
View ArticleIn.mesh: one step closer to threads on the web :fireworks:
Yep that’s awesome. Hope it gain traction. If immutable datastructures do become standard for js, then this is probably one area that wouldn’t be affected that much. Read full topic
View ArticleIn.mesh: one step closer to threads on the web :fireworks:
A couple updates to this lib: Name change: cljs-thread The library is now called cljs-thread. More on that below. Namespace locals conveyance Before, you couldn’t do this: (def my-fn (fn [x] (+ x 2)))...
View ArticleIn.mesh: one step closer to threads on the web :fireworks:
FYI: GitHub GitHub - neomjs/neo: The application worker driven frontend framework The application worker driven frontend framework. Contribute to neomjs/neo development by creating an account on...
View ArticleIn.mesh: one step closer to threads on the web :fireworks:
This topic was automatically closed 182 days after the last reply. New replies are no longer allowed. Read full topic
View Article