<div dir="ltr">This sounds great, I look forward to it. The way interfaces &amp; documentation are formatted tend to act as an informal &quot;style guide&quot;, so having them match will be nice.<div class="gmail_extra"><br clear="all"><div><div class="gmail_signature"><div dir="ltr"><div>Jacob<br></div></div></div></div>
<br><div class="gmail_quote">On Thu, Jan 14, 2016 at 12:13 PM, Jack Lawrence via swift-evolution <span dir="ltr">&lt;<a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Kevin,<br>
<br>
Thanks for bringing this to the list. I’m actually working on a slightly broader proposal to change the : style used by the decl printer to generally match more closely the style used in documentation, sample code, and the majority of the developer community. If you can hold off until tomorrow, I’ll send it out then.<br>
<br>
Xcode docsets and web docs use SourceKit to generate the declarations, so they would get automatically updated if we make these sort of changes to the compiler.<br>
<br>
Jack<br>
<div class="HOEnZb"><div class="h5">&gt; On Jan 14, 2016, at 11:35 AM, Kevin Ballard via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a>&gt; wrote:<br>
&gt;<br>
&gt; Whenever dictionaries are referenced using their shorthand syntax, they end up printed as `[Key : Value]`, with the space before the colon. This can be seen whenever the compiler emits the type of a dictionary (e.g. printing the imported interface of an obj-c header, printing the type of a result in the REPL, or printing the type of a declaration in LLDB with `type lookup`), as well as in the documentation.<br>
&gt;<br>
&gt; I think this looks weird. Dictionary type shorthand syntax is meant to look like a dictionary literal, and dictionary literals are almost universally written with no space before the colon. It makes sense to me for dictionary types to be written the same way, e.g. `[Key: Value]`. Not only does this look more like a dictionary literal, but I&#39;d argue it also reduces confusion. Every other case that I can think of where you find space-colon-space syntax used is when declaring the bounds of a generic type parameter, or declaring the superclass/protocols of a type declaration (which is pretty similar to declaring the bounds). But in the syntax `[Key : Value]`, Value is not a bound on Key.<br>
&gt;<br>
&gt; To that end, I&#39;d like to update the compiler to remove the space before the colon, and update any doc comments that reference dictionary shorthand syntax (though I&#39;m not sure if there actually are any). A radar would also have to be filed to cover checking to make sure the Xcode docsets are updated, though I&#39;m hoping the Xcode docsets use the compiler to generate the interface declarations already.<br>
&gt;<br>
&gt; Incidentally, it looks like the book already uses `[Key: Value]` syntax instead of `[Key : Value]` syntax. This means that whomever wrote the book believed `[Key: Value]` to be more sensible, and it also means that the first introduction most people have to Swift teaches them to use `[Key: Value]` instead of `[Key : Value]`.<br>
&gt;<br>
&gt; -Kevin Ballard<br>
&gt; _______________________________________________<br>
&gt; swift-evolution mailing list<br>
&gt; <a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a><br>
&gt; <a href="https://lists.swift.org/mailman/listinfo/swift-evolution" rel="noreferrer" target="_blank">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br>
<br>
_______________________________________________<br>
swift-evolution mailing list<br>
<a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a><br>
<a href="https://lists.swift.org/mailman/listinfo/swift-evolution" rel="noreferrer" target="_blank">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br>
</div></div></blockquote></div><br></div></div>