About Erik

Erik Meijer is a Dutch computer scientist and entrepreneur. From 2000 to early 2013 he was a software architect for Microsoft where he headed the Cloud Programmability Team. Before that, he was an associate professor at Utrecht University. He received his Ph.D. from Nijmegen University in 1992. His work at Microsoft included C#, Visual Basic, LINQ, Volta, and the Reactive programming framework (Reactive Extensions) for .NET. In 2009, he was the recipient of the Microsoft Outstanding Technical Leadership Award, and in 2007 the Outstanding Technical Achievement Award as a member of the C# team.

In 2011 Erik Meijer was appointed part-time professor of Cloud Programming within the Software Engineering Research Group at Delft University of Technology. He is also a member of the ACM Queue Editorial Board. Since 2013 he is also Honorary Professor of Programming Language Design at the School of Computer Science of the University of Nottingham, associated with the Functional Programming Laboratory. In early 2013 Erik Meijer left Microsoft and started Applied Duality Incorporated.

His research interests include functional programming (particularly Haskell), compiler implementation, parsing, programming language design, XML, and foreign function interfaces.

Get to know Erik even more on his LinkedIn page.

The talk: Virtual Machinations: Leveraging the Linguistic Bytecode of Large Language Models to Emulate Programming Language VMs

If AI is the new embodiment of computing, we need to adjust the way we as humans communicate with and instruct AIs to perform desired tasks. However, natural language is inefficient for expressing ideas and instructions precisely. This is why computer scientists create programming languages. All programming languages share the design principles of *abstraction*, naming arbitrary things, and referring to these things by their names; and *parametrization*, leaving named holes for things that can be filled in by actual things via application.

We will demonstrate the design of a natural language-based programming language that is also based on the principles of abstraction and parametrization. Moreover, we will show how we can implement this language by using a large language model as its virtual machine. This approach leverages the LLM's capacity as a general sequence predictor, transforming it into a tool for generating sequences of instructions for our newly designed language.

The correspondence between LLMs and VMs enables the transfer of numerous techniques and insights from the programming language domain to the realm of LLMs. This cross-pollination of concepts opens up new avenues for utilizing LLMs to effectively execute complex computational tasks. By leveraging the strengths of both natural language and programming languages, we can bridge the communication gap between humans and AI systems, paving the way for a future of seamless and intuitive AI interaction.

Why I look forward to this talk

It might seem like everyone who speaks at myConf is an old friend of mine. That’s definitely not true! Future friends are also OK!

Our next speaker, Erik Meijer, *is* an old friend and hopefully also a future friend! But that’s not at all why he was invited. He is a living legend, here to inspire us all. And he certainly knows how to.

If there was a Nobel prize in software development, Erik would have already received one or he’d be on the shortlist. That’s on the table for his old achievements so far, such as LINQ and Rx. But his most exciting stuff is yet to come.

I will paraphrase a famous Swedish comedian regarding when someone gets the Nobel Prize, but this time about us having Erik at myConf:

ÄÄÄNTLIGEN!!! (FINALLYYY!!!)

/Jimmy Nilsson, CEO and Consultant at factor10