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).
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