# highlights * [(sph base91)](sph-base91.html) encoder/decoder * [(sph cli)](sph-cli.html) create command-line interfaces * [(sph io path-pipe-chain)](sph-io-path-pipe-chain.html) call procedures with input/output arguments in a chained manner to allow data flow between them. * [(sph lang parser type-signature)](sph-lang-parser-type-signature.html) a parser and writer for a type signature notation. * [(sph lang plcss)](sph-lang-plcss.html) s-expression language that compiles to css. * [(sph lang scm-format)](sph-lang-scm-format.html) format scheme code * [(sph libmagic)](sph-libmagic.html) binding to the libmagic library from the "file" utility that guesses file types * [(sph process create)](sph-process-create.html) create child processes and process chains * [(sph scgi)](sph-scgi.html) scgi interface. a server that accepts scgi requests and calls a custom procedure to handle them. * [(sph scrypt)](sph-scrypt.html) bindings to the scrypt key derivation function. depends on https://github.com/jkalbhenn/scrypt * [(sph server)](sph-server.html) a generic socket data processing server that uses a thread-pool for parallel request processing. * [(sph string)](sph-string.html) string processing. includes string-replace-string, a fast replacer. * [(sph test)](sph-test.html) automated code testing with composable modules. * [(sph test performance)](sph-test-performance.html) adaptive performance testing with formatted result display. * [(sph thread-pool)](sph-thread-pool.html) thread-pool that uses wait-conditions to pause unused threads and has a customisable queue type * [(sph time)](sph-time.html) time as tai or utc nanoseconds since the unix epoch or gregorian calendar dates. * [(sph time gregorian)](sph-time-gregorian.html) gregorian calendar calculations * [(sph time rfc3339)](sph-time-rfc3339.html) parse and create strings in the rfc3339 time format * [(sph web atom)](sph-web-atom.html) create atom syndication feeds with sxml # other * [(sph alist)](sph-alist.html) association list processing * [(sph install)](sph-install.html) copy files and set permissions, with an optional, automatically created command line interface for users to set install options. * [(sph base64)](sph-base64.html) encoder/decoder * [(sph documentation)](sph-documentation.html) extract and display documentation (bindings, arguments and docstrings) from modules * [(sph documentation shtml)](sph-documentation-shtml.html) * [(sph exception)](sph-exception.html) rnrs exception helpers. experimental * [(sph filesystem)](sph-filesystem.html) * [(sph filesystem versioning)](sph-filesystem-versioning.html) gives a path to the next version of a file and automatically archives the old version. * [(sph futures)](sph-futures.html) fine-grain parallelism based on (sph thread-pool). * [(sph hashtable)](sph-hashtable.html) rnrs-hashtable processing. * [(sph io)](sph-io.html) port and file input/output. * [(sph lang config)](sph-lang-config.html) a scheme syntax configuration file format that parses to a alist or hashtable, possibly nested. * [(sph lang indent-syntax)](sph-lang-indent-syntax.html) converting to and from strings with indented lines * [(sph lang itpn)](sph-lang-itpn.html) helpers for working with a notation that lists space separated tags and then associated text indented in following lines. * [(sph lang parser outline)](sph-lang-parser-outline.html) parse a markup structure where headings are prefixed by one or multiple characters for nested sections. * [(sph lang scheme)](sph-lang-scheme.html) scheme parsing helpers including helpers for implicitly quasiquoted configuration files * [(sph lang scm-format base)](sph-lang-scm-format-base.html) * [(sph lang scm-format format)](sph-lang-scm-format-format.html) formatters for individual expressions * [(sph lang scm-format transform)](sph-lang-scm-format-transform.html) transformations on the abstract syntax tree * [(sph list)](sph-list.html) list helpers. * [(sph list other)](sph-list-other.html) additional list processing bindings that depend on libraries that depend on (sph list). to avoid circular dependencies * [(sph json)](sph-json.html) a rudimentary and incomplete but fast json writer * [(sph log)](sph-log.html) diagnostic logging with routing by category to none or many configurable output-targets * [(sph math)](sph-math.html) mathematics related procedures * [(sph module)](sph-module.html) guile module system and rnrs library related procedures * [(sph module binding-info)](sph-module-binding-info.html) get information about bindings in modules * [(sph number)](sph-number.html) * [(sph other)](sph-other.html) miscellaneous. * [(sph process)](sph-process.html) execute programs and evaluate shell or scheme code * [(sph server base)](sph-server-base.html) * [(sph selection)](sph-selection.html) create and analyse set selections: permutations, combinations and similar * [(sph spline-path)](sph-spline-path.html) composable interpolated paths through points. * [(sph sql)](sph-sql.html) create sql-statements from scheme data * [(sph stream)](sph-stream.html) srfi-41 stream helpers * [(sph system reader)](sph-system-reader.html) * [(sph test base)](sph-test-base.html) * [(sph test report)](sph-test-report.html) test reporters for writing to standard output for example while tests are running are implemented as a special hook * [(sph time stream)](sph-time-stream.html) create an srfi-41 stream of (sph time) date vectors between two dates * [(sph time string)](sph-time-string.html) time string conversions. * [(sph time utc)](sph-time-utc.html) utc related time calculations. * [(sph tree)](sph-tree.html) process tree-like list structures. * [(sph uniform-vector)](sph-uniform-vector.html) helpers for srfi-4 and compatible vectors. for example f32vector * [(sph vector)](sph-vector.html) vector processing * [(sph web html)](sph-web-html.html) html related methods including an advanced html multipart form data parser * [(sph web http)](sph-web-http.html) * [(sph web shtml)](sph-web-shtml.html) helpers to create html via sxml