Projects
3d-math
This library implements types, operators, and algorithms commonly used in math for 2D and 3D graphics.
- Release
3d-matrices
A matrix algebra library, as a companion to 3d-vectors. While primarily intended for tasks in 3D graphics, this also implements several general linear algebra algorithms.
- Release
3d-quaternions
A quaternion math library.
- Release
3d-spaces
A library implementing spatial query structures
- Release
3d-transforms
A 3D transformations library.
- Release
3d-vectors
A system implementing common vector arithmetic operations, especially focused on the tools used in 3D graphics.
- Release
action-list
A library implementing the action list pattern
- Release
Alloy
A new kind of user interface toolkit.
Atomics
A portability library for atomic operations such as Compare And Swap (CAS) and others.
- Release
binary-structures
A library for representing binary structures for fast decoding and encoding.
- Release
cari3s
A system for the generation of i3 window manager status bars. Allows observing and outputting a variety of system status information.
- Release
Chirp
An API client library for Twitter. It implements all publicly documented endpoints.
- Release
cl-all
A simple system to run Lisp snippets in multiple implementations at once. This is especially useful to compare implementation behaviour for under- or unspecified areas, or to test libraries for compatibility.
- Release
cl-bmp
An implementation for the BMP and ICO image file formats.
- Release
cl-fbx
Bindings to ufbx, a simple and free FBX model decoding library.
- Release
cl-flac
A wrapper library around libflac, exposing its functionality to Lisp.
- Release
cl-fond
A wrapper library around libfond, exposing its functionality to Lisp.
- Release
cl-gamepad
A portability library for access to gamepads and joysticks.
- Release
- Complete rewrite to get rid of foreign C dependencies.
cl-gltf
A library for the parsing of glTF files.
- Release
cl-gpio
A library for the Linux GPIO driver as found on Raspberry Pi and similar devkit boards.
- Release
cl-k8055
A wrapper library for the k8055 USB ADC board.
- Release
cl-ktx
An implementation for the KTX file format for fast texture storage.
- Release
cl-markless
A compiler for the Markless document standard. It includes several systems for outputting as well. Currently allows parsing Markdown to Markless, and Markless to HTML, EPUB, or Markless. Also includes a standalone executable system so that Markless documents can be compiled without requiring a Lisp environment.
- Release
cl-mixed
A bindings library for libmixed, exposing and integrating its functionality with Lisp.
- Release
- 2.0.0
cl-modio
A client library for the mod.io platform.
- Release
cl-monitors
A portability library for access to the display resolution.
- Release
cl-mpg123
A wrapper library for the MPG123 library that allows fast MP3 decoding.
- Release
cl-opus
A small library to decode OGG/Opus files.
- Release
cl-out123
A wrapper library for the OUT123 library providing simple cross-platform audio output.
- Release
cl-soloud
A bindings library for the SoLound sound server library.
- Release
cl-spidev
A library for the Linux SPIDEV driver as found on Raspberry Pi and similar devkit boards.
- Release
cl-steamworks
A complete set of bindings to the Valve SteamWorks API allowing integration into their services. The wrapper is quite elaborate and attempts to make the API feel as native to Lisp as possible.
- Release
- Rewrite to work with new SteamWorks SDK release
cl-vorbis
A simple and small library to decode OGG/Vorbis files.
- Release
cl-wavefront
A library to parse the Wavefront OBJ file format.
- Release
Classowary
Classowary is an implementation of the linear constraint solver toolkit Cassowary. It is a variant of the simplex solver algorithm, specifically designed to allow adding, removing, and updating constraints quickly. This makes it a good candidate for layout computations.
- Release
Clip
An HTML templating system that bases its templates on valid HTML markup, allowing for easy prototyping.
- Release
Clss
A library to select nodes from a DOM via CSS3 selectors. Operates on the Plump DOM.
- Release
Colleen
A modular IRC bot framework that has since been superseded by Maiden.
- Release
Colored
A library for colour representation and colour space conversion.
- Release
com-on
Utility library to ease dealing with Windows' COM interfaces.
- Release
Courier
An email marketing and mailing list service for Radiance.
- Release
Deeds
An optimising event delivery system.
- Release
Deferred
A library to allow the deferred execution of code depending on the presence of other systems.
- Release
Definitions
A system for the discovery and introspection of Lisp source definitions. This includes, but is not limited to functions, macros, variables, classes, and structs. It can be extended to support custom user-defined definition types as well.
- Release
Depot
A file system protocol library
- Release
dns-client
A pure-lisp DNS client.
- Release
documentation-utils
A set of very simple tools to help with the documentation of libraries.
- Release
Eco Tower
Can you build a sustainable tower for the future? Jam-winner of the first Swiss-Polish Game Jam.
- Release
Eternia
A short visual novel about adopting a pet.
- Release
ex-lichat
A Lichat protocol server written in Elixir.
- Release
Factory Reset
A 2D stealth action platformer game with hand-crafted pixel art. Written for the Xbox One as part of the 2019 ETH Game Programming Lab.
- Release
Feedback
Automated feedback submission and management service.
- Release
Feeder
A syndication feed library. It presents a general protocol for representation of feed items, as well as a framework to translate these objects from and to external formats. It also implements the RSS 2.0 and Atom formats within this framework.
- Release
file-attributes
Access to additional file attributes on select OS.
- Release
file-notify
File change notification library.
- Release
file-select
A portability library to open the native file dialogs.
- Release
filesystem-utils
An extension to pathname-utils, to allow dealing with common problems with filesystems.
- Release
Flare
An animation system, particularly for precise particle animation. Allows rewinding and convenient animation definition.
- Release
float-features
A portability library for IEEE float features that are not covered by the Common Lisp standard.
- Release
Flow
A general flow-chart graph processing library.
- Release
font-discovery
This is a library to find system font files. It works on systems with DirectWrite (Windows), CoreText (macOS, iOS), and FontConfig (Linux, BSD).
- Release
For
An alternate looping macro. It has a stricter form that LOOP and ITERATE, but is easier to read and doesn't require a code-walker.
- Release
form-fiddle
A library for the wrangling of lambda-expressions. Allows extracting and destructuring of various parts of a lambda/body expression.
- Release
glsl-toolkit
A tooklit for parsing and analysing OpenGL Shader Language (GLSL) code.
- Release
Halftone
A very minimalist image viewer written with Qtools.
- Release
Harmony
A real-time sound processing server implementation in Lisp. It offers sound output backends, including native implementations for Windows, Linux, and Mac OS. Based on libmixed/cl-mixed, it offers a breath of tools for real-time sound processing.
- Release
- 2.0.0
Humbler
An API client library for the Tumblr microblog service. Implements all public API endpoints.
- Release
Iclendar
A library implementing the full iCalendar (RFC5545) spec to allow generating conforming iCalendar files.
- Release
Inkwell
An API client for the Nintendo Splatoon SplatNet.
- Release
Kandria
A hack & slash platformer set in a post apocalyptic future.
- Release
keyword-reviews
An experimental review site for Radiance. Every review is limited to a single term.
- Release
Kizai
Kizai was a rather brief attempt at creating a chat bot framework in Java. It has been superseded by Maiden.
- Release
lambda-fiddle
A library for the wrangling of lambda-lists. Allows extracting and destructuring of various parts of a lambda-list.
- Release
language-codes
A system for the encoding and decoding of universal language codes (ISO-639).
- Release
Lass
A compiler for a lispy language to CSS. Allows writing CSS files in a much more comfortable fashion.
- Release
Legit
A wrapper library for the GIT command line utility.
- Release
Libflac
A very simple C library for reading FLAC files.
- Release
Libfond
A library for simple TTF file font rendering in OpenGL.
- Release
Libmixed
A C library for real-time sound mixing and processing.
- Release
- 2.0.0
lichat-js
An implementation of the Lichat protocol and client-side mechanisms in plain JavaScript. It also includes a ready-made UI that can be easily integrated into other sites.
- Release
lichat-ldap
A backend for the lichat-serverlib that allows user accounts to be looked up in an LDAP server.
- Release
lichat-protocol
This system is both an implementation and a specification for the Lichat chat protocol. It presents a simple, text-based protocol for a multi-user, multi-channel chat system.
- Release
lichat-serverlib
An implementation of the server-side protocol of Lichat. This component is wire-agnostic, meaning it can be used to drive a TCP, WS, etc. server.
- Release
lichat-tcp-client
A basic TCP-based client for Lichat.
- Release
lichat-tcp-server
An implementation of a TCP-based server for Lichat.
- Release
lichat-ws-server
An implementation of a WebSockets-based server for Lichat.
- Release
Lionchat
A Qt desktop chat client for Lichat.
- Release
lQuery
lQuery is a system for HTML traversal and manipulation, modelled after the jQuery library. It is based on the Plump and CLSS libraries.
- Release
- v3
Maiden
A modular, extensible chat client system. It offers both a way to write chat bots and chat clients that can interact with a multitude of different chat protocols and servers. The base distribution also includes several ready-made systems for bot and connectivity functionality.
- Release
Manifolds
Various algorithms for the manipulation and querying of 3D triangle meshes.
- Release
Markless
A new text markup language that hopes to be easy to learn and fast to parse.
- Started work
- v0.3
- v1.0
memory-regions
This library implements the concept of a 'memory region' along with several useful tools to deal with them.
- Release
Messagebox
A simple library to display a message box GUI dialog.
- Release
Mmap
A portability library for the memory-map functionality exposed by most main-stream operating systems. Supports Windows, Linux, and Posix.
- Release
Modularize
A system for storing metadata alongside packages.
- Release
modularize-hooks
An add-on to Modularize that allows the definition of hooks and triggers.
- Release
modularize-interfaces
An add-on to Modularize that allows the definition of abstract interfaces that another package can implement.
- Release
multilang-documentation
This library provides a replacement for the Common Lisp DOCUMENTATION function, to allow the specification of alternate docstrings depending on a desired language.
- Release
Multiposter
A system to post content like images, text, etc. to multiple platforms simultaneously.
- Release
North
A complete implementation of the oAuth 1.0a protocol for both servers and clients.
- Release
Oxenfurt
An API client library for the Oxford dictionary services.
- Release
pango-markup
A small library implementing the Pango text markup in a more Lispy way.
- Release
Parachute
A testing framework geared towards being extensible. As proof of its flexibility it implements several thin wrappers that emulate other testing frameworks' API.
- Release
Parasol
A painting application written in Common Lisp and Qt4. It has undergone several complete rewrites and is currently abandoned due to architectural difficulties that haven't been solved yet.
- Started work
pathname-utils
A collection of functions to help deal with Common Lisp pathnames.
- Release
Pesterchum
Pesterchum was a project to model a chat client after one seen in a webcomic. It has long since been abandoned.
- Release
- TinyChum
Piping
An abstract system to model message systems via pipelines constructed out of segments that filter, spread, or modify messages.
- Release
Plaster
A paste service for Radiance. Uses the Code-Mirror system to provide a convenient end-user experience, and works even without JavaScript support.
- Release
Plump
A fast HTML/XML parser geared towards being able to parse even heavily malformed documents.
- Release
Portacle
A portable common lisp IDE, available on Mac OS, Windows, and Linux as a simple, standalone extractable archive. Bundles Emacs, SBCL, ASDF, Quicklisp, GIT, and AG.
- Release
Promise
A library implementing a promise protocol
- Release
Punycode
An implementation of the Punycode encoding.
- Release
Purplish
An imageboard/forums software for Radiance. Allows multiple boards, threads, multi-file posts, etc.
- Release
py-lichat
A lichat protocol client library in Python3.
- Release
qt-libs
A portability library supplying you with a ready-to-use set of libraries for Qt4 development.
- Release
Qtools
A set of utilities and constructs to allow a much more convenient way of writing Qt applications from Lisp.
- Release
- v2
qtools-ui
A set of components and tools that provide ready-to-use elements for Qt applications.
- Release
Quickhull
An implementation of the Quickhull algorithm for fast convex hull construction.
- Release
Radiance
Radiance is a modular web application environment.
- Started work
- Finished phase 1
- v1
- v2
random-state
A library that presents a common interface for a variety of pseudo random number generators.
- Release
Ratify
A library for input validation, specifically for website form data.
- Release
Reader
A multi-user blogging system for Radiance. Allows tags and series, and provides both Markless, Markdown, and HTML blog format options.
- Release
simple-inferiors
A portability library for the handling and execution of subprocesses.
- Release
simple-tasks
A simple task scheduling framework for background execution.
- Release
South
A library for easy interaction with oAuth 1.0a services. Has since been superseded by North.
- Release
Speechless
A dialogue system for games.
- Release
Staple
A documentation bundling system that can aggregate docstrings and documentation pages, including cross-references. It also allows heavy customisation of almost every part of the process and the resulting output.
- Release
Studio
An image gallery hosting software for Radiance. Allows per-user galleries, tagging, multi-file uploads, automated incremental pageination, and more.
- Release
studio-client
An API client library for the Studio image hosting service.
- Release
system-locale
A system to allow the discovery of the system's locale and thus the user's preferred language environment.
- Release
Terrable
A parser library for the Terragen height-map file format.
- Release
Tooter
An API client library for Mastodon. It implements the full public API for applications.
- Release
Trial
A project to build a modular game engine in Common Lisp. It has already been used for a few small game projects.
- Started work
trivial-arguments
A portability library to retrieve the lambda-list of a function.
- Release
trivial-benchmark
A quick&dirty benchmarking system.
- Release
trivial-extensible-sequences
A portability library for the extensible sequences protocol, allowing custom sequence types.
- Release
trivial-indent
A portability library for editor indentation hints.
- Release
trivial-main-thread
A portability library to execute tasks on the main thread of the application.
- Release
trivial-mimes
A simple tool for retrieving the mime-type of files or file types.
- Release
TyNET
TyNET was a web framework written in PHP. It has been superseded by Radiance.
type-templates
This library allows definition and reasoning about templated types and functions.
- Release
uax-14
This is an implementation of the Unicode Standards Annex #14's line breaking algorithm. It provides a fast and convenient way to determine line breaking opportunities in text.
- Release
uax-9
This is an implementation of the Unicode Standards Annex #9's bidirectional text algorithm. It provides a convenient way to handle text bidirectionality.
- Release
Ubiquitous
A universal configuration library with convenient standard storage location and configuration value access.
- Release
universal-config
A universal configuration file library for easy configuration storage and retrieval. This project is deprecated and has been superseded by Ubiquitous.
- Release
Vegetable★Mash
Mash up the DNA of veggies in the pursuit of riches! Entry for the Virtual Pet Jam
- Release
Verbose
A high-performance, thread-aware logging system, using Piping for message coordination.
- Release
Weelichat
A lichat client plugin for Weechat.
- Release
XenCL
XenCL was a project to present an API for XenForo forums by crawling and extracting information from raw HTML pages.
- Release
Zippy
A PKWARE Zip archive library for decompression and compression of Zip files.
- Release