Added a README

master
Brady McDonough 3 years ago
parent fe6c0a1443
commit 56664fe676

@ -0,0 +1,36 @@
#Guile Schemeing
The purpose of this repository is to hold various small utilities I commonly
use in Scheme. Running `make; make install` in the tk direcory will install
sources to the Guile `(%site-dir)` and compiled .go files to the Guile
`(%site-ccache-dir)`. All modules are installed under the prefix `tk/`
## short.scm
Aliases to shorten common names.
`(string->symbol)` => `(ss>)`
`(symbol->string)` => `(ss<)`
`(ssa>)` appends strings into a symbol
## listlogic.scm
Various logical tools.
`(display-if-not)` Displays a given string if the first argument is `#f`
`(flatten)` De-nests lists into a form where no `(car)` contains a list
`(lp&)` Tests some predicate pairwise over two lists
`(l&)` Tests the equality according to `eq?` over two lists, returns as a list
all passing elements
`(if-some)` The common `(if var var)` pattern
`(if-some-else)` The common `(if var var default)` pattern
## mcron.scm
Constants and functions for working with time, schedules and mcron
`sec/min` `sec/hour` `sec/day` `sec/week` Useful constants
`sec/mins` `sec/hours` `sec/days` `sec/weeks` Readable shortcuts, `(sec/mins 4)`
rather than `(* 4 60)` or worse `240`
`(step-from)` Normalize a time to be the next step sized increment from a base time
`(str->secs)`
`(strf->secs)`
`(current-date-string)`
`(yesterday-date-string)`
## ports.scm
Convenience when working with ports
`(port-rewind!)`
Loading…
Cancel
Save