GHC developer Simon Peyton Jones on working for, gasp!, Microsoft

505

Author: JT Smith

By Julie Bresnick
Open Source people

When Glasgow Haskell Compiler
programmer Simon Peyton
Jones

says he used to spend Thursday afternoons
programming the Elliot 803 at a Polytechnic University in Swindon, UK, it
sounds a lot more dignified than, say, a couple of teenage geeks getting excited about making a room-size hunk of machinery sort numbers.Says Peyton Jones, who now straddles the Open Source and closed-source worlds as a GHC programmer and a Microsoft employee: “I was about 17. We wrote programs to play NIM and to display the
results of our physics experiments from school, and we experimented with recursion
or sorting, basic programs. [The Elliot 803] didn’t do applications.

“It was the size of half a dozen large
washing machines. It had an operator in a white coat, and you programmed it by
typing
Algol
programs onto paper-tape using tape punch machines and then you fed it
into the machine. This was all very exciting. It was a high level language,
not just a hundred locations of machine code. And after a bit the operator
got to know that we would come on Thursday afternoons, and she would go away
because nobody else was using this machine and she realized we could
operate it perfectly well.

“You had to build very precisely, but then it would do what you said
very quickly and very repeatedly. I would spend a long time preparing for
these afternoons in Swindon.”

His private (which is called “public” in England)
secondary school had one of IBM’s first school computers, and Peyton Jones approached this 1972 version of a desktop without trepidation.

“It was built out of cast-off parts from a mainframe. It had no
permanent storage at all, no discs, no nothing, just its RAM and 100 memory
locations.” He laughs, a stately version of a Santa laugh. “And you had to
program it in machine code all the time. It’s an amazing machine, really. I
became very adept at slipping programs into small numbers and memory
locations. But it wasn’t taught at Marlborough, it was
just available for keen students. We pretty much figured it out, though one
or two teachers were also quite intrigued by it, but it was more of a hobby
for them than a teaching thing.”

All of Peyton Jones’
formal, and informal for that matter, learning took place at school. Born in South
Africa in 1958, he is the oldest of four children. His father, a member
of the British navy, transferred the family back to England when Peyton Jones,
named after the town in which he was born (Simonstown), was about 18
months old. After a few years in England they transferred to Trinidad, where
his father was charged with starting a coast guard. When Peyton Jones was 8,
they returned again to England. His parents settled in Marlow, a town
just southeast of London, but rather than disrupt his childhood further by
what were sure to be future foreign posts, his parents enrolled
Peyton Jones, then 8, in boarding school.

His live-in learning continued straight through university. Even as
an adult, he spent a number of years on campus.

At Cambridge University, he
studied two years of “maths,” one year of electrical sciences — which he
cleverly describes as a sanctuary for disgruntled mathematicians and frustrated
physicists seeking refuge from the competitive hoards and offered by
the engineering department. He then tacked on a post-graduate year
in computer science. That last year constitutes the entirety of his formal
training in computers.

He opted out of the Ph.D. path and took a job with a small
electronics company. The company made process-control and monitoring
equipment for industrial settings, and was all of 10 people working in the
house of the managing director’s grandmother. Peyton Jones spent his days in the
attic working on hardware and software at today’s startup pace. It took him
a few years to realize he did not share his boss’ entrepreneurial proclivity
for risk. There were things he enjoyed about the job, but it just was too
stressful in the end.

“Every now and again we wouldn’t be able to pay the tax bill for the
value added tax, and the VAT tax man has a lot of power to impound your
property. We wouldn’t be able to pay the bill, and he’d come along and
demand to impound some property, and we had a very old piece of
equipment, called the data-logger, which was covered in knobs and dials and
buzzers and switches, and we never used it. It was completely useless, and we’d give
it to him and he’d drive off with it in the back of his car very pleased
with himself. Then we’d pay the bill, and he’d give it back. We kept it as a
sort of hostage for the VAT man.”

He found that the pressure sapped energy
from him. So he left and took a job, normally reserved for those with more
extensive education, as a lecturer in computer science at University College London.

Later, during the nine years they lived in Glasgow, he and his wife had three children, and Peyton Jones birthed ‘a child’ of his own, the Glasgow Haskell Compiler. He had been
involved in designing the Haskell programming language, and to him the obvious next step was to write a compiler for it. Though it’s not a full-time job, he is still very dedicated to the GHC project.

A few years ago, when their youngest was old enough for Dorothy to
go back to work, they settled back into Cambridge, and Peyton Jones, a devout Open
Source developer and small-company veteran, applied to the then new Microsoft Research Center in
Cambridge. Upon hiring, Peyton Jones was explicit about this attachment to
GHC.

“I’m having a great time. My mode of research is by trying things
out in the setting of this fully functional compiler that lots of people use.
But they did not hire me to produce a Haskell compiler and maintain it. It’s a secondary goal, but it is one that’s very important to me
emotionally. I’m very careful to keep the compiler in its place, namely as a means
to an end rather than an end in itself. It forms a platform on which I can
study things rather than the reason for my work.”

He also continues to build it.

“Most people, by the time they get to be a full professor, don’t do
anymore hacking, but I still do a lot of programming, which I love.

“I’m working on our compiler’s optimizer at the moment. The
compiler’s something like 60,000 lines of Haskell and I’m reworking a chunk in the
middle of it. I’m also about to write a new analyses space.”

Pursuant to the terms of our conversation, Peyton Jones would not comment on
any of his employer’s current legal interests. But regarding his work at
Microsoft, he had only good things to say.

“It’s very nice working for an outfit that lets you do full-time
research, doing pretty much what you want to do. Microsoft generally
has fairly bad press, but I think that this is something that Microsoft
should really brag about, because they pay lots of people to do essentially
very freely directed research. They don’t correct our papers, they let us
go to whatever conferences we want to. I’m publishing at a higher rate than I
did at the university.”

Just as growing up a geek sounds cooler in an English accent, so does
working for Microsoft.

He works on a Windows machine, but it does run an X server that
communicates with the Linux machines in the basement.

“It is quite tiresome having two completely different operating
systems that our compiler has to work on, but that’s not a moral question, it’s
just an inconvenience. There’s Macintosh as well, but we don’t provide GHC
on Macs at all. It’s just too much to have three ports.

“I’m not sure it would be a good thing to have only one flavor of
any one operating system, to work with only one that ‘won the race.’

“Diversity is good.”

More about Simon Peyton Jones

Favorite book: Wyrms by Orson Scott Card

Favorite movie: Dogma

Game: Go, or Hare & Tortoise

Mail reader: Outlook or xmh (depends on OS)

Text editor: emacs

Music: Beethoven or Shubert piano sonatas

Hobbies: Choir and “very bad” piano

Category:

  • Open Source