|
|

Erik Meijer is an architect in the SQL Server group at Microsoft. His alter-ego is
VBTV's
"Head in the Box".
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).
I am currently doing "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 Brain Beckman and I
are 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 to my chagrin; 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.
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, 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
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.
- I have 160 more patents pending.


|