moddable
zero-functional
moddable | zero-functional | |
---|---|---|
12 | 3 | |
1,269 | 312 | |
0.9% | 0.0% | |
9.8 | 0.0 | |
6 days ago | over 1 year ago | |
C | 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.
moddable
-
Is there a safe and robust interpreter/scripting language? Or should I write it myself?
Your project might be a good candidate for the Moddable SDK: https://github.com/Moddable-OpenSource/moddable In particular the "mods" feature that allows sandboxed user scripts.
- Moddable Embedded JavaScript SDK 3.5.0
-
The Story of Mel, a Real Programmer
> meaning that to deploy those apps requires embedding an entire web browser into every app
It doesn't require it, that's just what they choose, and it has little to do with the language. (Besides, if you actually observe them—and ignore what they tell you about liking JS—then it's clear that most of them hate their preferred language.) Languages and the bindings that a particular runtime exposes are orthogonal. You can have GTK apps written in JS, for example, or you can write a program in JS that compiles into a binary that runs on a microcontroller[2].
This is much more of a problem with the culture of Electron and the adjacent NPM ecosystem than it is anything else. Conflating the source of these problems is a great way to tank any would-be activism meant to solve them.
1. <https://en.wikipedia.org/wiki/GNOME_Shell>
2. <https://github.com/Moddable-OpenSource/moddable/blob/public/...>
- Moddable SDK: Embedded ECMAscript engine supports RasPi, littlefs file system
-
Microvium Is Small
I experimented with Moddable some time ago and also contributed a module for Linux. It's written in C and I found the code quite readable, and the entire architecture good too. It's almost ES6 complete too.
https://github.com/Moddable-OpenSource/moddable
https://www.moddable.com/
-
Pikascript: An ultra-lightweight Python engine that can run in 4Kb of RAM
There's JavaScript/ECMAScript via Moddable's XS engine: https://github.com/Moddable-OpenSource/moddable
"A typical microcontroller used with the Moddable SDK has about 45 KB of free memory, 1 MB of Flash ROM, and runs at 80 MHz. The Moddable SDK uses many different techniques, both at build time and at run time, to work efficiently on these devices."
- Moddable JavaScript SDK for Raspberry Pi Pico
-
Why is MicroPython a thing
You think that’s bad. How about JavaScript for embedded https://github.com/Moddable-OpenSource/moddable
- Running TypeScript on ESP8266/ESP32 Devices
- Why doesn’t V8 fit on my microcontroller?
zero-functional
-
Nim v2.0 Released
Ones that have not been mentioned so far:
nlvm is an unofficial LLVM backend: https://github.com/arnetheduck/nlvm
npeg lets you write PEGs inline in almost normal PEG notation: https://github.com/zevv/npeg
futhark provides for much more automatic C interop: https://github.com/PMunch/futhark
nimpy allows calling Python code from Nim and vice versa: https://github.com/yglukhov/nimpy
questionable provides a lot of syntax sugar surrounding Option/Result types: https://github.com/codex-storage/questionable
ratel is a framework for embedded programming: https://github.com/PMunch/ratel
cps allows arbitrary procedure rewriting to continuation passing style: https://github.com/nim-works/cps
chronos is an alternative async/await backend: https://github.com/status-im/nim-chronos
zero-functional fixes some inefficiencies when chaining list operations: https://github.com/zero-functional/zero-functional
owlkettle is a declarative macro-oriented library for GTK: https://github.com/can-lehmann/owlkettle
A longer list can be found at https://github.com/ringabout/awesome-nim.
-
Why is MicroPython a thing
Nim's not perfect. Come on, ask me to explain the differences between the not one, not two, not three, not four, NOT FIVE, but seven (at time of writing) garbage collectors you can specify at compile time. Or how to cross-compile a static program using regexes; something I can do without thinking in Go and Rust, but here I have to think about "impureness". Or why you need a third party package for functional programming because the built-in one is inefficient. Spoiler: I can't.
-
How to enforce functional programming in nim?
Check this out: https://github.com/zero-functional/zero-functional
What are some alternatives?
quickjs-esp32 - QuickJS port for ESP32
FrameworkBenchmarks - Source for the TechEmpower Framework Benchmarks project
Espruino - The Espruino JavaScript interpreter - Official Repo
v - Write Nim only with 'v'
circuitpython - CircuitPython - a Python implementation for teaching coding with microcontrollers
PikaPython - An ultra-lightweight Python interpreter that runs with only 4KB of RAM, zero dependencies. It is ready to use out of the box without any configuration required and easy to extend with C. Similar project: MicroPython, JerryScript.
phpdesktop - Develop desktop GUI applications using PHP, HTML5, JavaScript and SQLite
microvium - A compact, embeddable scripting engine for applications and microcontrollers for executing programs written in a subset of the JavaScript language.
embedded-hal - A Hardware Abstraction Layer (HAL) for embedded systems
nesper - Program the ESP32 with Nim! Wrappers around ESP-IDF API's.
esp8266-quickjs - An attempt on getting QuickJS working on ESP8266 hardware
esp32quickjs - QuickJS JavaScript Engine for ESP32