How Functional is Direct-Style?
This program is tentative and subject to change.
Direct-style is a recent trend in Scala, with several libraries being developed to support this approach. It’s also the style embraced by OCaml’s Eio and for writing effectful Unison programs.
Is direct-style still functional? Or is it just imperative programming, as some critics argue? Can functional and imperative styles coexist?
We’ll investigate what functional programming is at its core, how it relates to effects and properties such as referential transparency, immutability, idempotence and purity.
Paper (direct_fp icfp.pdf) | 17.51MiB |
I am one of the co-founders of SoftwareMill, where I primarily code using Java, Scala, and other interesting technologies. I am actively involved in open-source projects, such as Ox, Tapir, sttp, Quicklens, ElasticMQ, and others. I have also been a speaker at major conferences, including JavaOne, Devoxx, GeeCON and ScalaDays.
In addition to writing closed- and open-source software, I spend my free time exploring various (functional) programming-related subjects. Any ideas or insights I gain usually end up with a blog (https://warski.org/articles).
This program is tentative and subject to change.
Mon 13 OctDisplayed time zone: Perth change
13:40 - 15:20 | NoonThe Scala Workshop 2025 at Peony West Chair(s): Oliver Bračevac EPFL, LAMP, Hamza Remmal EPFL, LAMP | ||
13:40 20mTalk | The Quest for Mutable Value Semantics in Scala The Scala Workshop 2025 Dimi Racordon EPFL, LAMP File Attached | ||
14:00 20mTalk | How Functional is Direct-Style? The Scala Workshop 2025 Adam Warski SoftwareMill File Attached | ||
14:20 20mTalk | ScalaF: Functional Refactoring Suggestions for Scala The Scala Workshop 2025 Shiv Kiran Bagathi Indian Institute of Technology Bombay, Shrikha Mahanty Indian Institute of Technology Mandi, Dasari Gnana Heemmanshuu Indian Institute of Technology Bombay, Manas Thakur IIT Bombay File Attached | ||
14:40 20mTalk | Debugging for Scala Control Flow DSLs The Scala Workshop 2025 | ||
15:00 20mTalk | Migrating Large-scale Scala Projects to Explicit-nulls with the Help from LLMs The Scala Workshop 2025 Yaoyu Zhao EPFL, LAMP File Attached |