arnesi

Introduction 

It is a collection of lots of small bits and pieces which have proven themselves usefull in various applications. They are all tested, some even have a test suite and a few are even documentated.

(defpackage :it.bese.arnesi
  (:documentation "The arnesi utility suite.")
  (:nicknames :arnesi)[...]
  (:use :common-lisp)
  (:export

   #:clean-op

   #:make-reducer
   #:make-pusher
   #:make-collector
   #:with-reducer
   #:with-collector
   #:with-collectors

   #:to-cps
   #:with-call/cc
   #:call/cc
   #:let/cc
   #:*call/cc-returns*
   #:invalid-return-from
   #:unreachable-code
   #:defun/cc
   #:defgeneric/cc
   #:defmethod/cc
   
   #:ppm
   #:ppm1
   #:apropos-list*
   #:apropos*

   #:with-input-from-file
   #:with-output-to-file
   #:read-string-from-file
   #:write-string-to-file
   #:copy-file
   
   #:if-bind
   #:aif
   #:when-bind
   #:awhen
   #:cond-bind
   #:acond
   #:it
   #:whichever
   #:xor
   #:switch
   #:eswitch
   #:cswitch

   #:build-hash-table
   #:deflookup-table
   #:hash-to-alist

   #:write-as-uri
   #:escape-as-uri
   #:unescape-as-uri
   #:nunescape-as-uri
   #:write-as-html
   #:escape-as-html
   #:unescape-as-html
   
   #:compose
   #:conjoin
   #:curry
   #:rcurry
   #:noop
   #:y
   #:lambda-rec

   #:dolist*
   #:dotree
   #:ensure-list
   #:ensure-cons
   #:partition
   #:partitionx
   #:proper-list-p
   #:push*

   #:get-logger
   #:log-category
   #:stream-log-appender
   #:make-stream-log-appender
   #:file-log-appender
   #:make-file-log-appender
   #:log.dribble
   #:log.debug
   #:log.info
   #:log.warn
   #:log.error
   #:log.fatal
   #:deflogger
   #:log.level
   #:+dribble+
   #:+debug+
   #:+info+
   #:+warn+
   #:+error+
   #:+fatal+
   #:handle
   #:append-message
   #:ancestors
   #:appenders
   #:childer
   
   #:with-unique-names
   #:rebinding
   #:define-constant

   #:make-matcher
   #:match
   #:match-case
   #:list-match-case
   
   #:parse-ieee-double
   #:parse-float
   #:mulf
   #:divf
   #:minf
   #:maxf
   #:map-range
   #:do-range
   #:10^
   
   #:tail
   #:but-tail
   #:head
   #:but-head
   #:starts-with
   #:ends-with
   #:read-sequence*
   #:deletef
   
   #:+lower-case-ascii-alphabet+
   #:+upper-case-ascii-alphabet+
   #:+ascii-alphabet+
   #:+alphanumeric-ascii-alphabet+
   #:+base64-alphabet+
   #:random-string
   #:strcat
   #:strcat*
   #:princ-csv
   #:fold-strings
   #:trim-string
   #:~%
   #:~T
   #:+CR-LF+
   #:~D
   #:~A
   #:~S
   #:~W

   #:def-special-enviroment
   
   #:intern-concat

   #:vector-push-extend*
   #:string-from-array

   ;; decimal arith
   #:*precision*
   #:with-precision
   #:decimal-from-float
   #:float-from-decimal
   #:round-down
   #:round-half-up
   #:round-half-even
   #:round-ceiling
   #:round-floor
   #:round-half-down
   #:round-up

   #:enable-sharp-l

   #:defclass-struct

   #:with*

   #:quit

   #:wrapping-standard
   ))