Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
What is a recommended implementation?
To be recommended, a implementation MUST parse any valid EDN and follow EDN specifications for how to handle tagged elements. Unless an implementation is for a specific use, like
ring-edn, a recommended implementation SHOULD emit any data as EDN. Parsing and emitting SHOULD be transitive: if EDN is read in, and then the results are written back up, the resulting EDN should produce equivalent data. Some leniency is currently accepted for symbolic types, as well as lists vs vectors, but should become more strict as EDN matures.
If your implementation meets these guidelines, please feel free to recommend it.
- Ruby: relevance/edn-ruby
- Go: go-edn/edn
- C++: shaunxcode/edn-cpp
- Java: bpsm/edn-java
- CLR: edn-format/edn-dot-net
- C: brandonbloom/libclj
- Ruby: meh/ruby-clj
- Amotoen: potentially-done peg grammar
- Chicken Scheme: zilti/edn
- Erlang: seancribbs/edn-erlang
- Haskell: http://hackage.haskell.org/package/hedn
- PHP: igorw/edn
- Rust: utkarshkukreti/edn.rs
- Elm: robx/elm-edn (github)
- Common Lisp (read-only, doesn't support emitting EDN): fiddlerwoaroof/cl-edn