Implemented LET and LET* by variable renaming, which provides the
[clinton/parenscript.git] / src / package.lisp
index f5e6e01..41fbb6a 100644 (file)
@@ -42,6 +42,9 @@
       #:>>= #:<<=
       #:*= #:/= #:%= #:+= #:\&= #:^= #:\|= #:~=
       #: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
       ))
   )