<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Here is a small one as pitches go, but I think it embraces the spirit of the Groff (<a href="http://bit.ly/1pn47Yr" class="">http://bit.ly/1pn47Yr</a>).<div class=""><br class=""></div><div class="">Of all the possible expansions brought up in the <a href="https://github.com/apple/swift-evolution/blob/master/proposals/0028-modernizing-debug-identifiers.md" class="">SE-0028</a> discussion on modernizing </div><div class="">debug identifiers, I would get a lot of use out of `#fileName` for my debug logging.<div class=""><div class="">A simple <a href="https://www.google.com/?gws_rd=ssl#q=__FILE__+lastPathComponent" class="">websearch</a> for `__FILE__ lastPathComponent` yields page after page of results</div></div><div class="">across both Swift and Objective-C.</div><div class=""><br class=""></div><div class="">My idea is that a `#fileName` debug identifier would return the file name and not the entire </div><div class="">path for logging. Instead of </div><div class=""><div class=""><br class=""></div><div class=""><font face="Menlo" class="">`CoreError(reason: "Reason", context: "/Users/ericasadun/Desktop/SviftTestbed/SviftTestbed/main.swift:29") // #file, #line`</font></div><div class=""><br class=""></div><div class="">you'd be able to grab</div><div class=""><br class=""></div><div class=""><font face="Menlo" class="">`CoreError(reason: "Reason", context: "main.swift:29") // #fileName, #line`</font></div></div><div class=""><font face="Menlo" class=""><br class=""></font></div><div class="">all in native Swift without having to bridge to `NSString` or call `lastPathComponent`.</div><div class=""><br class=""></div><div class="">A bit of water has gone under the #identifier bridge since SE-0028, specifically a general embrace of</div><div class="">lowerCamelCase identifiers and unambiguous names. I think `#fileName` conforms to that</div><div class="">philosophy. </div><div class=""><br class=""></div><div class="">(One might want to rename `#line` to `#lineNumber`, `#file` to `#filePath`, and `#column`</div><div class="">to `#fileColumn` but those lie outside the scope of this pitch.)</div><div class=""><br class=""></div><div class="">groffishly I hope,</div><div class=""><br class=""></div><div class=""><div class="">-- E</div></div></div></body></html>