badger
toit-lsm303dlhc
badger | toit-lsm303dlhc | |
---|---|---|
4 | 1 | |
72 | 0 | |
- | - | |
0.0 | 0.0 | |
about 2 years ago | 6 months ago | |
Nim | ||
- | 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.
badger
- How to get clean simple C output?
-
The Toit language is now open source
Nothing about the entire ecosystem I was talking about. But my initial work on the keyboard firmware can be found here: https://github.com/PMunch/badger/tree/final. There are many different projects in Nim running on microcontrollers though, but not something on a common ecosystem.
HHL?
-
Nim Version 1.6 Released
Well no language is perfect, but Nim can be used in almost every domain because of it's compilation targets(C, C++, JS) and it's fast compile times(who needs interpretation when compile times are that fast!):
* Shell scripting, I still assume most people will just use Bash tho: https://github.com/Vindaar/shell
* Frontend: https://github.com/karaxnim/karax or you could bind to an existing JS library.
* Backend: For something Flask-like: https://github.com/dom96/jester or something with more defaults https://github.com/planety/prologue
* Scientific computing: the wonderful SciNim https://github.com/SciNim
* Blockchain: Status has some of the biggest Nim codebases currently in production https://github.com/status-im?q=&type=&language=nim&sort=
* Gamedev: Also used in production: https://github.com/pragmagic/godot-nim and due to easy C and C++ interop, you get access to a lot of gamedev libraries!
* Embedded: this is a domain I know very little about but for example https://github.com/elcritch/nesper or https://github.com/PMunch/badger for fun Nim+embedded stuff!
Most of the disadvantages come from tooling and lack of $$$ support.
-
Looking into Zig
I think the fact that Nim compiles to C is neat in that you can use it on any platform that has a C compiler.
Here is a recent project that uses nim for AVR platforms, for example: https://github.com/PMunch/badger
toit-lsm303dlhc
-
The Toit language is now open source
Toit is optionally typed, and supports type annotations.
Type annotations for locals, fields, and globals are written with a trailing `/Type`. Return types are written with `-> ReturnType`.
See https://github.com/toitware/toit-lsm303dlhc/blob/main/src/ac... for a file I recently edited.
When a type annotation is written, the compiler enforces it. It uses it for static optimizations, and dynamically checks that the type is correct.
When a type can be null, it has to be suffixed by `?`.
What are some alternatives?
jester - A sinatra-like web framework for Nim.
skybison - Instagram's experimental performance oriented greenfield implementation of Python.
toit-color-tft
ulisp - A version of the Lisp programming language for ATmega-based Arduino boards.
toit - Program your microcontrollers in a fast and robust high-level language.
zig-bootstrap - take off every zig
beartype - Unbearably fast near-real-time hybrid runtime-static type-checking in pure Python.
cps - Continuation-Passing Style for Nim 🔗
nimbus-eth2 - Nim implementation of the Ethereum Beacon Chain