On 26 Feb 2015, at 6:55 , Guillermo Polito <guillermopolito@gmail.com> wrote:

So I added an example of ProcessLocalSlot (like a thread local from other languages) using the existing ProcessLocalVariable. A variable has different values depending on the process the code is executing.

Example of usage:

Object subclass: #TestLocal
slots: { #local => ProcessLocalSlot }
classVariables: {  }
category: 'SlotTestGuille'.

object := TestLocal new.
object local: 55.
object local.

[ valueInOtherProcess := object local ] fork.

valueInOtherProcess. "=> nil"

[ object local: 'String'.
valueInOtherProcess := object local ] fork.

valueInOtherProcess. "=> 'String'"
object local "=> 55"

Code in issue: https://pharo.fogbugz.com/f/cases/15004/Add-ProcessLocalSlot

Guille

Pardon my ignorance, but can Slot definitions be composed like traits?
Because I can imagine wanting, say ProcessLocal + mmm... Static, without having to combine the two properties in a class with a gnarly inheritance tree, or a factorial number of classes combining different defining traits...

Cheers,
Henry