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

    Does APL Need a Type System? by Aaron W Hsu at #FnConf18

    ConfEngine

    3 HN recommenders · recommended in 7 months, 2019–2025

    YouTube

    54:31 · 6.4K views · Feb 25, 2019

    Aaron Hsu's FnConf18 talk asks whether APL needs a static type system. He argues that APL's expressiveness and rapid iteration already deliver the benefits usually credited to types.

    HN points to it as the main argument from the array-language camp that types are unnecessary there, and as a nuanced take on typed versus untyped programming.

    Software Engineering & LanguagesProgramming language designFunctional programming
    1. 54:10
      Design Patterns vs Anti pattern in APL by Aaron W Hsu at FnConf17ConfEngine7.7K views • 8 years ago
    2. 30:37
      High-performance Tree Wrangling, the APL Way // Aaron Hsu // Dyalog '18Dyalog User Meetings5.8K views • 7 years ago
    3. 40:20
      "Shen: A Sufficiently Advanced Lisp" by Aditya SiramStrange Loop Conference26K views • 12 years ago
    4. 59:03
      Breaking Down Programming Paradigms: APL's Surprising Learning Curve // Aaron Hsu // Dyalog '17Dyalog User Meetings7.2K views • 9 years ago
    5. 7:48
      Conway's Game Of Life in APLDyalog236K views • 17 years ago
    6. 1:14:52
      Effective Programs - 10 Years of Clojure - Rich HickeyClojureTV176K views • 9 years ago
    7. 46:09
      Why Isn't Functional Programming the Norm? – Richard FeldmanMetosin1.6M views • 7 years ago
    8. 1:03:29
      Maybe Not - Rich HickeyClojureTV181K views • 7 years ago
    9. 2:03:12
      Co-dfns Live Stream: Compiler Design and ArchitectureAaron Hsu (arcfide)21K views • 9 years ago
    10. 56:58
      Philip Wadler - Propositions as Types (Lambda Days 2016)Erlang Solutions20K views • 10 years ago
    11. 1:09:24
      Effective MLJane Street30K views • 10 years ago
    12. 51:40
      Domain Modeling Made Functional - Scott WlaschinNDC Conferences71K views • 9 years ago
    13. 42:43
      "Propositions as Types" by Philip WadlerStrange Loop Conference144K views • 11 years ago
    14. 1:42:53
      Edward Kmett - Type Classes vs. the WorldBoston Haskell36K views • 11 years ago
    15. 12:56
      Stephen Wolfram's Introduction to the Wolfram LanguageWolfram924K views • 12 years ago
    16. 59:04
      On the Expressive Power of Programming Languages by Shriram Krishnamurthi [PWLConf 2019]PapersWeLove27K views • 7 years ago
    17. 44:35
      Object-Oriented Programming is BadBrian Will2.6M views • 10 years ago
    18. 43:23
      Edwin Brady - Idris 2: Type-driven development of Idris | Code Mesh LDN 18Code Sync20K views • 7 years ago
    19. 1:07:22
      Invited Talk - Guy SteeleClojureTV39K views • 9 years ago
    20. 1:02:50
      The Language of the System - Rich HickeyClojureTV174K views • 13 years ago

    7 comments from Hacker News

    1. @kadblasJun 2019· in “Why I think Haskell is the best general purpose language as of June 22 2019”

      Qualification: I was introduced to FP a number of years ago and have finally reached a point where I feel that I have a deep understanding of FP in general. In my mind, Haskell is the "best" language out there ("best" in that it provides the best overall gain when all tradeoffs are considered). I'm no longer confident that Haskell is the "best" language anymore. I was recently introduced to a language that might be even better than Haskell: Dyalog APL. ( [LINK] ). Try it out yourself ( [LINK] ) To explain why, I recommend watching Aaron Hsu's videos on Dyalog APL: - Does APL need a Type System? ( this video ) - This is actually a very interesting question that is more nuanced than upon first glance. - Design Patterns and Anti-Patterns in APL ( [LINK] ) - The main takeaway from this video for me was the principle of "Idioms over libraries." - Higher Performance Tree-Wrangling, the APL way ( [LINK] ) - Or how to model Trees without using pointers by using "Inverted Tables." (An inverted table is a table where the columns are the rows and the rows are the columns)

      Strongly recommendsView on HN
    2. @eggyApr 2020· in “Ode to J”

      The right tool for the job. If you are building a huge website with input forms, videos, data collection, ML algorithms, yes then you wouldn't do the whole thing in APL or J even if you could. Python is big in ML because packages for working with data in array language ways were developed. Pandas by Wes McKinney is one example, and he studied J or q, and even tweeted: IMHO J is the best APL for data analysis because of its broad suite hash table-based functions. I like APL and J as a scratchpad where arrays are the basic unit and not scalars. J is functional and it turned me on to that world before I touched Haskell or F#. Aaron Hsu has a lot of great videos that speak to a lot of the usability and scaling out you mention: [LINK] I particularly like this one: this video I am able to grasp concepts or own them after coding them in APL or J even if the code isn't as fast such as how well APL applies to Convolutional Neural Networks [1,2]. I really understood the mechanics of CNNs better after working through this paper a lot more than books I had read on ANNs in general since the late 80s/early 90s. By contrast, I have coded ANNs in C and Python, and I get lost in the PL, not the concept, if that makes sense. Anyway, I am a polyglot and find people criticize J/APL/k etc. from a brief look without really trying to learn the language. I learned assembler and basic back in 1978 to 1982, and I felt the same way when I first looked at opcodes. [1] [LINK] [2] [LINK]

      RecommendsView on HN
    3. @xelxebarOct 2019· in “Dex: A research language for array processing in the Haskell/ML family”

      Just starting to learn J, myself, and this brings to mind Aaron Hsu's "Does APL Need A Type System?" talk: this video which argues that APL already provides the development ergonomics that are typically acribed to type systems. I.e. why type check your tacit function when it's implementation is about the same length as its type annotation? Anyway, as someone trained in Category Theory and a huge fan of type systems, I found Hsu's argument surprisingly pursuasive. I would love to hear any counterpoint arguments and the motivations behind attempts at giving J a type system.

      RecommendsView on HN
    4. @tluyben2Jan 2023· in “A Dynamic Forth Compiler for WebAssembly”

      > I am a Lisp, April, APL/J/BQE, and Forth[2] aficionado. Same taste here, although I have the quirk that I also like types & proofs. Because of Lips, APL(ish) & Forth are so nice and terse, I feel the need, every so many years, to try to combine them. Usually I quickly build something (I build a lot of Forth-likes for embedded and other compiled languages to speed up work without having to compile) that combines these 3. Usually I find that Arthur already did that kind of with Shakti and before with k. For my, however, APL chars are better. Since recently, I use the BQN keymappings to create new things. So then I go into struggling how to add types to something like the above (outside Lisp/Scheme as that has been done). Most people think it's nonsense anyway [0], so i'm not quite looking to have the user add actual types (mostly), but more-so with global static analysis. Anyway, bit offtopic, but nice to see there are more people (outside Arthur [1]) who like some of these combinations of languages. [0] this video [1] [LINK]

      CitesView on HN
    5. @gsf_emergencyJan 2025· in “Flattening ASTs and other compiler data structures (2023)”

      I've given up on finding relevant low-level CUDA(? tacit? asm??!!) code from Hsu*, but I did push the following to my to-watch stack this video Does APL need a type system Guess it's time to reverse whatever else I can find [LINK] *Bad faith, or just a run o' the mill, aka compleatly forgiveable profiteering?

      CitesView on HN