I suspected so , ok thanks will keep in mind.��

On Wed, Nov 2, 2016 at 9:13 PM phil@highoctane.be <phil@highoctane.be> wrote:
Of course, you need a specfic stonOn: aStream for objects that aren't standard objects:

Check out the Ston chapter. Or ��a couple of stonOn: implementers.

Phil

On Wed, Nov 2, 2016 at 8:03 PM, Dimitris Chloupis <kilon.alios@gmail.com> wrote:
I tried to use my ChronosManager object with it and STON does not seem to like this��

m := ChronosManager new.
s:= STON toString: m
s inspect.

STONWriter>>error:
BlockClosure(Object)>>stonOn:
STONWriter>>nextPut:
STONWriter>>encodeKey:value:
STONMapWriter>>at:put:
[ :each |��
(anObject instVarNamed: each)
ifNotNil: [ :value | dictionary at: each asSymbol put: value ]
ifNil: [ anObject stonShouldWriteNilInstVars
ifTrue: [ dictionary at: each asSymbol put: nil ] ] ] in [ :dictionary |��
instanceVariableNames
do: [ :each |��
(anObject instVarNamed: each)
ifNotNil: [ :value | dictionary at: each asSymbol put: value ]
ifNil: [ anObject stonShouldWriteNilInstVars
ifTrue: [ dictionary at: each asSymbol put: nil ] ] ] ] in STONWriter>>writeObject: in Block: [ :each | ...
Array(SequenceableCollection)>>do:
[ :dictionary |��
instanceVariableNames
do: [ :each |��
(anObject instVarNamed: each)
ifNotNil: [ :value | dictionary at: each asSymbol put: value ]
ifNil: [ anObject stonShouldWriteNilInstVars
ifTrue: [ dictionary at: each asSymbol put: nil ] ] ] ] in STONWriter>>writeObject: in Block: [ :dictionary | ...
[ self newlineIndent.
block value: mapWriter ] in [ | mapWriter |
mapWriter := STONMapWriter on: self.
writeStream nextPut: ${.
self
indentedDo: [ self newlineIndent.
block value: mapWriter ].
self newlineIndent.
writeStream nextPut: $} ] in STONWriter>>writeObject:streamMap: in Block: [ self newlineIndent....
STONWriter>>indentedDo:
[ | mapWriter |
mapWriter := STONMapWriter on: self.
writeStream nextPut: ${.
self
indentedDo: [ self newlineIndent.
block value: mapWriter ].
self newlineIndent.
writeStream nextPut: $} ] in STONWriter>>writeObject:streamMap: in Block: [ | mapWriter |...
[ writeStream nextPutAll: anObject class stonName.
self prettyPrintSpace.
block value ] in STONWriter>>writeObject:do: in Block: [ writeStream nextPutAll: anObject class stonName....etc...
STONWriter>>with:do:
STONWriter>>writeObject:do:
STONWriter>>writeObject:streamMap:
STONWriter>>writeObject:
KMKeymap(Object)>>stonOn:
STONWriter>>nextPut:
STONWriter>>encodeKey:value:
[ :key :value |��
first
ifTrue: [ first := false ]
ifFalse: [ self mapElementSeparator ].
self encodeKey: key value: value ] in [ self newlineIndent.
pairs
keysAndValuesDo: [ :key :value |��
first
ifTrue: [ first := false ]
ifFalse: [ self mapElementSeparator ].
self encodeKey: key value: value ] ] in STONWriter>>encodeMap: in Block: [ :key :value | ...
[ :assoc | aBlock value: assoc key value: assoc value ] in Dictionary>>keysAndValuesDo: in Block: [ :assoc | aBlock value: assoc key value: assoc va...etc...
[ :each | each ifNotNil: [ aBlock value: each ] ] in Dictionary>>associationsDo: in Block: [ :each | each ifNotNil: [ aBlock value: each ] ]
Array(SequenceableCollection)>>do:
Dictionary>>associationsDo:
Dictionary>>keysAndValuesDo:
[ self newlineIndent.
pairs
keysAndValuesDo: [ :key :value |��
first
ifTrue: [ first := false ]
ifFalse: [ self mapElementSeparator ].
self encodeKey: key value: value ] ] in STONWriter>>encodeMap: in Block: [ self newlineIndent....
STONWriter>>indentedDo:
STONWriter>>encodeMap:
[ self encodeMap: hashedCollection ] in STONWriter>>writeMap: in Block: [ self encodeMap: hashedCollection ]
STONWriter>>with:do: