Hacker News new | ask | show | jobs
by hencq 2792 days 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

1 comments

It 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/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/.

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/.

--

[1] https://github.com/tonyg/syndicate/tree/master/examples/nets...

[2] https://github.com/tonyg/syndicate/tree/master/examples/ircd

[3] https://github.com/tonyg/syndicate/blob/master/examples/plat...

Thanks 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.