icerpc/slicec

Rename `RelativelyScopedIdentifier` and `GloballyScopedIdentifier`

Closed this issue · 8 comments

See: icerpc/icerpc-docs#173 (comment)

I agree with @bernardnormier that Absolute is a better term than Global nowadays.

But I'm not sure if removing the -ly prefix is beneficial or not.
Removing it makes the names 2 characters shorter, but keeping them makes the names grammatically correct.

Are you proposing AbsolutelyScopedIdentifier as the new name?

Yes, that would be my preference:
AbsolutelyScopedIdentifier and RelativelyScopedIdentifier

But I think it's worth discussing these two too:
AbsoluteScopedIdentifier and RelativeScopedIdentifier

Removing it makes the names 2 characters shorter, but keeping them makes the names grammatically correct.

Can you expand on this point? Absolute is an adjective. Absolutely is an adverb.

How is AbsolutelyScopedIdentifier more correct than AbsoluteScopedIdentifier?

It's pretty common to use adjectives in composed words, e.g. the AbsolutePath field.

Sure, the difference is precisely because of adjectives vs adverbs.

AbsoluteScopedIdentifier is like Absolute(ScopedIdentifier). Both "absolute" and "scoped" are adjectives and so both are applied to "identifier". So an AbsoluteScopedIdentifier is an identifier that is absolute (and also scoped). But what is an "absolute" identifier?

Whereas AbsolutelyScopedIdentifier is like (AbsolutelyScoped)Identifier. "absolutely" is an adverb, so it applies to the adjective (scoped), not the noun (identifier). So an AbsolutelyScopedIdentifier is an identifier with an absolute scope.
And an "absolute scope" is indeed a thing.


Like a "dangerously parked car" communicates that the "parking of a car" is what's dangerous.
Eg. A normal car parked in the middle of a street.

But a "dangerous parked car" is a car that is itself dangerous (and also parked).
Eg. A car that is on fire, but parked normally.


It is the scoping of the identifier that is absolute.
It's not the identifier that is absolute.

What about IdentifierWithAbsoluteScope and IdentifierWithRelativeScope?

What about IdentifierWithAbsoluteScope and IdentifierWithRelativeScope?

Sure, I'd be fine with those.
But I've got to ask; what makes these preferable to the adverb versions?

Maybe we should just keep it simple and call them: GlobalIdentifier and RelativeIdentifier.
Instead of either of RelativelyScopedIdentifier or IdentifierWithRelativeScope.

This was implemented in:
slicec: 26964c4
icerpc-docs: icerpc/icerpc-docs@e93ef02