#:this
#:false
#:undefined
-
+
;; keywords
#:break
#:continue
-
+
;; array literals
#:array
#:list
#:aref
#:make-array
-
+
;; operators
#:! #:not #:~
#:* #:/ #:%
#:*= #:/= #:%= #:+= #:\&= #:^= #:\|= #:~=
#:1+ #:1-
#:incf #:decf
-
+
;; body forms
#:progn
-
+
;; object literals
#:create
#:with-slots
-
+
;; macros
#:macrolet
#:symbol-macrolet
-
+
;; if
#:if
#:when
#:unless
-
+
;; single argument statements
#:return
#:throw
-
+
;; single argument expressions
#:delete
#:void
#:typeof
#:instanceof
#:new
-
+
;; assignment and binding
#:setf
#:defsetf
- #:let
+ #:psetf
+ #:setq
+ #:psetq
+ #:simple-let*
+ #:simple-let
+ #:let*
+ #:lexical-let*
#:lexical-let
-
+
;; variables
+ #:var
#:defvar
-
+
;; iteration
+ #:labeled-for
#:for
+ #:for-in
#:doeach
#:while
-
+
;; with
#:with
-
+
;; case
#:switch
#:case
#:default
-
+
;; try throw catch
#:try
-
+
;; regex literals
#:regex
-
+
;; conditional compilation (IE)
#:cc-if
-
+
;; function definition
#:defun
#:lambda
-
+
;; lambda lists
#:&key
#:&rest
#:define-symbol-macro
#:define-script-symbol-macro
#:defmacro
-
+
;; lisp eval
#:lisp
-
+
;; iteration
#:do
+ #:do*
#:dotimes
#:dolist
#:doeach
#:while
-
+
;; v v v STUFF WE SHOULD PROBABLY MOVE TO OTHER LIBS v v v
-
- ;; CSS
- #:css
- #:css-to-string
- #:css-inline
- #:css-file
;; html generator for javascript
#:ps-html
#:oddp
#:evenp
#:ignore-errors
+ #:concatenate
#:length
#:null
#:@
- ;; libries
+ ;; js runtime utils
#:*ps-lisp-library*
#:mapcar
+ #:map-into
+ #:map
+ #:map-until
+ #:member
+ #:append
+ #:set-difference
))
- "All symbols considerred part of the Parenscript language.")
+ "All symbols considered part of the Parenscript language.")
(defpackage :parenscript
(:use :common-lisp)
#:ps*
#:ps-inline
#:ps-inline*
-
+
;; for parenscript macro definition within lisp
#:defpsmacro
#:defmacro/ps
#:defmacro+ps
#:import-macros-from-lisp
-
+
;; gensym
#:ps-gensym
#:with-ps-gensyms
#:js-to-statement-strings
#:js
#:js*
+ #:let
))
(defpackage :parenscript-special-forms