Matthias Felleisen has a penchant for long-term projects. His first one began inauspiciously, when Corky Cartwright and Ken Kennedy recruited him for the Computer Science Department at Rice University. Over the next fourteen years, he would revamp the department’s introductory classes for freshmen, develop a new programming language, and create a widely known Computer Science outreach project, decades before others realized the importance of spreading the word about the discipline.
When Felleisen flew to Houston in April of 1987 after two days of interviews at the University of California, Berkeley, he was surprised to see how green Houston was from the air and from his hotel room. Felleisen said, “I’d spent a year in Tucson and had seen a bit of west Texas, so I thought the state was one big desert.”
The surprises continued. Compared to expensive dinners with potential colleagues at Berkeley, Felleisen’s introduction to Rice was quite different. “Corky picked me up at the airport and took me to my hotel, then said, ‘let’s go get dinner’ and he took me out for great Mexican food. My meal cost about three dollars, including the beer. And it was wonderful.”
He already knew relationships with his colleagues would matter more than impressive recruiting events. He said, “Corky and I sat outside at that Mexican hole-in-the-wall restaurant and talked until all the places around us were closing. Then he took me back to his place for sherry and cognac, and we hung out until about two in the morning. As Corky drove me back to my hotel, he nonchalantly mentioned that he’d pick me up at 7 a.m. for breakfast.”
Felleisen slept a few hours and then began a full day of interviews, starting with his breakfast meeting with John Dennis, a highly respected applied mathematician who also worked in the Computer Science Department at the time. He said his welcome felt warm and personal, and he continued making technical connections with other Rice faculty members.
“We all hit it off right away,” he said. “Of the 12 computer science faculty members, eight of them had been presenting at the same conferences where I’d been presenting, and I felt I could learn a lot from them.
“When I got back to the airport for my return flight, I called home and my wife said, `A Ken Kennedy called and wants to make you an offer.’ At Berkeley, I’d met 45 people in two days and felt a connection with only one of them. At Rice, I felt totally home, technically and emotionally. I knew that I’d take their offer over Berkeley’s.”
Over the first decade of his academic career, he developed a theoretical framework for modeling programming languages. While this framework is now widely used, Felleisen has moved on to his next long-term project: educational outreach.
He received tenure as a full professor in 1992 and volunteered to take over Rice’s freshman Computer Science course. John Dennis, who had become chair of the CS department, listened to his ideas for improving the course and encouraged him to proceed.
After teaching the course for a few years, Felleisen decided he could use similar ideas to enrich mathematics in high school and even middle school and he shared this thought with his research group. “I gave this speech to about six people, including Corky. I said I wanted to do an educational outreach project. The key idea was to turn the algebra of middle school into a programming language.
“Then we would be able to teach kids how to code a video game and other fun things—-in plain math. It took us some years but eventually, we got exactly to that point. We launched in poor neighborhoods and the teachers would call us up and say, ‘what did you do to my kids? They passed their math tests.’ We knew we had succeeded when Rhode Island turned our curriculum into a part of the middle school math curriculum in 2016.”
Felleisen said after his initial speech everyone was on board with the idea, but his research group still had to develop a programming language that could be used by kids. They found decent tools in Scheme and Lisp, but decided they needed better options, a programming language that could be used to easily build other languages. In this world, developers solve each aspect of a problem in the best possible language and then they connect these solutions. The result was Racket, which took his team about 15 years to develop.
Using an executive meeting as an analogy for explaining how Racket works, Felleisen said, “Imagine all the top executives of a company are in a meeting. The CEO, COO, CFO, CIO, etc. Each presents a summary or an argument, but each brings his own jargon to the table. It works because they all share English as a common substrate, but this also poses the major problem of ambiguous meaning. A word may mean different things in different jargons. For example, the chief financial person may mention ‘the accounts’ and the CIO may think of accounts on a compute server.”
In natural language conversations, context resolves such ambiguities. For programming languages, Felleisen and his team had to work out novel ways of solving this problem, and they are still looking for more.
These days, Felleisen is articulating his own thoughts in a language that grant-funding agencies can understand. He wants to find enough funding to gather together all the people he’s trained over the last twenty years for the final stage of this long-term project.
He said, “When I begin a research project, I don’t necessarily know how long it will take. It takes as long as it takes, although this is my longest project by far and we have another five, maybe ten years to go. I cannot tackle long-term projects alone. I feel really lucky that I found Ph.D. students who stayed the course with me for twenty years.
“It’s just like Ken Kennedy, who had this dream of making our programming experience parallel. He stuck to that dream for 25, 30 years and he had a way of getting his students to commit to that project beyond their time at Rice. Creating such projects is all about attracting like-minded people and advising them at a highly personal level. Realizing my dream of language-oriented programming became my goal, and now it is the goal of my students.”