(html (head (title "sph-lib (sph lang scheme)") (link (@ (rel "stylesheet") (type "text/css") (href "/css/sph.css"))) (meta (@ (name "viewport") (content "width=device-width,initial-scale=1"))) #f) (body () (div (@ (class top)) (nav (a (@ (href "/")) "start") ", " (a (@ (href "/feed.xml")) "feed")) "") (div (@ (class "middle")) (div (@ (class mtime) (title "last modification time of the current page")) "2023-04-05") (section (h1 "(sph lang scheme)") (div (p "scheme parsing helpers including helpers for implicitly quasiquoted configuration files") (p "part of " (a (@ (href "../../sph-lib.html")) "sph-lib")) (#f (section (@ (class "library-name")) (h1 "module name") (p "(sph lang scheme)")) (section (@ (class "library-exports")) (h1 "exported bindings") (div (div (@ (class "doc-bindings")) (div (@ (id "doc-b-" "file->datums") (class "doc-b")) (div (span (@ (class "type")) "procedure") ": " (span (@ (class "name")) "file->datums") " " (span (@ (class "first-sig")) "path [get-datum] ->")) (div (@ (class "rest-sig")) (div "string procedure:reader -> list")) (div (@ (class "description")) (("read all scheme datums of a file specified by path")))) (div (@ (id "doc-b-" "iq-file") (class "doc-b")) (div (span (@ (class "type")) "procedure") ": " (span (@ (class "name")) "iq-file") " " (span (@ (class "first-sig")) "path [env] ->")) (div (@ (class "rest-sig")) (div "string -> list")) (div (@ (class "description")) (("\\\"implicitly quasiquoted\\\"." (br) "read all scheme expressions from file like elements of a quasiquoted" (br) "list (quasiquote (file-content-expression ...))." (br) "unquote can be used and will be evaluated." (br) "example use case: configuration files")))) (div (@ (id "doc-b-" "iq-file-hashtable") (class "doc-b")) (div (span (@ (class "type")) "procedure") ": " (span (@ (class "name")) "iq-file-hashtable") " " (span (@ (class "first-sig")) "path ->")) (div (@ (class "rest-sig")) (div "string -> list")) (div (@ (class "description")) (("read file like iq-file and then convert the resulting list to an association list" (br) "by interpreting elements as key and value alternatingly")))) (div (@ (id "doc-b-" "iq-file-lines") (class "doc-b")) (div (span (@ (class "type")) "procedure") ": " (span (@ (class "name")) "iq-file-lines") " " (span (@ (class "first-sig")) "path [env] ->")) (div (@ (class "rest-sig")) (div "string -> ((line-expressions ...) ...)")) (div (@ (class "description")) (("like iq-file but keep the expressions of lines in separate lists")))) (div (@ (id "doc-b-" "port->datums") (class "doc-b")) (div (span (@ (class "type")) "procedure") ": " (span (@ (class "name")) "port->datums") " " (span (@ (class "first-sig")) "port [get-datum] ->")) (div (@ (class "rest-sig")) (div "string procedure:reader -> list")) (div (@ (class "description")) (("read all scheme datums from a port")))) (div (@ (id "doc-b-" "string->datum") (class "doc-b")) (div (span (@ (class "type")) "procedure") ": " (span (@ (class "name")) "string->datum") " " (span (@ (class "first-sig")) "a [reader] ->")) "" (div (@ (class "description")) (("get the first scheme expression from a string")))) (div (@ (id "doc-b-" "string->datums") (class "doc-b")) (div (span (@ (class "type")) "procedure") ": " (span (@ (class "name")) "string->datums") " " (span (@ (class "first-sig")) "a [reader] ->")) (div (@ (class "rest-sig")) (div "string -> list")) (div (@ (class "description")) (("get all scheme expression from a string"))))))))))) ()))