<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">Then the honor belongs to Clement :-)<br class=""><div><br class=""><blockquote type="cite" class=""><div class="">Am 20.02.2022 um 03:08 schrieb Eliot Miranda <<a href="mailto:eliot.miranda@gmail.com" class="">eliot.miranda@gmail.com</a>>:</div><br class="Apple-interchange-newline"><div class=""><meta charset="UTF-8" class=""><br class="Apple-interchange-newline"><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 14px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><div class="gmail_quote" style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 14px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;"><div dir="ltr" class="gmail_attr">On Sat, Feb 19, 2022 at 9:29 AM Jörg Belger <<a href="mailto:unique75@web.de" class="">unique75@web.de</a>> wrote:<br class=""></div><blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left-width: 1px; border-left-style: solid; border-left-color: rgb(204, 204, 204); padding-left: 1ex;">Ahh thank you… I looked only in the 5.3 image coz I want currently to use only a stable image for my things :-)<br class="">Seems Eliot tries to implement every nice things from the VisualWorks VM :-)<br class=""></blockquote><div class=""><br class=""></div><div class="gmail_default" style="font-size: small;">In fact Clément Béra implemented it based on my VisualWorks design when we were working on Sista together.  Clément deserves most of the credit.</div><div class="gmail_default" style="font-size: small;"></div><blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left-width: 1px; border-left-style: solid; border-left-color: rgb(204, 204, 204); padding-left: 1ex;"><br class="">> Am 19.02.2022 um 16:32 schrieb David T. Lewis <<a href="mailto:lewis@mail.msen.com" target="_blank" class="">lewis@mail.msen.com</a>>:<br class="">><span class="Apple-converted-space"> </span><br class="">> On Sat, Feb 19, 2022 at 02:27:48PM +0100, J??rg Belger wrote:<br class="">>><span class="Apple-converted-space"> </span><br class="">>>> Am 19.02.2022 um 14:14 schrieb Nicolas Cellier <<a href="mailto:nicolas.cellier.aka.nice@gmail.com" target="_blank" class="">nicolas.cellier.aka.nice@gmail.com</a>>:<br class="">>>><span class="Apple-converted-space"> </span><br class="">>>> For immutability, please see #beReadOnlyObject.<br class="">>>><span class="Apple-converted-space"> </span><br class="">>><span class="Apple-converted-space"> </span><br class="">>> I cannot find the #beReadOnlyObject with MethodFinder in 5.3 or in class Object<br class="">>><span class="Apple-converted-space"> </span><br class="">><span class="Apple-converted-space"> </span><br class="">> Eliot added this last March, so it is in the trunk image now but was<br class="">> not present in the 5.3 release image.<br class="">><span class="Apple-converted-space"> </span><br class="">> A new 6.0 release is expected some time in the next month or so, but<br class="">> in the mean time you can find #beReadOnlyObject in the current trunk<br class="">> image (the download link is at<span class="Apple-converted-space"> </span><a href="https://squeak.org/downloads/" rel="noreferrer" target="_blank" class="">https://squeak.org/downloads/</a>), or you<br class="">> can update an existing 5.3 image (preferences browser, category "updates",<br class="">> change the Update URL to<span class="Apple-converted-space"> </span><a href="http://source.squeak.org/trunk" rel="noreferrer" target="_blank" class="">http://source.squeak.org/trunk</a>, then Update<br class="">> Squeak from the mouse menu at upper left).<br class="">><span class="Apple-converted-space"> </span><br class="">> Here the the commit notices from the trunk update stream:<br class="">><span class="Apple-converted-space"> </span><br class="">> -------<br class="">> Name: Kernel-eem.1317<br class="">> Author: eem<br class="">> Time: 11 March 2020, 1:12:02.344414 pm<br class="">> UUID: 3755843a-380e-4cbc-a498-b1f1a85f2906<br class="">> Ancestors: Kernel-eem.1316<br class="">><span class="Apple-converted-space"> </span><br class="">> Add the core of read-only support, which will provide both for read-only literals and for efficient write-through cacheing to object databases such as gemstone.<br class="">><span class="Apple-converted-space"> </span><br class="">> This implementation differs slightly from Clément Béra's original implementatin for Pharo in that here ModificationForbidden always uses a mirror (either a Context or a Class) to attempt to modify the read-only<br class="">> object in retryModification.<br class="">><span class="Apple-converted-space"> </span><br class="">> -------<br class="">> Name: Kernel-eem.1318<br class="">> Author: eem<br class="">> Time: 11 March 2020, 6:49:23.875063 pm<br class="">> UUID: 25265ede-0f88-439d-8800-8a39e3f1898a<br class="">> Ancestors: Kernel-eem.1317<br class="">><span class="Apple-converted-space"> </span><br class="">> Read-only object support.<br class="">><span class="Apple-converted-space"> </span><br class="">> Have ModificationForbidden allow retrying modification without resuming (retryModificationNoResume) or resuming (retryModificatio).  Ideally this would just be retryModification and resume but Pharo got there first and compatibility is a virtue.<br class="">><span class="Apple-converted-space"> </span><br class="">> Add BinaryModificationForbidden to support Array and the elementsExchangeIdentityWith: become machinery, and simplify the Behavior adoptInstance: mchinery.  Decouople resumeValue from newValue to allow Array and the elementsExchangeIdentityWith: become machinery to answer the correct result.<br class="">><span class="Apple-converted-space"> </span><br class="">> Extend the execution simulation machionery to correctly simulate attempting to assign the inst vars of read-only objects.<br class="">><span class="Apple-converted-space"> </span><br class="">> Add Object class>>releaseNotes as a scratch pad for people to add things that should appear in the release notes.<br class="">><span class="Apple-converted-space"> </span><br class="">> -------<br class="">><span class="Apple-converted-space"> </span><br class=""><br class=""><br class=""></blockquote></div><br clear="all" style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 14px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><div style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 14px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><br class=""></div><span style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 14px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">--<span class="Apple-converted-space"> </span></span><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 14px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><div dir="ltr" class="gmail_signature" style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 14px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;"><div dir="ltr" class=""><div class=""><span style="font-size: small; border-collapse: separate;" class=""><div class="">_,,,^..^,,,_<br class=""></div><div class="">best, Eliot</div></span></div></div></div></div></blockquote></div><br class=""></body></html>