Tomas Petricek - Domain Specific Languages, the functional way
Details
Dear F#unsters,
Please join us for F#riday night is F# night, with the experienced open-source F# developer, author & MVP Tomas Petricek.
Abstract
Domain Specific Languages, the functional way
In software development, we often face the same problem over and over again. For example, when designing user-interfaces, we need to specify the layout of components; when designing financial systems, we need to detect various patterns in changing prices. The Domain Specific Language (DSL) approach is to design a language for the specific problem domain and then use it repeatedly to solve multiple instances of the same problem.
In this talk, we look how to think about DSLs in a functional way. This lets us focus on the domain. Rather than worrying about the syntax, we start by understanding what problems we actually want to model and what is the best way to do so. Along the way, we’ll look at three fun examples ranging from a language for building 3D objects to a language for detecting price change patterns.
Get ready for some live coding in F#, but don’t worry if you have not done much F# before! You can use the ideas from this talk in any programming language and I’ll introduce all the necessary F# along the way
The Speaker
We are extremely excited to have Tomas Petricek (http://www.cl.cam.ac.uk/~tp322/) making a special trip to Toronto to share his F# wisdom with us. Tomas is an incredible asset to the F# community, author of two books:
• Real-world Functional Programming: With Examples in F# and C# (http://www.chapters.indigo.ca/en-ca/books/real-world-functional-programming-with/9781933988924-item.html)
• F# Deep Dives (http://www.chapters.indigo.ca/en-ca/books/f-deep-dives/9781617291326-item.html?ikwsec=Home&ikwidx=1)
open source developer & contributor to many F# projects & frameworks including:
• F# Data (http://fsharp.github.io/FSharp.Data/)
• Deedle (http://bluemountaincapital.github.io/Deedle)
• Literate programming tools for F# (http://tpetricek.github.io/FSharp.Formatting/demo.html)
awarded MVP (http://mvp.microsoft.com/en-us/mvp/Tomas%20Petricek-10516) status for his academic work (http://www.cl.cam.ac.uk/~tp322/) with Don Syme, frequent contributor to StackOverflow (http://stackoverflow.com/users/33518/tomas-petricek), experienced trainer (https://skillsmatter.com/courses/473-tomas-petricek-phil-trelford-fast-track-to-fsharp), and enthusiastic blogger (http://tomasp.net/blog/).
For an example of a recent talk by Tomas see
http://channel9.msdn.com/Events/dotnetConf/2015/The-F-Path-to-Data-Scripting-Nirvana
What to bring
To get the most from the session please try and bring a laptop along with F# installed (ideally either Xamarin Studio, MonoDevelop or Visual Studio); you can find detailed instructions for OSX, Linux and Windows on fsharp.org (http://fsharp.org/). And if you've never used F# before and want a head-start, check the great online intro tutorials on TryFSharp.org (http://www.tryfsharp.org/).
Who should come
• Scala programmers who want to learn about functional programming on the "other" platform
• C# programmers wanting to learn about the "other" .net language
• Data scientists who use R, Python + Pandas, who want to hear about the new kid on the data science programming language block
• Python programmers who would never want to give up their pithy syntax & freedom from variable type declaration boiler-plate code, but want the advantages of static typing - such as how it allows IDEs such as Visual Studio to help you to write correct code, even before you run it
F#riday night is F# night
Details on venue to follow very shortly.
Ian & Tao
