filmov
tv
How to write a programming language and shell in Go with 92% test cov. and instant CI/CD - Qi Xiao

Показать описание
🔔 FOLLOW GOLAB CHANNEL 🔔
How to write a programming language and shell in Go with 92% test coverage and instant CI/CD
ABSTRACT:
Have you wondered how terminal shells work? Do you want to create your own programming language? This talk is for you! We will look at Elvish, a shell and built in Go with a full-fledged programming language. We will dive into how its implementation as well as testing and CI/CD strategy.
The talk will cover the following topics:
- A quick intro to Elvish itself, showing its full-fledged programming language and interesting interactive features
- A dive into Elvish's interpreter, as a case study of how to implement a dynamic language interpreters in Go. This will include topics like:
- How I implemented a tree-walking interpreter and static analyzer in Go
- How I avoided reinventing the wheel by leveraging Go's types and standard libraries
- How I used Go's concurrency primitives to implement shell semantics like pipelines
- Techniques for testing Elvish, including:
- Testing Elvish as a programming language: how I invented a simple DSL and a VS Code plugin to make writing interpreter tests smooth and painless
- Testing Elvish as an interactive shell: A framework for writing terminal "UI tests" in Go
This channel is dedicated to the videos of the GoLab conference.
💛 Follow us on X:
/ golab_conf
💜 Follow us on FACEBOOK:
/ golabconf
GoLab is the first Italian international conference on the Go programming language, organized by Develer.
Develer is not just an Italian company projecting and releasing hardware and software solutions for the industrial environment, but is also an ensemble of people sharing their great passion for new technologies and how they can be applied to your everyday life.
🔸 Follow DEVELER on INSTAGRAM:
/ wearedeveler
🔹 Follow DEVELER on FACEBOOK:
🔸 Follow DEVELER on X:
/ develer
🔹 Follow DEVELER on LINKEDIN:
/ 114426
🔹 Follow DEVELER on TIK TOK:
/ wearedeveler
How to write a programming language and shell in Go with 92% test coverage and instant CI/CD
ABSTRACT:
Have you wondered how terminal shells work? Do you want to create your own programming language? This talk is for you! We will look at Elvish, a shell and built in Go with a full-fledged programming language. We will dive into how its implementation as well as testing and CI/CD strategy.
The talk will cover the following topics:
- A quick intro to Elvish itself, showing its full-fledged programming language and interesting interactive features
- A dive into Elvish's interpreter, as a case study of how to implement a dynamic language interpreters in Go. This will include topics like:
- How I implemented a tree-walking interpreter and static analyzer in Go
- How I avoided reinventing the wheel by leveraging Go's types and standard libraries
- How I used Go's concurrency primitives to implement shell semantics like pipelines
- Techniques for testing Elvish, including:
- Testing Elvish as a programming language: how I invented a simple DSL and a VS Code plugin to make writing interpreter tests smooth and painless
- Testing Elvish as an interactive shell: A framework for writing terminal "UI tests" in Go
This channel is dedicated to the videos of the GoLab conference.
💛 Follow us on X:
/ golab_conf
💜 Follow us on FACEBOOK:
/ golabconf
GoLab is the first Italian international conference on the Go programming language, organized by Develer.
Develer is not just an Italian company projecting and releasing hardware and software solutions for the industrial environment, but is also an ensemble of people sharing their great passion for new technologies and how they can be applied to your everyday life.
🔸 Follow DEVELER on INSTAGRAM:
/ wearedeveler
🔹 Follow DEVELER on FACEBOOK:
🔸 Follow DEVELER on X:
/ develer
🔹 Follow DEVELER on LINKEDIN:
/ 114426
🔹 Follow DEVELER on TIK TOK:
/ wearedeveler