Small but useful (to me) modules in Guile Scheme
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Brady McDonough 56664fe676
Added a README
3 years ago
tk newline not included in if body 5 years ago
.gitignore added .gitignore 5 years ago
README.md Added a README 3 years ago

README.md

#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!)