Comments (7)
Main things to consider:
- Modern compilers make std::function work as fast as older inheritance solutions.
- Library code simplicity is important.
- sol2 sucks: no modularity.
from luabridge3.
Which kind of migration are you referring to ?
The backwards incompatible changes you refer to are needed for additional security and speed (or when you can't use exceptions), so nothing to avoid here.
Not sure exactly what you had in mind, would you mind elaborate a bit more ?
from luabridge3.
My plans moving ahead (if they might be of interest to anyone):
- secure c++ api usage free from lua panic calls (when not reentrant from lua)
- improve error handling even more, allow more detailed contextual error descriptions
- allow interacting with c++ references which are not registered luabridge classes (already started some investigations there). Now we always assume a reference is a userdata class
- improved facilities to work with coroutines and sandboxed environments (now we always register in
_G
even tho i allow to register on any table in v3). Better and simpler api - improved overload resolution using type information for every argument (not only the arity) and faster lookup of matching overloads done in c++
- allow the library to work with c++20 and make it interoperable with 20 features (ranges, span, ...)
- more to come
from luabridge3.
What about if we create a luabridge organization and move there ? @dmitry-t
from luabridge3.
This is why LuaBridge3 was born, the original LuaBridge is stagnating, too slow to move even the smallest steps, and i couldn't wait weeks before getting approvals or discussions to move forward.
from luabridge3.
@dmitry-t ping
from luabridge3.
I would love to see a LuaBridge organization! I am the developer of the Finale plugin RGP Lua, and while some of the code is proprietary, I have loaded as much of it as I am I legally allowed to into the Finale Lua organization, which also includes a large script repository. We created the organization to try to avoid what happened with the original Lua on Finale plugin, where the developer went offline and it froze.
All by way of saying, that with a LuaBridge org, there would be less ambiguity about which LuaBridge I should be using. I have been using v2, but I am very attracted to some of the features of v3 and will probably migrate in the near future.
from luabridge3.
Related Issues (20)
- .addConstructor ([] (void* ptr, lua_State* L) in Lua coroutine HOT 14
- Support for Lua 4 _close variables HOT 14
- Handling of LUA_TNIL and LUA_TNONE with boolean parameters HOT 18
- Lua randomly gcs my variable in LB3 but not in LB2 HOT 1
- Serious bug: char*-valued functions that return nullptr make system go BOOM HOT 2
- BadExpectedAccess is not a LuaException HOT 1
- Codesmell: luabridge::enableExceptions uses static global boolean HOT 4
- LuaRef and lua threads (coroutines) HOT 12
- Question about `luabridge::setHideMetatables` HOT 9
- Extend bound classes with custom methods in Lua HOT 66
- Bug report: simple system destroyer HOT 1
- Report file and line number info when property assignment causes runtime error HOT 4
- Create custom luabridge exceptions HOT 2
- Question: supplying C++ user data HOT 7
- Multiple inheritance HOT 5
- addConstructorFrom with callable args missing HOT 3
- error converting void func( const char **xs ); HOT 11
- Migrating project from LuaBridge2 HOT 12
- Weird issue with inheritance tree (LB3 only) HOT 6
- Invalid noexcept operator HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from luabridge3.