Identity in a World of Values
Data persistence can add a great deal of complexity to application software, and making the gap between application and storage has been a constant field of research, experiments and products. In the object oriented programming paradigm, persistence seems to be a natural extension to object behavior, and even though one could argue that many persistent object systems have flaws and leak their abstractions, there is a large body of prior art and research in that area.
In the functional programming world, persistence does not find as natural a partnering abstraction, and it is often either conceptionally pushed to the boundaries of the application, or treated in an ad-hoc fashion interleaved with the beauty and conceptional rigor of pure functions.
The presentation discusses these forces and explores how Clojure’s Software Transactional Memory system can be used to implement application data persistence.
Hans has three decades of experience as a programmer. Starting his career with Basic, Forth and Pascal, he followed the rise of object oriented software with C++. After ten years as a professional Common Lisp programmer, he is now heading a software company in Berlin, specializing in Clojure based communication systems for the healthcare industry.