<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: airspeedswift</title><link>https://news.ycombinator.com/user?id=airspeedswift</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sun, 21 Jun 2026 15:07:26 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=airspeedswift" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by airspeedswift in "Swift at Apple: Migrating the TrueType hinting interpreter"]]></title><description><![CDATA[
<p>You can choose to use either refcounting or unique ownership for your types. For most use cases, refcounted (+ copy-on-write) is the best choice and is the default, but the truetype interpreter made extensive use of non-refcounted types to achieve this performance.</p>
]]></description><pubDate>Fri, 12 Jun 2026 23:44:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=48510720</link><dc:creator>airspeedswift</dc:creator><comments>https://news.ycombinator.com/item?id=48510720</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48510720</guid></item><item><title><![CDATA[New comment by airspeedswift in "Swift at Apple: Migrating the TrueType hinting interpreter"]]></title><description><![CDATA[
<p>I assure you, every inch of the interpreter code has been stared at by humans, a lot. TBH even the assembly generated by it has.</p>
]]></description><pubDate>Fri, 12 Jun 2026 21:32:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=48509676</link><dc:creator>airspeedswift</dc:creator><comments>https://news.ycombinator.com/item?id=48509676</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48509676</guid></item><item><title><![CDATA[New comment by airspeedswift in "Swift on FreeBSD Preview"]]></title><description><![CDATA[
<p>Python and LIT  are used heavily to build and test the compiler, but that is only for building it, you do not need it to download and use the built toolchain. The python dependency is more about its use in LLDB.</p>
]]></description><pubDate>Thu, 06 Nov 2025 21:21:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=45840590</link><dc:creator>airspeedswift</dc:creator><comments>https://news.ycombinator.com/item?id=45840590</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45840590</guid></item><item><title><![CDATA[New comment by airspeedswift in "Swift on FreeBSD Preview"]]></title><description><![CDATA[
<p>The Swift toolchain includes LLDB, which relies on python for some debugging features. The compiler and runtime itself do not use python.</p>
]]></description><pubDate>Thu, 06 Nov 2025 21:15:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=45840523</link><dc:creator>airspeedswift</dc:creator><comments>https://news.ycombinator.com/item?id=45840523</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45840523</guid></item><item><title><![CDATA[New comment by airspeedswift in "The Swift SDK for Android"]]></title><description><![CDATA[
<p>> e.g kotlin exceptions cant be caught from swift<p>FWIW the approach that swift-java takes in managing interop with Java (and potentially Kotlin) function calls means it is perfectly possible to to catch exceptions thrown by the JVM using wrappers that catch and rethrow them as Swift errors. So there would be a distinction here with bringing Swift calling into JVM-based code running on Android.</p>
]]></description><pubDate>Sat, 25 Oct 2025 02:12:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=45700870</link><dc:creator>airspeedswift</dc:creator><comments>https://news.ycombinator.com/item?id=45700870</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45700870</guid></item><item><title><![CDATA[New comment by airspeedswift in "Swift at Apple: Migrating the Password Monitoring Service from Java"]]></title><description><![CDATA[
<p>>  The big performance hit in Swift would come in method dispatch where it’s following Objective C strategies which would result in indirect calls for object methods.<p>While Swift can use Objective-C's message sending to communicate with Objective-C libraries, that isn't its primary dispatch mechanism. In the case of the service described in the article, it isn't even available (since it runs on Linux, which does not have an Objective-C runtime implementation).<p>Instead, like Rust, Swift's primary dispatch is static by default (either directly on types, or via reified generics), with dynamic dispatch possible via any (which is similar to Rust's dyn). Swift also has vtable-based dispatch when using subclassing, but again this is opt-in like any/dyn is.</p>
]]></description><pubDate>Wed, 04 Jun 2025 02:05:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=44176588</link><dc:creator>airspeedswift</dc:creator><comments>https://news.ycombinator.com/item?id=44176588</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44176588</guid></item><item><title><![CDATA[New comment by airspeedswift in "Swift at Apple: Migrating the Password Monitoring Service from Java"]]></title><description><![CDATA[
<p>Swift, Rust, and C++ all share the same underlying techniques for implementing zero-cost abstrations (primarily, fully-specialized generics). The distinction in Swift's case is that generics can also be executed without specialization (which is what allows generic methods to be called over a stable ABI boundary).<p>Swift and Rust also allow their protocols to be erased and dispatched dynamically (dyn in Rust, any in Swift). But in both languages that's more of a "when you need it" thing, generics are the preferred tool.</p>
]]></description><pubDate>Tue, 03 Jun 2025 20:33:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=44174408</link><dc:creator>airspeedswift</dc:creator><comments>https://news.ycombinator.com/item?id=44174408</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44174408</guid></item><item><title><![CDATA[New comment by airspeedswift in "Swift 6"]]></title><description><![CDATA[
<p>You can read about the trade-offs in the language proposal here: <a href="https://github.com/swiftlang/swift-evolution/blob/main/proposals/0413-typed-throws.md">https://github.com/swiftlang/swift-evolution/blob/main/propo...</a><p>In particular:<p>> Even with the introduction of typed throws into Swift, the existing (untyped) throws remains the better default error-handling mechanism for most Swift code. The section "When to use typed throws" describes the circumstances in which typed throws should be used.</p>
]]></description><pubDate>Tue, 17 Sep 2024 21:01:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=41572695</link><dc:creator>airspeedswift</dc:creator><comments>https://news.ycombinator.com/item?id=41572695</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41572695</guid></item><item><title><![CDATA[New comment by airspeedswift in "New GitHub Organization for the Swift Project"]]></title><description><![CDATA[
<p>you might find <a href="https://www.swift.org/documentation/articles/zero-to-swift-nvim.html" rel="nofollow">https://www.swift.org/documentation/articles/zero-to-swift-n...</a> useful</p>
]]></description><pubDate>Tue, 11 Jun 2024 03:35:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=40642017</link><dc:creator>airspeedswift</dc:creator><comments>https://news.ycombinator.com/item?id=40642017</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40642017</guid></item><item><title><![CDATA[New comment by airspeedswift in "Swift for C++ Practitioners, Part 1: Intro and Value Types"]]></title><description><![CDATA[
<p>Been there since 2.0. You can combine it with pattern matching to do some fun stuff: <a href="https://gist.github.com/airspeedswift/6e0c037ad5dd1b763d353f358791eef7#file-rbtree-swift-L43" rel="nofollow">https://gist.github.com/airspeedswift/6e0c037ad5dd1b763d353f...</a></p>
]]></description><pubDate>Mon, 15 Apr 2024 05:04:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=40037225</link><dc:creator>airspeedswift</dc:creator><comments>https://news.ycombinator.com/item?id=40037225</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40037225</guid></item></channel></rss>