On Thu, Jun 23, 2016 at 4:34 AM, Dmitri Gribenko <[email protected]> wrote:
> On Thu, Jun 23, 2016 at 2:00 AM, Xiaodi Wu <[email protected]> wrote: > > On Thu, Jun 23, 2016 at 1:26 AM, David Sweeris via swift-evolution > > <[email protected]> wrote: > >> > >> > >> > On Jun 22, 2016, at 19:35, Dmitri Gribenko <[email protected]> > wrote: > >> > > >> >> On Wed, Jun 22, 2016 at 5:15 PM, David Sweeris <[email protected]> > >> >> wrote: > >> >> That's a really interesting idea. Is "Syntax" a placeholder, or is > that > >> >> the intended name? > >> > > >> > It is the best name we could come up with, we are open to better > >> > suggestions. > >> > >> I guess it depends on the intended semantics of the "namespace". If the > >> purpose is to be a container for the various LiteralConvertible > protocols, > >> then maybe something like `AcceptsLiteralType.Integer` might be better? > It's > >> a bit wordy, though. > > > > > > I get what's being aimed at here, but I think the meaning of `Syntax` in > > this context is indecipherable. IIUC, the point to be conveyed by the > term > > is that a literal has no type until it is supplied as an argument to the > > initializer and becomes typed. > > The point of using "Syntax" is to emphasize that this protocol is for > integration with the language syntax. The "Syntax" pseudo-namespace > groups protocols that provide a special kind of a capability -- > changing the meaning of builtin language syntax. This protocol is not > meant to be coded against, used in other APIs or handled by the code > in any other way except by being adopted (except maybe in the standard > library code itself). > This makes a lot of sense now after your expanded explanation. I still think, though, that the name reads rather absurdly. Most charitably, your types would conform to "integer literal syntax," whatever that means. Visually, it looks like your types "conform to Syntax." Could I suggest maybe `SyntacticIntegration` or `SyntaxIntegrating`? Something along those lines. Should we add any other compiler interfaces that affect how builtin > syntax works, they would also go into the "Syntax" namespace. > > Dmitri > > -- > main(i,j){for(i=2;;i++){for(j=2;j<i;j++){if(!(i%j)){j=0;break;}}if > (j){printf("%d\n",i);}}} /*Dmitri Gribenko <[email protected]>*/ >
_______________________________________________ swift-evolution mailing list [email protected] https://lists.swift.org/mailman/listinfo/swift-evolution
