Céu: Structured Synchronous Reactive Programming
ceu-lang.org
ceu-lang.org
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.
I think it is a take on Lua (the scripting language) which means moon.
The pronunciation is like 'Seoul' (South Korean Capital), with the 'e' pronuonced slightly more open as in egg.
I'm confused because Seoul doesn't have an 'e' sound in it at all, in Korean.
ps: forgot about https://translate.google.com/#en/ko/seoul, according to them it's not entirely silent.
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.
The vowel ʌ is described as "between pearl and pull, with spread lips"
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)
Synchronous seems to be the way to go for multithreaded programs where optimal performance is not required.