YOW! Lambda Jam returns in 2022
YOW! Lambda Jam is an opportunity for applied functional software developers working in languages such as Scala, Elixir, Erlang, and Haskell to enhance their software development skills using the principles, practices, and tools of functional programming.
Since 2013, YOW! Lambda Jam has been the go-to conference for functional programmers in Australia. This year you will have the chance to learn and share with functional programmers from around the globe by joining us online at our 2-day conference, featuring invited International and Australian Experts.

This year’s YOW! Lambda Jam will take place online.
Talks will be delivered live.
At Skills Matter, we’ve chosen to see the events of the past year as a challenge to make our content and community more inclusive and accessible to all. Beyond the COVID‑19 pandemic, we have a vision of a community where knowledge sharing and skills transfer are not limited by physical barriers.
We are excited about the opportunity to truly welcome the functional programming community to this year’s Lambda Jam, no matter where you are in the world. We hope to see you there!
Who's going to be there?
This year's speakers include:
Explore YOW! Lambda Jam 2022
Get involved, plan your conference, or start your learning today
Excited? Share it!
Day 1: May 17 AEST (UTC+10)
Main Track
Track | Main Track | |||
08:45
Invalid Time
Invalid Time
|
SESSION OVERVIEWS AND INTRODUCTIONS |
|||
09:00
Invalid Time
Invalid Time
|
KEYNOTE
Programming is now distributed. While a few years back, it was possible to avoid then-exotic flavors of programming like parallel, concurrent, and distributed programming, now-a-days concurrency and distribution are commonplace (e.g., microservices, web services, even mobile apps). In this talk, I’ll touch upon what I think the future will look like for distributed programming and distributed systems, while drawing comparisons with familiar and more traditional concepts you may have learned in a distributed systems course. I'll show you how we should be adjusting our mindsets going forward when sitting down to write or interact with distributed components. About the speaker...Heather MillerHeather is an Assistant Professor in the School of Computer Science at Carnegie Mellon University. Before that, she was the co-founder and Executive Director of the Scala Center at EPFL, where she was also a research scientist, as well as an Assistant Clinical Professor at Northeastern University. She completed her PhD in EPFL's Faculty of Computer and Communication Science where she contributed to the now-widespread programming language, Scala. Heather's research interests are at the intersection of data-centric distributed systems and programming languages, with a focus on transferring her research results into industrial use. She has also led development of popular MOOCs some 1 million students strong, such as "Functional Programming Principles in Scala" and "Big Data Analysis with Scala and Spark." |
|||
09:45
Invalid Time
Invalid Time
|
Q&A WITH HEATHER MILLER & TEA BREAK |
|||
10:05
Invalid Time
Invalid Time
|
Interview with Louis Pilfold on Elixir Gleam About the speaker...Louis PilfoldLouis is the creator and lead developer of the Gleam programming language, a friendly and type safe language for the Erlang virtual machine. |
|||
10:35
Invalid Time
Invalid Time
|
Q&A WITH LOUIS PILFOLD - BREAK |
|||
10:55
Invalid Time
Invalid Time
|
Scala 3 was introduced last year. It introduced significant changes to the language, many of which were motivated by the lessons learned from the past 15 or so years of actual use in many open-source and commercial applications.I'll explore these lessons and how Scala 3 addresses them. Many revolve around the pros and cons of implicits. Also, changes to the type system make it more "regular", robust, and expressive. Finally, the new, optional, and controversial "Python-like" syntax promotes even more brevity. It also acknowledges how influential and pervasive Python has become across our industry. But there are many practical areas where future work is required, many of which are larger than the scope of Scala itself. We still live in "dependency hell". We still use too many obsolete idioms that hide accidental complexity, rather than forcing us to fix it. What should we do about these issues?Finally, what is the place for Functional Programming in today's programming world? We like FP for the problems it solves, but have other tools and practices emerged that accomplish similar goals? About the speaker...Dean WamplerDean leads the engineering team for the Accelerated Discovery Platform in IBM Research. He is an expert in data systems, Scala, and software engineering practices. Previously he worked for Domino Data Lab, Anyscale, and Lightbend. Follow Dean on Twitter @deanwampler and LinkedIn at /deanwampler. |
|||
11:25
Invalid Time
Invalid Time
|
Q&A WITH DEAN WAMPLER - BREAK |
|||
11:45
Invalid Time
Invalid Time
|
LUNCH BREAK |
|||
12:45
Invalid Time
Invalid Time
|
As the focus on data-security trends upwards, developers should consider adding cryptography to their toolkit. In this talk I'll cover how to use cryptographic primitives like AES and HMAC in Elixir and how to avoid some of the common mistakes that so often lead to security problems. About the speaker...Daniel DraperDaniel is a passionate technologist and an Entrepreneur. He has been cutting code since he was 10 but has always had a penchant for business and commercialisation. For most of Daniel's career, he has been either a founder or worked in the leadership team of startups. Daniel understands the highs and lows of building businesses and the tech and product teams that support them. Daniel's current venture, CipherStash is the culmination of many years leading dev teams and the ever increasing need to manage customer data securely. Based on recent advances in searchable encryption technology, CipherStash is a new data-storage platform that keeps data encrypted at all times while still providing the search capability to which developers have become accustomed. Daniel is also a fervent believer in the need for representation in tech. Diverse teams tend to significantly outperform other teams and it is also important that the people building technology represent those who use it. As the Executive Producer for Debugging Diversity, he hopes to champion the change needed in tech to diversify the workforce and to make tech accessible to everyone. Follow Dan on LinkedIn here and on Twitter at @danieldraper. |
|||
13:15
Invalid Time
Invalid Time
|
Q&A WITH DAN DRAPER - BREAK |
|||
13:35
Invalid Time
Invalid Time
|
At HCA Healthcare we own and operate 185 hospitals, and around 2,000 surgery centers, freestanding emergency rooms, and clinics. Our scale breaks many vendor products. In 2018 we began building “Waterpark”, which would become the company’s next-gen integration platform (one-part streaming system, one-part distributed database). We chose the ErlangVM and Elixir for fault-tolerance and productivity. When COVID-19 arrived, an interesting tech story became something more serious; more essential. In this talk we will discuss * how the actor model maps so well onto healthcare * the virtues of wheel reinvention * how a big, Fortune 100 company can be more fun and innovative than a startup * how we transitioned from proof-of-concept mode to continuously available (no planned or unplanned downtime) in three weeks * how we use Erlang's hot code loading (for real) in a production cluster spread across four data centers * how the wisdom of "Papers We Love" is indistinguishable from magic, * how my hero and friend Joe Armstrong (from beyond the grave) helped make American nursing home residents safer during COVID-19 Specifically, we will discuss process pairs, long-lived digital twins, no-masters, bloom filters, rendezvous hashing, our recipes for continuous availability, location transparency, open sourcing our HL7 libraries, and using the bit-syntax for clinical data. About the speaker...Bryan HunterBryan is an artist and an engineer. He has been applying the ideas of Lean (TWI, Deming, Toyota) to software development since 1994. A passion for continuous improvement of quality, cost, and delivery times led him to functional programming (FP) in 2007. Since that time he has focussed on shipping high-volume, high-velocity, high availability distributed systems. Bryan enjoys supporting FP communities around the world and has shared his experience at conferences and universities in London, Manila, Oslo, Bangalore, Stockholm, and throughout the United States. |
|||
14:05
Invalid Time
Invalid Time
|
Q&A WITH BRYAN HUNTER & TEA BREAK |
|||
14:25
Invalid Time
Invalid Time
|
Types are a powerful language for describing specifications. In this talk, I will present my recent work on composing music from types. The idea is to represent composition rules as types and generate well-typed music using a program synthesizer. I will give a brief introduction to music theory, present a type-based encoding of composition rules, and discuss how to ensure "well-typed music does not sound wrong". About the speaker...Youyou CongYouyou Cong is an Assistant Professor in the Department of Mathematical and Computing Science at Tokyo Institute of Technology. Her research focuses on the theory and applications of continuations and dependent types. She is also interested in the tools and environments for teaching functional programming. Follow Youyou on Twitter @yuyuchazuke and LinkedIn at /youyoucong. |
|||
14:55
Invalid Time
Invalid Time
|
Q&A WITH DR YOUYOU CONG - BREAK |
|||
15:15
Invalid Time
Invalid Time
|
END OF THE DAY 1 |
Day 2: May 18 AEST (UTC+10)
Main Track
Track | Main Track | |||
08:45
Invalid Time
Invalid Time
|
SESSION OVERVIEWS AND INTRODUCTIONS |
|||
09:00
Invalid Time
Invalid Time
|
KEYNOTE
In the right hands, property-based testing (PBT) tools like QuickCheck can be astonishingly effective at finding bugs. The promise of PBT is that it gives testers a way to write down specifications of intended behavior in a form that can be automatically validated against a very large number of test cases, leading to better coverage of the input space, better documentation, and better understanding.This talk will survey past successes of PBT and ask: Why isn't PBT already part of every working programmer's toolbox, and what will it take to put it there? About the speaker...Benjamin PierceBenjamin is Henry Salvatori Professor of Computer and Information Science at the University of Pennsylvania and a Fellow of the ACM. His research interests include programming languages, type systems, language-based security, computer-assisted formal verification, differential privacy, and synchronization technologies. He is the author of the widely used graduate textbooks Types and Programming Languages and Software Foundations. He has served as co-Editor in Chief of the Journal of Functional Programming, as Managing Editor for Logical Methods in Computer Science, and as editorial board member of Mathematical Structures in Computer Science, Formal Aspects of Computing, and ACM Transactions on Programming Languages and Systems, as vice-chair of ACM SIGPLAN, as a member of ACM Council, and as chair of the SIGPLAN ad hoc committee on climate change. He holds a doctorate honoris causa from Chalmers University and in 2021 was awarded the inaugural SIGPLAN Distinguished Educator's Award. He is also the lead designer of the Unison file synchronizer and co-developer of the Midspace virtual conference platform. |
|||
09:45
Invalid Time
Invalid Time
|
Q&A WITH BENJAMIN PIERCE & TEA BREAK |
|||
10:05
Invalid Time
Invalid Time
|
What if accurate semantic information about your code was available through a rich query language that produced results in milliseconds? And what if that worked at large scale, so that you had information not just about the files you're working on, but the entire stack in which your code lives? You could use that to build IDE integration, code search and browsing tools, code analysis tools, as well as any ad-hoc tooling or infrastructure that needs accurate semantic information about code. At Meta we're building Glean, an open-source system for storing and querying information about code at scale. Glean doesn't specify what information you can store, it provides an efficient system for storing arbitrary strongly-typed data, and the tools for working with it. Glean comes with indexers for several languages. In this talk I'll take a tour through what Glean is and what it can offer. About the speaker...Simon MarlowSimon Marlow is a software engineer in the Code Search and Indexing team at Meta. For much of his career Simon has worked on the Haskell language, building large parts of the GHC compiler and its runtime system, and authoring various research publications on language design, compilers and runtime implementation. While at Meta (previously Facebook), Simon designed Haxl, a Haskell-based domain-specific language used by teams fighting abuse on Facebook. Currently he works on Glean, a system for indexing and querying source code at scale. Simon is the author of the O'Reilly book "Parallel and Concurrent Programming in Haskell". |
|||
10:35
Invalid Time
Invalid Time
|
Q&A WITH SIMON MARLOW - BREAK |
|||
10:55
Invalid Time
Invalid Time
|
Haskell is infamous for its ubiquitous support for laziness. But we do have some primitive unlifted types: Int#s, unboxed tuples, and now unlifted data declarations. It is kind of annoying that anything you go to do with them is a one-off hack. What would it take to lift the Prelude to support such weird animals? We'll introduce backpack, play with return type representation polymorphism, explore a particularly novel (legitimate!) use case for orphan instances, lift computations in incredibly dodgy ways, and see how all of this suggests a language feature I'd really like to have in Haskell, something that C++ gets right today. Oh, and we may run into a problem with 2million+ long character Haskell command line lengths. About the speaker...Edward KmettEdward spent most of his adult life trying to build reusable code in imperative languages before realizing he was building castles in sand. He converted to Haskell in 2006 while searching for better building materials. He is obsessed with finding better tools so that seven years from now he won’t be stuck solving the same problems with the same tools he was stuck using seven years ago. He's currently leading the effort to build scalable machine learning software for novel AI accelerators at Groq. In his spare time he sits on the boards of the Haskell Foundation and Topos Institute. |
|||
11:25
Invalid Time
Invalid Time
|
Q&A WITH ED KMETT - BREAK |
|||
11:45
Invalid Time
Invalid Time
|
LUNCH BREAK |
|||
12:45
Invalid Time
Invalid Time
|
Tooling is one of the most important parts of choosing a programming language. The tooling available for functional programming type systems leaves a huge amount of untapped potential. We can perform algebra on types, so there should be a library for that. We can search by types, so there should be a library for that. There's a lot of information in types, let's exploit it everywhere!I've been working on reusable libraries for making tools for types. With a tiny bit of work, you can get some fancy tooling for your favourite programming languages. This talk will show what these libraries can do, quickly show how they work and show my vision of a user experience for working with typed functional programs. About the speaker...Brian McKennaBrian McKenna is a Tasmanian functional programmer, working remotely as a Principal Developer on the Atlassian Marketplace team. Brian has taught Haskell and functional programming professionally in industry and academia. He is interested in renewable energy, electric vehicles and battery technology. Brian even owns the first electric car registered in Tasmania. |
|||
13:15
Invalid Time
Invalid Time
|
Q&A WITH BRIAN MCKENNA - BREAK |
|||
13:35
Invalid Time
Invalid Time
|
Distributed programming is currently difficult and tedious. Programming languages are generally based around the idea that a program describes what a single OS process does, on a single computer. Processes talk to each other very indirectly, by sending messages to each other via some protocol. Deployment is described out-of-band using third-party technology and heaps of config files. The build/deploy cycle is managed by more third-party tech and takes ages. Unison is a new language with a unique paradigm for distributed programming, based on the idea of content-addressed code. A Unison program can describe what an entire distributed system does. Instead of sending messages to processes running different code at different locations, a Unison program can dynamically deploy code to where the data lives, and there is no build cycle at all. This radically simplifies devops and reduces the total cost and complexity of developing distributed systems. About the speaker...Rúnar BjarnasonRúnar is a cofounder of Unison Computing, which is creating the Unison programming language. Rúnar has been doing purely functional programming in Haskell and Scala since 2005, and has authored books on Functional Programming in Scala and Kotlin. Follow Rúnar on Twitter here. |
|||
14:05
Invalid Time
Invalid Time
|
Q&A WITH RUNAR BJARNASON & TEA BREAK |
|||
14:25
Invalid Time
Invalid Time
|
Multi-stage programming using typed code quotation is an established technique for writing optimizing code generators with strong type-safety guarantees. Unfortunately, quotation in Haskell interacts poorly with type classes, making it difficult to write robust multi-stage programs. In this talk, I will present my recent work which studies this unsound interaction and proposes a resolution, staged type class constraints, which is formalized in a source calculus that elaborates into an explicit core calculus. I will show type soundness of both calculi, establishing that well-typed, well-staged source programs always elaborate to well-typed, well-staged core programs, and prove beta and eta rules for code quotations. The design allows programmers to incorporate type classes into multi-stage programs with confidence. Although motivated by Haskell, it is also suitable as a foundation for other languages that support both overloading and quotation. About the speaker...Ningning XieNingning Xie is a research associate at University of Cambridge. Her research interests are in the field of programming languages, focusing on functional programming and type theory. During her Ph.D study, Ningning had research visits at Microsoft Research Redmond and DeepMind London. Her research has been recognized by ACM SIGPLAN Distinguished Paper awards at the Symposium on Principles of Programming Languages (POPL 2020) and the Conference on Programming Language Design and Implementation (PLDI 2021). |
|||
14:55
Invalid Time
Invalid Time
|
Q&A WITH NINGNING XIE - BREAK |
|||
15:15
Invalid Time
Invalid Time
|
END OF THE DAY 2 |
-
Tiny type tools
Featuring Brian McKenna
Tooling is one of the most important parts of choosing a programming language. The tooling available for functional programming type systems leaves a huge amount of untapped potential. We can perform algebra on types, so there should be a library for that. We can search by types, so there should...
-
-
Unboxing Haskell
Featuring Edward Kmett
Haskell is infamous for its ubiquitous support for laziness. But we do have some primitive unlifted types: Int#s, unboxed tuples, and now unlifted data declarations. It is kind of annoying that anything you go to do with them is a one-off hack. What would it take to lift the Prelude to support...
-
Interview with Louis Pilfold on Elixir Gleam
Featuring Louis Pilfold
Interview with Louis Pilfold on Elixir Gleam
-
-
Waterpark: Distributed Actors vs the Pandemic
Featuring Bryan Hunter
At HCA Healthcare we own and operate 185 hospitals, and around 2,000 surgery centers, freestanding emergency rooms, and clinics. Our scale breaks many vendor products. In 2018 we began building “Waterpark”, which would become the company’s next-gen integration platform (one-part streaming system,...
-
YOW! Lambda Jam 2021
Two days - Online Conference
YOW! Lambda Jam is an opportunity for applied functional software developers working in languages such as Scala, Elixir, Erlang, and Haskell to enhance their software development skills using the principles, practices, and tools of functional programming.
elm clojure f# elixir erlang functional-programming nerves unison f-sharp elixir-erlang haskell scala -
YOW! Lambda Jam 2020
Three days - Online Conference
YOW! Lambda Jam is an opportunity for applied functional software developers working in languages such as Scala, Elixir, Erlang, and Haskell to enhance their software development skills using the principles, practices, and tools of functional programming.
elm f# clojure architecture discovery elixir-erlang haskell scala -
YOW! Lambda Jam 2019
Three days in Melbourne
YOW! Lambda Jam is a conference for applied functional software developers. The conference provides the opportunity to share experiences so that attendees can improve software development using the principles, practices and tools of functional programming.
elm f# scala haskell clojure architecture discovery experience-report case-study concept algorithm design technique practice language -
YOW! Lambda Jam 2018
Three days in Sydney
YOW! Lambda Jam is a conference for applied functional software developers. The conference provides the opportunity to share experiences so that attendees can improve software development using the principles, practices and tools of functional programming.
elm f# scala haskell clojure architecture discovery experience-report case-study concept algorithm design technique practice language -
YOW! Lambda Jam 2017
Two days in Sydney
YOW! Lambda Jam is a conference for applied functional software developers. The conference provides the opportunity to share experiences so that attendees can improve software development using the principles, practices and tools of functional programming.
elm f# scala haskell clojure architecture discovery experience-report case-study concept algorithm design technique practice language -
YOW! Lambda Jam 2016
Two days in Brisbane
YOW! Lambda Jam is a conference for applied functional software developers. The conference provides the opportunity to share experiences so that attendees can improve software development using the principles, practices and tools of functional programming.
elm f# scala haskell clojure architecture discovery experience-report case-study concept algorithm design technique practice language -
YOW! Lambda Jam 2015
Two days in Brisbane
YOW! Lambda Jam is a conference for applied functional software developers. The conference provides the opportunity to share experiences so that attendees can improve software development using the principles, practices and tools of functional programming.
elm f# scala haskell clojure architecture discovery experience-report case-study concept algorithm design technique practice language -
YOW! Lambda Jam 2014
Two days in Brisbane
YOW! Lambda Jam is a conference for applied functional software developers. The conference provides the opportunity to share experiences so that attendees can improve software development using the principles, practices and tools of functional programming.
elm f# scala haskell clojure architecture discovery experience-report case-study concept algorithm design technique practice language -
YOW! Lambda Jam 2013
One day in Brisbane
YOW! Lambda Jam is a conference for applied functional software developers. The conference provides the opportunity to share experiences so that attendees can improve software development using the principles, practices and tools of functional programming.
elm f# scala haskell clojure architecture discovery experience-report case-study concept algorithm design technique practice language