RSS Feed

Lisp Project of the Day


You can support this project by donating at:

Donate using PatreonDonate using Liberapay

Or see the list of project sponsors.


This is a collection of utility functions by Kevin M. Rosenberg. It includes a wide range of tools and is completely undocumented :(

Kmrcl is like :alexandria, :rutils or serapeuim.

All symbols are in the :kmrcl package and to distinguish which functionality is covered by this library, it is better to download its source from Functionality is separated by files.

Here is one interesting macro - if* from AllegroCL.

Macro itself is not documented, but I found documentation on Franz site:

Here is an example:

POFTHEDAY> (let ((score 75))
                 (kmrcl::if* (< score 60) then "F" 
                      elseif (< score 70) then "D"
                      elseif (< score 80) then "C" 
                      elseif (< score 90) then "B" 
                      else "A"))

By the way, you can import this macro also from the @xach's :zacl system, also available from Quicklisp.

Kmrcl contains many other utilities, to work with datastructures, classes, strings, network, memoization, html, xml and etc. Go, read the sources and you will find something useful for you!

Brought to you by 40Ants under Creative Commons License