When designing software, we often need to solve numerous instances of the
same problem. When designing user-interfaces, we need to describe the layout and interaction. When financial systems, we need to describe a wide range of financial contracts or, for example, recognize different patterns in price
Domain Specific Languages (DSLs) give us a way to solve such repeating
problems. By designing a composable functional library, we can build an
expressive language for describing our problems. Using the flexible F#
syntax, we can get code that even non-programmers can understand.
In this practically oriented talk, we'll develop a number of sample DSLs,
ending with realistic examples. We'll cover both basic principles of DSL
design as well as advanced tricks, such as using the F# 3.0 query syntax.
Tomas is a long-time F# enthusiast, Microsoft MVP and author of a book
Real-World Functional Programming (http://manning.com/petricek). He leads
functional programming and F# courses in London and New York and contributed to the development of F# as an intern and contractor at Microsoft Research in Cambridge. He is a PhD student at University of Cambridge, working on functional programming languages.