HOME SCALA & F# JAVA .NET WEB GROOVY & GRAILS ANDROID & IOS NOSQL ARCHITECTURE AGILE & SCRUM AGILE DEVELOPER  
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 IAN COOPER
Ian is a passionate exponent of the benefits of OO and Agile. He is test-infected and contagious. When he is not writing C# code he is also the founder of the London .NET User Group .
More about Ian Cooper

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
Russel Winder:Python is a High Performance Programming Language, High Performance Python
Russel Winder : 31st Jan 2012
View Podcast: Python is a High Performance Programming Language,
Garry Shutler:Gain Trust and Create Change, Trust & Change
Garry Shutler : 30th Jan 2012
View Podcast: Gain Trust and Create Change,
Phil Trelford:Pacman Kata, f# kata
Phil Trelford : 26th Jan 2012
View Podcast: Pacman Kata,
 :Usable APIs, Usable APIs
: 12th Dec 2011
View Podcast: Usable APIs,
Andreas Ohlund:New and shiny things in NServiceBus 3.0, NServiceBus 3.0
Andreas Ohlund : 7th Dec 2011
View Podcast: New and shiny things in NServiceBus 3.0,
Uncle Bob (Robert C. Martin):Why can't anyone get Web architecture right?, Web architecture
Uncle Bob (Robert C. Martin) : 28th Nov 2011
View Podcast: Why can't anyone get Web architecture right?,
Gojko Adzic:Visualising quality, Visualising quality
Gojko Adzic : 18th Nov 2011
View Podcast: Visualising quality,
Byron Cook:Proving program termination with F#, F# program termination
Byron Cook : 16th Nov 2011
View Podcast: Proving program termination with F#,
Don Syme:KEYNOTE - F# Information Rich Programming, KEYNOTE - F# Information Rich Programmin
Don Syme : 3rd Nov 2011
View Podcast: KEYNOTE - F# Information Rich Programming,
Mark Needham:Programming with the Stars featuring surprise celebrities from C# and F# communities, Programming with the Stars
Mark Needham : 3rd Nov 2011
View Podcast: Programming with the Stars featuring surprise celebrities from C# and F# communities,
Chris Marinos:The F# Koans: An Interactive Way to Learn F# Through Testing, F# Koans with F# Testing
Chris Marinos : 3rd Nov 2011
View Podcast: The F# Koans: An Interactive Way to Learn F# Through Testing,
Tomas Petricek:Asynchronous Programming, Asynchronous Programming
Tomas Petricek : 3rd Nov 2011
View Podcast: Asynchronous Programming,
George Stavroulakis:F# in the cloud: The present and the future, F# in the cloud
George Stavroulakis : 3rd Nov 2011
View Podcast: F# in the cloud: The present and the future,
Robert Pickering:Building Applications with F#, Building Applications with F#
Robert Pickering : 3rd Nov 2011
View Podcast: Building Applications with F#,
Tomas Petricek:Data access in F#, Today and Tomorrow, Data access in F#, Today and Tomorrow
Tomas Petricek : 3rd Nov 2011
View Podcast: Data access in F#, Today and Tomorrow,
OTHER PROGRESSIVE .NET EVENTS
ThoughtWorks Quarterly Briefings:Is programming language choice a good thing?, ThoughtWorks Quarterly Briefings
FREE EVENT: Is programming language choice
Manchester, Monday, February 13th
ThoughtWorks Quarterly Briefings:Is programming language choice a good thing?, ThoughtWorks Quarterly Briefings
FREE EVENT: Is programming language choice
London, Thursday, February 16th
Andreas Ohlund:Udi Dahan's Enterprise Development with NServiceBus,  Udi Dahan's NServiceBus Workshop
4 DAY COURSE. Featuring Andreas Ohlund
London, Monday, February 20th
Andreas Ohlund Putting your events on a diet,  Putting your events on a diet
FREE EVENT: In The Brain of Andreas Ohlund
London, Monday, February 20th
Neo4J User Group:Neo4j in a .NET world, Neo4J User Group
FREE EVENT: Neo4j in .NET
London, Wednesday, February 22nd
Itamar  Syn-Hershko:Ayende Rahien's RavenDB Workshop,  Ayende Rahien's RavenDB Workshop
2 DAY COURSE. Featuring Itamar Syn-Hershko
London, Tuesday, February 28th
Itamar  Syn-Hershko RavenDB indexes explained,  RavenDB indexes explained
FREE EVENT: In The Brain of Itamar Syn-Hershko
London, Tuesday, February 28th
Jon Jagger:Jon Jagger & Kevlin Henney's Agile Development for Developers,  Jon & Kevlin's Agile Development Course
3 DAY COURSE. Featuring Jon Jagger
London, Monday, March 5th
© Copyright 2003-2011, Skills Matter Ltd
  Web development by You In Control
About Us  Jobs  Find Us  Meeting & Training Rooms  Newsletter  Jobs: Sales Executive  Jobs: Student SkillsCaster  jobs - junior event coordinator  Speed Coding 2011  Open Source Journal  Ticket Raffle  Agile Expert Series  Jobs: Sponsorship Development  jobs: Marketing & Sales Graduate Internship