FAQ

What is Céu?
Céu is a concurrent and reactive programming language that offers a safer and higher-level alternative to C.

What is Céu based on?
Céu is based on Esterel.

What is Céu used for?
To design any kind of reactive application, i.e., applications that interact continuously with the environment. The environment is an external actor that provides input to the application and expects output from it.

Examples: GUIs, games, network protocols.

Is Céu yet another Functional Reactive Programming (FRP) variant?
No. Céu is quite imperative, actually.

It would be more accurate to call it a Imperative Reactive Programming (IRP) variant.

How is Céu (IRP) different from FRP?
FRP is good to specify declarative/data dependency.

Céu is good to specify imperative/control dependency.

(TODO: show data-intensive and control-intensive examples.)

Is Céu (IRP) equivalent to FRP?
Probably. They both rely on the synchronous concurrency model.

That being said, the programming styles they offer are quite different. It is like comparing standard (non-reactive) imperative vs functional programming.