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 #:*= #:/= #:%
= #:+= #:\
&= #:^
= #:\|
= #:~
=
65 ;; single argument statements
69 ;; single argument expressions
101 ;; conditional compilation (IE)
103 "Symbols exported from both the Parenscript and Javascript packages
104 that are also valid as Parenscript symbols for the corresponding script packages."))
108 (defpackage parenscript.javascript
110 (:nicknames javascript ps-js
)
111 #.
(cons :export
*shared-symbols-ps-js
*)
113 ;; function definition
119 #:js-to-statement-strings
121 (:documentation
"The package used to define Javascript special forms. Most of Parenscript
122 is defined as macros on top of Javascript special forms"))
124 (eval-when (:compile-toplevel
:load-toplevel
:execute
)
125 (defparameter *parenscript-lang-exports
*
127 *shared-symbols-ps-js
*
133 ;; function definition
156 #:define-symbol-macro
157 #:define-script-symbol-macro
176 ;; v v v STUFF WE SHOULD PROBABLY MOVE TO OTHER LIBS v v v
184 ;; html generator for javascript
190 "List of (uninterned) symbols. Contains all symbols considerred
191 part of the Parenscript language. These should be exported within
192 both the Lisp package and the script package for Parenscript."))
194 (defpackage :parenscript
195 (:use
:common-lisp
:parenscript.javascript
)
197 #.
(cons :export
*shared-symbols-ps-js
*)
198 #.
(cons :export
*parenscript-lang-exports
*)
202 #:compile-script-file
203 #:compile-script-system
204 #:compile-parenscript-file
205 #:compile-parenscript-file-to-string
212 #:with-new-compilation-environment
; tentative
213 #:with-compilation-environment
; tentative
214 #:*compilation-environment
*
217 #:find-script-package
221 #:comp-env-current-package
222 #:symbol-script-package
223 #:script-package-name
225 ;; for parenscript macro definition within lisp
227 #:defpsmacro
; should we use one or the other of these?
230 #:import-macros-from-lisp
233 #:with-unique-ps-names
235 #:gen-script-name-string
238 ;; deprecated interface
241 #:with-unique-js-names
248 #:js-to-statement-strings
251 (in-package :parenscript
)
254 define-script-special-form
258 *package-prefix-style
*
263 compile-to-expression
264 symbol-script-package
273 script-special-form-p
274 make-macro-env-dictionary
278 :parenscript.javascript
)
280 (defpackage parenscript.global
281 (:nicknames
"GLOBAL")
282 (:documentation
"Symbols interned in the global package are serialized in Javascript
283 as non-prefixed identifiers."))
285 (defpackage parenscript.user
287 (:nicknames ps-user parenscript-user
)
288 (:documentation
"The default package a user is inside of when compiling code."))
290 (defpackage parenscript.asdf
291 (:use
:parenscript
:asdf
:common-lisp
)
292 (:documentation
"ASDF extensions that help compile and use Parenscript systems."))
294 (defpackage parenscript.non-prefixed
(:nicknames ps.non-prefixed
))
295 (defpackage parenscript.ps-gensyms
)