-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
Penlight
A set of pure Lua libraries focusing on input data handling (such as reading configuration files), functional programming (such as map, reduce, placeholder expressions,etc), and OS path management. Much of the functionality is inspired by the Python standard libraries.
Second, hot reload actually works and is usually instant. (lume has one you can adapt, I use gabe's class system and reload since it's already integrated). Since an instance of an object is a table, and functions on the object are elements in a table, you can swap out functions for their new values and keep your current state. By comparison, Unity's C# hot code reloading requires you to serialize your state because it needs to unload the AppDomain. It needs to rebuild the world with the new types. Most serialization occurs automatically, but often it doesn't and you need to add special callbacks to make it work. Regardless, for projects of any real size, it's slow. Not sure how Unreal's Live++ (Live Coding) works, but seems like you can't edit .h files.
Second, hot reload actually works and is usually instant. (lume has one you can adapt, I use gabe's class system and reload since it's already integrated). Since an instance of an object is a table, and functions on the object are elements in a table, you can swap out functions for their new values and keep your current state. By comparison, Unity's C# hot code reloading requires you to serialize your state because it needs to unload the AppDomain. It needs to rebuild the world with the new types. Most serialization occurs automatically, but often it doesn't and you need to add special callbacks to make it work. Regardless, for projects of any real size, it's slow. Not sure how Unreal's Live++ (Live Coding) works, but seems like you can't edit .h files.
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).
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).
Related posts
-
I love that Lua can access file so simply using io.open, can Lua be used to delete, copy and paste folders?
-
[discussion] Why don't more (any?) plugin authors use penlight?
-
What would be the significant benefits if one would develop equivalent libraries that are available for Python for Lua/Nelua?
-
what does the luarocks variable LUA_INCDIR get used for?
-
Luarocks doesn't work with LuaJIT