about summary refs log tree commit diff
path: root/third_party/lisp/sclf/package.lisp
;;;  package.lisp --- packages description

;;;  Copyright (C) 2006, 2007, 2008, 2009, 2010 by Walter C. Pelissero
;;;  Copyright (C) 2021 by the TVL Authors

;;;  Author: Walter C. Pelissero <walter@pelissero.de>
;;;  Project: sclf

#+cmu (ext:file-comment "$Module: package.lisp $")

;;; This library is free software; you can redistribute it and/or
;;; modify it under the terms of the GNU Lesser General Public License
;;; as published by the Free Software Foundation; either version 2.1
;;; of the License, or (at your option) any later version.
;;; This library is distributed in the hope that it will be useful,
;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
;;; Lesser General Public License for more details.
;;; You should have received a copy of the GNU Lesser General Public
;;; License along with this library; if not, write to the Free
;;; Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
;;; 02111-1307 USA

(in-package :cl-user)

(defpackage :sclf
  (:use :common-lisp
	;; we need the MOP for lazy.lisp and serial.lisp
	#+cmu :pcl
	#+sbcl :sb-mop)
  ;; Don't know why but compute-effective-slot-definition-initargs is
  ;; internal in both CMUCL and SBCL
  (:import-from #+cmu"PCL" #+sbcl"SB-PCL"
		#-(or cmu sbcl) "CLOS"
		"COMPUTE-EFFECTIVE-SLOT-DEFINITION-INITARGS")
  #+cmu (:import-from :mp
		      #:make-process
		      #:current-process
		      #:all-processes
		      #:processp
		      #:process-name
		      #:process-state
		      #:process-whostate
		      #:process-wait
		      #:process-wait-with-timeout
		      #:process-yield
		      #:process-interrupt
		      #:disable-process
		      #:enable-process
		      #:without-scheduling
		      #:atomic-incf
		      #:atomic-decf
		      #:process-property-list)
  (:export #:be #:be*
	   #:defconst
	   #:with-gensyms
	   #:d+
	   #:s+
	   #:f++
	   #:list->string
	   #:string-starts-with #:string-ends-with
	   #:aif #:awhen #:acond #:aand #:acase #:it
	   #:+whitespace+
	   #:string-trim-whitespace
	   #:string-right-trim-whitespace
	   #:string-left-trim-whitespace
	   #:whitespace-p #:seq-whitespace-p
	   #:not-empty
	   #:position-any
	   #:+month-names+
	   #:find-any
	   #:split-at
	   #:split-string-at-char
	   #:week-day->string
	   #:month->string
	   #:month-string->number
	   #:add-months #:add-days
	   #:read-whole-stream
	   #:read-file #:write-file #:read-lines
	   #:read-from-file #:write-to-file
	   #:string-concat
	   #:gcase
	   #:string-truncate
	   #:promise #:force #:forced-p #:lazy #:deflazy #:lazy-metaclass #:self #:reset-lazy-slots
	   #:copy-stream #:copy-file
	   #:symlink-file
	   #:keywordify
	   #:until
	   #:year #:month #:day #:hour #:minute #:week-day #:week #:day-of-the-year
	   #:beginning-of-week #:end-of-week
	   #:next-week-day #:next-monday #:full-weeks-in-span
	   #:beginning-of-first-week #:end-of-last-week
	   #:beginning-of-month #:end-of-month
	   #:locate-system-program
	   #:*tmp-file-defaults*
	   #:temp-file-name
	   #:open-temp-file
	   #:with-temp-file
	   #:file-size
	   #:getenv
	   #:with-system-environment
	   #:time-string #:iso-time-string #:parse-iso-time-string
	   #:soundex
	   #:string-soundex=
	   #:lru-cache
	   #:getcache #:cached
	   #:print-time-span
	   #:double-linked-list #:limited-list #:sorted-list
	   #:insert #:size
	   #:heap #:heap-add #:heap-pop #:heap-empty-p
	   #:double-linked-element #:make-double-linked-element #:double-linked-element-p
	   #:dle-previous #:dle-next #:dle-value
	   #:cons-dle #:dle-remove #:dle-map #:do-dle :do-dle*
	   #:sl-map #:do-dll #:do-dll*
	   #:dll-find #:dll-find-cursor
	   #:push-first #:push-last #:dll-remove
	   #:pop-first #:pop-last
	   #:leap-year-p #:last-day-of-month
	   #:getuid #:setuid #:with-euid
	   #:get-logname #:get-user-name #:get-user-home #:find-uid
	   #:super-user-p
	   #:pathname-as-directory #:pathname-as-file
	   #:alist->plist #:plist->alist
	   #:byte-vector->string
	   #:string->byte-vector
	   #:outdated-p
	   #:with-hidden-temp-file
	   #:let-places #:let-slots
	   #:*decimal-point*
	   #:*thousands-comma*
	   #:format-amount #:parse-amount
	   #:with-package
	   #:make-directory #:ensure-directory
	   #:make-temp-directory
	   #:with-temp-directory
	   #:delete-directory
	   #:delete-directory-tree
	   #:do-directory-tree
	   #:traverse-directory-tree
	   #:empty-directory-p
	   #:remove-empty-directories
	   #:map-directory-tree
	   #:find-files
	   #:directory-p
	   #:regular-file-p
	   #:file-readable-p
	   #:file-writable-p
	   #:file-executable-p
	   #:current-directory
	   #:ensure-home-translations
	   #:list-directory
	   #:string-escape
	   #:string-substitute
	   #:bytes-simple-string
	   #:make-lock-files
	   #:with-lock-files
	   #:getpid
	   #:on-error
	   #:floor-to
	   #:round-to
	   #:ceiling-to
	   #:insert-in-order
	   #:forget-documentation
	   #:load-compiled
	   #:swap
	   #:queue #:make-queue #:queue-append #:queue-pop #:queue-empty-p
	   #:unix-stat #:unix-file-stat
	   #:stat-device
	   #:stat-inode
	   #:stat-links
	   #:stat-atime
	   #:stat-mtime
	   #:stat-ctime
	   #:stat-birthtime
	   #:stat-size
	   #:stat-blksize
	   #:stat-blocks
	   #:stat-uid
	   #:stat-gid
	   #:stat-mode
	   #:save-file-excursion
	   #:stat-modification-time
	   #:stat-creation-time
	   #:file-modification-time
	   #:file-creation-time
	   #:show
	   #:memoize-function
	   #:memoized
	   #:defun-memoized
	   #:parse-native-namestring
	   #:native-file-namestring
	   #:native-namestring
	   #:native-pathname
	   #:read-symbolic-link
	   #:symbolic-link-p
	   #:broken-link-p
	   #:circular-list
	   #:last-member
	   #:glob->regex
	   #:universal->unix-time #:unix->universal-time
	   #:get-unix-time
	   #:move-file

	   ;; sysproc.lisp
	   #:*run-verbose*
	   #:run-pipe
	   #:run-program
	   #:run-shell-command
	   #:run-async-shell-command
	   #:exit-code
	   #:with-open-pipe
	   #:*bourne-shell*
	   #:sysproc-kill
	   #:sysproc-input
	   #:sysproc-output
	   #:sysproc-alive-p
	   #:sysproc-pid
	   #:sysproc-p
	   #:sysproc-wait
	   #:sysproc-exit-code
	   #:sysproc-set-signal-callback

	   ;; MP
	   #:make-process
	   #:destroy-process
	   #:current-process
	   #:all-processes
	   #:processp
	   #:process-name
	   #:process-state
	   #:process-whostate
	   #:process-wait
	   #:process-wait-with-timeout
	   #:process-yield
	   #:process-interrupt
	   #:disable-process
	   #:enable-process
	   #:restart-process
	   #:without-scheduling
	   #:atomic-incf
	   #:atomic-decf
	   #:process-property-list
	   #:process-alive-p
	   #:process-join
	   ;;
	   #:make-lock
	   #:with-lock-held
	   #:make-recursive-lock
	   #:with-recursive-lock-held
	   ;;
	   #:make-condition-variable
	   #:condition-wait
	   #:condition-notify
	   #:process-property-list
	   #:process-execute
	   ;; mop.lisp
	   #:printable-object-mixin
	   ))