-
Notifications
You must be signed in to change notification settings - Fork 1
/
package.lisp
38 lines (32 loc) · 1.4 KB
/
package.lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
;;; Some of the 7 extremely random interface commands
;;; got replaced by defpackage.
;;; Use uninterned symbols here so that:
;;; 1. there's no iterate symbol in package USER.
;;; 2. it may work in case-sensitive mode/packages.
(defpackage #:iterate-conditions
(:nicknames #:iterate-warnings)
(:export #:deprecation-warning))
(defpackage #:iterate
(:use #:cl)
(:nicknames #:iter)
(:export #:iterate #:iter #:display-iterate-clauses
#:defsynonym #:dsetq #:declare-variables
#:defmacro-clause #:defmacro-driver #:defclause-sequence
#:initially #:after-each #:finally #:finally-protected
#:else #:if-first-time #:first-iteration-p #:first-time-p
#:finish #:leave #:next-iteration #:next #:terminate
#:repeat #:for #:as #:generate #:generating #:in
#:sum #:summing #:multiply #:multiplying
#:maximize #:minimize #:maximizing #:minimizing #:counting
#:always #:never #:thereis #:finding #:collect #:collecting
#:with #:while #:until #:adjoining #:nconcing #:appending
#:nunioning #:unioning #:reducing #:accumulate #:accumulating)
(:use #:iterate-warnings))
(in-package #:iterate)
;;; work around sbcl's obnoxious standard compliance
(defmacro defconst (name value &optional doc)
`(eval-when (:compile-toplevel :load-toplevel :execute)
(unless (boundp ',name)
,(if doc
`(defconstant ,name ,value ,doc)
`(defconstant ,name ,value)))))