#:>>= #:<<=
#:*= #:/= #:%= #:+= #:\&= #:^= #:\|= #:~=
#:incf #:decf
+
+ ;; compile-time stuff
+ #:eval-when
;; body forms
#:progn
#:psetf
#:setq
#:psetq
- #:simple-let*
- #:simple-let
- #:lexical-let*
- #:lexical-let
#:let*
#:let
#:concat-string
#:length
#:null
+ #:defined
+ #:undefined
#:@
#:with-lambda
-
+ #:stringp
+ #:numberp
+ #:functionp
+ #:objectp
+ #:memoize
+ #:append
+ #:apply
+ #:destructuring-bind
+
+ ;; DOM accessing utils
+ #:inner-html
+ #:uri-encode
+ #:attribute
+ #:offset
+ #:scroll
+ #:inner
+ #:client
+
;; js runtime utils
#:*ps-lisp-library*
#:mapcar
))
(defparameter *parenscript-interface-exports*
'(;; compiler
+ #:*js-target-version*
#:compile-script
#:ps
#:ps-doc
#:ps1*
#:ps-inline
#:ps-inline*
-
+ #:ps-compile-file
+ #:ps-compile-stream
;; for parenscript macro definition within lisp
#:defpsmacro
#:defmacro/ps
))
(defparameter *javascript-exports*
- '(;; for representing js code as s-expressions
- #:?
- #:if
- #:unary-operator
+ '(;;; for representing js code as s-expressions
+
+ ;; operators
+ ; arithmetic
+ #:+
+ #:-
+ #:*
+ #:/
+ #:%
+
+ ; bitwise
+ #:&
+ #:|\||
+ #:^
+ #:~
+ #:>>
+ #:<<
+ #:>>>
+
+ ; assignment
+ #:=
+ #:+=
+ #:-=
+ #:*=
+ #:/=
+ #:%=
+ #:&=
+ #:\|=
+ #:^+
+ #:>>=
+ #:<<=
+ #:>>>=
+
+ ; increment/decrement
+ #:++
#:--
+
+ ; comparison
+ #:==
+ #:===
+ #:!=
+ #:!==
+ #:>
+ #:>=
+ #:<
+ #:<=
+
+ ; logical
+ #:&&
+ #:||||
#:!
+
+ ; misc
+ #:? ; ternary
+ #:|,|
+ #:delete
+ #:function
+ #:get
+ #:in
+ #:instanceof
+ #:new
+ #:this
+ #:typeof
+ #:void
+
+
+ ;; statements
#:block
- #:literal
#:break
#:continue
+ #:do-while
+ #:for
+ #:for-in
+ #:if
+ #:label
#:return
+ #:switch
#:throw
+ #:try
+ #:var
+ #:while
+ #:with
+
+
+ #:unary-operator
+ #:literal
#:array
#:aref
- #:++
- #:+=
#:operator
- #:-=
- #:-
- #:=
#:cond
#:lambda
#:object
#:variable
#:slot-value
- #:new
#:funcall
- #:instanceof
- #:in
#:escape
))
)