Using a “combinator” approach to create internal Domain Specific Languages (DSLs) is something that has been popular in Haskell and the ML family of programming languages for quite some time. Much has been written about it in academic circles, yet this approach to creating DSLs has yet to become popular in main stream industrial programming. Now that F#, a member of the ML family of programing languages, is available out of the box in Visual Studio 2010, this means that these techniques are now much more accessible to programmers working in industry.
This talk will start by addressing the question of what is a combinator and show why combinators are a great way of building internal DSLs. It will then go on to show how this programming technique any be applied to many different problem domains, all of which are very relevant to the modern industrial developer. We’ll also look at some of the existing combinator libraries available for F# such as FParsec and FsCheck.
YOU MAY ALSO LIKE:
- Art and Neural Network with F# - Audience Level: Beginner (SkillsCast recorded in April 2017)
- Functional Concurrency in .NET with C# and F# with Riccardo Terrell (Online Course on 7th - 10th December 2021)
- Haskell eXchange 2021: Novice Track (Online Conference on 15th November 2021)
- Haskell eXchange 2021: Pro Track (Online Conference on 16th - 17th November 2021)
- Accessibility Testing: Why and How to involve People with Disabilities (Online Meetup on 28th October 2021)
- Hashing Modulo Alpha Equivalence (SkillsCast recorded in May 2021)
- In The Belly Of The Whale: Tales From Haskell In The Enterprise (SkillsCast recorded in May 2021)
The Combinator Approach to Programming Domain Specific Languages with F#
Robert Pickering is a software engineer with an interested in using functional programming, particularly F#, to solve real world problems.