awesome-lua
middleclass
awesome-lua | middleclass | |
---|---|---|
11 | 9 | |
3,757 | 1,685 | |
- | - | |
0.0 | 0.0 | |
26 days ago | about 1 year ago | |
Lua | ||
- | 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.
awesome-lua
-
Gearing up for Lua
If you're familiar with awesome-lists, you'll be happy to know that an awesome-lua repository does in fact exist. This list contains more interesting stuff about the language, along with going deeper into certain niches that I'm not even going to start to touch.
-
What's your opinion on Lua programming language?
Lua has a lot going for it. Its memory footprint is nicely small, its practical expressiveness is quite high (though not as high as Python's or Perl's), luajit's runtime performance is very good for such a highly-expressive language, and it has a great set of libraries integrating with a lot of commonly-used services.
-
Advice to Aimless, Excited Programmers (2010)
I believe there is a way to accomplish this without seeking input from people on Reddit or message boards for new domains to contribute to.
There are lists on Github that curate libraries native to a particular programming language. For example, there is a list for Lua (https://github.com/LewisJEllis/awesome-lua) and another for Python (https://github.com/vinta/awesome-python). Explore these lists to identify areas that may require assistance. Some of these lists have not been updated for years, so it is worthwhile to conduct additional research on the domain before undertaking a project.
I have personally completed a project using this approach, although I did have some background knowledge in that domain.
-
Where do I go after learning lua?
This was a list I got in my mind without googling... for more inspiration and see what others are doing take a look at awesome Lua: https://github.com/LewisJEllis/awesome-lua
- Library support situation?
-
there seems to be an alarmingly small amount of support for lua compared with other programming languages
Check out awesome-love2d on github, there's tons of libraries for all sorts of stuff including UI. Also check out awesome-lua.
-
Any good Lua Modules out there ?
So I’m 100% not the person to ask but usually the “awesome” lists on GitHub are a good place to start. Here is the awesome-lua repo for example.
-
Beginneer's guide to using Luarocks on neovim plugins
Disclaimer: i'm still new to this world as well, i went through this for making use of luacheck, a linter tool for Lua, but the possibilities are just endless, you can take a peek at some awesome-lua repo on GitHub to find out the amazing tools that you can implement to your projects
-
Lua Limitations
Look at all the awesome stuff you can do with Lua.
-
OOP in Love2d
https://github.com/LewisJEllis/awesome-lua#object-oriented-programming
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.
What are some alternatives?
luarocks - LuaRocks is the package manager for the Lua programming language.
pyxel - A retro game engine for Python
awesome-love2d - A curated list of amazingly awesome LÖVE libraries, resources and shiny things.
classic - Tiny class module for Lua
luv - Bare libuv bindings for lua
TIC-80 - TIC-80 is a fantasy computer for making, playing and sharing tiny games.
moonscript - :crescent_moon: A language that compiles to Lua
blog - gamedev blog
CC-Tweaked - Just another ComputerCraft fork
paq-nvim - 🌚 Neovim package manager
set-lua - `set-lua` is a complete implementation of the Set data structure in Lua