Saturday, April 25, 2009

Lisp news: cl-twit, chronicity and a window manager I discovered recently

I released a couple of CL libraries/apps in the last two months:
  1. cl-twit — A twitter client for Common Lisp, and
  2. chronicity — A natural language date and time parser for CL
Hopefully someone will find these useful.

Another thing I chanced upon in the last few weeks is Stumpwm; a tiling, keyboard driven X11 window manager written entirely in <gasp>Common Lisp</gasp>. From the Stumpwm website:
Stumpwm attempts to be customizable yet visually minimal. There are no window decorations, no icons, and no buttons. It does have various hooks to attach your personal customizations, and variables to tweak.
Intended as a successor to Ratpoison, one of the key ideas behind Stumpwm is to control everything from the keyboard i.e. mouseless window management (Rat Poison — get it?). Its radically different from what I am used to up till now, but its an intriguing way of doing things, and I will give it a shot (after all, I wasn't an Emacs fan to begin with, either). There's a Stumpwm screencast, if you are interested. Also, Bill Clementson shows why Stumpwm is to window managers as Emacs is to editors (hint: Lisp!).

Labels: , ,



Saturday, September 06, 2008

Announce: cl-bzip2 0.1.0

Last Saturday I released version 0.1.0 of cl-bzip2. The project is hosted at common-lisp.net. Its homepage is http://common-lisp.net/project/cl-bzip2/.

cl-bzip2 provides Common Lisp bindings (via CFFI) for libbzip2 — the C library for bzip2 compression/decompression. It provides an easy to use Lisp inteface for the same:

;;; Compression
;;; No values are returned if execution was successful
CL-USER> (bzip2:compress #p"test.txt" #p"test.txt.bz2")
; No value

;;; Decompression
CL-USER> (bzip2:decompress #p"test.txt.bz2" #p"test.txt")
; No value

;;; Using binary streams
CL-USER> (with-open-file (in "test.txt"
:direction :input
:element-type '(unsigned-byte 8))
(with-open-file (out "test.txt.bz2"
:direction :output
:element-type '(unsigned-byte 8))
(bzip2:compress in out)))
; No value

Hope someone finds it useful. If you have any suggestions for the Lisp API, please let me know (or drop in a mail to the mailing list).

Labels: , ,



This page is powered by Blogger. Isn't yours?

Subscribe to Posts [Atom]