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

    Co-dfns Live Stream: Compiler Design and Architecture

    Aaron Hsu (arcfide)

    3 HN recommenders · recommended in 8 months, 2018–2025

    YouTube

    2:03:12 · 21K views · Feb 13, 2017

    A two-hour live stream in which Aaron Hsu explains the architecture, design history and aesthetic of Co-dfns, his parallel APL compiler. He walks through the code and the reasoning behind its dense style.

    HN readers say it changed their view of APL and array languages, with a clear walkthrough of how a compiler can be written in this style.

    Software Engineering & LanguagesCompilers, interpreters & program analysisProgramming language design
    1. 59:03
      Breaking Down Programming Paradigms: APL's Surprising Learning Curve // Aaron Hsu // Dyalog '17Dyalog User Meetings7.2K views • 9 years ago
    2. 54:10
      Design Patterns vs Anti pattern in APL by Aaron W Hsu at FnConf17ConfEngine7.7K views • 8 years ago
    3. 30:37
      High-performance Tree Wrangling, the APL Way // Aaron Hsu // Dyalog '18Dyalog User Meetings5.8K views • 7 years ago
    4. 7:48
      Conway's Game Of Life in APLDyalog236K views • 17 years ago
    5. 54:31
      Does APL Need a Type System? by Aaron W Hsu at #FnConf18ConfEngine6.4K views • 7 years ago
    6. 48:46
      Rust's Journey to Async/AwaitInfoQ90K views • 6 years ago
    7. 43:04
      "Stop Writing Dead Programs" by Jack Rusher (Strange Loop 2022)Strange Loop Conference468K views • 4 years ago
    8. 1:02:50
      The Language of the System - Rich HickeyClojureTV174K views • 13 years ago
    9. 1:14:32
      Building Your Own Dynamic LanguageStanford21K views • 18 years ago
    10. 54:55
      Dconf 2014 Day 2 Keynote: The Last Thing D Needs -- Scott MeyersThe D Language Foundation19K views • 8 years ago
    11. 28:00
      APL demonstration 1975Imperial College London111K views • 13 years ago
    12. 1:15:46
      CppCon 2017: Matt Godbolt “What Has My Compiler Done for Me Lately? Unbolting the Compiler's Lid”CppCon178K views • 9 years ago
    13. 1:03:31
      Brian Goetz - Stewardship: the Sobering PartsClojureTV39K views • 11 years ago
    14. 41:06
      "Unison: a new distributed programming language" by Paul ChiusanoStrange Loop Conference45K views • 7 years ago
    15. 1:31:06
      William Byrd on "The Most Beautiful Program Ever Written" [PWL NYC]PapersWeLove367K views • 9 years ago
    16. 12:31
      OSCON 2010: Rob Pike, "Public Static Void"O'Reilly119K views • 16 years ago
    17. 59:04
      On the Expressive Power of Programming Languages by Shriram Krishnamurthi [PWLConf 2019]PapersWeLove27K views • 7 years ago
    18. 1:07:22
      Invited Talk - Guy SteeleClojureTV39K views • 9 years ago
    19. 44:35
      Object-Oriented Programming is BadBrian Will2.6M views • 10 years ago
    20. 1:14:52
      Effective Programs - 10 Years of Clojure - Rich HickeyClojureTV176K views • 9 years ago

    8 comments from Hacker News

    1. @refsetJan 2024· in “Thinking in an array language”

      Nothing has ever convinced me about the potential for array languages in practice quite like watching Aaron Hsu describe how he develops his parallel APL compiler [0] using two Notepad.exe windows side-by-side: this video He has also written many comments (arcfide on HN) about this stuff before, e.g. discussing "semantic density" [1] > The compiler is designed so that I can see as much as possible with as little indirection as possible, so that when I see a piece of code I not only know how it works in complete detail, but how it connects to the world around it, and every single dependency related to it in basically one single half screen full of code (usually much less than that) without any jumps, paging, scrolling or any movement. [...] The idea of semantic density is critical to this point. The semantic density of the APL code I'm using to solve the problem is at a certain rate. I maintain a consistent density rate by choosing my variable names in such a way that they visually align with the expressivity per character of the built in primitive symbols. And > [...] idiomatic programming methods that are so concise, they can begin to be read as we read and chunk English phrases. By doing so, it becomes actually easier to just write out most algorithms, because the normal name for such an algorithm is basically as long as the algorithm itself written out. This means that I start to learn to chunk idioms as phrases and can read code directly, without the cost of name lookup indi

      Strongly recommendsView on HN
    2. @NadyaFeb 2018· in “Common combinators in JavaScript”

      What use is Chinese for someone who doesn't read Chinese? The S combinator written like that is perfectly legible and fine for someone who is already familiar with the S Combinator. I don't see the problem there and I don't already grok the S Combinator. I do appreciate writing code under the assumption people working on the code would have some level of prerequisite knowledge. I'm sure you'd get a kick out of Co-dfns [0]. But once you learn to "speak" APL programming it makes a lot more sense. I'd highly recommend, if you have the time, to listen to the author explaining the code for the compiler [1]. [0] [LINK] [1] this video / HN discussion: [LINK]

      Strongly recommendsView on HN
    3. @NadyaJul 2021· in “Jelly: a recreational programming language inspired by J”

      One of the most memorable and interesting things I've ever seen on HN was an AMA from the creator of the Co-dfns parallel APL compiler. Here is co-dfns [0] and the AMA by the creator [1]. The video may give you some insight and at the very least may be extremely interesting to hear the APL code explained (jump to around 13:30 for the beginning of the explanation behind the structure + what the compiler is doing). He explains it very well - it's quite easy to follow along. [0] [LINK] [1] this video

      Strongly recommendsView on HN
    4. @NadyaJun 2024· in “APL Demonstration (1975) [video]”

      I thought the same about APL until arcfide made a video about codfns a few years back. Was eye opening. this video

      Strongly recommendsView on HN
    5. @a-salehMay 2018· in “APL deserves its renaissance too”

      I remember being floored by APL few months ago when I learned about co-dnfs and watched the stream by Aaron Hsu [1] with quotes like "This code is perfectly readable, it just isn't in English". Thing is, when I was thinking about trying it, I never figured out a good toy project. Like, when I wanted to try anything else, most of the time I would know I would be able to cobble together a web-service. Haskell, Erlang, even Prolog. I understand co-dnfs to be self-hosting, so maybe a toy programming language? [1] this video

      RecommendsView on HN