|
|

Erik Meijer is an accomplished programming-language designer who has
worked on a wide range of languages, including Haskell, Mondrian, X#, C-Omega,
C#, and Visual Basic. He runs the Data Programmability Languages Team at
Microsoft, where his primary focus has been to remove the impedance mismatch
between databases and programming languages. One of the fruits of these efforts
is LINQ, which not only adds a native querying syntax to .NET languages, such as
C# and Visual Basic, but also allows developers to query data sources other than
tables, such as objects or XML. Most recently, Erik has been working on
democratizing the Cloud using Volta and preaching the virtues of fundamentalist
functional programming in the new age of concurrency and many-core. Some people
might recognize him from his brief stint as the
"Head in the Box" on Microsoft
VBTV.
We are hiring
Interested in working on compilers, languages, virtual machines, distributed & Web programming, security, and all the fun stuff? Drop me a note!
Background
Before joining Microsoft, I was an associate professor at
Utrecht University
where I worked on advanced scripting languages such as
Haskell, XMLambda, and
Mondrian and directed the
Microsoft lab (now defunct).
In the past few years I have done "legendary
work" with the
C# and
Visual Basic
teams on language and type-system support for bridging the
worlds of object-oriented (CLR), relational (SQL), and hierarchical (XML) data,
and of course
first class functions.
Most recently my team is working on reviving the Mondrian project and other previous research work in the incarnation of
Visual
Basic for the Cloud; our attempt to
democratize distributed dynamic
data-intensive applications, i.e.
LINQ 2.0. If you want to actually play with the bits you can download the
Volta CTP from http://labs.live.com/volta/.
All my old blog entries
have vanished from the real internet, but are
still available on the backed-up internet; but you may be interested in
my occasional rants
on LTU instead.
Be warned that I am an extreme
ENTP personality type
and so I suffer deeply from all it's weaknesses; especially I exhibit "A lack
of sensitivity to the feelings and ways of those who might need reassurance,
security or commitment".
Professional activities
In both my personal and professional life, I try to be an active member of
the community. Amongst other things, I am or have been:
- Initiator and organizer of the International Summer Schools on Advanced
Functional Programming series.
- One of the designers of the lazy functional programming language
Haskell98.
- Secretary of IFIP Working
Group 2.8 on Functional Programming.
- Member of the board of directors of Software Engineering Research Center
in Utrecht (SERC).
- Invited speaker at the First International Spring School on Advanced
Functional Programming (1995), the Second Fuji International Workshop
on Functional and Logic Programming (1996), the 6th International
Workshop on Functional and Logic Programming (1997) in Germany, the
NSF Workshop on Recent Results and Undergraduate Curriculum Innovations
(1997), the Third International Summer School on Advanced Functional
Programming (1998), the International Conference on Functional
Programming 1998, ECOOP 2001,
NJPLS,
ETAPS 2003
- Member of the program committee for PLILP'95 and PLILP'96, the Second Fuji
International Workshop on Functional and Logic Programming, the 1997 Haskell
Workshop, IFL'97, ICFP'98, HW'99 (chair), HW'00, PADL 2001,
MOP 2002, the OOPSLA 2002 Poster Sessions, CGO 2003,
COCV 2003,
ECOOP 2006.
In the more distant past, I organized a Summerschool on Constructive
Algorithmics and a WG2.1 meeting and served as the local project leader of
ESPRIT basic research project 3157: "Phoenix; Integration of Functional and
Logic Programming".
Publications
Don't forget to check out the NEC research index
http://citeseer.nj.nec.com/ and
http://citeseer.nj.nec.com/allcited.html.
Thinkweek Submissions
Channel 9 and other Videos
-
Expert to Expert: Contract Oriented Programming and Spec#
-
Erik Meijer, Gilad Bracha, Mads Torgersen: Perspectives on Programming Language Design and Evolution
-
Expert to Expert: Erik Meijer and Bertrand Meyer - Objects, Contracts, Concurrency, Sleeping Barbers
-
JAOO 2007: Joe Armstrong - On Erlang, OO, Concurrency, Shared State and the Future, Part 1
-
JAOO 2007: Joe Armstrong - On Erlang, OO, Concurrency, Shared State and the Future, Part 2
-
JAOO 2007: Erik Meijer and Dave Thomas - Objects, Functions, Virtual Machines, IDEs and Other Fun Stuff
-
Tier Splitting Volta: Who. What. How. Why - Part 1
-
Tier Splitting Volta: Who. What. How. Why - Part 2
-
Erik Meijer: Functional Programming
-
Erik Meijer Shows Us His Favorite Visual Basic 9.0 Feature - XML Literals
-
Pimp My Language
-
Paul Vick and Erik Meijer - Dynamic Programming in Visual Basic
-
Erik Meijer: Democratizing the Cloud
-
Anders Hejlsberg, Herb Sutter, Erik Meijer, Brian Beckman: Software
Composability and the Future of Programming Languages
-
Outstanding Technical Achievement: C# Team
-
Erik Meijer about Volta, GWT and Democratizing the cloud
-
Erik Meijer and
Brian Beckman on Tesla
-
Erik Meijer on LINQ
Press Coverage
- Sharp Words with Microsoft's Erik Meijer, Mary Jo Foley.
-
Look Sharp, Mary Jo Foley.
- Microsoft delivers test
build of its ‘Volta’ cloud-programming toolset, Mary Jo Foley.
- Microsoft architect
compares Volta and Google's GWT, Mary Jo Foley.
- A (Microsoft) Code Name a
Day: Volta, Mary Jo Foley.
- ‘Volta’: Microsoft’s dev
platform in the Cloud?, Mary Jo Foley.
- Why the Sharp Languages
still matter, Mary Jo Foley.
-
Microsoft X# on tap, Mary Jo Foley.
-
Microsoft Ships Volta Web Development Tool, Darryl K. Taft.
- Microsoft Volta - a cool new
RIA technology, Ryan Steward.
- Microsoft creates GWT clone,
Ed Burnette.
- Volta: Browser capabilities
on steroids, John Carroll.
- Is
Microsoft's Volta a Java Killer?, Jennifer LeClaire.
-
Microsoft bridging relational, object, XML data models, Paul Krill.
-
Xen and X#: One and the same, Joe Wilcox.
-
Microsoft Research Looks to extend C#, Joe Wilcox.
-
Microsoft Expands .NET with Xen, Robyn Peterson.
Internet programming
Components and foreign-language integration
- Erik Meijer and
Clemens Szyperski. Overcoming Independent Extensibility Challenges, In Communications of
the ACM. Vol. 45, No. 10, pp. 41–44, October 2002.
- Erik Meijer and John Gough.
A Technical Overview of the Commmon Language Infrastructure.
- Erik Meijer and Clemens Szyperski.
What's In A Name: .NET as a Component Framework, In
Proc. First OOPSLA
Workshop on Language Mechanisms for Programming Software Components.
- Erik Meijer and Sigbjorn Finne.
Lambada,
Haskell as a Better Java, In
Proc. Haskell Workshop 2000.
- Daan Leijen and Erik Meijer.
Domain Specific Embedded Compilers ,
In Proc.
2nd USENIX Conference on Domain-Specific Languages'99
.
- Sigbjorn Finne, Daan Leijen, Erik Meijer, and Simon Peyton Jones.
Calling Hell from Heaven and Heaven from Hell, In Proc. ICFP'99.
- Daan Leijen, Erik Meijer, and Jim Hook.
Haskell As An
Automation Controller, volume 1608 of Springer LNCS, Braga,
Portugal, 1999.
- Riccardo Pucella, Dino Oliva, and Erik Meijer.
Aspects de la
programmation d'applications Win32 avec un language fonctionnel .
In Proc. 98 French workshop on applicative languages.
- Sigbjorn Finne, Daan Leijen, Erik Meijer, and Simon Peyton Jones.
H/Direct: A Binary Foreign Language Interface for Haskell , In
Proc. ICFP'98, 1998.
- Simon Peyton Jones, Erik Meijer, and Daan Leijen.
Scripting COM Components in Haskell, In Proc. International
Conference on Software Reuse, 1998.
Language Design
- Erik Meijer, José Blakely, ACM Queue Interview
on LINQ and the Entity Framework.
- Erik Meijer, Visual Basic 9,
OOPSLA 2007 Demo.
- Erik Meijer and Ted Neward, LINQ from the
Source, OOPSLA 2007 Tutorial.
- Gavin Bierman, Erik Meijer, and Mads Torgersen,
Lost in translation: Formalizing
proposed extensions to C#, OOPSLA 2007.
- Erik Meijer, Confessions Of A Used
Programming Language Salesman (Getting The Masses Hooked On Haskell), OOPSLA 2007
Essays.
- Erik Meijer, There Is No Impedance Mismatch
(Language Integrated Query In Visual Basic 9),
OOPSLA
2006 Demo.
- Erik Meijer, Brian Beckman, and Gavien Bierman,
LINQ: Reconciling Objects, Relations, and XML In the .NET Framework, In
SIGMOD
2006 Industrial Track.
- Erik Meijer and Brian Beckman. XML Support
in VB9. Plan-X 2006 Demo.
- Erik Meijer,
Amanda Silver,
Paul Vick.
Overview of Visual Basic 9. In Proc.
XML 2005.
- Erik Meijer and Brian Beckman. XLinq: XML Programming Refactored (The Return Of The Monoids), In
Proc. XML 2005.
- Gavin Bierman, Erik Meijer,
and Wolfram Schulte.
The Essence of Data Access in
C
ω.
In Proc. ECOOP 2005. LNCS 3586.
Erik Meijer and Peter
Drayton. Static Typing Where Possible,
Dynamic Typing When Needed: The End of the Cold War Between Programming
Languages. Proc.
OOPSLA'04 Workshop on Revival of Dynamic Languages.
Erik Meijer and Wolfram Schulte. Programming with Rectangles,
Triangles, and Circles, In Proc.
XML
2003.
Erik Meijer and Wolfram Schulte.
Unifying Tables, Objects,
and Documents, In Proc.
DP-COOL 2003.
Erik Meijer and Wolfram Schulte. XML Types for
C#, BillG ThinkWeek Submission Winter 2001.
Jason Smith, Nigel Perry, and Erik Meijer,
Mondrian for .NET, In Dr Dobb's Journal,
February 2002.
Nigel Perry and Erik Meijer,
Implementing Functional Languages on Object-Oriented Virtual Machines
(draft).
Erik Meijer, Nigel Perry and Arjan van Yzendoorn,
Scripting
.NET using Mondrian, In Proc. ECOOP'01.
Mark Shields and Erik Meijer
Type-Indexed
Rows. In Proc. POPL'01.
Erik Meijer and Mark Shields
XMLambda: A Functional
Programming Language for Constructing and Manipulating XML Documents.
Draft.
Jeffrey Lewis, Mark Shields,
Erik Meijer and John Launchbury.
Implicit
Parameters: Dynamic Scoping with Static Types. In
POPL'00.
Simon Peyton Jones and John Hughes (editors),
Report on the Programming Language Haskell
98, February 1, 1999.
Simon Peyton Jones, Mark Jones, and Erik Meijer.
Type
classes: Exploring the Design Space. In Proc. Haskell Workshop, 1997.
Erik Meijer and Koen Claessen.
The Design and
Implementation of Mondrian. In Proc. Haskell Workshop, 1997.
Simon Peyton Jones and Erik Meijer.
Henk: A
Typed Intermediate Language. In Proc. Types In Compilation Workshop,
1997.
John Peterson (editor), Report on
the Programming Language Haskell 1.4, April 6, 1997.
Software Design
- Ralf Lämmel and Erik Meijer, Mappings Make
Data Processing Go 'Round, to appear in proceedings of GTTSE 2005.
- John Launchbury, Erik Meijer, and Tim Sheard, editors. Advanced
Functional Programming, volume 1129 of Springer LNCS, Olympia, USA, 1996.
- Johan Jeuring and Erik Meijer, editors. Advanced Functional
Programming, volume 925 of Springer LNCS, Bastad, Sweden, 1995.
- Erik Meijer and Johan Jeuring.
Merging Maps and
Folds for Functional Programming. LNCS 925, 1995.
- Akihiko Takano and Erik Meijer.
Shortcut
Deforestation in Calculational Form. In Proc. FPCA'95, 1995.
- Erik Meijer and Graham Hutton.
Bananas in
Space: Extending fold and unfold to Exponential Types. In Proc.
FPCA'95.
- Luc Duponcheel and Erik Meijer.
On the Expressive Power of Constructor
Classes. In Functional Programming Glasgow 1994, Workshops in Computing.
Springer, 1994.
- Erik Meijer, Maarten Fokkinga, and Ross Paterson.
Functional
Programming with Bananas, Lenses, Envelopes, and Barbed Wire. In
Proc. FPCA'91, volume 523 of LNCS. Springer-Verlag.
- Maarten Fokkinga and Erik Meijer. Program Calculation Properties of
Continuous Algebras. Technical Report 91-4, CWI, 1991.
Hardware Design
Graphical User Interfaces
Parsing
- Daan Leijen and Erik Meijer.
Parsec:
A Practical Parser Library.
Submitted to Haskell Workshop, June 2001.
- Graham Hutton and Erik Meijer.
Monadic
Parser Combinators. Journal of Functional Programming, 8(4):437-444,
Cambridge University Press, July 1998.
- Graham Hutton and Erik Meijer.
Monadic
Parser Combinators. Technical Report NOTTCS-TR-96-4, Department of
Computer Science, University of Nottingham, 1996.
- Johan Jeuring, Maarten Fokkinga, Lambert Meertens, and Erik Meijer.
Translating Attribute Grammars into Catamorphisms. The Squigolist, 2(1),
1991.
Compiling
- Erik Meijer, Ross Paterson.
Down With
Lambda-Lifting. Unfinished draft.
- Erik Meijer. More Advice on Proving a Compiler Correct: Improve a
Correct Compiler. In PHOENIX Seminar and workshop on declarative
programming, volume 91 of Workshops in Computer Science. Springer-Verlag,
1992.
- Erik Meijer. A BMF for Semantics. Periodica Polytechnica, Ser.
Electrical Engineering, 35(1):1-17, 1991. Technical University of Budapest.
- Erik Meijer. A Taxonomy of Backtracking. In Computer Science in
the Netherlands 1989. SION, 1989.
- Erik Meijer. A Taxonomy of Function Evaluating Machines. In proc.
1988 `Aspenas' workshop on the implementation of functional languages.
Chalmers University of Technology Report 53, 1988.
- Erik Meijer and Kees Koster. The M-Machine. In Computer Science
in the Netherlands 1988, Volume 1, pages 45-61. SION, 1988.
- Erik Meijer. Generalized Expression Evaluation. Technical Report
88-5, KUN, 1988.
- Erik Meijer. Petri net Models for the lambda-calculus. In
Advances in Petri nets, volume 266 of LNCS. Springer-Verlag, 1987.
PhD thesis
Granted Patents
- 7155703, Virtual Method Protection.
- 7168063, System and Methods For Employing Tagged Types In A Dynamic
Runtime Environment.
- 7219329, System and Methods Providing Lightweight Runtime Code
Generation.
- 7389498, Core Object-Oriented Type System For Semi-Structured Data
- ...more
coming...(lots
more)

|