2023RobotCode
dceu
2023RobotCode | dceu | |
---|---|---|
1 | 3 | |
0 | 23 | |
- | - | |
6.3 | 9.9 | |
6 months ago | 1 day ago | |
C | Kotlin | |
GNU General Public License v3.0 or later | - |
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.
2023RobotCode
-
Coroutines make robot code easy for high schoolers
In practice we actually do; I had to simplify for the article. We have a few utilities like a `runUntilDone` that make simple sequences easier to write. Example: https://github.com/frc-2175/2023RobotCode/blob/main/src/lua/...
I suppose we could make more utilities for running coroutines "in parallel", but I haven't really felt the need. At that point we usually have to worry about exit conditions and it feels natural to just write a loop.
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
What are some alternatives?
blech - Blech is a language for developing reactive, real-time critical embedded software.
ceu-arduino - Arduino binding for Céu
quaint-lang - An experimental statically typed procedural language with first-class resumable functions.
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.
preemptible-thread - How to preempt threads in user space