Skip to content
HomeVideos
AllLongsCategoriesPlaylists
BooksBlogsPodcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K

    2017 LLVM Developers’ Meeting: “Implementing Swift Generics ”

    LLVM

    2 HN recommenders · recommended in 4 months, 2017–2026

    YouTube

    44:38 · 21K views · Oct 31, 2017

    Swift compiler engineers explain how Swift implements generics using dictionary-passing with reified type metadata. They compare it with Java-style uniform representation and C++ or Rust monomorphization.

    Recommended as the clearest explanation of how Swift generics compile and how that differs from other languages.

    Software Engineering & LanguagesCompilers, interpreters & program analysisProgramming language design
    1. 31:22
      Swift for TensorFlow: The Next-Generation Machine Learning Framework (TF Dev Summit '19)TensorFlow41K views • 7 years ago
    2. 39:40
      "Type-Driven Program Synthesis" by Nadia PolikarpovaStrange Loop Conference15K views • 8 years ago
    3. 26:01
      2018 LLVM Developers’ Meeting: C. Schafmeister “Lessons Learned Implementing Common Lisp with LLVM”LLVM61K views • 7 years ago
    4. 1:03:29
      Maybe Not - Rich HickeyClojureTV181K views • 7 years ago
    5. 1:05:45
      I Interviewed The Creator Of LLVM, Clang, Swift, and MojoThe PrimeTime274K views • 2 years ago
    6. 1:14:32
      Building Your Own Dynamic LanguageStanford21K views • 18 years ago
    7. 57:38
      Clasp: Common Lisp using LLVM and C++ for Molecular MetaprogrammingGoogle TechTalks52K views • 11 years ago
    8. 40:33
      2016 LLVM Developers’ Meeting: D. Dunbar “A New Architecture for Building Software”LLVM7.3K views • 9 years ago
    9. 1:50:07
      JSON Parser 100% From Scratch in Haskell (only 111 lines)Tsoding205K views • 6 years ago
    10. 2:03:12
      Co-dfns Live Stream: Compiler Design and ArchitectureAaron Hsu (arcfide)21K views • 9 years ago
    11. 1:03:31
      Brian Goetz - Stewardship: the Sobering PartsClojureTV39K views • 11 years ago
    12. 1:14:52
      Effective Programs - 10 Years of Clojure - Rich HickeyClojureTV176K views • 9 years ago
    13. 36:31
      Hey Underscore, You're Doing It Wrong!InfoQ141K views • 13 years ago
    14. 1:22:21
      Introducing a Memory-Safe Successor Language in Large C++ Code Bases - John McCall - CppNow 2023CppNow18K views • 3 years ago
    15. 1:28:59
      Psp collections: views and more by Paul PhillipsAI Council11K views • 12 years ago
    16. 49:48
      2023 LLVM Dev Mtg - Mojo 🔥: A system programming language for heterogenous computingLLVM61K views • 2 years ago
    17. 22:17
      WWDC24: Go small with Embedded Swift | AppleApple Developer138K views • 2 years ago
    18. 1:07:22
      Invited Talk - Guy SteeleClojureTV39K views • 9 years ago
    19. 2:07:18
      Demo: Base language, compile-time executionJonathan Blow164K views • 12 years ago
    20. 42:24
      "Swift as C++ Successor in FoundationDB" by Konrad Malawski (Strange Loop 2023)Strange Loop Conference20K views • 3 years ago

    4 comments from Hacker News

    1. @favoritedOct 2022· in “Compiling Swift Generics [pdf]”

      Swift's generics have some unique properties at module boundaries to allow for a stable ABI while enabling library evolution. To get additional background, you might be interested in this[0] conference talk (the paper's author is one of the co-presenters). Also, this post[1] by a Rust and Swift compiler engineer talks about what Swift does differently than other languages, and the tradeoffs that are involved. [0] this video [1] [LINK]

      RecommendsView on HN
    2. @VeedracDec 2017· in “Type Erasure in Swift”

      If you're interested, there's a very nice talk on how Swift's generics compile. It's different to Rust in some key ways. this video

      RecommendsView on HN
    3. @mananaysiempreApr 2026· in “A tail-call interpreter in (nightly) Rust”

      > It doesn't make sense to me that an embedded VM/interpreter could ever outperform direct code. You're adding a layer of abstraction and indirection, so how is it possible that a more indirect solution can have better performance? It is funny, but (like I’ve already mentioned[1] a few months ago) for serialization(-adjacent) formats in particular the preferential position of bytecode interpreters has been rediscovered again and again. The earliest example I know about is Microsoft’s MIDL, which started off generating C code for NDR un/marshalling but very soon (ca. 1995) switched to bytecode programs (which Microsoft for some reason called “format strings”; these days there’s also typelib marshalling and WinRT metadata-driven marshalling, the latter completely undocumented, but both data-driven). Bellard’s nonfree ffasn1 also (seemingly) uses bytecode, unlike the main FOSS implementations of ASN.1. Protocol Buffers started off with codegen (burying Google user in de/serialization code) but UPB uses “table-driven”, i.e. bytecode, parsing[2]. The most interesting chapter in this long history is in my opinion Swift’s bytecode-based value witnesses[3,4]. Swift (uniquely) has support for ABI compatibility with polymorphic value types, so e.g. you can have a field in the middle of your struct whose size and alignment only become known at dynamic linking time. It does this in pretty much the way you expect[5]: each type has a vtable (“value witness”) full of compiler-generated meth

      CitesView on HN
    4. @favoritedNov 2022· in “Swift Project in 2023”

      The Swift story around ABI stability and library evolution is pretty unique. Relatedly, its approach to generics doesn't fall into either of the 2 traditional paths (either box everything like Java and C#, or template instantiation like C++ or Rust). [LINK] this video

      CitesView on HN