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
 | |
|    ))
 |