What is an engine? How should swish be run?
yanshuf0 opened this issue ยท 8 comments
Swish is described as a concurrency engine. Does engine imply it's related to engines in chez? Is swish meant to be run in place of chez when running or compiling scheme programs? Running swish on my terminal seems to bring up a scheme repl. Is swish just chez scheme with added functionality?
Swish is an extension of Chez Scheme for concurrency-oriented programming. Because it provides a strict superset of features, it can be used instead of Chez Scheme. Its engine is loosely related to engines in Chez Scheme in that it uses software timer interrupts and continuations to provide concurrent processes.
Ok thanks! Let me see if I can build something with it. I see the version is 0.0.0, does that mean it's not ready for serious use yet?
Much of the code comes from the Windows-only version that has been used in production. The new code is the libuv-based operating system interface. The version of 0.0.0 indicates that we've not yet completed our full inspection and testing of the system. We may make some breaking API changes before the first release.
Sounds good, is there an timeline estimate for the release process?
Unfortunately we don't have a timeline yet. I'm going through a job transition.
Bump! This is a very interesting project -- I like how OTP shines through ๐ -- Is there anything new to say about what's ahead?
We're making good progress towards our first release.
Thanks for your interest! We're about a year overdue on making a release, but it has finally happened. 2.0.0 is out. We're light on examples and tutorials, but we believe Swish itself is solid.