write-edn ( object -- ) - Factor Documentation

write-edn ( object -- )
Extensible Data Notation (EDN)



Vocabulary
edn

Inputs
object an object


Outputs
None

Definition
IN: edn

GENERIC: write-edn ( object -- )


Methods
USING: assocs edn io kernel sequences ;

M: assoc write-edn
"{" write >alist
[ ", " write ]
[ first2 [ write-edn 32 write1 ] [ write-edn ] bi* ]
interleave "}" write ;


USING: edn io kernel ;

M: f write-edn drop "false" write ;


USING: edn io math math.parser ;

M: integer write-edn number>string write ;


USING: accessors edn io ;

M: keyword write-edn 58 write1 name>> write ;


USING: edn io math math.parser ;

M: number write-edn >float number>string write ;


USING: edn kernel ;

M: object write-edn edn-error ;


USING: edn io sequences ;

M: sequence write-edn
"(" write [ bl ] [ write-edn ] interleave ")" write ;


USING: edn io sequences sets ;

M: set write-edn
"#{" write members [ bl ] [ write-edn ] interleave "}" write
;


USING: edn io strings ;

M: string write-edn 34 write1 write 34 write1 ;


USING: accessors edn io ;

M: symbol write-edn name>> write ;


USING: edn io kernel ;

M: t write-edn drop "true" write ;


USING: accessors edn io kernel ;

M: tagged write-edn
[ 35 write1 name>> write bl ] [ value>> write-edn ] bi ;


USING: accessors assocs classes.tuple edn io kernel
linked-assocs sequences ;

M: tuple write-edn
tuple>slots [
[ vocabulary>> ] [ name>> ] bi "/" glue 35 write1 write
bl
] [
all-slots [ name>> keyword boa ] map swap LH{ } zip-as
write-edn
] bi ;


USING: edn io sequences vectors ;

M: vector write-edn
"[" write [ bl ] [ write-edn ] interleave "]" write ;


USING: accessors edn io kernel words ;

M: word write-edn
dup null eq? [ drop "nil" write ] [ name>> write ] if ;

AltStyle によって変換されたページ (->オリジナル) /