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.

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–)

I spent the last 11 years on the Swift language team at Apple. I am the second-most active contributor to the compiler's git repository.

Most recently, I did some work to speed up Swift's type checker:

Prior to that I came up with and implemented a new design for Swift generics, based on term rewriting: I wrote a book about the Swift generics implementation: 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.


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