Jean-Philippe Paradis's repositories
common-lispers.hexstreamsoft.com
Discover Common Lisp open-source contributors and their best contributions! Add yourself!
clos-mop.hexstreamsoft.com
This project is an "Hexstreamification" of Robert Strandh's public domain HTML version of the CLOS MOP. It is by far the best version of the CLOS MOP specification as of 15 october 2017.
definitions-systems
Provides a simple unified extensible way of processing named definitions.
cartesian-product-switch
A macro for choosing the appropriate form to execute according to the combined results of multiple tests. This is a straightforward and efficient alternative to the convoluted ad-hoc conditionals one might otherwise resort to.
www.hexstreamsoft.com
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.)
macro-level
MACRO-LEVEL is an embarrassingly trivial convenience macro that saves on indentation while being more concise and direct. (macro-level ...) == (macrolet ((m () ...)) (m))
status.abc.hexstream.xyz
A global status page for all my websites. Calls the updown.io API.
common-lisp-format-reference
[Article] Notably features a big epic table listing all the prefix arguments, modifiers and consumed arguments of all FORMAT directives.
enhanced-eval-when
Provides an enhanced EVAL-WHEN macro that supports (eval-when t ...) as a shorthand for (eval-when (:compile-toplevel :load-toplevel :execute) ...), addressing concerns about verbosity. An ENHANCED-EVAL-WHEN alias is also supported, as well as an EVAL-ALWAYS macro and package nickname, for good measure.
enhanced-unwind-protect
Provides an enhanced UNWIND-PROTECT that makes it easy to detect whether the protected form performed a non-local exit or returned normally.
notes-and-tips.hexstreamsoft.com
[article] Informal yet helpful information on the standard symbols and their bindings. Easily find related symbols by browsing categories.
status-quo.hexstream.expert
Helping myself reason about my infrastructure, tools and processes. May it help you too!
with-shadowed-bindings
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.
chat.hexstreamsoft.com
Please join us for fun on-topic conversations about Common Lisp! We respect your time.
enhanced-multiple-value-bind
Provides an enhanced MULTIPLE-VALUE-BIND macro that adds support for lambda keywords by expanding to a MULTIPLE-VALUE-CALL when necessary. This makes catching multiple-value &rest and &key much more lightweight and convenient. A MULTIPLE-VALUE-&BIND alias is supported.
global.hexstream.dev
Some global "assets" that I reuse across my websites.
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).
parse-number-range
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.
sponsors.hexstreamsoft.com
Please sponsor me to speed up the development of Common Lisp Open Source!
whoami.hexstream.xyz
Who is Hexstream?
abc.hexstream.xyz
This is the source code for the abc.hexstream.xyz microsite.
bubble-operator-upwards
A function that "bubbles an operator upwards" in a form, demultiplexing all alternative branches by way of cartesian product. This operation is notably useful for easy implementation of certain kinds of shorthand notations in macros. A cartesian-product function is also exported, as it's needed to implement the main function.
cv.hexstream.expert
Curriculum vitae of Jean-Philippe Paradis (Hexstream).
evaled-when
Provides a way of extracting and replicating the compile-time side-effects of forms.
hexstream-project-template
I unsophistically copy/paste and rename/modify these files to start a new project, currently.
roadmap.hexstreamsoft.com
Please sponsor me to speed up development of these exciting features!
symbol-namespaces
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.
tarballs.hexstreamsoft.com
Just an infrastructure website for the HexstreamSoft tarballs.
www.hexstream.expert
This is the source code for the portal to my professional profile.