diff --git a/Rakefile b/Rakefile new file mode 100644 index 0000000..414c563 --- /dev/null +++ b/Rakefile @@ -0,0 +1,30 @@ +require 'json' + +PROJECTS = Dir['projects/**/*.json'].sort.freeze + +task default: %w(projects.json projects.md) + +file 'projects.json': PROJECTS do |t| + File.open(t.name, 'w') do |out| + out.puts JSON.pretty_unparse(projects(t.prerequisites)) + end +end + +file 'projects.md': PROJECTS do |t| + File.open(t.name, 'w') do |out| + out.puts "| Name | Description |" + out.puts "| :--- | :---------- |" + projects(t.prerequisites).each do |project| + project_name = project['name'] + project_link = "[#{project_name}](#{project['homepage']})" + project_desc = project['shortdesc']['en'] + out.puts "| " + [project_link, project_desc].join(" | ") + " |" + end + end +end + +def projects(project_paths = PROJECTS) + project_paths.map do |project_path| + JSON.parse(File.read(project_path)) + end +end diff --git a/projects.json b/projects.json new file mode 100644 index 0000000..ce46b79 --- /dev/null +++ b/projects.json @@ -0,0 +1,527 @@ +[ + { + "name": "anaphoric-variants", + "homepage": "https://www.hexstreamsoft.com/libraries/anaphoric-variants/", + "shortdesc": { + "en": "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." + }, + "repository": { + "browse": "https://github.com/Hexstream/anaphoric-variants", + "location": "https://github.com/Hexstream/anaphoric-variants.git" + }, + "license": "https://github.com/Hexstream/anaphoric-variants/blob/master/UNLICENSE" + }, + { + "name": "asciiart", + "homepage": "https://github.com/frankbraun/asciiart", + "shortdesc": { + "en": "Parser for hierarchical ASCII art." + }, + "repository": { + "browse": "https://github.com/frankbraun/asciiart", + "location": "https://github.com/frankbraun/asciiart.git" + }, + "license": "https://github.com/frankbraun/asciiart/blob/master/UNLICENSE" + }, + { + "name": "bubble-operator-upwards", + "homepage": "https://www.hexstreamsoft.com/libraries/bubble-operator-upwards/", + "shortdesc": { + "en": "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." + }, + "repository": { + "browse": "https://github.com/Hexstream/bubble-operator-upwards", + "location": "https://github.com/Hexstream/bubble-operator-upwards.git" + }, + "license": "https://github.com/Hexstream/bubble-operator-upwards/blob/master/UNLICENSE" + }, + { + "name": "c-timer-lib", + "homepage": "https://github.com/HighPerLab/c-timer-lib", + "shortdesc": { + "en": "A C/C++ interface to system/hardware clocks for high-precision time measurements." + }, + "repository": { + "browse": "https://github.com/HighPerLab/c-timer-lib", + "location": "https://github.com/HighPerLab/c-timer-lib.git" + }, + "license": "https://github.com/HighPerLab/c-timer-lib/blob/master/LICENSE.md" + }, + { + "name": "cartesian-product-switch", + "homepage": "https://www.hexstreamsoft.com/libraries/cartesian-product-switch/", + "shortdesc": { + "en": "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." + }, + "repository": { + "browse": "https://github.com/Hexstream/cartesian-product-switch", + "location": "https://github.com/Hexstream/cartesian-product-switch.git" + }, + "license": "https://github.com/Hexstream/cartesian-product-switch/blob/master/UNLICENSE" + }, + { + "name": "CNT Bot", + "homepage": "http://cntbot.org/", + "shortdesc": { + "en": "IRC bot for delegating, voting and polling." + }, + "repository": { + "browse": "https://bitbucket.org/naryl/cnt-tcl", + "location": "https://bitbucket.org/naryl/cnt-tcl" + }, + "license": "https://bitbucket.org/naryl/cnt-tcl/src/default/UNLICENSE.txt" + }, + { + "name": "definitions-systems", + "homepage": "https://www.hexstreamsoft.com/libraries/definitions-systems/", + "shortdesc": { + "en": "Provides a simple unified extensible way of processing named definitions." + }, + "repository": { + "browse": "https://github.com/Hexstream/definitions-systems", + "location": "https://github.com/Hexstream/definitions-systems.git" + }, + "license": "https://github.com/Hexstream/definitions-systems/blob/master/UNLICENSE" + }, + { + "name": "enhanced-eval-when", + "homepage": "https://www.hexstreamsoft.com/libraries/enhanced-eval-when/", + "shortdesc": { + "en": "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." + }, + "repository": { + "browse": "https://github.com/Hexstream/enhanced-eval-when", + "location": "https://github.com/Hexstream/enhanced-eval-when.git" + }, + "license": "https://github.com/Hexstream/enhanced-eval-when/blob/master/UNLICENSE" + }, + { + "name": "enhanced-multiple-value-bind", + "homepage": "https://www.hexstreamsoft.com/libraries/enhanced-multiple-value-bind/", + "shortdesc": { + "en": "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." + }, + "repository": { + "browse": "https://github.com/Hexstream/enhanced-multiple-value-bind", + "location": "https://github.com/Hexstream/enhanced-multiple-value-bind.git" + }, + "license": "https://github.com/Hexstream/enhanced-multiple-value-bind/blob/master/UNLICENSE" + }, + { + "name": "first-time-value", + "homepage": "https://www.hexstreamsoft.com/libraries/first-time-value/", + "shortdesc": { + "en": "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." + }, + "repository": { + "browse": "https://github.com/Hexstream/first-time-value", + "location": "https://github.com/Hexstream/first-time-value.git" + }, + "license": "https://github.com/Hexstream/first-time-value/blob/master/UNLICENSE" + }, + { + "name": "furl", + "homepage": "https://github.com/gruns/furl", + "shortdesc": { + "en": "URL parsing and manipulation made easy." + }, + "repository": { + "browse": "https://github.com/gruns/furl", + "location": "https://github.com/gruns/furl.git" + }, + "license": "https://github.com/gruns/furl/blob/master/LICENSE.md" + }, + { + "name": "gl3w", + "homepage": "https://github.com/skaslev/gl3w", + "shortdesc": { + "en": "Simple OpenGL core profile loader." + }, + "repository": { + "browse": "https://github.com/skaslev/gl3w", + "location": "https://github.com/skaslev/gl3w.git" + }, + "license": "https://github.com/skaslev/gl3w/blob/master/UNLICENSE" + }, + { + "name": "gosignify", + "homepage": "https://github.com/frankbraun/gosignify", + "shortdesc": { + "en": "A Go reimplementation of OpenBSD's signify." + }, + "repository": { + "browse": "https://github.com/frankbraun/gosignify", + "location": "https://github.com/frankbraun/gosignify.git" + }, + "license": "https://github.com/frankbraun/gosignify/blob/master/UNLICENSE" + }, + { + "name": "incognito-keywords", + "homepage": "https://www.hexstreamsoft.com/libraries/incognito-keywords/", + "shortdesc": { + "en": "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)." + }, + "repository": { + "browse": "https://github.com/Hexstream/incognito-keywords", + "location": "https://github.com/Hexstream/incognito-keywords.git" + }, + "license": "https://github.com/Hexstream/incognito-keywords/blob/master/UNLICENSE" + }, + { + "name": "its", + "homepage": "https://www.hexstreamsoft.com/libraries/its/", + "shortdesc": { + "en": "Provides convenient access to multiple values of an object in a concise, explicit and efficient way." + }, + "repository": { + "browse": "https://github.com/Hexstream/its", + "location": "https://github.com/Hexstream/its.git" + }, + "license": "https://github.com/Hexstream/its/blob/master/UNLICENSE" + }, + { + "name": "jsonlib", + "homepage": "https://github.com/WaterJuice/JsonLib", + "shortdesc": { + "en": "This C library provides a simple mechanism for marshalling and unmarshalling C structures to and from JSON or JSON5." + }, + "repository": { + "browse": "https://github.com/WaterJuice/JsonLib", + "location": "https://github.com/WaterJuice/JsonLib.git" + }, + "license": "https://github.com/WaterJuice/JsonLib/blob/master/UNLICENSE" + }, + { + "name": "KatWeb", + "homepage": "https://github.com/kittyhacker101/KatWeb", + "shortdesc": { + "en": "A lightweight static web server and reverse proxy designed for the modern web." + }, + "repository": { + "browse": "https://github.com/kittyhacker101/KatWeb", + "location": "https://github.com/kittyhacker101/KatWeb.git" + }, + "license": "https://github.com/kittyhacker101/KatWeb/blob/master/LICENSE" + }, + { + "name": "Lemon", + "homepage": "http://www.hwaci.com/sw/lemon/", + "shortdesc": { + "en": "A thread-safe LALR(1) parser generator." + }, + "repository": null, + "license": "http://www.hwaci.com/sw/lemon/" + }, + { + "name": "LibTomCrypt", + "homepage": "https://www.libtom.net/LibTomCrypt/", + "shortdesc": { + "en": "A fairly comprehensive, modular and portable cryptographic toolkit." + }, + "repository": { + "browse": "https://github.com/libtom/libtomcrypt", + "location": "https://github.com/libtom/libtomcrypt.git" + }, + "license": "https://github.com/libtom/libtomcrypt/blob/develop/LICENSE" + }, + { + "name": "LibTomFloat", + "homepage": "https://www.libtom.net/LibTomFloat/", + "shortdesc": { + "en": "A library that provides multiple precision floating point arithmetic." + }, + "repository": { + "browse": "https://github.com/libtom/libtomfloat", + "location": "https://github.com/libtom/libtomfloat.git" + }, + "license": "https://github.com/libtom/libtomfloat/blob/master/LICENSE" + }, + { + "name": "LibTomMath", + "homepage": "https://www.libtom.net/LibTomMath/", + "shortdesc": { + "en": "A portable number theoretic multiple-precision integer library written entirely in C." + }, + "repository": { + "browse": "https://github.com/libtom/libtommath", + "location": "https://github.com/libtom/libtommath.git" + }, + "license": "https://github.com/libtom/libtommath/blob/develop/LICENSE" + }, + { + "name": "LibTomPoly", + "homepage": "https://www.libtom.net/LibTomPoly/", + "shortdesc": { + "en": "A library to provide polynomial basis arithmetic." + }, + "repository": { + "browse": "https://github.com/libtom/libtompoly", + "location": "https://github.com/libtom/libtompoly.git" + }, + "license": "https://github.com/libtom/libtompoly/blob/develop/LICENSE" + }, + { + "name": "macro-level", + "homepage": "https://www.hexstreamsoft.com/libraries/macro-level/", + "shortdesc": { + "en": "An embarassingly trivial convenience macro that saves on indentation while being more concise and direct. (macro-level ...) == (macrolet ((m () ...)) (m))" + }, + "repository": { + "browse": "https://github.com/Hexstream/macro-level", + "location": "https://github.com/Hexstream/macro-level.git" + }, + "license": "https://github.com/Hexstream/macro-level/blob/master/UNLICENSE" + }, + { + "name": "map-bind", + "homepage": "https://www.hexstreamsoft.com/libraries/map-bind/", + "shortdesc": { + "en": "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." + }, + "repository": { + "browse": "https://github.com/Hexstream/map-bind", + "location": "https://github.com/Hexstream/map-bind.git" + }, + "license": "https://github.com/Hexstream/map-bind/blob/master/UNLICENSE" + }, + { + "name": "multiple-value-variants", + "homepage": "https://www.hexstreamsoft.com/libraries/multiple-value-variants/", + "shortdesc": { + "en": "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." + }, + "repository": { + "browse": "https://github.com/Hexstream/multiple-value-variants", + "location": "https://github.com/Hexstream/multiple-value-variants.git" + }, + "license": "https://github.com/Hexstream/multiple-value-variants/blob/master/UNLICENSE" + }, + { + "name": "nerd_dice", + "homepage": "https://statelesscode.com/nerd_dice", + "shortdesc": { + "en": "A Ruby Gem for rolling polyhedral dice." + }, + "repository": { + "browse": "https://github.com/statelesscode/nerd_dice", + "location": "https://github.com/statelesscode/nerd_dice.git" + }, + "license": "https://github.com/statelesscode/nerd_dice/blob/master/UNLICENSE.txt" + }, + { + "name": "Nightweb", + "homepage": "https://sekao.net/nightweb/", + "shortdesc": { + "en": "An anonymous P2P social network in Clojure." + }, + "repository": { + "browse": "https://github.com/oakes/Nightweb", + "location": "https://github.com/oakes/Nightweb.git" + }, + "license": "https://github.com/oakes/Nightweb/blob/master/UNLICENSE" + }, + { + "name": "orderedmultidict", + "homepage": "https://github.com/gruns/orderedmultidict", + "shortdesc": { + "en": "An ordered multivalue dictionary." + }, + "repository": { + "browse": "https://github.com/gruns/orderedmultidict", + "location": "https://github.com/gruns/orderedmultidict.git" + }, + "license": "https://github.com/gruns/orderedmultidict/blob/master/LICENSE.md" + }, + { + "name": "parse-number-range", + "homepage": "https://www.hexstreamsoft.com/libraries/parse-number-range/", + "shortdesc": { + "en": "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." + }, + "repository": { + "browse": "https://github.com/Hexstream/parse-number-range", + "location": "https://github.com/Hexstream/parse-number-range.git" + }, + "license": "https://github.com/Hexstream/parse-number-range/blob/master/UNLICENSE" + }, + { + "name": "place-modifiers", + "homepage": "https://www.hexstreamsoft.com/libraries/place-modifiers/", + "shortdesc": { + "en": "Essentially gives access to hundreds of modify-macros through one single macro: MODIFY." + }, + "repository": { + "browse": "https://github.com/Hexstream/place-modifiers", + "location": "https://github.com/Hexstream/place-modifiers.git" + }, + "license": "https://github.com/Hexstream/place-modifiers/blob/master/UNLICENSE" + }, + { + "name": "place-utils", + "homepage": "https://www.hexstreamsoft.com/libraries/place-utils/", + "shortdesc": { + "en": "Provides a few utilities relating to setfable places." + }, + "repository": { + "browse": "https://github.com/Hexstream/place-utils", + "location": "https://github.com/Hexstream/place-utils.git" + }, + "license": "https://github.com/Hexstream/place-utils/blob/master/UNLICENSE" + }, + { + "name": "positional-lambda", + "homepage": "https://www.hexstreamsoft.com/libraries/positional-lambda/", + "shortdesc": { + "en": "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." + }, + "repository": { + "browse": "https://github.com/Hexstream/positional-lambda", + "location": "https://github.com/Hexstream/positional-lambda.git" + }, + "license": "https://github.com/Hexstream/positional-lambda/blob/master/UNLICENSE" + }, + { + "name": "Protoflow", + "homepage": "https://protoflow.rs", + "shortdesc": { + "en": "Protoflow implements flow-based programming (FBP) for Rust using Protocol Buffers messages." + }, + "repository": { + "browse": "https://github.com/AsimovPlatform/protoflow", + "location": "https://github.com/AsimovPlatform/protoflow.git" + }, + "license": "https://github.com/AsimovPlatform/protoflow/blob/master/UNLICENSE" + }, + { + "name": "re2c", + "homepage": "http://re2c.org/", + "shortdesc": { + "en": "A high-performance lexer generator for C and C++." + }, + "repository": { + "browse": "https://github.com/skvadrik/re2c", + "location": "https://github.com/skvadrik/re2c.git" + }, + "license": "https://github.com/skvadrik/re2c/blob/master/libre2c/COPYING" + }, + { + "name": "RSS-Bridge", + "homepage": "https://github.com/RSS-Bridge", + "shortdesc": { + "en": "A PHP project capable of generating ATOM feeds for websites who don't have one." + }, + "repository": { + "browse": "https://github.com/RSS-Bridge/rss-bridge", + "location": "https://github.com/RSS-Bridge/rss-bridge.git" + }, + "license": "https://github.com/RSS-Bridge/rss-bridge/blob/master/UNLICENSE" + }, + { + "name": "Samourai Wallet", + "homepage": "https://samouraiwallet.com/", + "shortdesc": { + "en": "Samourai Bitcoin wallet for Android." + }, + "repository": { + "browse": "https://github.com/Samourai-Wallet/samourai-wallet-android", + "location": "https://github.com/Samourai-Wallet/samourai-wallet-android.git" + }, + "license": "https://github.com/Samourai-Wallet/samourai-wallet-android/blob/develop/LICENSE" + }, + { + "name": "SQLite", + "homepage": "https://sqlite.org", + "shortdesc": { + "en": "The most used database engine in the world." + }, + "repository": { + "browse": "https://sqlite.org/src", + "location": "http://sqlite.org/cgi/src" + }, + "license": "https://sqlite.org/copyright.html" + }, + { + "name": "stb", + "homepage": "https://github.com/nothings/stb", + "shortdesc": { + "en": "Single-file public domain libraries for C/C++." + }, + "repository": { + "browse": "https://github.com/nothings/stb", + "location": "https://github.com/nothings/stb.git" + }, + "license": "https://github.com/nothings/stb/blob/master/docs/why_public_domain.md" + }, + { + "name": "symbol-namespaces", + "homepage": "https://www.hexstreamsoft.com/libraries/symbol-namespaces/", + "shortdesc": { + "en": "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." + }, + "repository": { + "browse": "https://github.com/Hexstream/symbol-namespaces", + "location": "https://github.com/Hexstream/symbol-namespaces.git" + }, + "license": "https://github.com/Hexstream/symbol-namespaces/blob/master/UNLICENSE" + }, + { + "name": "TomsFastMath", + "homepage": "https://www.libtom.net/TomsFastMath/", + "shortdesc": { + "en": "A fast large integer arithmetic library written in portable ISO C." + }, + "repository": { + "browse": "https://github.com/libtom/tomsfastmath", + "location": "https://github.com/libtom/tomsfastmath.git" + }, + "license": "https://github.com/libtom/tomsfastmath/blob/develop/LICENSE" + }, + { + "name": "topaz-js-sdk", + "homepage": "https://topaz.io", + "shortdesc": { + "en": "Javascript SDK for the Topaz API" + }, + "repository": { + "browse": "https://github.com/decentorganization/topaz-js-sdk", + "location": "https://github.com/decentorganization/topaz-js-sdk.git" + }, + "license": "https://github.com/decentorganization/topaz-js-sdk/blob/master/UNLICENSE" + }, + { + "name": "trivial-jumptables", + "homepage": "https://www.hexstreamsoft.com/libraries/trivial-jumptables/", + "shortdesc": { + "en": "Provides efficient O(1) jumptables on supported Common Lisp implementations and falls back to O(log(n)) on others." + }, + "repository": { + "browse": "https://github.com/Hexstream/trivial-jumptables", + "location": "https://github.com/Hexstream/trivial-jumptables.git" + }, + "license": "https://github.com/Hexstream/trivial-jumptables/blob/master/UNLICENSE" + }, + { + "name": "with-shadowed-bindings", + "homepage": "https://www.hexstreamsoft.com/libraries/with-shadowed-bindings/", + "shortdesc": { + "en": "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." + }, + "repository": { + "browse": "https://github.com/Hexstream/with-shadowed-bindings", + "location": "https://github.com/Hexstream/with-shadowed-bindings.git" + }, + "license": "https://github.com/Hexstream/with-shadowed-bindings/blob/master/UNLICENSE" + }, + { + "name": "youtube-dl", + "homepage": "https://rg3.github.io/youtube-dl/", + "shortdesc": { + "en": "A command-line program to download videos from YouTube.com and a few more sites." + }, + "repository": { + "browse": "https://github.com/rg3/youtube-dl", + "location": "https://github.com/rg3/youtube-dl.git" + }, + "license": "https://github.com/rg3/youtube-dl/blob/master/LICENSE" + } +] diff --git a/projects.md b/projects.md new file mode 100644 index 0000000..06572b1 --- /dev/null +++ b/projects.md @@ -0,0 +1,46 @@ +| Name | Description | +| :--- | :---------- | +| [anaphoric-variants](https://www.hexstreamsoft.com/libraries/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. | +| [asciiart](https://github.com/frankbraun/asciiart) | Parser for hierarchical ASCII art. | +| [bubble-operator-upwards](https://www.hexstreamsoft.com/libraries/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. | +| [c-timer-lib](https://github.com/HighPerLab/c-timer-lib) | A C/C++ interface to system/hardware clocks for high-precision time measurements. | +| [cartesian-product-switch](https://www.hexstreamsoft.com/libraries/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. | +| [CNT Bot](http://cntbot.org/) | IRC bot for delegating, voting and polling. | +| [definitions-systems](https://www.hexstreamsoft.com/libraries/definitions-systems/) | Provides a simple unified extensible way of processing named definitions. | +| [enhanced-eval-when](https://www.hexstreamsoft.com/libraries/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-multiple-value-bind](https://www.hexstreamsoft.com/libraries/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. | +| [first-time-value](https://www.hexstreamsoft.com/libraries/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. | +| [furl](https://github.com/gruns/furl) | URL parsing and manipulation made easy. | +| [gl3w](https://github.com/skaslev/gl3w) | Simple OpenGL core profile loader. | +| [gosignify](https://github.com/frankbraun/gosignify) | A Go reimplementation of OpenBSD's signify. | +| [incognito-keywords](https://www.hexstreamsoft.com/libraries/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). | +| [its](https://www.hexstreamsoft.com/libraries/its/) | Provides convenient access to multiple values of an object in a concise, explicit and efficient way. | +| [jsonlib](https://github.com/WaterJuice/JsonLib) | This C library provides a simple mechanism for marshalling and unmarshalling C structures to and from JSON or JSON5. | +| [KatWeb](https://github.com/kittyhacker101/KatWeb) | A lightweight static web server and reverse proxy designed for the modern web. | +| [Lemon](http://www.hwaci.com/sw/lemon/) | A thread-safe LALR(1) parser generator. | +| [LibTomCrypt](https://www.libtom.net/LibTomCrypt/) | A fairly comprehensive, modular and portable cryptographic toolkit. | +| [LibTomFloat](https://www.libtom.net/LibTomFloat/) | A library that provides multiple precision floating point arithmetic. | +| [LibTomMath](https://www.libtom.net/LibTomMath/) | A portable number theoretic multiple-precision integer library written entirely in C. | +| [LibTomPoly](https://www.libtom.net/LibTomPoly/) | A library to provide polynomial basis arithmetic. | +| [macro-level](https://www.hexstreamsoft.com/libraries/macro-level/) | An embarassingly trivial convenience macro that saves on indentation while being more concise and direct. (macro-level ...) == (macrolet ((m () ...)) (m)) | +| [map-bind](https://www.hexstreamsoft.com/libraries/map-bind/) | 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. | +| [multiple-value-variants](https://www.hexstreamsoft.com/libraries/multiple-value-variants/) | 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. | +| [nerd_dice](https://statelesscode.com/nerd_dice) | A Ruby Gem for rolling polyhedral dice. | +| [Nightweb](https://sekao.net/nightweb/) | An anonymous P2P social network in Clojure. | +| [orderedmultidict](https://github.com/gruns/orderedmultidict) | An ordered multivalue dictionary. | +| [parse-number-range](https://www.hexstreamsoft.com/libraries/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. | +| [place-modifiers](https://www.hexstreamsoft.com/libraries/place-modifiers/) | Essentially gives access to hundreds of modify-macros through one single macro: MODIFY. | +| [place-utils](https://www.hexstreamsoft.com/libraries/place-utils/) | Provides a few utilities relating to setfable places. | +| [positional-lambda](https://www.hexstreamsoft.com/libraries/positional-lambda/) | 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. | +| [Protoflow](https://protoflow.rs) | Protoflow implements flow-based programming (FBP) for Rust using Protocol Buffers messages. | +| [re2c](http://re2c.org/) | A high-performance lexer generator for C and C++. | +| [RSS-Bridge](https://github.com/RSS-Bridge) | A PHP project capable of generating ATOM feeds for websites who don't have one. | +| [Samourai Wallet](https://samouraiwallet.com/) | Samourai Bitcoin wallet for Android. | +| [SQLite](https://sqlite.org) | The most used database engine in the world. | +| [stb](https://github.com/nothings/stb) | Single-file public domain libraries for C/C++. | +| [symbol-namespaces](https://www.hexstreamsoft.com/libraries/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. | +| [TomsFastMath](https://www.libtom.net/TomsFastMath/) | A fast large integer arithmetic library written in portable ISO C. | +| [topaz-js-sdk](https://topaz.io) | Javascript SDK for the Topaz API | +| [trivial-jumptables](https://www.hexstreamsoft.com/libraries/trivial-jumptables/) | Provides efficient O(1) jumptables on supported Common Lisp implementations and falls back to O(log(n)) on others. | +| [with-shadowed-bindings](https://www.hexstreamsoft.com/libraries/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. | +| [youtube-dl](https://rg3.github.io/youtube-dl/) | A command-line program to download videos from YouTube.com and a few more sites. |