![]() |
Videos for the reactive programming language "Céu" | ![]() |
Francisco Sant'anna
Guest
![]() |
![]() |
Hello,
I created some videos to illustrate the programming style of the programming language Céu: http://www.ceu-lang.org/wiki/index.php?title=Videos Céu is a reactive programming language designed to implement control patterns in a safe and high-level style. Games and GUIs are examples of reactive applications with plenty of control patterns (e.g. animations), which could take advantage of Céu. The videos use SDL as the underlying platform and explore the following peculiarities of the language:
Although Céu was originally designed for constrained embedded systems (e.g. Arduino), I believe it can also be applied to larger systems. Hence, this is my first attempt with SDL-2 (many thanks for this library!). Please, I'll be happy with feedback regarding the videos and, of course, the language Céu itself. (I'm a subscriber of this list.) Best regards, -- Francisco |
||||||||||
|
![]() |
![]() |
![]() |
![]() |
Nathaniel J Fries
![]() |
![]() |
nvm: no watching a later video. Basically Concurrent-C with a different syntax.
|
||||||||||
|
![]() |
Videos for the reactive programming language "Céu" | ![]() |
Francisco Sant'anna
Guest
![]() |
![]() |
Hello Nathaniel,
- You can wait on multiple events with a "par/or": par/or do await A; with await B; end or use the sugar: await A or B; Lines of execution are very cheap in Céu. We have applications with tens of them that use around 1K of RAM and 10K of ROM (on a 16-bit platform). - The 3rd and 4th videos show how data can be associated with a task (sorry, the videos are a bit long). - About Concurrent-C, AFAIR, it follows a rendez-vouz asynchronous style (non-deterministic w/ a very different semantics). Céu is actually based on Esterel (a language from the 80'), with many differences enumerated in the previous e-mail. -- Francisco On Sun, May 12, 2013 at 5:18 PM, Nathaniel J Fries wrote:
|
||||||||||||
|
![]() |
![]() |
Nathaniel J Fries
![]() |
![]() |
Yes, execution order was non-deterministic with Concurrent-C.
the await e1 or e2 syntax is very nice. |
||||||||||
|