(gwl utils) module provides a number of useful helpers that
are intended to simplify common tasks when defining processes. The
helpers defined by this module are all available by default.
on procedure is an alternative way to express the
application of a higher order function to some collection. The only
purpose of this procedure is to improve legibility when using Wisp
syntax, as it allows one to avoid leading dots. The following two
expressions are equivalent:
;; With "on" on numbers map lambda (number) + number 10 ;; Without "on" map lambda (number) + number 10 . samples
This procedure returns a list of file names by combining any number of file name parts given as arguments. A file name part can either be a string or a list of strings. This is very useful when you need to generate a list of input or output file names.
(expand "/home/" '("me" "you" "them") "/data/" '("old" "new")) => '("/home/me/data/old" "/home/me/data/new" "/home/you/data/old" "/home/you/data/new" "/home/them/data/old" "/home/them/data/new")
This procedure allows you to pick a named item from a collection
by looking for the specified keyword key. Optionally, you can
provide a selector procedure or index n as the first argument.
Without a selector the first item matching the given key will be
returned. When the selector is
* all items following the
key (up to the next tag) will be returned. If the selector is a
number it is used as a zero-based index into the list of items
following the key. If the selector is a procedure it is applied
to the list of items following the key.
define collection list . "one" . "two" . "three" . mine: "four" . "five" . yours: "six" pick mine: collection ; => "four" pick * mine: collection ; => '("four" "five") pick second mine: collection ; => "five" pick 0 yours: collection ; => "six"
This macro lets you load a workflow from the given file. The
file must evaluate to a workflow value. This macro is useful for when
you want to extend previously defined workflows. The argument
file is expected to be a file name relative to the file invoking