dceu
quaint-lang
dceu | quaint-lang | |
---|---|---|
3 | 1 | |
23 | 58 | |
- | - | |
9.9 | 10.0 | |
1 day ago | over 7 years ago | |
Kotlin | C | |
- | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
dceu
-
Coroutines make robot code easy for high schoolers
The reactivity and intuitive single-threaded concurrency makes it a really nice language for low-powered devices. Or robotics, which is a lot about reacting to sensor input.
It has a dedicated Arduino repo too[1].
In practice it's more of a research language by Francisco Sant’Anna, a professor at UERJ, Brazil, than a language with a big community around it. He's currently working on a new version caleld Dynamic Ceu, or dceu[2]
In the same paradigm there is the Blech[3] language, I believe originating from Bosch. Sadly, that project also has lost some steam.
[0] https://github.com/ceu-lang/ceu-arduino
[1] http://ceu-lang.org/
[2] https://github.com/fsantanna/dceu
[3] https://github.com/blech-lang/blech
- Ceu = Structured Concurrency + Event-Driven Programming
- Show HN: Ceu = Structured Concurrency and Event-Driven Programming
quaint-lang
-
Coroutines make robot code easy for high schoolers
> I would like to build a rich "process api" that can fork, merge, pause, yield, yield until, drop while, synchronize, wait (latch), react according to events. I feel every distributed systems builds this again and again.
Years ago I attempted to build an experimental language with first-class resumable functions. Every function can be invoked by the caller through a special reference type called "quaint". The caller can resume or stop the execution of the function either after reaching a timeout, or after passing a "wait label":
https://github.com/bbu/quaint-lang
What are some alternatives?
blech - Blech is a language for developing reactive, real-time critical embedded software.
preemptible-thread - How to preempt threads in user space
2023RobotCode
pros - Source code for PROS kernel: open source C/C++ development for the VEX V5 microcontroller
BehaviorTree.CPP - Behavior Trees Library in C++. Batteries included.
ceu-arduino - Arduino binding for Céu