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

    Tree-sitter: a new parsing system for programming tools - GitHub Universe 2017

    GitHub

    2 HN recommenders · recommended in 4 months, 2018–2022

    YouTube

    43:00 · 24K views · Dec 20, 2017

    Max Brunsfeld of GitHub presents Tree-sitter, a parsing system for programming tools that supports incremental, error-tolerant parsing. He demos its integration into GitHub.com and Atom for syntax highlighting and code navigation.

    Recommended as the canonical introduction to tree-sitter and why fast incremental parsing enables live editor support.

    Software Engineering & LanguagesCompilers, interpreters & program analysisTesting, debugging & developer tools
    1. 1:10:16
      Saša Jurić - Parsing from first principles - WebCamp Zagreb 2019WebCamp Zagreb6.3K views • 6 years ago
    2. 30:37
      High-performance Tree Wrangling, the APL Way // Aaron Hsu // Dyalog '18Dyalog User Meetings5.8K views • 7 years ago
    3. 1:38:36
      Episode 1: A basic expression evaluatorImmo Landwerth (terrajobst)284K views • 8 years ago
    4. 51:18
      Lexical Scanning in Go - Rob PikeGoogleFOSSSydney162K views • 15 years ago
    5. 1:39:43
      [Linux.conf.au 2013] - Git For Ages 4 And UpHackersOnBoard208K views • 13 years ago
    6. 1:19:57
      Simon Peyton Jones: Data Parallel HaskellnuACM28K views • 16 years ago
    7. 3:25
      Emacs Rocks! Episode 14: Pareditemacsrocks65K views • 13 years ago
    8. 36:31
      Hey Underscore, You're Doing It Wrong!InfoQ141K views • 13 years ago
    9. 1:03:31
      Brian Goetz - Stewardship: the Sobering PartsClojureTV39K views • 11 years ago
    10. 36:45
      Rich Harris - Rethinking reactivityYou Gotta Love Frontend334K views • 7 years ago
    11. 1:13:10
      Parsing with DerivativesStanford13K views • 15 years ago
    12. 1:14:32
      Building Your Own Dynamic LanguageStanford21K views • 18 years ago
    13. 47:52
      Parsing JSON Really Quickly: Lessons LearnedInfoQ86K views • 6 years ago
    14. 1:50:07
      JSON Parser 100% From Scratch in Haskell (only 111 lines)Tsoding205K views • 6 years ago
    15. 23:38
      Interactive notebooks ~ Pluto.jl | Fons van der Plas | JuliaCon 2020The Julia Programming Language48K views • 6 years ago
    16. 6:22
      Interactive programming Flappy Bird in ClojureScriptBruce Hauman55K views • 12 years ago
    17. 1:35:12
      Modernizing Compiler Design for Carbon Toolchain - Chandler Carruth - CppNow 2023CppNow71K views • 3 years ago
    18. 1:06:00
      CppCon 2017: Juan Pedro Bolivar Puente “Postmodern immutable data structures”CppCon31K views • 9 years ago
    19. 49:09
      Debugging with the Scientific Method - Stuart HallowayClojureTV25K views • 10 years ago
    20. 42:44
      Armin Ronacher - A Python for Future GenerationsEuroPython Conference6.2K views • 9 years ago

    4 comments from Hacker News

    1. @lewisl9029Mar 2018· in “Atom 1.25”

      Tree-sitter is not just for code folding, it's a full-on incremental parser that's fast enough to run on every keystroke. See their expand selection example for another really compelling use-case. If you're interested in more details, there's also this talk from the developer behind tree-sitter ( this video ), where he showcases how they could use tree-sitter to quickly parse entire multi-megabyte minified JS files to provide complete syntax highlighting for them that updates as you edit, and how the accuracy and usefulness of the actual syntax highlighting can improve over regex based implementations due to having access to the fully specified grammar of the language. I think tree-sitter is also a game changer for extension development once it stabilizes and the APIs are opened up. Extensions like swackets will no longer have arbitrary performance constraints that break user experience ( [LINK] ), and it opens the door to a whole new set of intelligent extensions that understand the languages you write at a much deeper level that were previously unfeasible due to parsing performance, or required some external heavy-weight language server.

      RecommendsView on HN
    2. @ris58hApr 2022· in “Zas Editor”

      They use tree-sitter [LINK] It's ok with errors in AST and just marks such nodes as invalid. There is a long (42 minutes) but worth to watch talk about tree-sitter this video Or the shorter version (20 minutes) [LINK]

      RecommendsView on HN
    3. @imoldfellaApr 2019· in “A Brief and Brisk Overview of Compiler Architecture”

      100% agree. If starting now I think you should consider targeting mlir[1]. It fixes many problems you will have with llvm, and allows you to create language specific dialects and transformations. Impressive new work by a top-notch team led by LLVM creator Chris Lattner. It has LLVM as an optional target, so you get that for free. For a parser, you should consider using tree-sitter[2]. Tree-sitter gives you live editor support for free. Impressive work by Max Brunsfeld. [1] [LINK] [2] this video

      CitesView on HN
    4. @bhlJul 2021· in “Diffsitter: A tree-sitter based AST difftool to get meaningful semantic diffs”

      `tree-sitter` has been post to the website a bunch of times so I remembered from those submissions: [LINK] Also these resources: [LINK] this video

      CitesView on HN