Interview With Claude Roux<br>Jun 2026 - Alex AlejandreClaude Roux maintains LispE and previously TAMGU at Naver, combining array and logic programming with Haskell features. (N.b. the wiki holds the documentation and articles.)<br>In this interview, we discuss Lisp and Prolog implementations, array languages, symbolic (GOFAI) and neuro-symbolic AI.<br>How did you discover programming, come to pursue a PhD etc.?<br>It’s not exactly a recent adventure; I started in 1980 when my father bought a computer for Christmas. Learning Basic, I faced a lot of problems because I didn’t really speak English, which most of the documentation was written in. I spent a lot of time trying to understand what the set command did (put a cell on the screen, on this machine.) Then I learned to program the Z80 processor in machine language and decided to pursue computer science. I got a masters degree from Paris VI. In 1989, I moved to Montreal and started a PhD in computational linguistics. New symbolic ways of implementing grammars were really hot.<br>I implemented a parser for my PhD thesis which was weird, because the rule system was not based on pure context-free grammars, but a set of categories which could appear on the right-hand side of your rule. People had been hunting for ways to speed this up and the solution was quite silly: Consider each category as a separate 64-bit vector, a long integer, and for each rule tag categories on the right, replacing the categories by their position on the bit vector where the value would become the index of the rule, so you could find the rule to apply from the index.<br>From there, I was recruited by PARC’s sister, the Xerox Research Centre Europe (XRCE) in Grenoble, where I still live. I spent 20 years with Xerox and another 10 with Naver who bought the lab.<br>What’s it like working as a researcher? You’ve published many papers, hold patents etc. which isn’t a common route in software.<br>Companies only evaluate researchers in 3 ways:<br>software<br>number of papers published<br>patents<br>Now, patents or intellectual property aren’t what most people think of. In industry, they function as tokens traded between companies for access to other technologies. But their importance is decreasing.<br>I’ve implemented a lot of software across these years. With my PhD in linguistics, I worked with linguists to speed tools up. As an example, on top of my PhD I wrote the Xerox Incremental Parser (XIP) (summarized here and implemented here) which could parse 3,000 words per second.<br>I’ve been dwelling on a comment of yours:<br>I worked for more than 30 years on these systems and they could never work. I implemented a very fast NLP symbolic parser, for which the team I worked with created grammars for 8 languages, including Japanese. In 2007, with a grammar of 60,000 rules, we could parse at a speed of 3000 words/s (see https://github.com/clauderouxster/XIP for the Open Source version). The parser could extract syntactic dependencies, and could use ontologies. But language is like sand, the more you try to grab, the more you leak. There was a kind of futility in trying to compress languages into rules, nothing actually scaled up . Still, we managed to win competitions as late as 2016 with SemEval sentiment analysis, and in 2017, we also ranked first in a legal document extraction campaign organized by IBM, but to no avail. It was a lot of work, and the conclusion was very simple. We had to push our grammars as far as possible into lexical grammars, which eventually LMMs managed to really implement. We discovered very early, that context was all that mattered. We tried to create grammars that would apply to a full paragraph instead of sentences, but then the performance would plummet. The reason why LLM work, is that at each step they compress the whole context into a meaningful vector, which they then used to guide the rest of the generation process. I spent my whole life in the pursuit of a perfect parser with very brilliant people, and I really find hard to say that not only did we fail, but that LLM is the response we were looking for . - Claude Roux
It was a very nice journey, but sometimes you have to accept the reality of the world: Symbolic methods have been replaced. Even 10 years ago, I could only dream of the AI technologies we have today. I wanted to be able to talk to a computer, to create things just by speaking. Now, I’m trying to apply everything I learned to new methods.<br>Talking about agents, I’m now implementing PREDIBAG, a retrieval-augmented generation system (RAG), in LispE to help harness/constrain LLMs. It’s deterministic with restricted unification.<br>So, XIP had dependency rules, connecting nodes from a tree into a dependency like a subject or direct-object dependency in the sentence tree. These were implemented on a first order logic engine, which inspired me to add Prolog to TAMGU. But this was problematic and complicated, with Prolog’s...