Software Unscripted cover image

Software Unscripted

Tooling-Aware Language Design with Eli Dowling

Aug 21, 2024
Eli Dowling, a contributor to the Roc programming language, delves into the fascinating world of language design and editor tooling. The discussion highlights innovative error recovery in parsers, the benefits of tree-sitter, and the complexities of macros. Eli shares insights on the balance between functionality and user experience, especially in code editors. They explore the implications of implementing hygienic macros and the challenges of enum types, emphasizing the need for clarity and simplicity in programming languages.
01:11:59

Episode guests

Podcast summary created with Snipd AI

Quick takeaways

  • Eli Dowling's journey into functional programming began with F#, leading to his contributions in ROC and its optimizations for immutable data structures.
  • The integration of efficient tooling in programming language design, such as semantic navigation via TreeSitter, significantly enhances productivity and user experience.

Deep dives

Entry into Functional Programming

The journey into functional programming for Eli Dowling began with learning F#, a language he was familiar with due to his prior experience with the .NET ecosystem. This introduction sparked an interest that eventually led him to discover other languages and research papers relevant to functional programming, including one on the Perseus project. The unique features of ROC, particularly its high-performance immutable data structures leveraging reference counting, stood out to him as significant advancements. Dowling's exploration of the functional programming landscape highlighted the performance challenges he faced with linked lists and immutable data structures, leading him to appreciate ROC's optimizations.

Get the Snipd
podcast app

Unlock the knowledge in podcasts with the podcast player of the future.
App store bannerPlay store banner

AI-powered
podcast player

Listen to all your favourite podcasts with AI-powered features

Discover
highlights

Listen to the best highlights from the podcasts you love and dive into the full episode

Save any
moment

Hear something you like? Tap your headphones to save it with AI-generated key takeaways

Share
& Export

Send highlights to Twitter, WhatsApp or export them to Notion, Readwise & more

AI-powered
podcast player

Listen to all your favourite podcasts with AI-powered features

Discover
highlights

Listen to the best highlights from the podcasts you love and dive into the full episode