Tony will be presenting the following sessions
Tony Morris - Types and Property Tests for Software ResiliencyTony MorrisSoftware EngineerSimple Machines
schedule 1 year agoSold Out!
In this talk, we utilise the tools of Functional Programming to provide robust and resilient software components. We start off by defining Functional Programming and investigate how this itself can improve the quality of software. Once we have committed to programming in this style, we explore some of the tools that naturally arise. These tools will be explored using a variety of programming languages, since these techniques are available in many popular programming environments. Some examples will also introduce Haskell syntax.
- Using static types to provide a reliable indication of the behaviour of software, including up to proof of correctness. We will use the technique of parametricity to demonstrate this reliability[^1].
- Using property-based testing for high coverage testing with minimal programmer effort.
- We will also have a look at the trade-offs that are made between types and tests and discuss a reasoning framework on making optimal decisions on when to use each.
[^1]: Wadler, Philip. "Theorems for free!." FPCA. Vol. 89. No. 4. 1989
Tony Morris - Functional Programming Deep-Dive with Types and Property-Based TestingTony MorrisSoftware EngineerSimple Machines
schedule 1 year agoSold Out!
This workshop will first introduce Functional Programming concepts using the Haskell programming language syntax and tools.
We will then present a series of exercises that utilise the static type system of Haskell and with some guidance, solve the exercises. Subsequent exercises will introduce property-based testing using the hedgehog library. Finally, we will tackle some exercises where a trade-off must be considered, and solve those using both types and property-based tests.
The focus of this workshop will be on introducing the tools for achieving software resiliency and robustness. The techniques learned here may be applied in other programming language environments.
DateTime: This workshop is scheduled on Oct 12th and 13th from 1 PM to 5 PM IST (4 hours each day)
1. What got you started/interested in Agile?
Trying to find solutions to all the broken software out there.
2. What do you think is the biggest challenge faced by the Agile community today?
Formalising the meaning of Agile, so that it can be better communicated to others.
3. Tell us about the session(s) you will be presenting at the conference and why did you choose those topics?
I will be presenting on Functional Programming and using types to achieve software-related goals. I chose this topic because I think it is consistent with the goals of Agile and takes it to its natural conclusion.
4. What are some of the key takeaways from your session(s) at Agile India?
A concrete method of achieving software-related goals, such as program correctness, abstraction and modularity.
5. Which are your favourite sessions at Agile India this year? (Sessions that you are looking forward to attending)
I'm mostly looking forward to meeting people who hold different view points. I expect I'll find that in all of the sessions.
6. Any personal remarks/message you want to share with the Agile Community?
We are all one.