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.

I'm always interested in hearing about potential job opportunities, if you think my skills might be a good fit. Feel free to contact me at the e-mail address below.


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: Image

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.

Image


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

Image