FAQ
Q1. Is there any doc for KMRCL?
A1. The source. :-) A2. There is Tinaa documentation available as of 12 December 2005.
Looks like this will not compile with a newer version of SBCL 0.8.20.31. byte-array.lisp will not compile due to file-stream not being a structure. More recent versions of SBCL (eg 0.9.5.32) compile correctly.
Quick assessment (2023-03-18)
- Generally portable and well-written assortment of utilities.
- Some (e.g. signals.lisp) are specific to SBCL/CMUCL/ACL.
- Includes the famous if* macro, though doesn't export it.
? (require :kmrcl)
:KMRCL
NIL
? (kmrcl:fixnum-width)
60
? (kmrcl:pretty-date-ut)
"Saturday"
"March"
"18"
"2023"
"20:45:27"
? (kmrcl:seconds-to-condensed-time-string
360000.44 :dp-digits 2)
"4d4h0m0.44s"
? (kmrcl:rgb->hsv 60 60 30)
60
1/2
60
? (apply #'kmrcl:hsv->rgb /)
60
60
30
? (kmrcl:split-uri-query-string
"foo=bar&baz=quux")
(("foo" . "bar")
("baz" . "quux"))
? (kmrcl:integer-string
2222 ; integer
20) ; length
"00000000000000002222"
? (kmrcl:multiword-match
"Some. Quick. Words."
"quick, some, words")
T
? (kmrcl:random-string
:set :unambiguous
:length 20)
"cqRw3GBtWmLJMYj4LGCy"
The above is from 64-bit Clozure CL.
LLGPL