|
|
London .NET User Group:Introduction to Writing DSLs with C#3.5
Introduction to Writing DSLs with C#3.5
LINQ is an internal DSL provided by C# for accessing streams of data. We can leverage the same feature set added to the language to make LINQ to author our own internal DSLs. In this session Ian introduces you to the ideas behind Internal DSLs and shows how C# 3.5 helps you to write them.
Review
In this session, Ian Cooper talks about Internal DSLs and demonstrates how to use LINQ in C# applications with live examples.
A Domain-Specific Language (DSL) can be defined as a programming language targeted at a particular kind of problem. It is not meant to be used for problems outside of its domain. DSLs are particular ways of using a host language (in our case, the C# language) to shape the feel of a particular language. An internal DSL is limited to the syntax and structure of its base language.
Language Integrated Query (LINQ) extends C# and VB with native language syntax for queries and provides class libraries to take advantage of these capabilities. LINQ to SQL provides a run-time infrastructure for managing relational data as objects without losing the ability to query.
Nested Closures are another topic covered in the talk. A Nested Closure is similar to that of Nested Function, but the child expressions of the function call are wrapped in a closure.
Ian also talks about the method chaining pattern, whose purpose is defined by Martin Fowler as: “To make modifier methods return the host object so that multiple modifiers can be invoked in a single expression.”
Open Ian Cooper’s web site.
Martin Fowler’s web site, which includes information on DSLs based on his book (currently being written) can be accessed here.
Review by Eren Aykin
ABOUT THE LONDON .NET USER GROUP
|
The London .NET user group was etablished in 2002 to provide developers developers working with Microsoft's .NET framework with access to the latest and best information. At our monthly meetings you can hear expert speakers who dig 'under the hood' and keep you informed on best practices and future directions of the Framework.
More about the London .NET User Group
|
|
PODCAST INTRODUCTION TO WRITING DSLS WITH C#3.5
|
|
|
PROGRESSIVE .NET PODCASTS
|
OTHER PROGRESSIVE .NET EVENTS
|
ThoughtWorks Quarterly Briefings
FREE EVENT:
Is programming language choice
Manchester, Monday, February 13th
|
|
ThoughtWorks Quarterly Briefings
FREE EVENT:
Is programming language choice
London, Thursday, February 16th
|
|
Udi Dahan's NServiceBus Workshop
4 DAY COURSE. Featuring Andreas Ohlund London, Monday, February 20th
|
|
Putting your events on a diet
FREE EVENT:
In The Brain of Andreas Ohlund
London, Monday, February 20th
|
|
Neo4J User Group
FREE EVENT:
Neo4j in .NET
London, Wednesday, February 22nd
|
|
Ayende Rahien's RavenDB Workshop
2 DAY COURSE. Featuring Itamar Syn-Hershko London, Tuesday, February 28th
|
|
RavenDB indexes explained
FREE EVENT:
In The Brain of Itamar Syn-Hershko
London, Tuesday, February 28th
|
|
Jon & Kevlin's Agile Development Course
3 DAY COURSE. Featuring Jon Jagger London, Monday, March 5th
|
|
|
|