4 ms·
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 Syndicat
by tonyg 8y ago
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/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.