2 ;;;; Package definitions for the Parenscript
5 (eval-when (:compile-toplevel
:load-toplevel
)
6 ;; exports shared between PARENSCRIPT and PARENSCRIPT.JAVASCRIPT
7 (defparameter *shared-symbols-ps-js
*
44 #:*= #:/= #:%
= #:+= #:\
&= #:^
= #:\|
= #:~
=
52 ;; function definition
70 ;; single argument statements
74 ;; single argument expressions
106 ;; conditional compilation (IE)
108 "Symbols exported from both the Parenscript and Javascript packages
109 that are also valid as Parenscript symbols for the corresponding script packages."))
113 (defpackage parenscript.javascript
115 (:nicknames javascript ps-js
)
116 #.
(cons :export
*shared-symbols-ps-js
*)
120 #:js-to-statement-strings
122 (:documentation
"The package used to define Javascript special forms. Most of Parenscript
123 is defined as macros on top of Javascript special forms"))
125 (eval-when (:compile-toplevel
:load-toplevel
:execute
)
126 (defparameter *parenscript-lang-exports
*
128 *shared-symbols-ps-js
*
155 ;; v v v STUFF WE SHOULD PROBABLY MOVE TO OTHER LIBS v v v
163 ;; html generator for javascript
166 "List of (uninterned) symbols. Contains all symbols considerred
167 part of the Parenscript language. These should be exported within
168 both the Lisp package and the script package for Parenscript."))
170 (defpackage :parenscript
171 (:use
:common-lisp
:parenscript.javascript
)
173 #.
(cons :export
*shared-symbols-ps-js
*)
174 #.
(cons :export
*parenscript-lang-exports
*)
178 #:compile-script-file
179 #:compile-script-system
180 #:compile-parenscript-file
181 #:compile-parenscript-file-to-string
188 #:with-new-compilation-environment
; tentative
189 #:with-compilation-environment
; tentative
190 #:*compilation-environment
*
193 #:*enable-package-system
*
194 #:find-script-package
198 #:comp-env-current-package
199 #:symbol-script-package
200 #:script-package-name
202 ;; for parenscript macro definition within lisp
204 #:defpsmacro
; should we use one or the other of these?
207 #:import-macros-from-lisp
210 #:with-unique-ps-names
212 #:gen-script-name-string
215 ;; deprecated interface
218 #:with-unique-js-names
225 #:js-to-statement-strings
226 #:setup-persistent-compilation-environment
227 #:clear-persistent-compilation-environment
230 (in-package :parenscript
)
233 define-script-special-form
237 *package-prefix-style
*
242 compile-to-expression
243 symbol-script-package
252 script-special-form-p
253 make-macro-env-dictionary
257 :parenscript.javascript
)
259 (defpackage parenscript.reader
260 (:nicknames parenscript-reader
)
261 (:use
:common-lisp
:parenscript
)
262 (:shadow
#:readtablep
265 #:get-macro-character
266 #:get-dispatch-macro-character
267 #:set-macro-character
268 #:set-dispatch-macro-character
269 #:make-dispatch-macro-character
270 #:set-syntax-from-char
271 #:read-preserving-whitespace
274 #:read-delimited-list
275 #:backquote-comma-dot
282 #:*read-default-float-format
*
295 #:read-delimited-list
)
296 (:documentation
"The Parenscript reader. Used for reading Parenscript
299 (defpackage parenscript.global
300 (:nicknames
"GLOBAL")
301 (:documentation
"Symbols interned in the global package are serialized in Javascript
302 as non-prefixed identifiers."))
304 (defpackage parenscript.user
306 (:nicknames ps-user parenscript-user
)
307 (:documentation
"The default package a user is inside of when compiling code."))
309 (defpackage parenscript.asdf
310 (:use
:parenscript
:asdf
:common-lisp
)
311 (:documentation
"ASDF extensions that help compile and use Parenscript systems."))