Explore a comprehensive conference talk from GoLab that demonstrates how to build a programming language and shell using Go, focusing on the Elvish project. Learn about implementing a tree-walking interpreter, static analyzer, and shell semantics using Go's built-in features and standard libraries. Discover techniques for achieving high test coverage through a custom DSL and VS Code plugin for interpreter testing, as well as a framework for terminal UI testing. Master the process of creating an efficient CI/CD pipeline that automatically updates the main website and prebuilt binaries with each Git commit using a combination of Go programs and Elvish scripts. Gain practical insights into leveraging Go's concurrency primitives, type system, and standard libraries to create a full-fledged programming language with interactive shell features.
Overview
Syllabus
How to write a programming language and shell in Go with 92% test cov. and instant CI/CD - Qi Xiao
Taught by
GoLab conference