berry
Pluto
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.
berry
-
Pluto, a Modern Lua Dialect
This is interesting, but lua needs a refresh.
I think berrylang shows a lot of promise now https://berry-lang.github.io/. The documentation has improved a lot and while it doesn't have a 'luajit' yet it has a lot of really interesting optimisation/reduction techniques.
-
Berry is a ultra-lightweight dynamically typed embedded scripting language
If like me you like to look at examples of code to get a feel for the language, take a look at https://github.com/berry-lang/berry/tree/master/examples
-
ESP32 Buyer’s Guide: Different Chips, Firmware, Sensors
There'salso tge Berry language tha's built into tasmota32.
https://github.com/berry-lang/berry
Pluto
-
Pluto, a Modern Lua Dialect
I looked into the jump table optimization. The normal Lua version is here[1] and it uses the opcode as a index into a static array to jump to the label. The “faster” Pluto version is here[2] and it just uses a switch statement on the labels. I would naively assume that these would compile to the same code because the lua version is just manually creating the jump table and the pluto version is leaving it to the compiler. How could the compiler optimize the switch so that would outperform the manual jump table (by a decent margin)?
[1] https://github.com/PlutoLang/Pluto/blob/main/src/ljumptabgcc...
[2] https://github.com/PlutoLang/Pluto/blob/main/src/ljumptab.h
-
@Stand Devs
You can just compile the script through plutoc to see if there are any errors, or use Pluto Language Server to have errors show up in your IDE.
-
Utopia Mod Menu
Pluto :troll240p:
What are some alternatives?
Lua - Lua is a powerful, efficient, lightweight, embeddable scripting language. It supports procedural programming, object-oriented programming, functional programming, data-driven programming, and data description.
luau - A fast, small, safe, gradually typed embeddable scripting language derived from Lua
esp32-camera
civlua - self contained software to build a minimalist dev environment.
Peregrine - A blazing fast language for the blazing fast world(WIP)
hylo - The Hylo programming language
solidity - Solidity, the Smart Contract Programming Language
ucode - JavaScript-like language with optional templating
jakt - The Jakt Programming Language
bluetooth-proxies - This repo hosts known, tested devices that can serve as Bluetooth proxies for Home Assistant.
carbon-lang - Carbon Language's main repository: documents, design, implementation, and related tools. (NOTE: Carbon Language is experimental; see README)