Jean-Philippe Paradis's Projects
I unsophistically copy/paste and rename/modify these files to start a new project, currently.
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).
Provides a simple yet powerful value inheritance scheme.
Provides convenient access to multiple values of an object in a concise, explicit and efficient way.
Bots from #lisp
MACRO-LEVEL is an embarrassingly trivial convenience macro that saves on indentation while being more concise and direct. (macro-level ...) == (macrolet ((m () ...)) (m))
MAP-BIND is a macro that allows visual grouping of variables with their corresponding values (not necessarily 1:1) in calls to mapping operators when using an inline LAMBDA. It does so in a way that automatically supports virtually every existing and future mapping operator, all lambda keywords and FUNCALL/APPLY/MULTIPLE-VALUE-CALL variations.
Gives access to multiple-value variants of operators through one macro: MULTIPLE-VALUE. There are built-in variants for some standard operators; it's easy to create your own variants for other operators. The multiple-value mapping operators are especially useful.
[article] Informal yet helpful information on the standard symbols and their bindings. Easily find related symbols by browsing categories.
Ensures that special subclasses of standard-object cluster right in front of standard-object in the class precedence list.
Parses LOOP's convenient "for-as-arithmetic" syntax into 5 simple values: from, to, limit-kind (:inclusive, :exclusive or nil if unbounded), by (step) and direction (+ or -)). Further related utilities are provided. Intended for easy implementation of analogous functionality in other constructs.
place-modifiers essentially gives access to hundreds of modify-macros through one single macro: MODIFY.
Provides a few utilities relating to setfable places.
positional-lambda is a concise, intuitive and flexible syntax (macro) for trivial lambdas that eschews explicit (and often contextually-redundant) naming of parameter variables in favor of positional references, with support for a used or ignored &rest parameter and automatic declaration of ignored parameters when logical "gaps" are left in the positional references. Further convenience features are provided.
QMK, forked for ZSA's Oryx Configurator (to safeguard stability)
Please sponsor me to speed up development of these exciting features!
Notably allows flexible specification of package-local preferences.
Defines a simple extensible protocol for computing a guess using advisors.
Please sponsor me to speed up the development of Common Lisp Open Source!
Helping myself reason about my infrastructure, tools and processes. May it help you too!
A global status page for all my websites. Calls the updown.io API.
Defines a new kind of package that's named by a symbol rather than a string and that maps from existing symbols to their respective "implicitly managed" counterparts. The motivating use-case is to conceptually allow multiple definitions of the same kind on a single symbol, without conflicts.
Just an infrastructure website for the HexstreamSoft tarballs.
tmux source code
Provides efficient O(1) jumptables on supported Common Lisp implementations and falls back to O(log(n)) on others.
Who is Hexstream?
Provides a simple way of directing output to a stream according to the concise and intuitive semantics of FORMAT's stream argument.
Establishes a new lexical context within which specified bindings are explicitly shadowed, making it clear that they are not referenced within, thereby reducing cognitive load.
This is the source code for the portal to my professional profile.
This is the source code for the HexstreamSoft website. (#1 Common Lisp site on Alexa from October 2020 to mid-February 2021, peaked at 35 minutes Daily Time on Site and 24.4% Bounce Rate.)