[squeak-dev] beReadOnlyObject (was: FileStreams Limit)

Eliot Miranda eliot.miranda at gmail.com
Sun Feb 20 02:08:43 UTC 2022


On Sat, Feb 19, 2022 at 9:29 AM Jörg Belger <unique75 at web.de> wrote:

> Ahh thank you… I looked only in the 5.3 image coz I want currently to use
> only a stable image for my things :-)
> Seems Eliot tries to implement every nice things from the VisualWorks VM
> :-)
>

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.

>
> > Am 19.02.2022 um 16:32 schrieb David T. Lewis <lewis at mail.msen.com>:
> >
> > On Sat, Feb 19, 2022 at 02:27:48PM +0100, J??rg Belger wrote:
> >>
> >>> Am 19.02.2022 um 14:14 schrieb Nicolas Cellier <
> nicolas.cellier.aka.nice at gmail.com>:
> >>>
> >>> For immutability, please see #beReadOnlyObject.
> >>>
> >>
> >> I cannot find the #beReadOnlyObject with MethodFinder in 5.3 or in
> class Object
> >>
> >
> > Eliot added this last March, so it is in the trunk image now but was
> > not present in the 5.3 release image.
> >
> > A new 6.0 release is expected some time in the next month or so, but
> > in the mean time you can find #beReadOnlyObject in the current trunk
> > image (the download link is at https://squeak.org/downloads/), or you
> > can update an existing 5.3 image (preferences browser, category
> "updates",
> > change the Update URL to http://source.squeak.org/trunk, then Update
> > Squeak from the mouse menu at upper left).
> >
> > Here the the commit notices from the trunk update stream:
> >
> > -------
> > Name: Kernel-eem.1317
> > Author: eem
> > Time: 11 March 2020, 1:12:02.344414 pm
> > UUID: 3755843a-380e-4cbc-a498-b1f1a85f2906
> > Ancestors: Kernel-eem.1316
> >
> > 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.
> >
> > 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
> > object in retryModification.
> >
> > -------
> > Name: Kernel-eem.1318
> > Author: eem
> > Time: 11 March 2020, 6:49:23.875063 pm
> > UUID: 25265ede-0f88-439d-8800-8a39e3f1898a
> > Ancestors: Kernel-eem.1317
> >
> > Read-only object support.
> >
> > 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.
> >
> > 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.
> >
> > Extend the execution simulation machionery to correctly simulate
> attempting to assign the inst vars of read-only objects.
> >
> > Add Object class>>releaseNotes as a scratch pad for people to add things
> that should appear in the release notes.
> >
> > -------
> >
>
>
>

-- 
_,,,^..^,,,_
best, Eliot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20220219/6491260e/attachment-0001.html>


More information about the Squeak-dev mailing list