ML 2006 START Conference Manager    

Leveraging .NET Meta-programming Components in F#

Don Syme

The 2006 ACM SIGPLAN Workshop on ML (ML 2006)
Portland, Oregon, 16th September 2006


Language-integrated meta-programming and extensible compilation have

been recurring themes of programming languages since the invention of

LISP. One application of these techniques is the use of small

meta-programs to specify database queries, as used in the Microsoft LINQ

extensions for .NET. It is important that .NET languages such as F# are

able to leverage the functionality provided by LINQ and similar

heterogeneous execution components, both for pragmatic reasons and as a

first step toward applying more disciplined, formal approaches to these

problems. This paper explores the use of modest meta-programming

extensions to F# to access and leverage LINQ and other components. We do

this by demonstrating an implementation of language integrated SQL

queries via F# quotations and the LINQ/SQLMetal libraries. We also

sketch two other applications: the execution of data-parallel F#

quotations on a GPU via the Accelerator libraries, and the dynamic

native-code compilation of closed quotations via LINQ.

START Conference Manager (V2.52.7)