gravity
Penlight
gravity | Penlight | |
---|---|---|
4 | 7 | |
4,268 | 1,828 | |
- | 1.1% | |
5.1 | 6.6 | |
9 months ago | 6 days ago | |
C | Lua | |
MIT License | 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.
gravity
-
Ask HN: Parrot language copycat my Gravity source code. What can I do?
I found out that the Parrot programming language (https://github.com/parrot-language/parrot) did copycat line by line my Gravity programming language (https://github.com/marcobambini/gravity).
I know that I used a very permissive license and that the project can be forked and modified by anyone but this is a theft more than a fork.
What can I do in this situation?
- When does garbage collector start in Gravity?
- Binding a Language to Gravity
-
Lua's Lack of “Batteries”
This is gonna be subjective, because it depends on what your priorities are.
The two alternatives at the top of my list are Gravity and Wren. They are both designed for the same general profile that Lua has—a scripting language, safe to use, embeddable, with a small VM (low code size).
- https://github.com/marcobambini/gravity
- https://wren.io/
The language design choices are nice and familiar to people who are used to other existing languages. Lua is a bit radical.
Two other options are AngelScript and Squirrel, which are both a bit older and more mature than Gravity and Wren. In my opinion they are
- http://www.angelcode.com/angelscript/
- http://squirrel-lang.org/
Finally, it’s much more feasible these days to embed something like Mono, and Guile has gotten a lot better.
Penlight
-
Pluto, a Modern Lua Dialect
To have enough batteries you kind of just need penlight[1] and maybe luastd. Of course there's posix, lfs, socket, luasec and you're semi set.
[1]: https://lunarmodules.github.io/Penlight/
-
I love that Lua can access file so simply using io.open, can Lua be used to delete, copy and paste folders?
https://github.com/lunarmodules/Penlight provides a bunch of functionality for stuff like that.
-
[discussion] Why don't more (any?) plugin authors use penlight?
However, there's already a widely known, well-tested library in the lua community called penlight that covers a lot of lua's "missing" functionality. It's got sane string manipulation, ergonomic tables, a basic class mechanism, functional programming, enums, exceptions, path manipulation, etc...
-
What would be the significant benefits if one would develop equivalent libraries that are available for Python for Lua/Nelua?
Lua is a small language and its "standard library" is very minimal. Lua's intended for embedding so usually the host program provides a broader standard library by exposing functions to lua. However, there are several standard library packages for lua: batteries and lume are focused on gamedev; Penlight aims at bringing the breadth of python's stdlib to lua; plenary.nvim for nvim plugins; and probably more for other domains. I'd definitely recommend checking these out to help get closer to functionality level of most other languages (I use both lume and batteries, but dropped penlight awhile back because I found some implementations confusing/overcomplicated/inconsistent).
-
Thoughts on LUA?
Lua is a small language and its "standard library" is very minimal. This was one of my initial roadblocks. Lua's intended for embedding so usually the host program provides a broader standard library by exposing functions to lua. However, there are several standard library packages for lua: batteries, Penlight, or the aforementioned lume. I'd definitely recommend checking these out to help get closer to functionality level of most other languages (I use both lume and batteries, but dropped penlight awhile back).
-
Trying Fennel for GTK apps and it's surprisingly good
As for batteries, there's things like penlight which comes with a huge set of pure Lua libraries inspired by Python. And, well, there's Fennel libraries with macros and more lispy style APIs.
-
Lua's Lack of “Batteries”
I'm very surprised there was no mention of Penlight in that article. Penlight, a supplemental standard library for Lua that is heavily inspired by Python's own standard library, has been around for years now:
https://github.com/lunarmodules/Penlight
What are some alternatives?
umka-lang - Umka: a statically typed embeddable scripting language
luafun - Lua Fun is a high-performance functional programming library for Lua designed with LuaJIT's trace compiler in mind.
blade - A modern general-purpose programming language focused on enterprise Web, IoT, and secure application development.
Vermintide-2-Source-Code - Decompiled scripts from Warhammer: Vermintide 2.
luaforwindows - Lua for Windows is a 'batteries included environment' for the Lua scripting language on Windows. NOTICE: Looking for maintainer.
tl - The compiler for Teal, a typed dialect of Lua
lua-vips - Lua binding for the libvips image processing library
inspect.lua - Human-readable representation of Lua tables
luakit - Fast, small, webkit based browser framework extensible by Lua.
zForth - zForth: tiny, embeddable, flexible, compact Forth scripting language for embedded systems
sqlite.lua - SQLite LuaJIT binding with a very simple api.