Corrected parameter docstring.
[clinton/parenscript.git] / src / package.lisp
CommitLineData
8e198a08 1(in-package :cl-user)
171bbab3 2
d31d0bc7
VS
3(eval-when (:compile-toplevel :load-toplevel :execute)
4 (defparameter *parenscript-lang-exports*
171bbab3
RD
5 '(
6 ;; literals
7 #:t
8 #:f
9 #:true
45c9f9c2 10 #.(symbol-name 'nil) ; for case-sensitive Lisps like some versions of Allegro
171bbab3
RD
11 #:this
12 #:false
13 #:undefined
d3c4afa2 14
171bbab3
RD
15 ;; keywords
16 #:break
17 #:continue
d3c4afa2 18
171bbab3
RD
19 ;; array literals
20 #:array
21 #:list
22 #:aref
23 #:make-array
d3c4afa2 24
171bbab3
RD
25 ;; operators
26 #:! #:not #:~
27 #:* #:/ #:%
28 #:+ #:-
29 #:<< #:>>
30 #:>>>
31 #:< #:> #:<= #:>=
32 #:in
33 #:eql #:== #:!= #:=
34 #:=== #:!==
35 #:&
36 #:^
37 #:\|
38 #:\&\& #:and
39 #:\|\| #:or
40 #:>>= #:<<=
41 #:*= #:/= #:%= #:+= #:\&= #:^= #:\|= #:~=
171bbab3 42 #:incf #:decf
d3c4afa2 43
171bbab3
RD
44 ;; body forms
45 #:progn
d3c4afa2 46
171bbab3
RD
47 ;; object literals
48 #:create
171bbab3 49 #:with-slots
d3c4afa2 50
171bbab3
RD
51 ;; macros
52 #:macrolet
53 #:symbol-macrolet
d3c4afa2 54
171bbab3
RD
55 ;; if
56 #:if
57 #:when
58 #:unless
d3c4afa2 59
171bbab3
RD
60 ;; single argument statements
61 #:return
62 #:throw
d3c4afa2 63
171bbab3
RD
64 ;; single argument expressions
65 #:delete
66 #:void
67 #:typeof
68 #:instanceof
69 #:new
d3c4afa2 70
d31d0bc7 71 ;; assignment and binding
171bbab3 72 #:setf
d31d0bc7 73 #:defsetf
1fe28ee1 74 #:psetf
ec227186
TC
75 #:setq
76 #:psetq
b5cf9e71 77 #:simple-let*
ca25a40e 78 #:simple-let
58c4ef4f 79 #:lexical-let*
3530f5e1 80 #:lexical-let
613457a0
TC
81 #:let*
82 #:let
d3c4afa2 83
171bbab3 84 ;; variables
58c4ef4f 85 #:var
171bbab3 86 #:defvar
d3c4afa2 87
171bbab3 88 ;; iteration
6a2ce72d 89 #:labeled-for
171bbab3 90 #:for
6a2ce72d 91 #:for-in
171bbab3 92 #:while
613457a0
TC
93 #:do
94 #:do*
95 #:dotimes
96 #:dolist
97 #:doeach
d3c4afa2 98
171bbab3
RD
99 ;; with
100 #:with
d3c4afa2 101
171bbab3
RD
102 ;; case
103 #:switch
104 #:case
105 #:default
d3c4afa2 106
171bbab3
RD
107 ;; try throw catch
108 #:try
d3c4afa2 109
171bbab3
RD
110 ;; regex literals
111 #:regex
d3c4afa2 112
171bbab3 113 ;; conditional compilation (IE)
d31d0bc7 114 #:cc-if
d3c4afa2 115
d31d0bc7
VS
116 ;; function definition
117 #:defun
118 #:lambda
d3c4afa2 119
d31d0bc7
VS
120 ;; lambda lists
121 #:&key
122 #:&rest
123 #:&body
124 #:&optional
125 #:&aux
126 #:&environment
127 #:&key-object
46f794a4 128
d31d0bc7
VS
129 ;; slot access
130 #:with-slots
131 #:slot-value
46f794a4 132
d31d0bc7
VS
133 ;; macros
134 #:macrolet
135 #:symbol-macrolet
136 #:define-symbol-macro
137 #:define-script-symbol-macro
138 #:defmacro
d3c4afa2 139
d31d0bc7
VS
140 ;; lisp eval
141 #:lisp
d3c4afa2 142
d31d0bc7 143 ;; v v v STUFF WE SHOULD PROBABLY MOVE TO OTHER LIBS v v v
171bbab3 144
d31d0bc7
VS
145 ;; html generator for javascript
146 #:ps-html
dbb7017b 147
d31d0bc7
VS
148 ;; utils
149 #:do-set-timeout
c72e87d8 150 #:max
4b6e50d2
TC
151 #:min
152 #:floor
c72e87d8 153 #:ceiling
4b6e50d2 154 #:round
c72e87d8
VS
155 #:sin
156 #:cos
157 #:tan
c72e87d8 158 #:asin
4b6e50d2 159 #:acos
c72e87d8 160 #:atan
58f3113d 161 #:pi
7a5c62dc
TC
162 #:sinh
163 #:cosh
164 #:tanh
165 #:asinh
166 #:acosh
167 #:atanh
4b6e50d2
TC
168 #:1+
169 #:1-
170 #:abs
171 #:evenp
172 #:oddp
c72e87d8 173 #:exp
c72e87d8 174 #:expt
4b6e50d2 175 #:log
a7b7afae 176 #:sqrt
c72e87d8 177 #:random
c72e87d8 178 #:ignore-errors
d5c9059a 179 #:concatenate
c72e87d8
VS
180 #:length
181 #:null
182 #:@
183
352621e1 184 ;; js runtime utils
c72e87d8
VS
185 #:*ps-lisp-library*
186 #:mapcar
352621e1
VS
187 #:map-into
188 #:map
189 #:map-until
190 #:member
191 #:append
192 #:set-difference
ea7a2f57
TC
193 )
194 "All symbols considered part of the Parenscript language."))
171bbab3 195
5aa10005 196(defpackage :parenscript
4a987e2b 197 (:use :common-lisp)
9da682ca 198 (:nicknames :js :ps)
171bbab3 199 #.(cons :export *parenscript-lang-exports*)
d31d0bc7
VS
200
201 ;;; symbols that form the interface to the Parenscript compiler
8e198a08 202 (:export
8e198a08 203 ;; compiler
9da682ca 204 #:compile-script
7590646c 205 #:ps
c11d6a09 206 #:ps-doc
7590646c 207 #:ps*
33c100f0
VS
208 #:ps-inline
209 #:ps-inline*
d3c4afa2 210
9da682ca 211 ;; for parenscript macro definition within lisp
4a987e2b 212 #:defpsmacro
a19d2bde
VS
213 #:defmacro/ps
214 #:defmacro+ps
ca493d55 215 #:import-macros-from-lisp
d3c4afa2 216
7590646c 217 ;; gensym
4a987e2b
VS
218 #:ps-gensym
219 #:with-ps-gensyms
6ae06336 220 #:ps-once-only
4a987e2b 221 #:*ps-gensym-counter*
551080b7 222
edfaa07b 223 ;; naming and namespaces
edfaa07b 224 #:ps-package-prefix
0c542be0
VS
225 #:obfuscate-package
226 #:unobfuscate-package
edfaa07b 227
c639fe7f
VS
228 ;; printer
229 #:*js-string-delimiter*
230 #:*js-inline-string-delimiter*
231 #:*ps-print-pretty*
232 #:*indent-num-spaces*
233
9da682ca 234 ;; deprecated interface
7590646c 235 #:gen-js-name
7590646c 236 #:with-unique-js-names
9da682ca
RD
237 #:defjsmacro
238 #:js-compile
9da682ca
RD
239 #:js-inline
240 #:js-inline*
4a987e2b
VS
241 #:js
242 #:js*
171bbab3 243 ))
f326f929 244