Friday
Room 1 - Level 3
15:00 - 16:00
(UTC±00)
Talk (60 min)
Moving IO to the edges of your app: Functional Core, Imperative Shell
Modern architectures (such as Onion, Clean and Hexagonal) recommend that interfacing with the outside world be done at the boundaries of your app, not in the middle. Similarly, in functional programming, the core code should be deterministic, and all I/O should be at the edges.
Functional Programming
Architecture
But how can you actually do this in practice? How can you separate I/O from business logic in an elegant way?
In this talk, we'll look at some concrete examples of how to refactor code in this way. We'll also talk about how doing this improves code comprehension, testing, and refactoring.