-- Leo's gemini proxy
-- Connecting to nanako.mooo.com:1965...
-- Connected
-- Sending request
-- Meta line: 20 text/gemini; charset=utf-8
CL-SDM is my personal standard library for Common Lisp. It’s not quite at v1.0 yet, and is written in a rather opinionated way. Most of my other Common Lisp projects use it in some way or another.
XOR logic function.
Nicer constant declarations.
PARSE-INTEGER? that returns NIL instead of raising a condition when it can’t parse.
Shorter type names for the common (un)signed integer types
Shorter array/vector declarations
Pseudo-enums (code is already written, just needs moving to CL-SDM and some expansion)
DEFINE-TYPED-FN ported from my CL-MeltySynth program and expanded
Conversion to/from (un)signed integers
CLAMP macro
MAPAPPEND function
Various nice functions inspired by Crystal/Ruby for inspecting sequences.
SAMPLE function
Sequence shuffling
SHIFT functions
Generic DOSEQ macro
Equivalent of LAST for any sequence type.
SWAP function
Easier string trimming
Caseless string comparisons
CASE-like statement for strings
Easier concatenation of things to a string
Print numbers as binary sizes (KiB, MiB, etc).
String spitting
Pretty string indenting
STRING-REPLACE
STRING-STARTS-WITH and -ENDS-WITH
JOIN function for strings
Fast approximate trig functions
Support short (-s) and long (--long) arguments.
Automatic –help and –version handling
Custom help/version printing
Positional arg support
Fast parsing of arguments
Call arbitrary functions to check argument values
String arguments
Flag arguments
File arguments (like strings, but with some special handling)
Numeric arguments
Fast I/O functions for reading/writing integers in binary.
Fast I/O functions for reading/writing floats in binary.
Fast I/O functions for reading/writing strings in binary.
Conversion of strings to/from sequences of bytes.
Conversion of integers to/from sequences of bytes.
24-bit integer support in the I/O functions
Date/Time arithmetic
Time Spans
Date Time -> String conversions
Basic ANSI support for colors and cursor control
Progress bar
Support for the Terminology terminal
Basename
Check for existing directory
Get file size
Check if a path points to a directory or not
Get some basic info (last modified, mode, etc.)
Tag-based logging, where tags can be muffled.
Basic logger
Logger with colored output
--------- Page served by Aya https://nanako.mooo.com/fossil/aya/ Aya is under the GNU Affero GPLv3 license
-- Response ended
-- Page fetched on Mon May 20 03:28:14 2024