# Tooling-Aware Language Design with Eli Dowling Page: https://stenobird.com/podcast/software-unscripted-5320480/tooling-aware-language-design-with-eli-dowling Text version: https://stenobird.com/podcast/software-unscripted-5320480/tooling-aware-language-design-with-eli-dowling.md Podcast: [Software Unscripted](https://stenobird.com/podcast/software-unscripted-5320480) Published: 2024-08-21T09:00:20+00:00 Episode link: https://shows.acast.com/software-unscripted/episodes/tooling-aware-language-design-with-eli-dowling Audio file: https://sphinx.acast.com/p/open/s/664fde3eda02bb0012bad909/e/66c534294bc29b3432178059/media.mp3 Processing state: not_requested JSON: https://stenobird.com/v1/public/podcasts/software-unscripted-5320480/episodes/tooling-aware-language-design-with-eli-dowling Duration seconds: 4319 ## Resource Richard talks with Eli Dowling about his contributions to the Roc programming language, as well as the intersection of language design and editor tooling, parsers that recover from errors, tree-sitter, going beyond the language server protocol, and the downsides of macros. Perceus paper - https://www.microsoft.com/en-us/research/uploads/prod/2020/11/perceus-tr-v1.pdf The Koka Programming Language - https://koka-lang.github.io "The Quicksort Talk" (Outperforming Imperative with Pure Functional Languages) - https://youtu.be/vzfy4EKwG_Y Tree-Sitter - https://tree-sitter.github.io Neovim Editor - https://neovim.io Helix Editor - https://helix-editor.com Zed Editor - https://zed.dev Language Server Protocol (LSP) - https://microsoft.github.io/language-server-protocol Hygienic Macros - https://en.wikipedia.org/wiki/Hygienic_macro Rust Macros - https://doc.rust-lang.org/book/ch19-06-macros.html Hosted on Acast. See acast.com/privacy for more information. ## Actions - request_transcript: `POST https://stenobird.com/v1/public/podcasts/software-unscripted-5320480/episodes/tooling-aware-language-design-with-eli-dowling/transcription-requests` — Idempotently request low-priority transcript generation for this episode. - read_markdown: `GET https://stenobird.com/podcast/software-unscripted-5320480/tooling-aware-language-design-with-eli-dowling.md` — Read the agent-friendly Markdown representation of this episode resource. A page view does not enqueue transcription. Agents should invoke `request_transcript` explicitly when they need this episode processed. ## Transcript Full transcripts are not published on public pages unless there is a clear rights basis.