UKSTUG meeting (*with corrected links*) - Christian Haider: How values make systems simpler - 25 Sep 2024 @ 7pm BST

UK Smalltalk <[email protected]> Mon, 23 Sep 2024 08:40:02 +0100
Newsgroups gmane.comp.lang.smalltalk.vwnc
Message-ID <CABU3V+nSypHjUhPKAUuJHH5Y4xRSowyynNTYcMdyQ+HRP38PVw@mail.gmail.com>
--000000000000d103a00622c47f3e
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

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://urldefense.com/v3/__https://www.meetup.com/ukstug/events/302453141=
__;!!DZ3fjg!9U1h8lc-kufwGieBxnYyqTuYV0eE703cVL4iYSo2Z2HeCMaLSJJPmaM07o_kB_t=
yR02MNvtZJ7rBavm9_qDOFmug$=20

[1] https://urldefense.com/v3/__https://christianhaider.de/index_en.html__;=
!!DZ3fjg!9U1h8lc-kufwGieBxnYyqTuYV0eE703cVL4iYSo2Z2HeCMaLSJJPmaM07o_kB_tyR0=
2MNvtZJ7rBavm9_vENRTJL$=20
[2] https://urldefense.com/v3/__https://pdftalk.de/doku.php__;!!DZ3fjg!9U1h=
8lc-kufwGieBxnYyqTuYV0eE703cVL4iYSo2Z2HeCMaLSJJPmaM07o_kB_tyR02MNvtZJ7rBavm=
9_miIhLrA$=20
[3] https://urldefense.com/v3/__https://smallcharts.de/english/__;!!DZ3fjg!=
9U1h8lc-kufwGieBxnYyqTuYV0eE703cVL4iYSo2Z2HeCMaLSJJPmaM07o_kB_tyR02MNvtZJ7r=
Bavm9_hsPk9vN$=20
[4] https://urldefense.com/v3/__https://pdftalk.de/doku.php?id=3Dcomplexval=
ues__;!!DZ3fjg!9U1h8lc-kufwGieBxnYyqTuYV0eE703cVL4iYSo2Z2HeCMaLSJJPmaM07o_k=
B_tyR02MNvtZJ7rBavm9_pWx1QKd$=20

--000000000000d103a00622c47f3e
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Distinguishing between stateful Objects and Values has lon=
g been recognized as fruitful. Values are universal context-free abstractio=
ns 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 comple=
x structures as Values in Smalltalk, which allows for a simple and versatil=
e implementation. The resulting Smalltalk systems are simple, clear and eas=
ily testable.<br><br>Christian Haider [1] is the author of the PDFtalk libr=
ary [2] used in smallCharts [3] and other projects. Underlying is a simple =
implementation of Values [4] which he uses extensively.<br><br>Christian wi=
ll show how Values make systems simpler and easier. Examples for some uses =
and the limits of the approach will be discussed.<br>Since Values use only =
standard Smalltalk features, it can be used in most other Smalltalks. All o=
f this code is available with MIT licence.<br><div><br></div><div>This will=
 be an online meeting from home. If you&#39;d like to join us, please sign =
up in advance on:<br></div><div>=C2=A0<a href=3D"https://urldefense.com/v3/=
__https://www.meetup.com/ukstug/events/302453141__;!!DZ3fjg!9U1h8lc-kufwGie=
BxnYyqTuYV0eE703cVL4iYSo2Z2HeCMaLSJJPmaM07o_kB_tyR02MNvtZJ7rBavm9_qDOFmug$"=
 target=3D"_blank">https://www.meetup.com/ukstug/events/302453141</a><br></=
div><div><br></div><div>[1]=C2=A0<a href=3D"https://urldefense.com/v3/__htt=
ps://christianhaider.de/index_en.html__;!!DZ3fjg!9U1h8lc-kufwGieBxnYyqTuYV0=
eE703cVL4iYSo2Z2HeCMaLSJJPmaM07o_kB_tyR02MNvtZJ7rBavm9_vENRTJL$" target=3D"=
_blank">https://christianhaider.de/index_en.html</a><br></div><div>[2]=C2=
=A0<a href=3D"https://urldefense.com/v3/__https://pdftalk.de/doku.php__;!!D=
Z3fjg!9U1h8lc-kufwGieBxnYyqTuYV0eE703cVL4iYSo2Z2HeCMaLSJJPmaM07o_kB_tyR02MN=
vtZJ7rBavm9_miIhLrA$" target=3D"_blank">https://pdftalk.de/doku.php</a></di=
v><div>[3]=C2=A0<a href=3D"https://urldefense.com/v3/__https://smallcharts.=
de/english/__;!!DZ3fjg!9U1h8lc-kufwGieBxnYyqTuYV0eE703cVL4iYSo2Z2HeCMaLSJJP=
maM07o_kB_tyR02MNvtZJ7rBavm9_hsPk9vN$" target=3D"_blank">https://smallchart=
s.de/english/</a></div><div>[4]=C2=A0<a href=3D"https://urldefense.com/v3/_=
_https://pdftalk.de/doku.php?id=3Dcomplexvalues__;!!DZ3fjg!9U1h8lc-kufwGieB=
xnYyqTuYV0eE703cVL4iYSo2Z2HeCMaLSJJPmaM07o_kB_tyR02MNvtZJ7rBavm9_pWx1QKd$" =
target=3D"_blank">https://pdftalk.de/doku.php?id=3Dcomplexvalues</a></div><=
/div>

--000000000000d103a00622c47f3e--