Ystok-Library is a portable Common Lisp library of general purpose macros, functions, and utilities. It is is required by other Ystok-something packages.
Ystok-Library includes the defnative macro for customizing
national language strings. Such strings are compiled into application
when delivering in a specific language.
The lang/ subdirectory contains language files for German and Russian.
For run-time string translation, Ystok-Library includes the following:
gettext function.The file-utils.lisp contains some useful functions:
pathname-equal,copy-file.octet, octet-vector, and simple-octet-vector.octets-to-(un)signed and integer-to-octets.<
octets-to-string and string-to-octets,
which are not built in every Common Lisp implementation.The library includes the portable code of META, a classic technique for building recursive descent parsers, which is both simple and effective. See "Pragmatic Parsing in Common Lisp" of Henry G. Baker at http://citeseer.ist.psu.edu/baker91pragmatic.html or inside http://portal.acm.org/ or just download Prag-Parse.ps, the original article in PostScript.
The meta-parse-number.lisp file in the distribution bundle presents an example of using META. This approach is used by
The lw-compat.lisp file contains reimplementation of useful primitives from
LispWorks system and lispworks packages.
appendf,
nconcf,
push-end,
when-let,
when-let*.cdr-assoc,
remove-properties,
string-append, and the like.Ystok-Library optionally depends on Ystok-FFC.
Ystok-Library is required by YstokCard, YstokGrid, YstokHelp, YstokHTML, YstokSQL, YstokWidgets, Ystok-Local-Time, Ystok-URI, and our version of ACL-Compat lite.
The source code was tested on the following Lisp implementations:
Ystok-Library is available from
http://lisp.ystok.ru/ylib/ylib-1-4-025.zip or
http://lisp.ystok.ru/ylib/ylib-1-4-025.tgz.
The distribution package contains both the ASDlite/ASDF-based ycard.asd and the LispWorks-based defsys.lisp system definition files.
See change.log.