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