I finished reading the original paper for Céu, in which it is presented as a language for wireless sensor networks.
For me the main takeaway was that Turing-incomplete languages can be very useful and sufficiently expressive in many domains.
Some points I found interesting for further exploration were:
- expanding Céu for “number crunching” operations, keeping bounded time;
- expanding analysis for hard real time guarantees with precise upper (wall) time bounds;
- Céu to Lua compilation, this should be fairly easy and useful for Nibble;
- Racket implementation of Céu ideas, not a full language implementation but just a reactive runtime;
- IO monads in Céu, moving IO to the runtime - no idea how useful this could be in real life;
- Céu features in Lua, same as above with Racket, but with Lua.
The ideas of runtime implementations of Céu/Esterel ideas are more for my own learning, the others might have some use or actual research possibilities.