Skip to main content
CS

Chi Shao

Chi Shao Explains Building Elvish Shell**language Selection**standard Library Leverage**cross-platform Strategy**programming Language Features
1episode
1podcast

We have 1 summarized appearance for Chi Shao so far. Browse all podcasts to discover more episodes.

Featured On 1 Podcast

Top resources Chi Shao mentions

Books, tools, and gear cited across podcast appearances. Ranked by frequency.

SignalCast may earn commission on purchases via affiliate links on each resource page.

All Appearances

1 episode
Go Time

Writing a shell in Go

Go Time
65 minShell Developer

AI Summary

→ WHAT IT COVERS Chi Shao explains building Elvish shell in Go over eleven years, covering language design decisions, cross-platform compatibility, built-in programming features, and Go's advantages for systems programming. → KEY INSIGHTS - **Language Selection:** Go provided modern syntax, complete system call bindings, and garbage collection in 2013 when alternatives were C/C++, Java, or Python - eliminating need for custom memory management. - **Standard Library Leverage:** Half of Elvish's modules directly wrap Go's standard library using reflection - strings, regex, HTTP, math, and OS packages become shell commands with minimal code. - **Cross-Platform Strategy:** Go's os/exec package handles program launching portably across Unix and Windows, requiring platform-specific code only for keyboard input parsing and system-dependent metadata fields. - **Programming Language Features:** Elvish implements nested lists, maps, lambdas, and functional programming paradigms that traditional shells lack - anything representable in JSON works in Elvish scripting. - **Built-in UI Components:** Control-N launches file manager with three-pane view, Control-R shows filterable command history list instead of single-match search - enhancing interactive shell experience significantly. → NOTABLE MOMENT Shao reveals Elvish values are actually Go values under the hood, meaning Go's garbage collector automatically handles memory management for the shell language without requiring a custom implementation. 💼 SPONSORS [{"name": "Fly.io", "url": "https://fly.io"}, {"name": "Retool", "url": "https://retool.com/changelog"}, {"name": "Timescale", "url": "https://timescale.com/ai"}] 🏷️ Go Programming, Shell Development, Systems Programming, Cross-Platform Development, Programming Language Design

Never miss Chi Shao's insights

Subscribe to get AI-powered summaries of Chi Shao's podcast appearances delivered to your inbox weekly.

Start Free Today

No credit card required • Free tier available