рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдореИрдВ edn рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдБред edn рдХреНрд▓реЛрдЬрд░ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдПрдХ рдбреЗрдЯрд╛ рдкреНрд░рд╛рд░реВрдк рд╣реИред рдпрд╣ JSON рдХреЗ рд╕рдорд╛рди рд╣реИ, рд▓реЗрдХрд┐рди JSON рдореЗрдВ рдирд╣реАрдВ рдкрд╛рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдХреБрдЫ рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред Edn рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рдиреАрдЪреЗ рд╡рд░реНрдгрд┐рдд рд╣реИрдВред рдмреАрдЬ рдХреЗ рд▓рд┐рдП рдЙрджрд╛рд╣рд░рдг:
{:name "edn" :implementations #{"clojure" "java" "ruby" "python" "c" "javascript" "haskell" "erlang"} :related "clojure" :encoding :UTF-8}
рджрд┐рдЦрд╛рд╡рдЯ
Edn рдХрд╛ рдЗрддрд┐рд╣рд╛рд╕ JSON рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЗ рд╕рдорд╛рди рд╣реИ: рдкрд╣рд▓реЗ, рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рджрд┐рдЦрд╛рдИ рджреА, рдФрд░ рдлрд┐рд░ рдЙрд╕рдореЗрдВ рд╕реЗ рдПрдХ рд╕рдмрд╕реЗрдЯ рдирд┐рдХрд╛рд▓рд╛ рдЧрдпрд╛ рдФрд░ рдбреЗрдЯрд╛ рдкреНрд░рд╛рд░реВрдк рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдиреЗ рд▓рдЧрд╛ред рдпрджрд┐ JSON рдХреЗ рд▓рд┐рдП, рдкреВрд░реНрд╡рдЬ рднрд╛рд╖рд╛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реИ, рддреЛ edn рдХреЗ рд▓рд┐рдП рдпрд╣ рдХреНрд▓реАрдЬреНрдпреЛрд░ рд╣реИред
рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рдХрд╣рд╛, edn рдФрд░ JSON рдмрд╣реБрдд рд╕рдорд╛рди рд╣реИрдВ рдФрд░ рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ JSON рдЕрдм рд╕рдмрд╕реЗ рдкреНрд░рд╕рд┐рджреНрдз, рд╕рд░рд▓ рдФрд░ рд▓реЛрдХрдкреНрд░рд┐рдп рдбреЗрдЯрд╛ рдкреНрд░рд╛рд░реВрдк рд╣реИ, рдореИрдВ JSON рд╕реЗ рдЗрд╕рдХреЗ рдЕрдВрддрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ edn рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реВрдВрдЧрд╛ред
рдПрдбрди JSON рдореЗрдВ рдореМрдЬреВрдж рд╕рднреА рд╕рд░рд▓ рдкреНрд░рдХрд╛рд░реЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ: рддрд╛рд░, рд╕рдВрдЦреНрдпрд╛, рдмреВрд▓рд┐рдпрди рдорд╛рдиред рдирдП рднреА рд╣реИрдВ:
рд╢реВрдиреНрдп
рдИрдбреАрдПрди
nil
рдорд╛рди рдХреЛ
nil
рдорд╛рди рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред JSON
null
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
рд╕рдВрдХреЗрдд (рдЕрдХреНрд╖рд░)
edn рд╡реНрдпрдХреНрддрд┐рдЧрдд рдкрд╛рддреНрд░реЛрдВ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд░реНрдгреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рд╡реЗ рдПрдХ рдмреИрдХрд╕реНрд▓реИрд╢ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ:
\e
,
\d
,
\n
ред рдЖрдк UTF8:
\u2603
рдкреНрд░рд╛рд░реВрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╡рд┐рд╢реЗрд╖ рд╡рд░реНрдг рдкреВрд░реНрдг:
\newline
,
\return
,
\space
,
\tab
рдореЗрдВ рд▓рд┐рдЦреЗ рдЧрдП рд╣реИрдВред
JSON рдореЗрдВ, рд╡реНрдпрдХреНрддрд┐рдЧрдд рдкрд╛рддреНрд░реЛрдВ рдХреЛ рдЖрдорддреМрд░ рдкрд░ рд▓рдВрдмрд╛рдИ 1 рдХреА рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рджрд░реНрд╢рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдореИрдВ рд╕рдВрдХреЗрддреЛрдВ рдХреЛ рдкреНрд░рддреАрдХ рдирд╣реАрдВ рдХрд╣рддрд╛ рд╣реВрдВ, рдХреНрдпреЛрдВрдХрд┐ edn рдореЗрдВ рдПрдХ рдЕрд▓рдЧ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдкреНрд░рддреАрдХ рд╣реИ, рдЬрд┐рд╕реЗ рдиреАрдЪреЗ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдкреНрд░рдореБрдЦ рдкрд╛рддреНрд░
рдореБрдЭреЗ рдпрд╣ рдмрддрд╛рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ рдХрд┐ рдкреНрд░рдореБрдЦ рдЪрд░рд┐рддреНрд░ рдХреНрдпрд╛ рд╣реИрдВред рдореИрдВ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рдпрд╣ рдЧрдгрдирд╛ рд▓рд╛рдЗрдиреЛрдВ рдХрд╛ рдорд┐рд╢реНрд░рдг рд╣реИред рд╡реЗ рдЖрд╕рд╛рдиреА рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ рдЬрдм рд╕рдВрднрд╛рд╡рд┐рдд рдореВрд▓реНрдпреЛрдВ рдХрд╛ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдирд┐рд╢реНрдЪрд┐рдд рд╕реЗрдЯ рд╣реЛрддрд╛ рд╣реИред рдпреЗ рдорд╛рди рдХреАрд╡рд░реНрдб рдХреЗ рд╕рд╛рде рд╕реЗрдЯ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдкреНрд░рджрд░реНрд╢рди рдХреБрдВрдЬреА рдХреЗ рд░реВрдк рдореЗрдВ рдореБрдЦреНрдп рдкрд╛рддреНрд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднреА рдкреНрд░рдерд╛рдЧрдд рд╣реИред рдореБрдЦреНрдп рд╡рд░реНрдг рдПрдХ рдмреГрд╣рджрд╛рдиреНрддреНрд░ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рд╣реЛрддреЗ рд╣реИрдВ ::
:name
:lastname
:female
:lastname
:green
ред рдЬрд┐рди рд▓реЛрдЧреЛрдВ рдиреЗ рдорд╛рдгрд┐рдХ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд┐рдпрд╛, рдЙрдиреНрд╣реЗрдВ рдкрд╛рддреНрд░реЛрдВ рдХреЛ рдкрд╣рдЪрд╛рдирдирд╛ рдЪрд╛рд╣рд┐рдП, рдЗрд╕реА рдкреНрд░рдХрд╛рд░ рдХреА рдЕрдиреНрдп рднрд╛рд╖рд╛ рдореЗрдВ рдореМрдЬреВрдж рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдЖрдо рд▓рд┐рд╕реНрдкред
JSON рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рдкреНрд░рджрд░реНрд╢рди рдФрд░ рддреБрд▓рдирд╛ рдореЗрдВ рдХреАрд╡рд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг:
edn | JSON |
{:name "Jack" :lastname "Brown" :gender :male}
| {"name": "Jack", "lastname": "Brown", "gender": "male"}
|
рд╕рдВрдЦреНрдпрд╛
edn 2 рдкреНрд░рдХрд╛рд░ рдХреА рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЛ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рддрд╛ рд╣реИ: рдкреВрд░реНрдгрд╛рдВрдХ рдФрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХред рдпрд╣ рдкреВрд░реНрдгрд╛рдВрдХ
N
рд▓рд┐рдП рдкреВрд░реНрдгрд╛рдВрдХ
N
рдФрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХреЗ рд▓рд┐рдП
M
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдордирдорд╛рдирд╛ рд▓рдВрдмрд╛рдИ рд╕рдВрдЦреНрдпрд╛ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ:
[12345678891231231231232133N, 123.123123123123123213213M]
рд╡реЗрдХреНрдЯрд░ рдХрд╛
рдПрдбрд╕рди рдЬреЗрдиреНрд╕рди рд╕рд░рдгреА рдХреЛ рд╡реЗрдХреНрдЯрд░ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ: рдореВрд▓реНрдпреЛрдВ рдХрд╛ рдПрдХ рдХреНрд░рдо рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдЕрднрд┐рдЧрдо рд╕рдВрдЪрд╛рд▓рди рдХрд╛ рд╕рдорд░реНрдерди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред JSON рдХреЗ рд╡рд┐рдкрд░реАрдд, рддрддреНрд╡реЛрдВ рдХреЛ рдХреЙрдорд╛ рд╕реЗ рдЕрд▓рдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЙрдиреНрд╣реЗрдВ рдЫреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
[1 2 3 "Hello" "World"]
рдкреНрд░рджрд░реНрд╢рди (рдирдХреНрд╢реЗ)
JSON рдореЗрдВ, рдЙрдиреНрд╣реЗрдВ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред Edn рдореЗрдВ, рдорд╛рди рдХреЛ рдХреБрдВрдЬреА рдПрдХ рдмреГрд╣рджрд╛рдиреНрддреНрд░ рджреНрд╡рд╛рд░рд╛ рдЕрд▓рдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдмреГрд╣рджрд╛рдиреНрддреНрд░ рдПрдХ рддреНрд░реБрдЯрд┐ рд╣реИ)ред рдХрдорд╛рд╕ рдХреЛ рднреА рдЫреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдХреБрдВрдЬреА рдХрд┐рд╕реА рднреА рдЕрдиреНрдп рдкреНрд░рдХрд╛рд░ рдХреА рд╣реЛ рд╕рдХрддреА рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕рдВрдЦреНрдпрд╛ рдпрд╛ рдХреАрд╡рд░реНрдб:
{:name "Jack" :lastname "Brown" :gender :male 42 54}
рдпрд╣рд╛рдВ рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдорд╛рдирдЪрд┐рддреНрд░рдг
:name
:lastname
:name
:lastname
:gender
рдФрд░
42
, рдорд╛рди рдХреНрд░рдорд╢рдГ рд╣реИрдВ,
"Jack"
,
"Brown"
:lastname
:male
,
54
ред
рд╕реЗрдЯ
edn рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рд╕реЗрдЯ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдпрд╣
#{val1 val2 val3}
рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╣реИред рд╕реЗрдЯ рдореЗрдВ рдЖрджреЗрд╢ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИ рдФрд░ рдкрд╛рд░реНрд╕рд░реНрд╕ рдХрд┐рд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЖрджреЗрд╢ рдХреА рдЧрд╛рд░рдВрдЯреА рдирд╣реАрдВ рджреЗрддреЗ рд╣реИрдВред рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдкрд╛рд░реНрд╕рд░реНрд╕ рдХреЛ рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдорд╛рдирдХ рдкреНрд░рдХрд╛рд░ рдореЗрдВ рдмрджрд▓рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрд╛рд╡рд╛ рдХреЗ рд▓рд┐рдП
HashSet
,
HashSet
рд▓рд┐рдП
PersistentHashSet
рдФрд░ рдЗрд╕реА рддрд░рд╣ рдЕрдиреНрдп рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд▓рд┐рдПред рдФрд░ рдЗрди рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░реЛрдВ рдореЗрдВ, рдХреЛрдИ рдЖрджреЗрд╢ рдХреА рдЧрд╛рд░рдВрдЯреА рдирд╣реАрдВ рд╣реИред рдЙрджрд╛рд╣рд░рдг: рд╕реАрдЬрди рдФрд░ 3 рд░рдВрдЧреЛрдВ рд╕реЗ рдпреБрдХреНрдд рдПрдХ рдмрд╣реБрдд рд╣реА рдЙрдкрдпреЛрдЧреА рдбрд┐рд╕реНрдкреНрд▓реЗ рд╕реЗрдЯ рдХрд░реЗрдВ:
{:seasons
рд╕реВрдЪрд┐рдпреЛрдВ
edn рд╡реЗрдХреНрдЯрд░ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рд╕реВрдЪрд┐рдпреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рд╕реВрдЪреА рд╡реЗрдХреНрдЯрд░ рд╕реЗ рдЕрд▓рдЧ рд╣реИ рдХрд┐ рдХреЛрдИ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдкрд╣реБрдБрдЪ рдирд╣реАрдВ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкрд╛рд░реНрд╕рд░ рдХрд╛ рд╡реНрдпрд╡рд╕рд╛рдп рд╣реИ, рдпрд╣ рдХрд┐рд╕ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкреНрд░рдХрд╛рд░ рдХреЛ рд╕реВрдЪреА рдореЗрдВ рдмрджрд▓ рджреЗрдЧрд╛ред рдпрд╣ рд╕реЛрдЪрдирд╛ рдЖрдо рддреМрд░ рдкрд░ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ рдХрд┐ рд╡реЗрдХреНрдЯрд░ рдХреЗ рдмрдЬрд╛рдп рдХрд┐рд╕реА рд╕реВрдЪреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдХрдм рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рддреЛ рдЕрдзрд┐рдХрд╛рдВрд╢ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рд╡реЗрдХреНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕реВрдЪреА рдЙрджрд╛рд╣рд░рдг:
(1 2 3 4 5)
рд╡рд░реНрдг (рдкреНрд░рддреАрдХ)
рдХреНрд▓реЛрдЬрд░ рдореЗрдВ, рд╡рд░реНрдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЪрд░ рдХреЛ рджрд░реНрд╢рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╛рдиреА рд╕рд╛рдзрд╛рд░рдг рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛рдУрдВ рдХреЗ рд╕рдорд╛рди:
a
,
b
,
i
,
hello
,
persons
ред рдХрдИ рд╢рдмреНрджреЛрдВ рдХрд╛ рдкреНрд░рддреАрдХ рдЖрдорддреМрд░ рдкрд░ рдПрдХ рд╣рд╛рдЗрдлрд╝рди рджреНрд╡рд╛рд░рд╛ рдЕрд▓рдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
prime-numbers
,
visited-nodes
ред рдЙрдирдореЗрдВ рд╕рдВрдЦреНрдпрд╛ рдФрд░ рдЕрдХреНрд╖рд░ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдирд┐рдореНрди рд╡рд░реНрдг рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ:ред
. * + ! - _ ? $ % & =
. * + ! - _ ? $ % & =
ред рдЬрдм рд░реЗрдЦрд╛рдПрдБ рдФрд░ рдореБрдЦреНрдп рд╡рд░реНрдг рд╣реЛрддреЗ рд╣реИрдВ рддреЛ рдореЗрд░реЗ рд▓рд┐рдП edn рдореЗрдВ рд╡рд░реНрдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рд╕реЛрдЪрдирд╛ рдХрдард┐рди рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЖрдкрдХреА рдХрд▓реНрдкрдирд╛ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред
рдбреЗрдЯрд╛рдорд┐рдХ рдореЗрдВ, рдЙрдиреНрд╣реЗрдВ рдЕрдиреБрд░реЛрдз рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
[:find ?x :where [?x :foo]]
?x
рдЪрд░рд┐рддреНрд░ рд╣реИред
рддрддреНрд╡реЛрдВ рдХреЛ рдЯреИрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛
edn рдЯреИрдЧ рдХреЗ рд╕рд╛рде рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдПрдХ рдЯреИрдЧ рдПрдХ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рд╣реИ рдЬреЛ рдПрдХ рдкреНрд░рддреАрдХ рдХреЗ рдмрд╛рдж
#
рд╕рд╛рде рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ:
#inst
,
#uuid
,
#myapp/Person
ред рдРрд╕реЗ рддрддреНрд╡реЛрдВ рдХреА рдЦрд╝рд╛рд╕рд┐рдпрдд рдпрд╣ рд╣реИ рдХрд┐ рдкрд╛рд░реНрд╕рд░, рдЬрдм рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рддрддреНрд╡ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЗрд╕реЗ рдкрдврд╝рддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рдмрд╛рдж рдХрд╛ рддрддреНрд╡, рдЗрд╕реЗ рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╣реИрдВрдбрд▓рд░ рдХреЗ рдкрд╛рд╕ рднреЗрдЬрддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдЗрдирдкреБрдЯ рддрд░реНрдХреЛрдВ рдХреЛ рд╡рд╛рдВрдЫрд┐рдд рдкреНрд░рдХрд╛рд░ рдореЗрдВ рдмрджрд▓рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдЗрд╕реЗ рд╡рд╛рдкрд╕ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдЙрджрд╛рд╣рд░рдг:
#myapp/Person {:first "Fred" :last "Mertz"}
рдпрд╣рд╛рдВ,
#myapp/Person
рдЯреИрдЧ рдХреЗ рд╣реИрдВрдбрд▓рд░ рдХреЛ рдкрд╛рд░реНрд╕рд░ рдореЗрдВ рдкрдВрдЬреАрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬреЛ рдореИрдкрд┐рдВрдЧ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ
myapp.Person
рдХреНрд▓рд╛рд╕ рдХреА рд╡рд╕реНрддреБ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рддрд╛ рд╣реИ (рдпрджрд┐ рднрд╛рд╖рд╛ рдореЗрдВ рдХрдХреНрд╖рд╛рдПрдВ рд╣реИрдВ), рдпрд╛ рдРрд╕рд╛ рдХреБрдЫред
#inst "1985-04-12T23:20:50.52Z"
рд╣реИрдВрдбрд▓рд░
RFC-3339 рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рддрд╛рд░реАрдЦ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рддрд╛ рд╣реИред
#uuid "f81d4fae-7dec-11d0-a765-00a0c91e6bf6"
рд╣реИрдВрдбрд▓рд░ UUID рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рд╕рдВрдмрдВрдзрд┐рдд рд╡рд╕реНрддреБ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рддрд╛ рд╣реИред
рдЕрдВрддрд┐рдо 2 рдЯреИрдЧ рдЗрдирд▓рд╛рдЗрди рд╣реИрдВ рдФрд░ рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдПрдХ рд╕реАрдорд╛ рдпрд╣ рднреА рд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЯреИрдЧ рдореЗрдВ рд╢реБрд░реБрдЖрдд рдореЗрдВ рд╣рдореЗрд╢рд╛ рдПрдХ рдирд╛рдо рд╕реНрдерд╛рди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬреИрд╕рд╛ рдХрд┐
#myapp/Person
: рдпрд╣рд╛рдБ
myapp
рдирд╛рдо рд╕реНрдерд╛рди рд╣реИред рдирд╛рдорд╕реНрдерд╛рди рдХреЗ рдмрд┐рдирд╛ рдЯреИрдЧ (рдЙрджрд╛ред
#inst
,
#uuid
) рдорд╛рдирдХ рд╣реИрдВрдбрд▓рд░ рдХреЗ рд▓рд┐рдП рдЖрд░рдХреНрд╖рд┐рдд рд╣реИрдВред
рдХреЛрдИ рдЯрд┐рдкреНрдкрдгреА рдирд╣реАрдВ
рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП
;
ред рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдк рд▓рд╛рдЗрди рдХреЛ рдЯрд┐рдкреНрдкрдгреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
{ :red [255 0 0] ; Red 255, green 0, blue 0 :orange [255 127 0] ; Red 255, green 127, blue 0 }
Edn рдХрд╛ рдЕрдзрд┐рдХ рдкреВрд░реНрдг рдЙрджрд╛рд╣рд░рдг
рдпрд╣рд╛рдВ рдЙрди рд╕рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреА рд╕реВрдЪреА рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ, рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдкрд┐рдЫрд▓реЗ рдХреБрдЫ рджрд┐рдиреЛрдВ рдореЗрдВ рд╕рдВрд╕рд╛рдзрди рдХрд╛ рджреМрд░рд╛ рдХрд┐рдпрд╛ рд╣реИред рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╕реЗ рд╡рдВрдЪрд┐рдд рд╣реИ рдФрд░ рдЗрд╕рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдИрдбреАрдПрди рдХреЛ рдлрд┐рд░ рд╕реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛ рд╣реИ:
[{:name "Jack" :lastname "Brown" :roles #{:admin :operator} :last-visited #inst "2013-04-12T23:20:50.52Z" :id #uuid "f81d4fae-7dec-11d0-a765-00a0c91e6bf6"} {:name "John" :lastname "Black" :roles #{:user} :last-visited #inst "2013-04-12T20:20:50.52Z" :id #uuid "b371b600-b175-11e2-9e96-0800200c9a66"}]
рдХрдм рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИ
рдпрд╣ рдПрдХ рд╡реНрдпрдХреНрддрд┐рдкрд░рдХ рдкреНрд░рд╢реНрди рд╣реИред рдЙрдкрд░реЛрдХреНрдд рд╕рднреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ JSON рдореЗрдВ рдЖрдкрдХреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдгреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдХреЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рд▓рд┐рдП JSON рд╕реЗ / рдХреЛ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рддрд░реНрдХ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдИрдбреАрдПрди рдореЗрдВ, рд╡реЗ рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ рд╣реИрдВ, рдЬреЛ рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред рдпрджрд┐ рдЖрдк рдХреНрд▓реЛрдЬрд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдИрдбреАрдПрди рдкреНрд░рд╛рдХреГрддрд┐рдХ рд╡рд┐рдХрд▓реНрдк рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╢рд╛рдпрдж рдЖрдк JSON рд╕реЗ рдердХ рдЧрдП рд╣реИрдВ рдФрд░ рдЕрдзрд┐рдХ рд▓рдЪреАрд▓реЗ рдФрд░ рдХрд╕реНрдЯрдо рдкреНрд░рд╛рд░реВрдк рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЬреЛ рдЯреИрдЧ рдорджрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдХрд┐рд╕реА рджрд┐рдирд╛рдВрдХ рдХреЗ рд▓рд┐рдП "рдорд╛рдирдХ" рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╣реЛрдирд╛ рднреА рдПрдХ рдЕрдЪреНрдЫреА рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИред рд╣рдо рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ edn рд╕реНрдЯреЗрд░реЙрдпрдб рдкрд░ JSON рд╣реИред
рд╕рдВрджрд░реНрдн
рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдкреНрд░рд╛рд░реВрдк рд╡рд┐рд╡рд░рдг:
github.com/edn-format/ednрдЬрд╛рд╡рд╛, рд░реВрдмреА, рдЕрдЬрдЧрд░, рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ, рд╣реИрд╕реЗрд▓ рдФрд░ рдЕрдиреНрдп рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди:
github.com/edn-format/edn/wiki/Implementationsрд╣реИрдХрд░ рд╕рдорд╛рдЪрд╛рд░ рдкрд░ рдЪрд░реНрдЪрд╛:
news.ycombinator.com/item?id=4487462 рд╡реЗ рд╕рд┐рд░реНрдл "рдХреНрдпреЛрдВ edn рдЕрдЧрд░ JSON рд╣реИ?"