Jonathan Amsterdam's iterator/gatherer/accumulator facility
Library that creates a namespace for named readtable
akin to the namespace of packages.
Python-like Annotation Syntax for Common Lisp
A library providing various collector type macros
pulled from arnesi into its own library and stripped of dependencies
A library that implements continuations by
transforming Common Lisp code to continuation passing style.
Easily define domain specific languages
Events for Common Lisp
groupby: A higher order function named groupby as known from Scala.
itertools Python lib ported to CL
Deforms macros in a way, that they can capture surrounding s-exps for their expansion.
Clesh is a very short program that provides
mechanisms for running and composing Unix shell commands and
constructs from Common Lisp.
Essentially, it provides a '!' syntax that you can use to run commands
and a '' embedded mode where you can enter bash scripts and obtain
the standard output as a lisp string, and some other features.
Lisp expressions can be included in any command or script using a '?'
Clesh works on every implementation of Common Lisp that is supported
There are three packages by the name of "CLON", although the third one doesn't actually introduce any conflict because the package is named com.dvlsoft.clon.ClonClon is a task scheduler library much like cron for lisp that is implemented as a shallow layer on top of SBCL timers.It's written by Gabor Melis and can be found at http://quotenil.com/git/?p=clon.git;a=summary.
CLON (Common Lisp Object Network) is a prototype-based object system for Common Lisp written by David O'Toole. The details of inheritance, message passing, and field lookup are inspired by the Io language and the Garnet UI toolkit (KR in particular).Release tarball: clon-1.0.tar.gzHomepage: http://github.com/dto/clonCLON is used in RLX, a game engine for rogue-like games.
Clon - the Command-Line Options Nuker
Clon is a library for managing command-line options in standalone Common Lisp applications. It provides a unified option syntax with both short and long names, automatic completion of partial names and automatic retrieval/conversion of option arguments from the command-line, associated environment variables, fallback or default values. Clon comes with a set of extensible option types (switches, paths, strings etc.). Clon also provides automatic generation and formatting of help strings, with support for highlighting on tty's through ISO/IEC 6429 SGR. This formatting is customizable through "themes".Clon currently works on Unix (including MacOS X) and Windows (Cygwin, MinGW/MSYS) with SBCL, CMUCL, CCL, ECL, CLISP, ABCL, Allegro (both standard and modern) and Lispworks.Clon is written by Didier Verna.
Clon's homepage is here.
language extension system programming command-line options parser
conduit-packages is a language extension providing some enhancements to Common Lisp's package system. It allows the creation of extended packages that may dynamically share symbols with other packages, thus extending them. The extended packages are called "conduits", since they serve as conduits for other packages. You can also create packages which extend other packages excepting a few symbols, so you can create, for instance, custom CL-like packages, such as subsets, or CL-with-a-few-things-done-differently. You can also `clone' packages - create another package which shares all (external and internal) symbols with an existing package.Written by Tim Bradshaw. The project page includes some documentation.
ContextL is a CLOS extension for Context-oriented Programming (COP).
DO+ (doplus) is a high-level, extensible iteration construct for Common Lisp with a reasonably simple implementation, which in particular does not use a code walker.
Lets you specify CLOS classes (e.g., as arguments to make-instance) using parameters at run-time, letting you use mixins more conveniently.Homepage: http://common-lisp.net/project/dynamic-classes/Source repository: git://github.com/gwkkwg/dynamic-classes License: BSD
Topics: language extension
A Simple Caching Layer for functions
A common lisp package providing python style generators based
on delimited continuations
Main purpose is to be able to use strings as real keys but do gethash with symbols and vice versa.
Can be useful for things like http headers parsing (no more intern leaks), json apis with/without https://github.com/AccelerationNet/access.
Only tested on SBCL. Expected to work on Allegro, CCL and LW.
Also provides nil safe dot syntax
incognito-keywords introduces a new kind of keyword that looks just like any non-keyword symbol and allows safe usage of convenient but clashy symbol names by multiple libraries without conflicts through sharing. Some names that might benefit are (alist blist plist macro operator index &doc &decl &rest+ &destructure &ignored &ignorable).
Memoize is a small library for performing memoization. It was written by Tim Bradshaw.It has some good documentation available.See also memoize-form.You should be using fare-memoization instead.
Flexible Common Lisp shallow/deep copy mechanism.
Extensible object equivalence protocol
Essentially gives access to hundreds of modify-macros through one single macro: MODIFY.
Nondeterministic programming and constraint propagation.
Cheeky prototypes for Common Lisp
xarray is a generalized interface for array-like objects with views.This package implements a generalized interface for array-like
objects. The idea is that we should be able to index an object as(xref object 1 2 3)to retrieve or set an element. This would be easy to do it aref was a
generic function, but it is not. I describe a simple interface with a
few generic functions (xdims queries dimensions, xtype element type,
etc), any objects that has these methods is called "xrefable".The nice part is that views on an array can also be xrefable. For an
two-dimensional array *a*, (slice *a* :all 4)selects the 4th column of an array. This view is also xrefable, so
you can use(setf (xref (slice *a* :all 4) 2) 9)to set element 2 to 9. Changes will be made in the original array
*a*, since this is a view. But for functions that just expect an
array, they can use the interface (xref, xdims, etc) and not care
where it is coming from.Homepage: https://github.com/tpapp/xarrayLicense: MIT
Topics: language extension