Hi,

is there some library or approach how to do transactions in pharo?
And I don't mean database transactions, but directly in memory on Pharo objects... e.g.

p := Person new.

transaction do: [
�� �� p name: 'Nobody'.
�� �� p age: 70.
] on: Error do: [
�� �� transaction rollback.
].

self assert: p name equals: 'Nobody'.
self assert: p age equals: 70.

transaction do: [
�� �� p name: 'Somebody'.
�� �� p age: 1 / 0.
] on: Error do: [
�� �� transaction rollback.
].

self assert: p name equals: 'Nobody'.
self assert: p age equals: 70.

Any pointers appreciated.

Thanks,
Peter