An EDN implementation in Chicken Scheme.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Daniel Ziltener 23ad941e04 0.5.3 3 months ago
tests Welcome back, R7RS! 2 years ago
.gitignore In the beginning there was darkness 2 years ago
LICENSE In the beginning there was darkness 2 years ago Fixed 2 years ago
edn-impl.scm 0.5.3 3 months ago
edn.egg 0.5.3 3 months ago
edn.release-info 0.5.3 3 months ago
edn.scm 0.5.3 3 months ago

License Chicken Scheme Egg Gratipay Flattr this


An EDN reader and writer for R7RS compatible Schemes.

Installation: chicken-install edn

Data type conversions

  • All kinds of numbers get converted to Scheme numbers, precision suffixes (N and M) get ignored.
  • Keywords :keyword get converted to chicken scheme keywords keyword:.
  • Maps get converted to SRFI 69 hashtables.
  • Vectors are srfi-4 vectors.
  • true = #t, false = #f, nil = '()

Missing reader functionality

Should you notice missing functionality of the reader, plesase use the issues page to report it and, if possible, provide a minimal test case.


  • Transforming EDN into Scheme: (read-edn <port>)
  • Transforming Scheme into EDN: (write-edn <port> <datastructure>)
  • Using reader tags: the library contains a public a-list tag-handlers. To register a handler, add an a-list entry where the key is the tag without \# and as a keyword, and the value a one-argument procedure.


  • 0.5.2: Update for Chicken 5
  • 0.5.1: Small compatibility improvements: "/" now starts a symbol as well, and "," is treated as whitespace.
  • 0.5: Reader tag support.
  • 0.4: Complete rewrite. Only relies on R7RS, and SRFI 1, 4, 69 and 88. Uses ports. Reads and writes EDN.
  • 0.3: EDN tags, including special forms, work. #inst and #uuid both get read as strings. Add nil. Add number prefixes. Add no-space-required to #_ tag.
  • 0.2.1: Can read EDN-files and -strings. EDN tags are not working yet.
  • 0.2: Can read EDN-strings with one top-level data structure.



Written by Daniel Ziltener. EDN written by Rich Hickey. The EDN specification is available at