<div dir="ltr"><h2 style="color:rgb(0,0,0);font-family:Times"><b>How values make systems simpler</b></h2><p style="color:rgb(0,0,0);font-family:Times;font-size:medium">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.</p><p style="color:rgb(0,0,0);font-family:Times;font-size:medium"><font style="background-color:rgb(246,247,248);border:0px solid currentcolor;box-sizing:border-box;font-size:16px;font-weight:bolder"><a href="https://www.blogger.com/blog/post/edit/6836728665332319456/1027115540446033573#" rel="nofollow ugc" target="_blank" style="color:rgb(0,152,171);border:0px solid currentcolor;box-sizing:border-box;text-decoration:inherit">Christian Haider</a></font><font style="background-color:rgb(246,247,248);font-size:16px"> is the author of the </font><font style="background-color:rgb(246,247,248);border:0px solid currentcolor;box-sizing:border-box;font-size:16px;font-weight:bolder"><a href="https://www.blogger.com/blog/post/edit/6836728665332319456/1027115540446033573#" rel="nofollow ugc" target="_blank" style="color:rgb(0,152,171);border:0px solid currentcolor;box-sizing:border-box;text-decoration:inherit">PDFtalk</a></font><font style="background-color:rgb(246,247,248);font-size:16px"> library used in </font><font style="background-color:rgb(246,247,248);border:0px solid currentcolor;box-sizing:border-box;font-size:16px;font-weight:bolder"><a href="https://www.blogger.com/blog/post/edit/6836728665332319456/1027115540446033573#" rel="nofollow ugc" target="_blank" style="color:rgb(0,152,171);border:0px solid currentcolor;box-sizing:border-box;text-decoration:inherit">smallCharts</a></font><font style="background-color:rgb(246,247,248);font-size:16px"> and other projects. Underlying is a simple implementation of </font><font style="background-color:rgb(246,247,248);border:0px solid currentcolor;box-sizing:border-box;font-size:16px;font-weight:bolder"><a href="https://www.blogger.com/blog/post/edit/6836728665332319456/1027115540446033573#" rel="nofollow ugc" target="_blank" style="color:rgb(0,152,171);border:0px solid currentcolor;box-sizing:border-box;text-decoration:inherit">Values</a></font><font style="background-color:rgb(246,247,248);font-size:16px"> which he uses extensibly.</font></p><p style="color:rgb(0,0,0);font-family:Times;font-size:medium">Christian will show how Values make systems simpler and easier. Examples for some uses and the limits of the approach will be discussed.</p><p style="color:rgb(0,0,0);font-family:Times;font-size:medium">Since Values use only standard Smalltalk features, it can be used in most other Smalltalks. And all of this code is available with MIT licence.</p><p style="color:rgb(0,0,0);font-family:Times;font-size:medium">This will be an online meeting from home. If you'd like to join us, please sign up in advance on <span style="font-family:Arial,Helvetica,sans-serif;font-size:small;color:rgb(34,34,34)"><a href="https://www.meetup.com/ukstug/events/302453141">https://www.meetup.com/ukstug/events/302453141</a></span></p><div><br></div><div><br></div></div>