(serialize) ( obj -- )


Vocabulary
serialize

Definition
IN: serialize

GENERIC: (serialize) ( obj -- )


Methods
USING: arrays serialize serialize.private ;

M: array (serialize) 97 serialize-seq ;


USING: byte-arrays io kernel sequences serialize
serialize.private ;

M: byte-array (serialize)
[
65 write1
[ add-object ] [ length serialize-cell ] [ write ] tri
] serialize-shared ;


USING: io kernel serialize ;

M: f (serialize) drop 110 write1 ;


USING: io math serialize serialize.private ;

M: float (serialize) 70 write1 double>bits serialize-cell ;


USING: assocs hashtables io kernel serialize serialize.private
;

M: hashtable (serialize)
[ 104 write1 [ add-object ] [ >alist (serialize) ] bi ]
serialize-shared ;


USING: io kernel math serialize serialize.private ;

M: integer (serialize)
[ 122 write1 ]
[ dup 0 < [ neg 109 ] [ 112 ] if write1 serialize-cell ]
if-zero ;


USING: arrays io kernel quotations serialize serialize.private
;

M: quotation (serialize)
[ 113 write1 [ >array (serialize) ] [ add-object ] bi ]
serialize-shared ;


USING: io io.encodings.string io.encodings.utf8 kernel
sequences serialize serialize.private strings ;

M: string (serialize)
[
115 write1
[ add-object ]
[ utf8 encode [ length serialize-cell ] [ write ] bi ]
bi
] serialize-shared ;


USING: accessors concurrency.distributed io.servers kernel
serialize threads ;

M: thread (serialize)
id>> [ insecure-addr ] dip <remote-thread> (serialize) ;


USING: classes classes.tuple io kernel sequences serialize
serialize.private ;

M: tuple (serialize)
[
84 write1
[ class-of (serialize) ] [ add-object ]
[ tuple>array rest (serialize) ] tri
] serialize-shared ;


USING: accessors combinators kernel serialize serialize.private
words ;

M: word (serialize)
{
{ [ dup t eq? ] [ serialize-true ] }
{ [ dup vocabulary>> not ] [ serialize-gensym ] }
[ serialize-word ]
} cond ;


USING: accessors io kernel serialize ;

M: wrapper (serialize) 87 write1 wrapped>> (serialize) ;