Live data from Hacker News

Show HN: Céu, Structured Synchronous Reactive Programming

ceu-lang.org

21–30 of 48 posts

Re: Show HN: Céu, Structured Synchronous Reactive Programming

#21
post #19

Was there a particular problem you were trying to solve by creating Ceu? Or was it just to learn things about compilers? EDIT: found the answer in the paper: "Despite the continuous research in facilitating programming WSNs, most safety analysis and mitigation efforts in concurrency are still left to developers, who must manage synchronization and shared memory explicitly. In this paper, we present a system language…

Yes, the problem on how to handle events in soft real-time applications with concurrent activities that affect each other. We initially targeted constrained embedded systems and came with the following design decisions:

- Safe and seamless integration with C (everything in ES uses C). Approach: source-to-source compiler + finalization mechanisms.

- Allow shared memory concurrency (typical in ES with I/O ports and low-level manipulation). Approach: synchronous concurrency + full determinism.

- Small overhead (we target 8-bit micro-controllers). Approach: single-threaded implementation, lexical memory management (no GC).

After investigating the synchronous languages from the '80s (Esterel, Lustre, Signal), we came to the conclusion that we wanted something in the line of Esterel.

The thesis and papers [1] discuss the design decisions in extent.

[1]: http://www.ceu-lang.org/chico/#ceu

Re: Show HN: Céu, Structured Synchronous Reactive Programming

#22
post #20
post #19

Was there a particular problem you were trying to solve by creating Ceu? Or was it just to learn things about compilers? EDIT: found the answer in the paper: "Despite the continuous research in facilitating programming WSNs, most safety analysis and mitigation efforts in concurrency are still left to developers, who must manage synchronization and shared memory explicitly. In this paper, we present a system language…

I'm not the language's creator, but I assume that part of the goal was to bring synchronous programming to the mainstream. Synchronous programming languages are well known in the safety-critical hard realtime world. They're based on a mathematical theory that (as opposed to pure-functional programming) embraces interaction and concurrency, which makes them very suitable for interactive applications (whereas compilers…

Thanks for the explanation, this is pretty accurate.

Re: Show HN: Céu, Structured Synchronous Reactive Programming

#23
post #11
post #9

What are the advantages of Céu over other synchronous programming languages such as Esterel and Lustre?

Céu looks really similar to Esterel. The thesis ( http://www.ceu-lang.org/chico/ceu_phd.pdf ) has a section titled "III.7 Differences to Esterel". (edit: removed explanations, the other comment is more detailed) .

[deleted]

Re: Show HN: Céu, Structured Synchronous Reactive Programming

#24
post #20
post #19

Was there a particular problem you were trying to solve by creating Ceu? Or was it just to learn things about compilers? EDIT: found the answer in the paper: "Despite the continuous research in facilitating programming WSNs, most safety analysis and mitigation efforts in concurrency are still left to developers, who must manage synchronization and shared memory explicitly. In this paper, we present a system language…

I'm not the language's creator, but I assume that part of the goal was to bring synchronous programming to the mainstream. Synchronous programming languages are well known in the safety-critical hard realtime world. They're based on a mathematical theory that (as opposed to pure-functional programming) embraces interaction and concurrency, which makes them very suitable for interactive applications (whereas compilers…

> "part of the goal was to bring synchronous programming to the mainstream"

This was not the original academic goal, but it is now.

We want to offer an imperative alternative to program reactive systems.

Re: Show HN: Céu, Structured Synchronous Reactive Programming

#25
post #20

Earlier quoted context omitted.

I'm not the language's creator, but I assume that part of the goal was to bring synchronous programming to the mainstream. Synchronous programming languages are well known in the safety-critical hard realtime world. They're based on a mathematical theory that (as opposed to pure-functional programming) embraces interaction and concurrency, which makes them very suitable for interactive applications (whereas compilers…

> "part of the goal was to bring synchronous programming to the mainstream" This was not the original academic goal, but it is now. We want to offer an imperative alternative to program reactive systems.

Any plans on offering formal methods for Céu?

Re: Show HN: Céu, Structured Synchronous Reactive Programming

#26
post #25

Earlier quoted context omitted.

> "part of the goal was to bring synchronous programming to the mainstream" This was not the original academic goal, but it is now. We want to offer an imperative alternative to program reactive systems.

Any plans on offering formal methods for Céu?

Some colleagues are working on an operational semantics of the language (based on the one in the thesis). This will allow us to prove some claims (e.g., reaction termination, bounded memory). Then, we may think about something else. Anything more specific in mind?

Re: Show HN: Céu, Structured Synchronous Reactive Programming

#27
post #25

Earlier quoted context omitted.

Any plans on offering formal methods for Céu?

Some colleagues are working on an operational semantics of the language (based on the one in the thesis). This will allow us to prove some claims (e.g., reaction termination, bounded memory). Then, we may think about something else. Anything more specific in mind?

Temporal logic verification (via model checking, static analysis, test generation, runtime checks etc.)?

Re: Show HN: Céu, Structured Synchronous Reactive Programming

#28
post #27

Earlier quoted context omitted.

Some colleagues are working on an operational semantics of the language (based on the one in the thesis). This will allow us to prove some claims (e.g., reaction termination, bounded memory). Then, we may think about something else. Anything more specific in mind?

Temporal logic verification (via model checking, static analysis, test generation, runtime checks etc.)?

That would be interesting.

It seems to be feasible given the language semantics.

We'll definitely investigate it.

Re: Show HN: Céu, Structured Synchronous Reactive Programming

#29
I've been trying to learn more about synchronous programming languages for a while now. Will definitely look into this.

Does anyone know how I could get my hands on Lustre or Esterel? They are not freely available, or are they? Also any good books or resources are very much appreciated.

Re: Show HN: Céu, Structured Synchronous Reactive Programming

#30

I've been trying to learn more about synchronous programming languages for a while now. Will definitely look into this. Does anyone know how I could get my hands on Lustre or Esterel? They are not freely available, or are they? Also any good books or resources are very much appreciated.

You can download Esterel freely:

http://www-sop.inria.fr/esterel-org/files/Html/Downloads/Dow...

(AFAIK, it is not open source though.)

[EDIT] For documentation, see "The Esterel Language Primer":

http://www.rw.cdl.uni-saarland.de/~kaestner/es0203/esterel_p...

Don't know about Lustre.

Post reply on HN