This talk will look at some lessons learned from some recent projects where BDD was applied. Plus some tips to get you started on constructing good specifications for both business analysts and testers, along with some developer tips for testing asynchronous applications.
In his talk Tomas will show us how to implement message passing concurrency in F# using agents (the MailboxProcessor type in F#). In this style of programming, we write an application as a group of agents that run in parallel and communicate by sending immutable messages to each other.
This removes the sharing of mutable state, making the application scalable and easier to understand. However, the required application structure is quite different. We’ll discuss several common patterns that you can use for structuring agent-based applications. For example, we’ll look how to implement pipeline processing and map-reduce pattern using agents.
YOU MAY ALSO LIKE:
- Lightning Talk: Open Source Fun from Start to End (SkillsCast recorded in October 2020)
- Functional Concurrency in .NET with C# and F# with Riccardo Terrell (Online Workshop on 11th - 14th October 2022)
- F# eXchange 2022: Online (Online Conference on 25th - 26th October 2022)
- F# eXchange 2022: In-Person (in London on 25th - 26th October 2022)
- Test Those Metrics! Our Black-Box Approach for Observability Testing (SkillsCast recorded in December 2021)
- Haskell: A Conversion Experience (SkillsCast recorded in November 2021)
TickSpec – BDD for C# & F# & Writing concurrent applications using agents
Phil Trelford
Phil is an active member of the software development community, regularly attending and speaking at user groups and conferences, blogging and contributing to open source projects. He is a co-organizer of the London F# User Group and a founding member of the F# Foundation.
Tomas Petricek
Tomas is a computer scientist and open-source developer. He is a Visiting Researcher at the Alan Turing Institute working on tools for open data-driven storytelling. He wrote a popular book called "Real-World Functional Programming" and is a lead developer of several F# open-source libraries.