(type egg)
(signature "edn egg")
(timestamp 1612269487)
(sxml ((section 2 "Outdated egg!" (p "This is an egg for CHICKEN 4, the unsupported old release.  You're almost certainly looking for " (int-link "/eggref/5/edn" "the CHICKEN 5 version of this egg") ", if it exists.") (p "If it does not exist, there may be equivalent functionality provided by another egg; have a look at the " (link "https://wiki.call-cc.org/chicken-projects/egg-index-5.html" "egg index") ". Otherwise, please consider porting this egg to the current version of CHICKEN.")) (section 2 "edn.egg" (p "EDN data reader/writer") (toc) (section 3 "EDN" (p "This egg provides a parser and a writer for the " (link "https://github.com/edn-format/edn" "Extensible Data Notation") ".")) (section 3 "Documentation") (section 3 "Reading EDN" (section 4 (tt "tag-handlers") (def (sig (constant "tag-handlers → (list (cons _: (lambda (input) edn/omit:)))" (id tag-handlers))) (p "An a-list containing the handlers for reader tags. You can register your own reader tags by simply adding a new a-list entry.") (p "Example for a tag \"#keywordify\": add the entry `(cons keywordify: keywordify-procedure)`.") (highlight scheme "(define tag-handlers (list (cons _: (lambda (input) edn/omit:))))"))) (section 4 (tt "read-edn") (def (sig (procedure "(read-edn) → unspecified" (id read-edn))) (p "Reads EDN data from the `current-input-port`, converts it to Chicken data and returns it. Precision suffixes for numbers get ignored, maps get converted to SRFI-69 hashtables, vectors to SRFI-4 vectors.") (highlight scheme "(define (read-edn) (second ((parse-edn '()) (current-input-port))))")))) (section 3 "Writing EDN" (section 4 (tt "write-edn") (def (sig (procedure "(write-edn struct) → unspecified" (id write-edn))) (p "Converts Chicken data structures to EDN and writes it to the `current-output-port`.") (dl (dt (tt "struct")) (dd "A Chicken data structure consisting of atoms, lists, vectors and hashtables.")) (highlight scheme "(define (write-edn struct)\n  (lambda () (display (parse-entry struct) (current-output-port))))")))) (section 3 "About this egg" (section 4 "Author" (p (int-link "/users/(anonymous)" "Daniel Ziltener"))) (section 4 "License" (p "BSD")) (section 4 "Dependencies" (ul (li (int-link "r7rs")) (li (int-link "srfi-1")) (li (int-link "srfi-69")) (li (int-link "hahn")))) (section 4 "Colophon" (p "Documented by " (int-link "/egg/hahn" "hahn") "."))))))
