middleclass
piccolo
middleclass | piccolo | |
---|---|---|
9 | 6 | |
1,685 | 1,473 | |
- | 16.0% | |
0.0 | 9.0 | |
about 1 year ago | 8 days ago | |
Lua | Rust | |
MIT License | Creative Commons Zero v1.0 Universal |
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.
middleclass
-
Is there a way to create namespaces/hierarchy in the documentation with LDoc?
I am trying to document my code and I am using LDoc for that and for OOP I am using the library middleclass. All of my classes are in a main framework folder and inside that I have each namespace as a folder and then classes that are specific to that namespace in those folders.
-
Lua: The Little Language That Could
The ConTeXt typesetting system tightly integrates Lua. One aspect of Lua that I dislike is its inability to easily write OOP-ish code. What's impressive about the language is that it can be extended to do so in astonishingly little code:
* https://github.com/kikito/middleclass
With OOP in place, I was able to typeset a hexagonal grid and a symbolic representation of a neural network on top, using a more OOP-like approach. The classes are straightforward.
A vertex defines a point in 2D space:
* https://github.com/DaveJarvis/keenwrite-themes/blob/main/bos...
An edge connects two vertices:
* https://github.com/DaveJarvis/keenwrite-themes/blob/main/bos...
A graph connects edges:
* https://github.com/DaveJarvis/keenwrite-themes/blob/main/bos...
A priority queue serves for ordering graph edges by weight of adjoining vertices:
* https://github.com/DaveJarvis/keenwrite-themes/blob/main/bos...
With these concepts in hand, we can typeset a grid and a "neural network" on top:
* https://github.com/DaveJarvis/keenwrite-themes/blob/main/bos...
Here's an example of the output for chapter 1:
* https://i.ibb.co/19DCDZy/ch-1.png
And chapter 14, where the "network" has grown in complexity:
* https://i.ibb.co/ncf16vg/ch-2.png
This is for my near future hard sci-fi book on AGI. I'm looking for alpha readers to give me feedback. See profile for contact details.
- Doing what you love when the money won’t follow
-
To all plugin authors: standard class realization
To reduce the amount of boilerplate code, I created the fork of middleclass repo suitable for Neovim plugin managers: it just adds a symlink to middleclass.lua file in lua/ directory. middleclass is well known and tested, so I suggest using it as a standard class realization. I also open a pull request to merge it upstream.
-
Is doing OOP in lua considered bad practice?
Not exactly what op asked, but if you want classes in Lua definitely check out https://github.com/kikito/middleclass
- Alternative to Love2d
-
OOP in Love2d
Like /u/TheMightyHUG pointed out below, there are patterns you can use to do OOP without any extra help. In the past I have used some libraries to improve the ease of doing so, specifically middleclass: https://github.com/kikito/middleclass
-
A complete implementation of the Set data structure in Lua
Same, but when I do I like when authors include everything in one file so it's easy to manage. Here we have the library, some small 10 line file with helper functions that's required and we also need to remember about the licence. Take middleclass as an example, one file, license included, ready to plug and develop.
piccolo
- Piccolo – experimental Lua VM implemented in pure Rust
-
Lua: The Little Language That Could
There's Lua implementation [1] in pure Rust, by the way.
[1] https://github.com/triplehex/piccolo
-
Do Rust and Lua work well together?
The rust ecosystem is doubling down on wasm with little to no focus on lua (some would even prefer to build their own programming language) that doesn’t mean lua is pretty bad for the rust ecosystem it’s just that there’s no much focus as to compared to wasm Example I noticed is https://github.com/kyren/luster
- Writing a minimal Lua implementation with a virtual machine from scratch in Rust
- Lua: Good, Bad, and Ugly Parts
-
Scripting Languages of the Future
Tossing my hat in for Passerine [1]. Gorgeous ML inspired syntax. Built for scripting Rust applications.
Dreaming here: Lua is a fantastic scripting language, but the Rust FFI isn’t as ergonomic as it could be. Enter Luster [2], which is basically LuaJIT rewritten in Rust.
Embedding a scripting language in a Rust application gives you tons of power (e.g. scripting Rust structs from Lua [3]), and setting this up isn’t terribly difficult.
[1] https://github.com/vrtbl/passerine
[2]: https://github.com/kyren/luster
[3]: https://git.sr.ht/~ioiojo/kiwi
What are some alternatives?
awesome-lua - A curated list of quality Lua packages and resources.
lua-cmake - Embed lua with CMake
pyxel - A retro game engine for Python
passerine - A small extensible programming language designed for concise expression with little code.
classic - Tiny class module for Lua
lua-lockbox - A collection of cryptographic primitives written in pure Lua
TIC-80 - TIC-80 is a fantasy computer for making, playing and sharing tiny games.
moonsharp - An interpreter for the Lua language, written entirely in C# for the .NET, Mono, Xamarin and Unity3D platforms, including handy remote debugger facilities.
moonscript - :crescent_moon: A language that compiles to Lua
luau - A fast, small, safe, gradually typed embeddable scripting language derived from Lua
CC-Tweaked - Just another ComputerCraft fork
empirical-lang - A language for time-series analysis