Slava with his horse Neo

Slava Pestov's corner of the web

Hi there! I live in the Hudson Valley of New York with my family, surrounded by various animals.

Contact details:


My work

My main professional interests are programming languages and math.

I'm searching for examples of finitely-presented monoids that cannot be presented by finite complete rewriting systems:

Apple (2015–)

I'm currently on the Swift language team at Apple.

The Swift generics implementation is one of my focus areas. I am slowly writing a book about it:

I also worked on Swift's stable ABI and library evolution model: I occasionally give talks: I co-authored a handful of Swift evolution proposals:

Google (2010–2014)

I played a key role in the development of firmware and Linux device drivers for a new data center storage device.

Factor (2003–2010)

I led the development of the Factor programming language.

Factor is a dynamically-typed programming language with a stack-based syntax and a heavy emphasis on interactive development, reflection, and simplicity. The implementation includes an optimizing compiler, cross-platform GUI toolkit, and web framework.

A conference paper:

A talk:

jEdit (1998–2003)

I also wrote jEdit, a popular programmer's text editor.

jEdit has a plugin system, built on top of the dynamic features of the Java virtual machine. A tool within the editor can download and install plugins from a central registry. This was an early form of the "package manager" found in many popular text editors and languages today.


This page is best viewed with Netscape Navigator and a dialup modem.