Closed kriskowal closed 7 months ago
these naming conventions (starting with kebab-case) make my spidey-sense tingle.
These names are supposed to be user-chosen, no? It feels very strange to not let the user choose whatever name they like.
Distinguishing system names by SHOUTING also seems fragile. something like $ystem
would appeal to me.
Are the tests of what kind of name a string is localized? that would help in case we change our minds.
these naming conventions (starting with kebab-case) make my spidey-sense tingle.
These names are supposed to be user-chosen, no? It feels very strange to not let the user choose whatever name they like.
Distinguishing system names by SHOUTING also seems fragile. something like
$ystem
would appeal to me.Are the tests of what kind of name a string is localized? that would help in case we change our minds.
This is a good time to consider alternative designs. The parameters of the design are like:
endo send friend 'Hello, please enjoy this @edge-name:pet-name.pet-name.pet-name.'
[{special: 'INFO'}, {name: 'counter'}, {special: 'WORKER'}]
or a string in a language for expressing pet name paths like INFO.counter.WORKER
$info
and that invites a conversation about Hilbert Hoteling / escaping the sigil.endo send
example, that invites a conversation about the grammar. Kebab-case could be special and braces could be used to envelope more expressive names, e.g., endo send CPA 'Please download your @{Tax Signature Pages.pdf}, sign, and return.'
That invites a conversation about escaping / Hilbert Hoteling.The current design is definitely optimized to minimize the scope of design conversations during this spike, but we’re definitely getting close to the end of the spike.
... Kebab-case could be special and braces could be used to envelope more expressive names, e.g.,
endo send CPA 'Please download your @{Tax Signature Pages.pdf}, sign, and return.'
That one appeals to me, but...
That invites a conversation about escaping / Hilbert Hoteling.
Yes. Lots to think about. Hm.
Superseded by #2068.
Hosts and guests have a pet store and also special names. The special names are distinguished by being in
ALL_CAPS
likeSELF
orHOST
so that they do not collide withkebab-case
pet names. The special names cannot be deleted or overwritten. Guests and hosts have different special names.This change makes the list of special names observable by adding
listSpecial()
andlistAll()
methods to the host and guest facets and revealing them in the CLI with--special
and--all
flags.This change also alters the
endo list
command to accept an optional dot-delimited pet name path to the store the user wishes to list. The object at the end of that dot delimited path must implementlist()
,listAll()
, orlistSpecial()
but can otherwise be an arbitrary object implementing this protocol. This completely subsumes the behavior of the--as
flag for this command, freeing-a
up for--all
.