-
Notifications
You must be signed in to change notification settings - Fork 10
Rename: NullEle -> Placeholder Element
#101
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
I think |
|
When it comes to including |
|
I think the sporadically used Element kinds do not float as individual words around in PALS, they are only defined in a context. PALS Files that Users Exchange (YAML/JSON/etc.)In PALS files the elements will always appear after an element kind, unmistakenly clear. my_drift:
kind: Drift
do_nothing_element:
kind: Empty
my_quad:
kind: QuadrupoleAPIsIn language implementations, people will create name spaces like pals.kinds.Drift(...)
pals.kinds.Empty(...)
pals.kinds.Quadrupole(...)or C++: pals::kinds::Drift(...);
pals::kinds::Empty(...);
pals::kinds::Quadrupole(...);It is really not a problem once you look at in which context this will be used in practice. |
|
I agree with Axel. Maybe another option would be to use "Dummy" instead of "Empty"? |
|
Thanks, @DanielWinklehner! The challenge with |
|
Another option could also be to call this element kind |
|
To my mind |
|
I made a PR #104 to explain that |
|
Yea, I was actually worried about the linguistic implications of Dummy right after writing the comment. "Proto," "Mock," or "Stub" are AI suggestions. |
|
I like "null" over "empty" since "null" emphasizes that this element, in one sense, does not exist and is only being used as a placeholder. |
|
Yep, I generally like "null" (and "none") too, but it will collide with keywords reserved in |
|
|
|
Yes, but a We can simply collect the rationale and our best ideas and vote on the best name. |
|
It is not spurious nor unclear (it is much clearer than using |
|
I personally like "Stub" But... |
The empty element, contrary to the `Marker`, is a truly empty, thin element that does nothing. It can be used for bookkeeping, e.g., as the empty result of a search or as an indicator for an invalid element. For all other purposes, use `Marker`. Renamed from `Null` because `Null`/`null`/`None`/`none` are reserved keywords in the file formats and programming languages we support in PALS.
|
Yes, I think we need an element like this, this PR is just about the naming scheme we want to apply to elements that are in the "book-keeping" category. |
|
We need to take a poll on this. And the wording should reflect all sides. |
|
The definition of "spurious" is "not being what it purports to be; false or fake." Not using the suffix elsewhere does not make it spurious. |
|
Ah, the word I was looking for is sporadic, as in inconsistent. Sorry for the translation error from German. |
|
If it is always in the context Axel describes in #101 (comment), where it is never unclear that |
|
Voted on PALS meeting of November 5th (16 participants): Poll options:
|
|
Focusing on descriptive names, what do people feel is a good new name for Please "react" to this post (use button below this text):
Multiple reactions are ok. Please ignore the emotion behind the emoji, just using them as a quick polling vehicle. |
|
Any final objections against merging this? |
|
@EZoni No. |
|
There's a tie between |
|
@pals-project/pals-technical-committee @pals-project/pals-contributors please feel free to vote here for the new name of the |
|
Currently |
NullEle -> Empty ElementNullEle -> Placeholder Element
|
It's a tie again - |
|
On Placeholder: an element of this name exists in MAD-X. I tend to use it as "this is a thing, it doesn't do anything at the moment, but will someday when I bother with the implementation." It could, for instance, represent a feedback kicker, the crab cavity space placeholder in the EIC since I don't know the actual cavity layout, etc. In Bmad I tend to use |
|
I'm a bit unclear on what we accomplish by having this element. It seems like you could reference some other object just as easily for superpositions. Creating an element that is for "internal structures" is mixing lattice definition with implementation, which I think we should avoid. |
|
The purpose of this element still isn't fully clear to me - it seems like this is just a "Marker" that gets removed during "expansion". If this functionality is really needed by a user , then why not just add a flag to a generic element to specify removal? That said, I don't understand why a user would want this, could you share a use case for that behavior? |
|
We discussed this quickly in the @pals-project/pals-technical-committee today and since this element is doing nothing, there is no big harm of leaving it in for now. It is a literal NO-op. We can revisit if really nobody uses it in the future and remove it if so. |
Removed
Elesuffix, as I think the sporadically usedElesuffix is repetitive, abbreviated/unclear, inconsistent, and simply not needed in practice..Renamed from
NullbecauseNull/null/None/noneare reserved keywords in the file formats and programming languages we support in PALS. Related to #86Votes