There are no reviews yet. Be the first to send feedback to the community and the maintainers!
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.clhs
This installation helper makes it even easier to install a copy of the CLHS locally. (ql:quickload "clhs").definitions-systems
Provides a simple unified extensible way of processing named definitions.trivial-jumptables
Provides efficient O(1) jumptables on supported Common Lisp implementations and falls back to O(log(n)) on others.place-modifiers
place-modifiers essentially gives access to hundreds of modify-macros through one single macro: MODIFY.compatible-metaclasses
Validates superclasses according to a simple substitution model, thereby greatly simplifying the definition of class mixins.positional-lambda
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.its
Provides convenient access to multiple values of an object in a concise, explicit and efficient way.place-utils
Provides a few utilities relating to setfable places.enhanced-typep
Obsoletes all TYPEP thin wrappers.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.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))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.)class-options
Provides easy access to the defining class and its options during initialization or reinitialization of its subcomponents.first-time-value
Returns the result of evaluating a form in the current lexical and dynamic context the first time it's encountered, and the cached result of that computation on subsequent evaluations.enhanced-find-class
Provides a canonical way of converting class designators to classes.common-lisp-format-reference
[Article] Notably features a big epic table listing all the prefix arguments, modifiers and consumed arguments of all FORMAT directives.status-quo.hexstream.expert
Helping myself reason about my infrastructure, tools and processes. May it help you too!inheriting-readers
Provides a simple yet powerful value inheritance scheme.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.notes-and-tips.hexstreamsoft.com
[article] Informal yet helpful information on the standard symbols and their bindings. Easily find related symbols by browsing categories.anaphoric-variants
Gives access to anaphoric variants of operators through one macro: ANAPHORIC. The user explicitly provides a variable name, preserving sanity, in contrast to the traditional use of an evil implicit variable ("IT"). Some operators can bind additional handy variables when explicitly requested. (Formerly called "explicit-anaphora".)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.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.sponsors.hexstreamsoft.com
Please sponsor me to speed up the development of Common Lisp Open Source!chat.hexstreamsoft.com
Please join us for fun on-topic conversations about Common Lisp! We respect your time.global.hexstream.dev
Some global "assets" that I reuse across my websites.enhanced-defclass
Provides a truly extensible version of DEFCLASS that can accurately control the expansion according to the metaclass and automatically detect the suitable metaclass by analyzing the DEFCLASS form.whoami.hexstream.xyz
Who is Hexstream?getting-started-with-the-clhs
[article] Learn about the DEFINITIVE Common Lisp reference. Install it with Quicklisp for fast browsing, even when offline; query it from Emacs+Slime.cesdi
Provides a compute-effective-slot-definition-initargs generic function that allows for more ergonomic initialization of effective slot definition objects.fakenil
Provides a canonical stand-in for NIL for contexts where NIL means "no value".shared-preferences
Notably allows flexible specification of package-local preferences.map-bind
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.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.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.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).Love Open Source and this site? Check out how you can help us