Functional Programming eXchange 2012 / Haskell for embedded domain-specific languages
Please RSVP for instructions on how to join the event.
Description
A domain-specific language (DSL) is a usually small language for a dedicated domain with its own unique appearance and rules for composition. Haskell has a very flexible syntax, and offers higher-order functions. Therefore, we can often mimic the visual style of a particular domain directly within the language, yielding an embedded DSL.
The advantages of embedding DSLs are that we can use Haskell's strong type system to ensure the correctness of our DSL programs, saving us the work of implementing a full compiler. Furthermore, we can use all of Haskell's abstraction facilities, thereby making the DSL more powerful than it might at first appear. Finally, we can easily mix different DSLs in a single program.
The Haskell world is full of DSLs being used for various things such as parsing, testing, interfacing to databases, generating content for the web, composing music, images and animations etc. In this talk, we will look at a number of example EDSLs and explore some fundamental principles, with the goal of highlighting the many advantages (and the few disadvantages) of the EDSL approach as well as providing advice for the design of new EDSLs.
Outline
A domain-specific language (DSL) is a usually small language for a dedicated domain with its own unique appearance and rules for composition. Haskell has a very flexible syntax, and offers higher-order functions. Therefore, we can often mimic the visual style of a particular domain directly within the language, yielding an embedded DSL.
The advantages of embedding DSLs are that we can use Haskell's strong type system to ensure the correctness of our DSL programs, saving us the work of implementing a full compiler. Furthermore, we can use all of Haskell's abstraction facilities, thereby making the DSL more powerful than it might at first appear. Finally, we can easily mix different DSLs in a single program.
The Haskell world is full of DSLs being used for various things such as parsing, testing, interfacing to databases, generating content for the web, composing music, images and animations etc. In this talk, we will look at a number of example EDSLs and explore some fundamental principles, with the goal of highlighting the many advantages (and the few disadvantages) of the EDSL approach as well as providing advice for the design of new EDSLs.
Recording
The creator of this video has not given permission to embed it on this domain.
Instead, you can view this video by following this external link:
Go to siteAndres Löh (34)
No biography is available.
Andres's upcoming trainings
Andres's past online trainings
Andres's blog posts
Course tags
- f# × 13
- functional × 4
- erlang × 3
- http × 2
- introduction × 2
- web × 2
- websharper × 2
- agents × 1
- asp.net × 1
- asp.net mvc × 1
- async × 1
- beginners,, × 1
- c# × 1
- clojure × 1
- concurrent × 1
- distributed programming × 1
- erlang express × 1
- erlang for beginners × 1
- erlang, × 1
- ets × 1
- for, × 1
- haskell × 1
- linq × 1
- ocaml × 1
- otp × 1
- otp, × 1
- pit fw × 1
- scala × 1
- servicestack × 1
- silverlight × 1
- single page application × 1
- web api × 1
- workflows × 1
Featured Courses
Learning F# - Basics
Get started with F# quickly and effectively.F# Programming I
Part I of a comprehensive 3-part introduction to the F# programming language.F# Programming II
Part II of a comprehensive 3-part introduction to the F# programming language.F# Programming III
Part III of a comprehensive 3-part introduction to the F# programming language.Understanding Functional Programming
Master functional programming concepts that jumpstart your productivity.Introduction to WebSharper
Learn how to use WebSharper for real-life web applications.
Copyright (c) 2011-2012 IntelliFactory. All rights reserved. Home | Products | Consulting | Trainings | Blogs | Jobs | Contact Us | Terms of Use | Privacy Policy | Cookie Policy |
Built with WebSharper |