HOME JAVA & JEE OPEN SOURCE .NET WEB & RIA CLOUD & GRID ARCHITECTURE & DDD AGILE PM & SCRUM AGILE TESTING OS, MOBILE & SERVER  
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
PODCAST INTRODUCTION TO WRITING DSLS WITH C#3.5
Digg! StumbleUpon
OPEN SOURCE .NET PODCASTS
David Evans:Testable Software, Testable Software
David Evans : 23rd Jun 2009
View Podcast: Testable Software,
Peter Mounce:Rake.NET, Rake.NET
Peter Mounce : 16th Jun 2009
View Podcast: Rake.NET,
Michael Delaney:Iron Ruby, Iron Ruby
Michael Delaney : 16th Jun 2009
View Podcast: Iron Ruby,
Gojko Adzic:FitNesse, TextTest & Robot Framework, Acceptance testing with FitNes
Gojko Adzic : 27th May 2009
View Podcast: FitNesse, TextTest & Robot Framework,
Martijn Verburg:How to run a successful Open Source Project, Open Source Project
Martijn Verburg : 26th May 2009
View Podcast: How to run a successful Open Source Project,
Scott Cowan:How to make a search engine with Lucene.net , Search Engines witih Lucene.ne
Scott Cowan : 19th May 2009
View Podcast: How to make a search engine with Lucene.net ,
Phil Trelford:Phil Trelford: F# Introduction, Phil Trelford: F# Introduction
Phil Trelford : 19th May 2009
View Podcast: Phil Trelford: F# Introduction,
David Laribee:Towards a New Architect, Towards a New Architect
David Laribee : 11th May 2009
View Podcast: Towards a New Architect,
Hamilton Verissimo de Oliveira:Castle Workshop, Castle Workshop
Hamilton Verissimo de Oliveira : 11th May 2009
View Podcast: Castle Workshop,
Gojko Adzic:Specification by example and Agile acceptance testing , Specification by example & Agi
Gojko Adzic : 11th May 2009
View Podcast: Specification by example and Agile acceptance testing ,
Robert Pickering:F# Tutorial, F# Tutorial
Robert Pickering : 11th May 2009
View Podcast: F# Tutorial,
 :Magnus Henoch - TFL Journey Angel, Magnus Henoch - TFL Journey An
: 11th May 2009
View Podcast: Magnus Henoch - TFL Journey Angel,
 :Panel Discussion , Panel Discussion
: 11th May 2009
View Podcast: Panel Discussion ,
Ian Cooper:Writing Internal DSLs in C#, Writing Internal DSLs in C#
Ian Cooper : 11th May 2009
View Podcast: Writing Internal DSLs in C#,
Sebastien Lambla:OpenRasta - An MVC framework with strong opinions, OpenRasta - An MVC framework
Sebastien Lambla : 11th May 2009
View Podcast: OpenRasta - An MVC framework with strong opinions,
OTHER OPEN SOURCE .NET EVENTS
Open Source .NET eXchange III, Open Source .NET eXchange III
CONFERENCE (3.5 HOURS)
London, Thursday, July 16th BOOK NOW!
:Core Spring .NET: Developing with Spring .NET,  Spring .NET Application Development
4 DAY COURSE.
London, Tuesday, July 21st
Gojko Adzic:Test Driven .NET Development in Practice ,  TDD .NET Development
2 DAY COURSE. Featuring Gojko Adzic
London, Monday, August 3rd
Gojko Adzic:Opensource .NET Tools Crash Course ,  Opensource .NET Tools Crash Course
3 DAY COURSE. Featuring Gojko Adzic
London, Wednesday, August 5th
Gojko Adzic:Agile Web Development with the Castle Framework,  Agile Castle Web Development
2 DAY COURSE. Featuring Gojko Adzic
London, Monday, August 10th
Oren Eini aka Ayende Rahien:Core NHibernate: Persistence with NHibernate,  Persistence with NHibernate
3 DAY COURSE. Featuring Oren Eini aka Ayende Rahien
London, Wednesday, August 12th
Gojko Adzic:Advanced Agile Web Development with Castle Project Framework ,  Advanced Castle Web Development
2 DAY COURSE. Featuring Gojko Adzic
London, Monday, August 17th
David De Florinier:Agile Web Development with the Castle Framework,  Agile Castle Web Development
2 DAY COURSE. Featuring David De Florinier
Aarhus, Monday, August 24th
© Copyright 2003-2008, Skills Matter Ltd
  Web development by You In Control
About Us  Jobs  Find Us  Meeting & Training Rooms  Newsletter  Community  Community-FR  Apress  1st Teach  Jobs: Telesales  Jobs: Student Podcaster