4 ms·
Syndicate seems very cool! Do you know if it's used by anyone or is it more of a research project at this stage? Am I right that the pattern seems very similar
by hencq 8y ago
Syndicate seems very cool! Do you know if it's used by anyone or is it more of a research project at this stage? Am I right that the pattern seems very similar to re-frame [0] in Clojurescript? It seems like it might be an excellent way to develop web apps, especially since I see there's a javascript version as well.
[0] https://github.com/Day8/re-frame https://github.com/Day8/re-frame
- tonyg 8y agoIt is still a research project, though I am working on a new implementation that brings it up to production standards. Re-frame does look similar, but Syndicate is general in the same way that the Actor model is general; DOM support and other "I/O devices" are bolt-on drivers, not built in to the core. Syndicate does make a nice way to develop web apps; for example, the whatsapp-like chat app here https://github.com/tonyg/syndicate/tree/master/examples/webchat https://github.com/tonyg/syndicate/tree/master/examples/webc... shows a few of the ideas, though it's only prototype/experimental quality. The new implementation ought to be suitable for making such applications "for real". See also the handful of in-browser demos, which naturally focus on web-ish things: http://syndicate-lang.org/examples/ http://syndicate-lang.org/examples/. The Racket implementation has been used to implement not only the server side of the webchat app, but also a TCP/IP stack [1], an IRC server [2], and a side-scrolling platform game [3]. I'm afraid that there's very little documentation available (it is still a research project, after all!). You can read more about the ideas behind it here, though: http://syndicate-lang.org/tonyg-dissertation/ http://syndicate-lang.org/tonyg-dissertation/. -- [1] https://github.com/tonyg/syndicate/tree/master/examples/netstack/incremental-highlevel https://github.com/tonyg/syndicate/tree/master/examples/nets... [2] https://github.com/tonyg/syndicate/tree/master/examples/ircd https://github.com/tonyg/syndicate/tree/master/examples/ircd [3] https://github.com/tonyg/syndicate/blob/master/examples/platformer/hll-main.rkt https://github.com/tonyg/syndicate/blob/master/examples/plat...
- hencq 8y agoThanks I will check out those examples! Again, this looks really cool. I just started playing a bit with Racket, so this is nice to dive into.