Distinguishing between stateful Objects and Values has long been recognized
as fruitful. Values are universal context-free abstractions that prevent
side effects and allow for a functional programming style. Though
programming languages provide simple Values like Integer and String, more
complex Values are usually not supported. We show how to model complex
structures as Values in Smalltalk, which allows for a simple and versatile
implementation. The resulting Smalltalk systems are simple, clear and
easily testable.
Christian Haider [1] is the author of the PDFtalk library [2] used in
smallCharts [3] and other projects. Underlying is a simple implementation
of Values [4] which he uses extensively.
Christian will show how Values make systems simpler and easier. Examples
for some uses and the limits of the approach will be discussed.
Since Values use only standard Smalltalk features, it can be used in most
other Smalltalks. All of this code is available with MIT licence.
This will be an online meeting from home. If you'd like to join us, please
sign up in advance on:
https://www.meetup.com/ukstug/events/302453141
[1] https://christianhaider.de/index_en.html
[2] https://pdftalk.de/doku.php
[3] https://smallcharts.de/english/
[4] https://pdftalk.de/doku.php?id=complexvalues