Lambda World 25
Videos from the last edition of Lambda World 2025.
-
From Lambda to LLMs: AI Coding and the Future of Programming by Anurag Mendhekar
AI coding tools can generate code across a wide range of syntaxes, paradigms, and environments. They are beginning to transform how we write, teach, and even conceive of programming. For decades, functional programming has pushed toward higher levels of abstraction, composability, and reasoning. ...
-
Evolving AI-Assisted Web UI Development in F#: Lessons learned from a DSL for ChatGPT and WebSharper by Adam Granicz
In this session, I will explore the evolution of a novel approach: leveraging LLMs to generate, refactor, and incrementally update Web UIs using a domain-specific language (DSL) as a semantic bridge. In the spirit of specification as code, we look at the problem of translating abstract UI intents...
-
Prompting Safely: Building Secure LLM Prompts with a Scala DSL - Ignacio Gallego Sagastume & Isaias Bartelborth
Discover how a domain-specific language (DSL) in Scala can help you design secure and composable prompts for LLMs. This talk explores techniques to prevent prompt injection, enforce prompt structure, and reason about non-deterministic behavior using a monadic effect system and Functional Programm...
-
Does FP still matter in the era of AI?
Closing debate at Lambda World.
-
Verse - A New Functional Logic Language by Lennart Augustsson
Verse is a functional logic language mainly designed by Tim Sweeney at Epic Games. It has several unique features. In this talk I will briefly present the language, and dive a little deeper into the novel way function definitions work.
-
From Functions to Inlinable Effects in Kotlin by Michail Zarecenskij
In this talk, we'll explore how Kotlin combines imperative and functional programming styles. We'll look at how to manage effects without relying on effect handlers, how inline functions play a key role, and how must-use return values help gently distinguish pure functions from those with side ef...
-
Complexity is a sin by Volodymyr Yaroslavskyi
Code complexity is something that turns “new fun project” into “legacy code”, if left uncontrolled. Unfortunately, you cannot write CI check for it, so it is up to developers discipline in every PR. This talk is about recognising complexity, accessing the potential damage and how to fix it.
-
Functional Rust: From ADTs to Advanced Concurrency by Stefano Candori & Adrian Ramirez
Rust combines the rigour of functional programming with the low-level control of a systems language, giving developers the tools to model invariants, compose logic with clarity, and run workloads safely at scale. In this talk, we'll refactor a deliberately "bad" Rust example into a safe, expressi...
-
From Clojure to Elixir: Leveraging Functional Programming for Scalable, Sustainable Web Apps by Wendy Randolph
This talk shares the experience of building a web application in two functional languages: Clojure and Elixir. By looking at how each language shaped the architecture, tooling choices, and development workflow, we'll explore how different design philosophies show up in real-world projects. From C...
-
Total Functions for Automated Reasoning: Building Terminating Theorem Provers by Alexander Gryzlov
While much of today's AI focuses on statistical methods, a well-established parallel exists in the form of symbolic, also known as Good Old-Fashioned AI (GOFAI). Here, programs manipulate logical formulas to solve strictly defined problems through reasoning rather than learning. Automated theorem...
-
Accidental Functional Programming in Rust (From an Epidemiologist's Perspective) by Dr. Caroline Morton
I don't have a background in functional programming - and I never set out to write it. But somewhere between writing trait-based epidemiological pipelines, composing data transformations, and leaning hard on Result, enums, and pattern matching, I started hearing from others: “That's pretty functi...
-
When magic meets multicore - OCaml and its elegant era of parallelism by Carine Morel & Sonja Heinze
"Merlin" is certainly a magician -- but it's also the backend for OCaml's language server. It allows OCamlers to get superb editor support, such as seeing OCaml's type inference, navigating to a definition, constructing or destructing sum type values, and much more. In a different vein, OCaml mul...
-
Aeon — An AI-native programming language by Alcides Fonseca
Program Synthesis is the dream of every developer. You specify what you want to write, and the computer writes the code for you. This specification can take several shapes: the signature (types) of a function, its documentation, or some input-ouput examples. Aeon is a programming language that su...
-
Pick a (Effect) Lane: A comparison of direct-style scala vs effect systems by Jayanth Manklu
As the chatter over direct-style effects gains steam with Odersky publishing "Lean Scala" manifesto and speaking in multiple conferences about it, I dipped my toes into direct-style scala, and will present, without any bias, a comparison of both effect systems & direct-style in multiple angles. I...
-
Declarative UIs in a functional language by Damian Soriano
In this talk, we will explore how we built a library to define declarative UIs using an in-house functional language. The discussion will center around three key components: a declarative view, an update function, and a model. We will address various challenges such as background tasks, efficient...
-
Sketching streams with aquascape by Zainab Ali
Functional streams are a vital tool in any ecosystem. They can simplify the code for webservers, event loops, and data-intensive applications. But they are notoriously difficult to understand. In this talk, we'll explore a mental model of stream execution in fs2, a functional stream processing li...
-
The Mastermind behind Refinement Types by Jorge Mayoral & Juanjo Madrigal
Should your function only admit positive integers? Does it always return non-empty lists? Refinement types are wonderful: beyond typing, you can annotate the behaviour of your function values. It's a great ally for the correctness of a program, but there is fine print: obviously the wonder is not...
-
From Exception Hell to Typed Bliss: Real-World Error Handling with Kotlin and Arrow by Jordi Pradel
Error handling often turns into a production nightmare: monitoring alerts triggered by invalid user input, critical issues lost in log noise, and users abandoning forms after fixing one error at a time. Meanwhile, teams debate whether functional programming solutions are worth the steep learning ...
-
Starship Enterprise: Functional Programming at Huge Companies by Jack Higgs
Practicing functional programming inside a Fortune 100 enterprise can feel like flying the Starship Enterprise through asteroid fields of legacy code and bureaucracy. This talk shares hard-earned lessons from the Information Engineering team at JPMorganChase, which runs a production Scala codebas...