Рет қаралды 542
In this talk, I'll introduce the concept of type-level interfaces that I developed for Haskell and Rust, which enable the creation of powerful type-level systems with clarity and structure.
Interfaces are a critical concept in software engineering, as they are in any engineering discipline- software, electrical circuits, or plumbing. They serve as the foundation for designing systems that are reliable, extensible, decoupled, and less complex. In my book, Functional Design and Architecture, I discuss functional interfaces as the functional programming counterpart to object-oriented interfaces, while also introducing my methodology, "Functional Declarative Design," which provides a practical approach to building applications in functional languages.
Now, I've set myself a new challenge: to develop a similar methodology for type-level design, which I detail in my latest book, Pragmatic Type-Level Design. In this methodology, type-level interfaces play a central role, demonstrating that type-level programming can be approached as an engineering discipline.
I'll explain the approach in two languages (Haskell and Rust), and show how to use it to achieve extensibility, correctness and decopuling on the level of types.
More details: confengine.com...
Conference Link: functionalconf...