Comments (4)
I guess this is a question of context-specific keywords which should be possible, and even useful, but not I'm sure what long-term consequences that's gonna have. (e.g. if we allow enum
as an identifier, i'll be harder to introduce local enum type declaration if we'll ever want it).
from haxe-evolution.
In that case, what if we only allow field access, so leaving import *
and var
as-is? In other words, MyClass.default(...)
would work, while import MyClass.*
+ default(...)
would result in the usual parse error.
Btw, i want to mention that among all keywords, I think the most "wanted" one would be default
and in
, which I encounter most in extern APIs and external data (e.g. json)
from haxe-evolution.
This is not worth it. It would complicate the parser for no real benefit other than a mildly nicer to read field access in some rare cases. There's already some inconsistency with the macro
and extern
keywords being allowed in package names, but that doesn't mean that we have to make it worse.
I'm pretty sure this would also annoy many IDEs.
from haxe-evolution.
My concrete proposal summary:
Location | Keywords allowed? | Remarks |
---|---|---|
Member function/var | Yes | Must be accessed through this.keyword , inst.keyword or MyClass.keyword . import MyClass.* will not expose the function/var` |
Local function/var | No | |
Package name | Yes | Except that keywords cannot serve as root package, i.e. package haxe.macro is allowed, while package macro.whatever is not. |
from haxe-evolution.
Related Issues (20)
- [PROPOSAL] Optional chaining operator HOT 2
- [PROPOSAL] Operator overload for function calls HOT 3
- [PROPOSAL] Iterator Improvements (Step, Reverse, Float) HOT 5
- EcmaScript 4 syntax HOT 1
- [PROPOSAL] Making package statement optional HOT 1
- Additional possibilities! HOT 2
- Additional syntax for safe navigation HOT 8
- Support default arguments for enum constructors. HOT 1
- [Open Discussion] Cast Specification HOT 9
- License for RFCs
- implements for abstracts? Why not? HOT 3
- [stage2] Haxelib replacement HOT 20
- Global using at declaration site. HOT 12
- @:optional replacement and initStruct problem? HOT 1
- platform '--switch' within hxml, labeled '--next' passed with hxml call. HOT 5
- Standardized build config HOT 9
- constrained properties can be typed if you cheat. HOT 6
- [RFC] Block strings HOT 45
- [RFC] XML DSLs HOT 28
- Meeting 2021-11 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 haxe-evolution.