system programming
Libraries having to do with system programming - memory management, timers, system calls, etc. Anything to do with implementation or OS specifics also belongs here.

  • ACL-COMPAT - ACL-COMPAT is a free set of compatibility layers for parts of Franz's ACL system programming API for several Common Lisp implementations
  • Bordeaux-Threads - Bordeaux-Threads lets you write multi-threaded applications in a portable way
  • bt-semaphore - simple semaphores for bordeaux-threads
  • cl-async - cl-async implements a higher-level interface for non-blocking, asynchronous programming in Common Lisp
  • cl-async-future - cl-async-future is a future (or "promise") implementation that allows a simple abstraction for values that may or may not be available yet
  • cl-daemonize - cl-daemonize is a tool to daemonize a Lisp process without the need for screen/detachtty
  • cl-environment - CL-ENVIRONMENT is a small library that tries to canonicalize access to some of the internals of different CL implementations
  • cl-event - cl-event is a Lisp libevent wrapper
  • cl-fad - CL-FAD is a portable pathname library based on code from Peter Seibel's book Practical Common Lisp, providing a way to work with files and directories
  • cl-fuse - CL-FUSE provides Common Lisp bindings for FUSE (file system in user space)
  • cl-inotify - cl-inotify is an interface to the Linux inotify facility for file change notifications
  • CL-IPC - CL-IPC is an UFFI wrapper to do Unix IPC
  • cl-libusb - cl-libusb provides an interface to libusb, a library that provides access to USB devices across many different operating systems
  • CL-PACKAGE-LOCKS - A unified way of dealing with package locks on those implementations that support them (or that's the eventual goal anyways)
  • cl-syslog - Common Lisp interface to local and remote Syslog facilities
  • cl-win32ole - Common Lisp OLE Libray liki a Ruby's win32ole
  • clocc-port - CLOCC includes a library PORT which unifies many things across different implementations, such as socket interfaces, shell access, and gray streams
  • Clon - 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
  • closer-weak - closer-weak provides CLisp-style weak objects support for CMUCL and SBCL
  • CLTIO - CLTIO is a UFFI binding to the Unix termio library for raw serial/termial I/O
  • clufs - Common Lisp User Space File System
  • COM.INFORMATIMAGO.SUSV3 - SUSV3 is an interface to the Single Unix Specification version 3 API
  • conium - Conium is a portability library for debugger- and compiler-related
  • Creating Executables - Most Common Lisp implementations support creating native-format executable files
  • detachtty - detachtty is a Unix system programming utility that lets you run interactive programs (such as Lisp) non-interactively
  • do-backup - do-backup is a tool for performing backups on some regular basis on unix systems
  • doors - Doors is an attempt to bring essential features of MS Windows(such as basic Windows API, COM and OLE) into Common Lisp
  • executor - executor is a portability layer for external executable invocation
  • external-program - external-program provides a largely-portable wrapper for running programs external to the Lisp process (ie - exec())
  • getopt - getopt is a library for processing command-line arguments
  • green-threads - GREEN-THREADS is a portable library implementing green threads (lightweight, cooperatively multitasked, user threads) in Common Lisp
  • IOlib - I/O(mainly networking) library containing: a BSD sockets library, a DNS resolver and an I/O multiplexer that supports select(2), epoll(4) and kqueue(2)
  • lh-usb - lh-usb is a set of bindings for the Linux usbfs interface for writing usb device drivers from user-space Lisp code
  • nibbles - Nibbles is a library for accessing octet-addressed blocks of data
  • optparser - optparser is a Unix command-line options parser for simple shell scripts, geared towards ease-of-use and unambiguity
  • Osicat - Operating system interface library mainly for Unix
  • Portable Exit - A portability layer for ending the Lisp image
  • Portable-Threads - Portable-threads is the GBBopen project's portable-thread code all packaged up for ASDF-Install
  • reserve-channel - Simple routing daemons that checks reachability of packets to external host and switch routing to backup channels if needed
  • RESOURCE-UTILIZATION - RESOURCE-UTILIZATION gathers and displays resource utilization statistics from Linux's /proc interface
  • sb-cpu-affinity - sb-cpu-affinity lets you set Linux scheduler CPU affinity masks from SBCL
  • SB-X86-PORTIO - SB-X86-PORTIO is a module for doing raw port I/O on SBCL/x86/x86-64
  • shelisp - Shelisp provides mechanisms for composing and running Unix shell (particularly bash) commands and constructs from Common Lisp
  • stassats-inotify - stassats-inotify is an interface to the Linux inotify facility for file change notifications
  • Terminfo - A Common Lisp interface to the terminfo database by Paul Foley
  • thread-pool - thread-pool is library that allows asynchronous function execution from a static thread pool
  • trivial-features - trivial-features ensures consistent *FEATURES* across multiple Common
  • trivial-garbage - trivial-garbage provides a portable API to finalizers, weak hash-tables and weak pointers on all major CL implementations
  • trivial-gray-streams - trivial-gray-streams provides an extremely thin compatibility layer for Gray streams
  • trivial-raw-io - trivial-raw-io provides access to raw serial/termial I/O (termios) under Unix
  • trivial-timers - Trivial-timers is a minimally portable implementation of the SBCL timer extension using Bordeaux-Threads
  • unix-options - unix-options is a library for processing Unix-style command-line arguments
  • wclas - wclas: with-command-line-arguments

Tools for dealing with assembler/machine code: (main topic: machine code)

  • Apple II archaeology - Apple II archaeology is a collection of Lisp code useful for Apple II retrocomputing
  • armish - Armish is an arm assembler
  • Assem - Assem is an ISA-level code layer for Common Lisp
  • BITMOP - BITMOP is a DSL for definition and manipulation of register sets, registers, bitfields and bitfield values, all of which are first-class objects
  • cl-comfy-arm - cl-comfy-arm is an implementation by JosephOswald of Henry Baker's COMFY assembler for the ARM architecture
  • cl-elf - cl-elf is a library for reading and writing the ELF executable file format
  • CL-IO-ELF - CL-IO-ELF is a parser for ELF executable file format
  • COMFY-6502 - COMFY-6502 is a port by JosephOswald of Henry Baker's COMFY-6502 compiler to Common Lisp
  • swap-bytes - swap-bytes is a library for efficient endianness conversion in SBCL and CCL
  • SYMTABLE - SYMTABLE is a simplistic symbol-table abstraction

Tools for working with embedded systems (Arduino, etc.): (main topic: embedded)

  • Apple II archaeology - Apple II archaeology is a collection of Lisp code useful for Apple II retrocomputing
  • Arduino Lisp - Arduino Lisp is a compiler from a subset of Common Lisp to the subset of C++ used by the Arduino C++ compiler
  • arduino-experiments - arduino-experiments is a library for interfacing to the Arduino embedded computer via serial I/O from Lisp
  • common-db - common-db is a programmable debugging substrate, mostly geared to driving target devices by establishing control via on-chip debugging machinery through a JTAG (IEEE 1149.1) external port