Slava with his horse Neo

Slava Pestov's home page

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

Feel free to e-mail me for any reason, including potential job opportunities, if you think my skills might be a good fit.


Math

I have some fun results about finitely-presented monoids:

Programming

Apple (2015–)

Currently I'm on the Swift team at Apple. I am the second-most active contributor to the compiler's git repository.

While I was not involved in the design of the expression type checker, recently I've been doing some work to speed it up:

Prior to that, I overhauled the Swift generics implementation, and wrote a book about it: I also worked on Swift's stable ABI and library evolution model for shared libraries: I've given a few talks: Last but not least, 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. Also worked on tools to collect and analyze storage performance across Google's fleet.

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.