Lua - Part 12

"MacLua5.3: Classic MacOS port of Lua 5.3 (github.com)"

https://news.ycombinator.com/item?id=18563906

https://github.com/SolraBizna/MacLua5.3


Little Languages (maxhallinan.com)
https://www.maxhallinan.com/posts/2018/12/07/little-languages/
https://news.ycombinator.com/item?id=18635078


Show HN: Lua/LuaJIT with C/C++/Java/JavaScript syntax (github.com)

https://github.com/mingodad/ljs

https://news.ycombinator.com/item?id=18790255


https://github.com/torch/qtlua

http://www.nongnu.org/libqtlua/

https://stackoverflow.com/questions/3227608/how-easy-is-lua-with-qt-compared-to-qtscript


Halo was written with a Lisp dialect called blamscript (2014) (opencarnage.net)

https://news.ycombinator.com/item?id=18900887

I cant help but think that a lualisp merge would be the ideal script addition for all most any engine.

reply:

Have you seen Fennel? https://fennel-lang.org

https://fennel-lang.org/

Fennel is a programming language that brings together the speed, simplicity, and reach of Lua with the flexibility of a lisp syntax and macro system.

Full Lua compatibilty: Easily call any Lua function or library from Fennel and vice-versa.
Zero overhead: Compiled code should be just as or more efficient than hand-written Lua.
Compile-time macros: Ship compiled code with no runtime dependency on Fennel.
Embeddable: Fennel is a one-file library as well as an executable. Embed it in other programs to support runtime extensibility and interactive development.

Anywhere you can run Lua code, you can run Fennel code.

video games
window managers
web servers
data bases
web
browsers
$4 microcontrollers


https://github.com/bakpakin/moonmint

A Web Framework for Lua

moonmint is an HTTP web framework for Lua. Use complex routing, static file serving, and templating with a minimal code base. Harness the power of libuv to perform asynchronous operations.


https://fengari.io/

Lua for the Browser

Fengari (Moon in greek) is the Lua VM written in JavaScript. It uses JavaScript's garbage collector so that interoperability with the DOM is non-leaky.

It comes with a simple module, that renders any interaction with JavaScript and the DOM transparent:

Lua in the browser means you can use coroutines to write beautiful asynchronous code:

https://github.com/fengari-lua/fengari-web


https://github.com/luakit/luakit

Fast, small, webkit based browser framework extensible by Lua. http://luakit.org/

https://luakit.github.io/


very interesting:

http://www.nodemcu.com/index_en.html

NodeMcu

Connect Things EASY

An open-source firmware and development kit that helps you to prototype your IOT product within a few Lua script lines

The Development Kit based on ESP8266, integates GPIO, PWM, IIC, 1-Wire and ADC all in one board. Power your developement in the fastest way combinating with NodeMcu Firmware!


Lapis – A web framework for Lua or Moonscript (leafo.net)

http://leafo.net/lapis/

https://news.ycombinator.com/item?id=19011356

HN comment:

Hey, I'm Leaf and I made lapis. Thanks for sharing this

Although a new version hasn't been deployed in a while it's still heavily used (and developed, but it's been mostly stable for me). My current main thing is https://itch.io, which is powered by lapis. I have a bunch of other sites running on it too: https://streak.club https://sightreading.training and I also made https://luarocks.org

itch.io is the largest thing I've ever started, it's currently about 220k lines of MoonScript code.

Feel free to ask any questions!

Another comment:

Marco from Kong here. At Kong[1] we use Lapis for our control plane API and it's been phenomenal so far. If you have a project in Lua and are considering a web framework, I would definitely recommend Lapis - it's mature enough and battle tested. Pro tip: run on top of LuaJIT[2] for extra performance.

[1] - https://konghq.com/

[2] - http://luajit.org/

http://leafo.net/posts/itchio-and-coroutines.html

Another HN comment:

Man, Moonscript looks amazing, reminiscent of pug/Jade.

Anyone experienced Moonscript? How is it, how is the ecosystem, is it fun?

Reply:

Ecosystem wise, it's the Lua ecosystem. Compatible, from both sides of the coin.

It's classes are fantastic when working with structures that lean that way, like in games. (I've used it a fair bit with Love2d.)

Comprehensions and stabby-procs are also something that are nice to have. Makes it easier in some cases. Just more consistent in others.

Comment:

I've used it a bit with love2d for game prototypes. I love it. It has my favorite syntax of probably any language. The community/ecosystem is certainly lacking but growing all the time.
It still needs a bit of work to simplify debugging with some kind of sourcemap functionality. And it is extremely fun, especially in combination with love2d.

Comment:

That is awesome. I used to write some moonscript for love2d too. Abandoned it for Godot but that really helped me get a better handle on game dev.

Comment:

CloudFlare uses OpenResty a lot (and is now its main sponsor).

Comment:

I'be built a DDOS protection reverse proxy using it a few years back. It's still in use and serves thousand of domains with quite a bit a traffic.

Comment:

The thing about OpenResty is that you can do most of it on your own without a framework at all. If you don't need all the (it's not really that much) stuff Lapis comes with, you could just require the modules you do need with Luarocks or OPM in a route and handle things that way. It's just Lua. If you don't want to use Lapis's ORM though, you could just not do it though. AND Lapis in vanilla Lua isn't especially OO, it looks a lot like Express/Sinatra.


Design of LuaJIT 2.0 (2009) (lua-users.org)

http://lua-users.org/lists/lua-l/2009-11/msg00089.html

https://news.ycombinator.com/item?id=19011998


Z.lua – A new cd command that navigates faster by learning your habits (github.com)
https://github.com/skywind3000/z.lua
https://news.ycombinator.com/item?id=19077891


Feb 13, 2019

"Goodbye, Lua (2016)"

https://realmensch.org/2016/05/28/goodbye-lua/

https://news.ycombinator.com/item?id=19130286

HN comment:

If the author thinks that LUA depend your hell is bad, just wait until he gets t JavaScript dependency hell. And where it is apparently normal for an “npm install” to bring in over 1000 dependencies, even for a nearly trivially small program.

HN comment:

Yeah, I tend to use Lua exactly for this reason: to escape the dependency hell of JS and Node and so on. Having fewer 3rd-party libraries to use in formulating an addiction to dependencies is often a positive thing.