Declarative axiomatic and provable correct systems in Swift
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.
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