Comments (3)
At the moment it's mostly indecisiveness on how to integrate it with class
- I'm not sure if something should be exposed per-class for allowing reflection on types. Reflection in general is something I'm not super hot on but in the absence of proper types in lua it's more or less what we're "stuck with".
I don't mind the idea of class:type()
just returning class.__type
.
I'm not sure how standard it is or what the rules are around __ prefix table members. Likely doesn't matter though as we're more or less "stuck with" luajit in love land.
On the performance front, having it as a method basically involves an extra function call over just a property access, which isn't great but ultimately unlikely to matter as you're rarely doing this in an ultra-performance-sensitive environment, and having the __type
member would allow an escape hatch.
The tradeoff is more complicated in a JIT context too, haha - if the method was inlined it could end up faster than a property access in some situations.
I'll think about it. I can see merit to keeping familiarity with love users, but I think probably something needs to be added to class
to facilitate it being standard.
from batteries.
Okay I understand.
It was just a hardship earlier tracking why calling pos.type()
errors haha.
from batteries.
fixed in the recent class overhaul; :type()
works for all class
es (same syntax as love userdata so you don't need to typecheck even more ahead of time)
from batteries.
Related Issues (20)
- `functional.reduce` has an annoying signature HOT 1
- Bug in state machine ctor HOT 1
- `state_machine` variable name refactoring HOT 1
- [Feature Request] tablex.print_r HOT 4
- Use LuaJIT's `table.clear` when possible. HOT 1
- colour.lua: hex_to_rgb HOT 1
- [Feature Request] path module HOT 5
- [Future Request] :camelCase() should make the first letter of a class uppercase HOT 1
- functional.generate_2d returns no result HOT 1
- Return index with functional's "find" functions HOT 1
- Explain dependency on "bit" library, colour.lua fails to load on native lua 5.1 HOT 1
- Docs improvement re package.path HOT 3
- mathx.random_lerp should call mathx.lerp
- rgb_to_hsl h is unassigned HOT 2
- set referred to, but not required() HOT 1
- intersect.nearest_point_on_line math should be mathx HOT 1
- [Bug]: Subclass Not Updating Parent Variables HOT 4
- Testing Discussion HOT 4
- table.rotate should use the triple reverse method. HOT 1
- attempt to index a nil value (global 'love') HOT 3
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 batteries.