2017-11-23

sph-lib

set of more than 80 gpl3+ licensed guile scheme libraries

download

view source code

on github

library documentation

highlights

(sph base91) encoder/decoder

(sph cli) create command-line interfaces

(sph filesystem asset-compiler) configuration format and helpers to process and concatenate files from multiple sources

(sph filesystem versioning) gives a path to the next version of a file and automatically archives the old version

(sph install) program and library installer

(sph io path-pipe-chain) call procedures with input/output arguments in a chained manner to allow data flow between them

(sph lang itml *) an indent-based syntax markup language

(sph lang itpn) helpers for working with parsed itpn

(sph lang parser type-signature) a parser and writer for the sph type signature notation

(sph lang scm-format) format scheme code

(sph lang template) s-expression template processor

(sph libmagic) binding to the libmagic library from the "file" utility that guesses file types

(sph process create) create child processes and process chains

(sph process) execute programs and evaluate shell or scheme code

(sph record) vectors as records

(sph scgi) scgi interface. a server that accepts scgi requests and calls a custom procedure to handle them

(sph scrypt) use the scrypt key derivation function. depends on https://github.com/jkalbhenn/scrypt

(sph server) a generic socket data processing server that uses a thread-pool for parallel request processing

(sph test performance) adaptive performance testing with formatted result display

(sph test) automated code testing with composable modules

(sph thread-pool) thread-pool that uses wait-conditions to pause unused threads and has a customisable queue type

(sph time gregorian) gregorian calendar calculations

(sph time rfc3339) parse and create strings in the rfc3339 time format

(sph time) time as tai or utc nanoseconds since the unix epoch or gregorian calendar dates

(sph vector selection) create and analyse selections from sets: permutations, combinations, n-tuples

(sph web atom) create atom syndication feeds with sxml

(sph) bindings that are fundamental to all sph libraries

plcss s-expression language that compiles to css

other

(sph alist) association list processing

(sph base64) encoder/decoder

(sph binding-info) get information about bindings in modules

(sph common) includes commonly used modules

(sph conditional)

(sph config) program configuration file management. deprecated

(sph documentation) extracting and formatting guile scheme code documentation

(sph error) an error object type

(sph exception) rnrs exception helpers. experimental

(sph filesystem stream) bindings that create or use srfi-41 streams for reading from directories

(sph filesystem watch) _

(sph filesystem watch) _

(sph filesystem)

(sph git) _

(sph hashtable) hashtable processing

(sph io one) port and file input/output

(sph io read-write) generic port reading/writing

(sph io) port and file input/output

(sph json) a basic but fast json writer

(sph lang config) a scheme syntax configuration file format for associative data structures

(sph lang ecmascript expressions) creating ecmascript syntax strings

(sph lang ecmascript expressions) create ecmascript syntax strings

(sph lang indent-syntax)

(sph lang itml eval shtml) evaluate inline code expressions and translate itml to shtml

(sph lang itml eval) evaluate itml inline code expressions and possibly translate to a new format

(sph lang itml read) parse itml

(sph lang itml write) create itml strings from parsed itml

(sph lang parser outline)

(sph lang scm-format format) formatters for individual expressions

(sph lang scm-format transform) transformations on the abstract syntax tree

(sph list one) additional list processing bindings that depend on libraries that depend on (sph list). to avoid circular dependencies

(sph list) helpers for working with lists

(sph log) routing log-messages with categories to none or many output-targets

(sph module) guile module system or r6rs-library related procedures

(sph module) guile module system and rnrs library related procedures

(sph number)

(sph one) example implementations of various procedures

(sph random-data) generate random data. strings, booleans, lists, bytevectors, characters,

(sph server fibers) a generic socket data processing server that uses fibers for parallel request processing and non-blocking port input/output

(sph set) hashtables as sets

(sph sql) create sql-statements from scheme data

(sph stream) srfi-41 stream helpers

(sph string) string processing. includes string-replace-string, a fast replacer

(sph system reader) a scheme-datum reader that can include comments

(sph test report) _

(sph time stream) create an srfi-41 stream of (sph time) date vectors between two dates

(sph time string) time string conversions

(sph time string) time string conversions

(sph time utc) utc related time calculations

(sph tree two) _

(sph tree) processing tree-like list structures

(sph two) various bindings deemed less useful than the ones in (sph one)

(sph uniform-vector) helpers for srfi-4 and compatible vectors

(sph user-cli) procedures for user-oriented/interactive command-line interfaces

(sph vector) vector processing

(sph web html) includes a multipart-form-data parser that can do stream/part-by-part reading/parsing and supports unlimited part nesting

(sph web html) _

(sph web http) procedures for working with http

(sph web shtml) helpers to create html as sxml

binding index

list of all bindings

installation

see github

about the source code

the code prefers r6rs standard libraries to guile libraries, is written mostly functional and follows these guidelines


tags: guile library scheme sph-lib overview start q1 computer project