Declarative Amsterdam

Declarative axiomatic and provable correct systems in Swift

Manuel Meyer
Swift's type system allows the creation of small self-contained modules controllable by sending typed messages. These messages DSL type encodes commands that can follow spoken english quite closely, i.e.:
.increase(.brightness,by:10.point,on:light))
increases the brightness of light by 10% points.


In this tutorial we will implement an application using «Khipu», a fully immutable implementation of Robert C. Martin's «Clean Architecture».
Khipu is fully testable with tests not only valid in TDD, but en par with the Scientific Method itself. We will explore «Partial Application» as an alternative to problematic class-centred designs.
Tutorial, 8 November 2022
Manuel Meyer has been developing iOS applications since 2009. He experiences a startup scene that proves impossible to use engineering principles or professionalise themselves in any other manner. In his search for better coding he discovered the Declarative Domain Paradigm, which he currently explores for his book “The Declarative Revolution”.


Online playground at https://swiftfiddle.com/jyzdziivsvfnrhmwdtmevhc37m