243 lines
		
	
	
	
		
			5.1 KiB
		
	
	
	
		
			Common Lisp
		
	
	
	
	
	
			
		
		
	
	
			243 lines
		
	
	
	
		
			5.1 KiB
		
	
	
	
		
			Common Lisp
		
	
	
	
	
	
(defpackage :alexandria.1.0.0
 | 
						|
  (:nicknames :alexandria)
 | 
						|
  (:use :cl)
 | 
						|
  #+sb-package-locks
 | 
						|
  (:lock t)
 | 
						|
  (:export
 | 
						|
   ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 | 
						|
   ;; BLESSED
 | 
						|
   ;;
 | 
						|
   ;; Binding constructs
 | 
						|
   #:if-let
 | 
						|
   #:when-let
 | 
						|
   #:when-let*
 | 
						|
   ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 | 
						|
   ;; REVIEW IN PROGRESS
 | 
						|
   ;;
 | 
						|
   ;; Control flow
 | 
						|
   ;;
 | 
						|
   ;; -- no clear consensus yet --
 | 
						|
   #:cswitch
 | 
						|
   #:eswitch
 | 
						|
   #:switch
 | 
						|
   ;; -- problem free? --
 | 
						|
   #:multiple-value-prog2
 | 
						|
   #:nth-value-or
 | 
						|
   #:whichever
 | 
						|
   #:xor
 | 
						|
   ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 | 
						|
   ;; REVIEW PENDING
 | 
						|
   ;;
 | 
						|
   ;; Definitions
 | 
						|
   #:define-constant
 | 
						|
   ;; Hash tables
 | 
						|
   #:alist-hash-table
 | 
						|
   #:copy-hash-table
 | 
						|
   #:ensure-gethash
 | 
						|
   #:hash-table-alist
 | 
						|
   #:hash-table-keys
 | 
						|
   #:hash-table-plist
 | 
						|
   #:hash-table-values
 | 
						|
   #:maphash-keys
 | 
						|
   #:maphash-values
 | 
						|
   #:plist-hash-table
 | 
						|
   ;; Functions
 | 
						|
   #:compose
 | 
						|
   #:conjoin
 | 
						|
   #:curry
 | 
						|
   #:disjoin
 | 
						|
   #:ensure-function
 | 
						|
   #:ensure-functionf
 | 
						|
   #:multiple-value-compose
 | 
						|
   #:named-lambda
 | 
						|
   #:rcurry
 | 
						|
   ;; Lists
 | 
						|
   #:alist-plist
 | 
						|
   #:appendf
 | 
						|
   #:nconcf
 | 
						|
   #:reversef
 | 
						|
   #:nreversef
 | 
						|
   #:circular-list
 | 
						|
   #:circular-list-p
 | 
						|
   #:circular-tree-p
 | 
						|
   #:doplist
 | 
						|
   #:ensure-car
 | 
						|
   #:ensure-cons
 | 
						|
   #:ensure-list
 | 
						|
   #:flatten
 | 
						|
   #:lastcar
 | 
						|
   #:make-circular-list
 | 
						|
   #:map-product
 | 
						|
   #:mappend
 | 
						|
   #:nunionf
 | 
						|
   #:plist-alist
 | 
						|
   #:proper-list
 | 
						|
   #:proper-list-length
 | 
						|
   #:proper-list-p
 | 
						|
   #:remove-from-plist
 | 
						|
   #:remove-from-plistf
 | 
						|
   #:delete-from-plist
 | 
						|
   #:delete-from-plistf
 | 
						|
   #:set-equal
 | 
						|
   #:setp
 | 
						|
   #:unionf
 | 
						|
   ;; Numbers
 | 
						|
   #:binomial-coefficient
 | 
						|
   #:clamp
 | 
						|
   #:count-permutations
 | 
						|
   #:factorial
 | 
						|
   #:gaussian-random
 | 
						|
   #:iota
 | 
						|
   #:lerp
 | 
						|
   #:map-iota
 | 
						|
   #:maxf
 | 
						|
   #:mean
 | 
						|
   #:median
 | 
						|
   #:minf
 | 
						|
   #:standard-deviation
 | 
						|
   #:subfactorial
 | 
						|
   #:variance
 | 
						|
   ;; Arrays
 | 
						|
   #:array-index
 | 
						|
   #:array-length
 | 
						|
   #:copy-array
 | 
						|
   ;; Sequences
 | 
						|
   #:copy-sequence
 | 
						|
   #:deletef
 | 
						|
   #:emptyp
 | 
						|
   #:ends-with
 | 
						|
   #:ends-with-subseq
 | 
						|
   #:extremum
 | 
						|
   #:first-elt
 | 
						|
   #:last-elt
 | 
						|
   #:length=
 | 
						|
   #:map-combinations
 | 
						|
   #:map-derangements
 | 
						|
   #:map-permutations
 | 
						|
   #:proper-sequence
 | 
						|
   #:random-elt
 | 
						|
   #:removef
 | 
						|
   #:rotate
 | 
						|
   #:sequence-of-length-p
 | 
						|
   #:shuffle
 | 
						|
   #:starts-with
 | 
						|
   #:starts-with-subseq
 | 
						|
   ;; Macros
 | 
						|
   #:once-only
 | 
						|
   #:parse-body
 | 
						|
   #:parse-ordinary-lambda-list
 | 
						|
   #:with-gensyms
 | 
						|
   #:with-unique-names
 | 
						|
   ;; Symbols
 | 
						|
   #:ensure-symbol
 | 
						|
   #:format-symbol
 | 
						|
   #:make-gensym
 | 
						|
   #:make-gensym-list
 | 
						|
   #:make-keyword
 | 
						|
   ;; Strings
 | 
						|
   #:string-designator
 | 
						|
   ;; Types
 | 
						|
   #:negative-double-float
 | 
						|
   #:negative-fixnum-p
 | 
						|
   #:negative-float
 | 
						|
   #:negative-float-p
 | 
						|
   #:negative-long-float
 | 
						|
   #:negative-long-float-p
 | 
						|
   #:negative-rational
 | 
						|
   #:negative-rational-p
 | 
						|
   #:negative-real
 | 
						|
   #:negative-single-float-p
 | 
						|
   #:non-negative-double-float
 | 
						|
   #:non-negative-double-float-p
 | 
						|
   #:non-negative-fixnum
 | 
						|
   #:non-negative-fixnum-p
 | 
						|
   #:non-negative-float
 | 
						|
   #:non-negative-float-p
 | 
						|
   #:non-negative-integer-p
 | 
						|
   #:non-negative-long-float
 | 
						|
   #:non-negative-rational
 | 
						|
   #:non-negative-real-p
 | 
						|
   #:non-negative-short-float-p
 | 
						|
   #:non-negative-single-float
 | 
						|
   #:non-negative-single-float-p
 | 
						|
   #:non-positive-double-float
 | 
						|
   #:non-positive-double-float-p
 | 
						|
   #:non-positive-fixnum
 | 
						|
   #:non-positive-fixnum-p
 | 
						|
   #:non-positive-float
 | 
						|
   #:non-positive-float-p
 | 
						|
   #:non-positive-integer
 | 
						|
   #:non-positive-rational
 | 
						|
   #:non-positive-real
 | 
						|
   #:non-positive-real-p
 | 
						|
   #:non-positive-short-float
 | 
						|
   #:non-positive-short-float-p
 | 
						|
   #:non-positive-single-float-p
 | 
						|
   #:positive-double-float
 | 
						|
   #:positive-double-float-p
 | 
						|
   #:positive-fixnum
 | 
						|
   #:positive-fixnum-p
 | 
						|
   #:positive-float
 | 
						|
   #:positive-float-p
 | 
						|
   #:positive-integer
 | 
						|
   #:positive-rational
 | 
						|
   #:positive-real
 | 
						|
   #:positive-real-p
 | 
						|
   #:positive-short-float
 | 
						|
   #:positive-short-float-p
 | 
						|
   #:positive-single-float
 | 
						|
   #:positive-single-float-p
 | 
						|
   #:coercef
 | 
						|
   #:negative-double-float-p
 | 
						|
   #:negative-fixnum
 | 
						|
   #:negative-integer
 | 
						|
   #:negative-integer-p
 | 
						|
   #:negative-real-p
 | 
						|
   #:negative-short-float
 | 
						|
   #:negative-short-float-p
 | 
						|
   #:negative-single-float
 | 
						|
   #:non-negative-integer
 | 
						|
   #:non-negative-long-float-p
 | 
						|
   #:non-negative-rational-p
 | 
						|
   #:non-negative-real
 | 
						|
   #:non-negative-short-float
 | 
						|
   #:non-positive-integer-p
 | 
						|
   #:non-positive-long-float
 | 
						|
   #:non-positive-long-float-p
 | 
						|
   #:non-positive-rational-p
 | 
						|
   #:non-positive-single-float
 | 
						|
   #:of-type
 | 
						|
   #:positive-integer-p
 | 
						|
   #:positive-long-float
 | 
						|
   #:positive-long-float-p
 | 
						|
   #:positive-rational-p
 | 
						|
   #:type=
 | 
						|
   ;; Conditions
 | 
						|
   #:required-argument
 | 
						|
   #:ignore-some-conditions
 | 
						|
   #:simple-style-warning
 | 
						|
   #:simple-reader-error
 | 
						|
   #:simple-parse-error
 | 
						|
   #:simple-program-error
 | 
						|
   #:unwind-protect-case
 | 
						|
   ;; Features
 | 
						|
   #:featurep
 | 
						|
   ;; io
 | 
						|
   #:with-input-from-file
 | 
						|
   #:with-output-to-file
 | 
						|
   #:read-stream-content-into-string
 | 
						|
   #:read-file-into-string
 | 
						|
   #:write-string-into-file
 | 
						|
   #:read-stream-content-into-byte-vector
 | 
						|
   #:read-file-into-byte-vector
 | 
						|
   #:write-byte-vector-into-file
 | 
						|
   #:copy-stream
 | 
						|
   #:copy-file
 | 
						|
   ;; new additions collected at the end (subject to removal or further changes)
 | 
						|
   #:symbolicate
 | 
						|
   #:assoc-value
 | 
						|
   #:rassoc-value
 | 
						|
   #:destructuring-case
 | 
						|
   #:destructuring-ccase
 | 
						|
   #:destructuring-ecase
 | 
						|
   ))
 |