The language is a less-restricted (and less verifiable) Esterel descnedant. Esterel and its derivatives have been used successfully by the industry, for many years, to write fully verifiable, safety-critical, real-time reactive systems.
What kind of restrictions are you thinking about here? I don't know Esterel very well but Céu is very restrictive in order to ensure that responses to events don't loop. There are no recursive functions, no dynamic allocation, etc.
Your impressions about Céu are very accurate, but I would like to add some remarks.
There are three possible perspectives about the language: the "static", presented in the SenSys'13 paper; the "dynamic", presented in the Modularity'15 paper; and also the actual compiler publicly available.
The static version shares similar restrictions to Esterel, as you both pointed out.
The dynamic version allows dynamic allocation inside lexical pools, keeping static memory management (no GC or "free"), but with possible unbounded memory usage.
The actual compiler is even less restrictive and just gives warnings for unbounded loops, recursive calls, and so on.
Assuming it's céu as in the Portuguese word for sky, it's pronounced as /sɛw/ (in Brazilian Portuguese, at least). It sounds similar to "sell", only ending in /w/ rather than /l/.
어 (transliterated as either "eo" or "uh") is a vowel that I would describe as like the "u" sound in the word "fun" but with the mouth open a bit wider.
It's nothing like any of the sounds an "e" can represent in English.
Europeans tend to pronounce it "See-OOL" which is just completely wrong.
I discovered this while struggling with C++ for an Arduino project. I'm really digging Ceu as an alternative that runs directly (and efficiently!) on the Arduino.
One of the neat features of Céu is that it has Simula-like objects with coroutines. Method calls are asynchronous, can be paused while they wait for events and many objects can be simulated run concurrently. One of the students here in the lab is experimenting with using Céu to code the logic for some simple 2D games and according to him the event system allows you to write code in a very "natural" way.
Another special feature of Céu is "strong abortion" with the par/or primitive. par/or lets you run two computations concurrently and if one of them completes the other one is aborted and all its resources are freed. Aborting asynchronous computations is not something that all asynchronous programming systems let you do very well.
(btw, if anyone is wondering, Céu means sky in Portuguese)
Discovered this right after handing in my master thesis where I wrote an (extremely) prototype compiler for my own language which has a similar approach.
Synchronous seems to be the way to go for multithreaded programs where optimal performance is not required.
[1]: https://en.wikipedia.org/wiki/Esterel