Vladimir Sedach [Wed, 31 Oct 2007 07:03:59 +0000 (07:03 +0000)]
Prettied up whitespace and comments in parse-lambda-list, ref2test.
Vladimir Sedach [Wed, 31 Oct 2007 07:01:32 +0000 (07:01 +0000)]
Got rid of unused functions in util.lisp, slight refactoring.
Vladimir Sedach [Mon, 29 Oct 2007 19:45:21 +0000 (19:45 +0000)]
More refactorings to the printer, exported symbols that control printer behavior.
Vladimir Sedach [Fri, 26 Oct 2007 06:06:25 +0000 (06:06 +0000)]
Refactored Parenscript printer code.
Vladimir Sedach [Tue, 16 Oct 2007 22:04:45 +0000 (22:04 +0000)]
Changed ps-inline to take a form instead of an implicit progn as a parameter; gave ps-inline and ps-inline* optional arguments.
The optional arguments bind *js-quote-char* to make it more convenient
to use the two functions with different html generation macros (which
may use single or double quotes to delimit attribute values).
Vladimir Sedach [Tue, 16 Oct 2007 21:54:53 +0000 (21:54 +0000)]
Further ignore declarations for unused variables.
Thanks to: Kevin Layer <layer@known.net>
Vladimir Sedach [Sun, 14 Oct 2007 18:18:11 +0000 (18:18 +0000)]
In parse-lambda-list, made the need-symbol function work.
Otherwise the conditional always evaluated to nil.
Vladimir Sedach [Sun, 14 Oct 2007 18:17:22 +0000 (18:17 +0000)]
In package definition, instead of exporting "NIL", exported (symbol-name 'nil).
The latter causes a problem in case-sensitive Allegro.
Thanks to Kevin Layer for the patch.
Vladimir Sedach [Sun, 14 Oct 2007 18:16:20 +0000 (18:16 +0000)]
Declared unused "expecting" variables in ps-special-form definitions ignorable.
Thanks to: Kevin Layer <layer@known.net>
Vladimir Sedach [Sun, 14 Oct 2007 18:15:19 +0000 (18:15 +0000)]
Made ps-macrology depend on utils in parenscript asdf definition.
Thanks to: Kevin Layer <layer@known.net>
Vladimir Sedach [Thu, 11 Oct 2007 02:27:40 +0000 (02:27 +0000)]
Fixed a bug in how symbol-macros were defined, expanded, and used by 'with-slots'.
Vladimir Sedach [Wed, 10 Oct 2007 23:12:57 +0000 (23:12 +0000)]
Made defun, defvar and doeach expect a symbol as the "name" argument instead of trying to compile-parenscript-form :expecting :expression.
Vladimir Sedach [Wed, 10 Oct 2007 23:12:10 +0000 (23:12 +0000)]
Made the handling of keyword symbols across Parenscript be consistent with the treatment of other symbols.
Previously a keyword symbol was being treated as a quoted symbol by
Parenscript.
Vladimir Sedach [Sun, 23 Sep 2007 06:07:26 +0000 (06:07 +0000)]
Added support for &whole arguments in ps macro lambda lists; renamed parser.lisp to compiler.lisp.
Vladimir Sedach [Thu, 20 Sep 2007 23:49:34 +0000 (23:49 +0000)]
Added macro environment unit test that tests for bug "inconsistent expansion of local macro".
Vladimir Sedach [Thu, 20 Sep 2007 23:33:14 +0000 (23:33 +0000)]
Eliminated unwinding of macro environment for macro expansions.
This fixed bug:
"Bug: inconsistent expansion of local macro" submitted by Daniel
Gackle on 2007-09-12
Vladimir Sedach [Tue, 28 Aug 2007 23:04:38 +0000 (23:04 +0000)]
Updated description of PS-HTML in the tutorial.
Vladimir Sedach [Fri, 24 Aug 2007 21:32:01 +0000 (21:32 +0000)]
Revised obfuscation facility, added its description to the reference, and added more unit tests.
Vladimir Sedach [Fri, 24 Aug 2007 20:43:13 +0000 (20:43 +0000)]
Added description of namespace system to the reference.
Vladimir Sedach [Fri, 24 Aug 2007 20:16:51 +0000 (20:16 +0000)]
Fixed problem with (- 1). Unary operator "-" didn't like number constants.
Vladimir Sedach [Fri, 24 Aug 2007 20:01:23 +0000 (20:01 +0000)]
Added defsetf and (defun (setf examples to the reference.
Vladimir Sedach [Fri, 24 Aug 2007 20:00:41 +0000 (20:00 +0000)]
Added ps-print method specialized on null to ignore printing of nils.
Vladimir Sedach [Fri, 24 Aug 2007 19:39:30 +0000 (19:39 +0000)]
Added code to remove unreachable constant forms from progn.
Vladimir Sedach [Fri, 24 Aug 2007 18:20:47 +0000 (18:20 +0000)]
Updated the introduction doc.
Vladimir Sedach [Fri, 24 Aug 2007 18:15:29 +0000 (18:15 +0000)]
Updated the ParenScript reference.
Vladimir Sedach [Thu, 23 Aug 2007 23:10:54 +0000 (23:10 +0000)]
Updated the ParenScript tutorial.
Vladimir Sedach [Thu, 23 Aug 2007 23:09:39 +0000 (23:09 +0000)]
Removed js-file and js-script from deprecated interface.
These were helper macros for net.html.generator from AllegroServe,
which really don't belong in ParenScript.
Vladimir Sedach [Thu, 23 Aug 2007 23:08:02 +0000 (23:08 +0000)]
Fixed error where function call arguments weren't getting compiled to expressions.
Vladimir Sedach [Thu, 23 Aug 2007 21:35:15 +0000 (21:35 +0000)]
Added the ability to compile cond to expressions.
Vladimir Sedach [Thu, 23 Aug 2007 21:22:37 +0000 (21:22 +0000)]
Made progn expressions with a single statement print as that statement alone (without parens).
Vladimir Sedach [Thu, 23 Aug 2007 21:22:16 +0000 (21:22 +0000)]
Made if-expressions return null instead of undefined when else clause wasn't specified.
Vladimir Sedach [Thu, 23 Aug 2007 20:58:53 +0000 (20:58 +0000)]
Fixed cond.
Vladimir Sedach [Wed, 22 Aug 2007 22:46:33 +0000 (22:46 +0000)]
Fixed the problem with compile-parenscript-form not being called with the right "expecting" value if a macroexpansion took place.
Vladimir Sedach [Mon, 20 Aug 2007 21:10:13 +0000 (21:10 +0000)]
Updated and fixed the deprecated interface.
Vladimir Sedach [Mon, 20 Aug 2007 21:08:58 +0000 (21:08 +0000)]
Updated the documentation and test suite to reflect the fact that html is now ps-html and the ps-inline special form no longer exists.
Vladimir Sedach [Mon, 20 Aug 2007 21:08:16 +0000 (21:08 +0000)]
Removed mention of old package system from tutorial.lisp.
Vladimir Sedach [Mon, 20 Aug 2007 21:07:48 +0000 (21:07 +0000)]
Removed js and ps-inline as special forms; added ps-inline and ps-inline*.
js and ps-inline didn't make any sense as special forms.
Vladimir Sedach [Mon, 20 Aug 2007 20:40:42 +0000 (20:40 +0000)]
Changed html -> ps-html; reorganized packages.lisp exports.
Using 'html' creates a conflict with any number of existing html
generation libraries.
Vladimir Sedach [Wed, 15 Aug 2007 23:51:13 +0000 (23:51 +0000)]
Replaced optional-args as the keyword-object-handling parameter with a gensym.
Vladimir Sedach [Wed, 15 Aug 2007 23:02:41 +0000 (23:02 +0000)]
Added in-line code to support &rest arguments.
Vladimir Sedach [Wed, 15 Aug 2007 21:58:46 +0000 (21:58 +0000)]
Added correct indentation to the printer.
Vladimir Sedach [Wed, 15 Aug 2007 20:39:29 +0000 (20:39 +0000)]
Removed js-ugly-translation.
Vladimir Sedach [Wed, 15 Aug 2007 01:08:33 +0000 (01:08 +0000)]
Updated the reference and tests to reflect some small changes in the new printing code.
...such as the current lack of line breaks and spaces before some
opening parens.
Also added a few new unit tests.
Vladimir Sedach [Wed, 15 Aug 2007 01:07:08 +0000 (01:07 +0000)]
Reworked printing implementation to get rid of dwim-join and gratuitious consing.
Now everything gets written to a stream.
Vladimir Sedach [Sun, 12 Aug 2007 16:56:22 +0000 (16:56 +0000)]
Fixed type bug with printing slot-value with obj/slot being a non-list.
Vladimir Sedach [Sun, 12 Aug 2007 15:43:11 +0000 (15:43 +0000)]
Redid package system unit tests.
Vladimir Sedach [Sun, 12 Aug 2007 15:42:40 +0000 (15:42 +0000)]
Exported the new naming and namespace interface functions and variables in package.lisp.
Vladimir Sedach [Sun, 12 Aug 2007 01:23:49 +0000 (01:23 +0000)]
Modified ParenScript tests to reflect the big compiler refactoring.
Vladimir Sedach [Sun, 12 Aug 2007 01:22:42 +0000 (01:22 +0000)]
Updated reference.lisp to reflect recent changes.
Vladimir Sedach [Sun, 12 Aug 2007 01:19:48 +0000 (01:19 +0000)]
Big refactoring of the ParenScript compiler.
Vladimir Sedach [Sun, 12 Aug 2007 01:18:09 +0000 (01:18 +0000)]
Updated js-expander to use ps:ps instead of js:js.
Red Daly [Mon, 6 Aug 2007 21:31:19 +0000 (21:31 +0000)]
remove lingering format string
Red Daly [Mon, 6 Aug 2007 21:10:54 +0000 (21:10 +0000)]
fixed DEFSCRIPTMACRO evaluation problem that caused load/compilation problems
DEFSCRIPTMACRO and other similar macros were not expanding into but
were instead side-effecting macro definitions.
Red Daly [Mon, 6 Aug 2007 21:10:19 +0000 (21:10 +0000)]
removed file compilation exports for now
Vladimir Sedach [Sat, 4 Aug 2007 06:16:51 +0000 (06:16 +0000)]
Removed parenscript.asdf
Vladimir Sedach [Sat, 4 Aug 2007 06:10:50 +0000 (06:10 +0000)]
Removed parenscript.reader
Vladimir Sedach [Sat, 4 Aug 2007 00:59:48 +0000 (00:59 +0000)]
Moved package-related code to namespace.lisp, added back *enable-package-system*.
Vladimir Sedach [Fri, 3 Aug 2007 22:59:22 +0000 (22:59 +0000)]
Added (defun (setf...
Vladimir Sedach [Fri, 3 Aug 2007 21:59:17 +0000 (21:59 +0000)]
Stopped abuse of set-difference implementation-dependent ordering in defsetf.
Vladimir Sedach [Fri, 3 Aug 2007 21:19:00 +0000 (21:19 +0000)]
Fixed order of evaluation in defsetf long form.
Vladimir Sedach [Fri, 3 Aug 2007 21:03:32 +0000 (21:03 +0000)]
Added short-form defsetf.
Vladimir Sedach [Fri, 3 Aug 2007 20:19:36 +0000 (20:19 +0000)]
Fixed (return).
Vladimir Sedach [Fri, 3 Aug 2007 20:12:58 +0000 (20:12 +0000)]
Renamed options to optional-args, added unit test for defun foo (&optional...
Vladimir Sedach [Fri, 3 Aug 2007 19:31:23 +0000 (19:31 +0000)]
Restored special-form getting and setting by symbol-na.
Vladimir Sedach [Fri, 3 Aug 2007 18:35:35 +0000 (18:35 +0000)]
Added a more meaningful error message to compile-to-expression.
Vladimir Sedach [Fri, 3 Aug 2007 18:32:17 +0000 (18:32 +0000)]
Cleaned up macro-defining code, fixed handling of special forms in script-expand-form.
Vladimir Sedach [Fri, 3 Aug 2007 18:28:05 +0000 (18:28 +0000)]
Removed reference to without-packages in deprecated-interface.lisp.
Vladimir Sedach [Fri, 3 Aug 2007 16:46:06 +0000 (16:46 +0000)]
Added a more informative print-object method for script-package.
Red Daly [Fri, 3 Aug 2007 18:11:04 +0000 (18:11 +0000)]
keyword/optional fixes, slot-value accepts many slot names
I also fixed some problems with nil serialization and decomposed the
compile-parenscript-form function into a generic function with
different behavior depending on the type of form.
Vladimir Sedach [Fri, 3 Aug 2007 02:01:33 +0000 (02:01 +0000)]
Fixed handling of uninterned symbols.
Vladimir Sedach [Fri, 3 Aug 2007 01:18:57 +0000 (01:18 +0000)]
Changed package system so that symbols in parenscript, javascript and parenscript-user are non-prefixed. Made symbols in unknown packages be treated as though they were in parenscript-user by default. Added a prefix string preference to PS packages. Removed all *enable-package-system* stuff.
Vladimir Sedach [Thu, 2 Aug 2007 22:19:26 +0000 (22:19 +0000)]
Added defsetf long-form.
Vladimir Sedach [Thu, 2 Aug 2007 22:17:05 +0000 (22:17 +0000)]
Disabled Boyer-Moore matching for cl-ppcre in js normalization code.
(breaks on Unicode lisps, on by default in PPCRE)
Vladimir Sedach [Wed, 1 Aug 2007 22:42:45 +0000 (22:42 +0000)]
Slightly more informative error messages for symbol-abuse.
Vladimir Sedach [Wed, 1 Aug 2007 18:31:43 +0000 (18:31 +0000)]
Removed manual.pdf from source control.
Vladimir Sedach [Wed, 1 Aug 2007 18:29:54 +0000 (18:29 +0000)]
Fixed ps* not being found when special-form-symbol assertion is triggered.
Vladimir Sedach [Tue, 31 Jul 2007 22:59:10 +0000 (22:59 +0000)]
UNDO: Added functions to set up and tear down a persistent compilation environment.
Red Daly [Wed, 1 Aug 2007 05:52:12 +0000 (05:52 +0000)]
fixed minor issues with advanced lambda lists, additional quoted-nil hack
Vladimir Sedach [Tue, 31 Jul 2007 22:59:10 +0000 (22:59 +0000)]
Added functions to set up and tear down a persistent compilation environment.
Vladimir Sedach [Tue, 31 Jul 2007 22:43:58 +0000 (22:43 +0000)]
Unexported ps-to-string.
Vladimir Sedach [Tue, 31 Jul 2007 21:24:10 +0000 (21:24 +0000)]
UNDO: Changed "Lisp package already has corresponding script package" error to warning.
Vladimir Sedach [Tue, 31 Jul 2007 18:28:39 +0000 (18:28 +0000)]
UNDO: Setup *compilation-environment* to have a working default value.
Vladimir Sedach [Tue, 31 Jul 2007 21:27:42 +0000 (21:27 +0000)]
Added tests for 'nil and slot-value nil patches.
Vladimir Sedach [Tue, 31 Jul 2007 21:26:52 +0000 (21:26 +0000)]
Changed slot-value so that (slot-value foo nil) is now "foo" instead of "foo.null"
Vladimir Sedach [Tue, 31 Jul 2007 21:26:09 +0000 (21:26 +0000)]
Fixed handling of quoted nil.
'nil should be the same as nil, however ''nil isn't.
Vladimir Sedach [Tue, 31 Jul 2007 21:24:10 +0000 (21:24 +0000)]
Changed "Lisp package already has corresponding script package" error to warning.
Besides being annoying for users, it prevented package tests from
being idempotent.
Vladimir Sedach [Tue, 31 Jul 2007 18:47:14 +0000 (18:47 +0000)]
Started work on implementing deprecated compatibility interface by Attila Lendvai's idea.
Vladimir Sedach [Tue, 31 Jul 2007 18:28:39 +0000 (18:28 +0000)]
Setup *compilation-environment* to have a working default value.
Vladimir Sedach [Tue, 31 Jul 2007 18:24:06 +0000 (18:24 +0000)]
Added null macro.
Thanks to Daniel Gackle for suggestion.
Vladimir Sedach [Tue, 31 Jul 2007 18:20:56 +0000 (18:20 +0000)]
Corrected export of defmacro+/ps names.
Attila Lendvai [Tue, 31 Jul 2007 17:10:52 +0000 (17:10 +0000)]
make deprecation warning a only a style-warning
Attila Lendvai [Tue, 31 Jul 2007 11:16:37 +0000 (11:16 +0000)]
fix rebind
Attila Lendvai [Tue, 31 Jul 2007 11:12:23 +0000 (11:12 +0000)]
prefix ( in a comment
Vladimir Sedach [Mon, 30 Jul 2007 21:52:54 +0000 (21:52 +0000)]
Revised PS interface and deprecated function list based on user input.
Vladimir Sedach [Mon, 30 Jul 2007 21:36:15 +0000 (21:36 +0000)]
Added tests for previous script* eval bug.
Vladimir Sedach [Mon, 30 Jul 2007 21:32:59 +0000 (21:32 +0000)]
Fixed bug where script* wasn't evaluating its arguments as promised.
Vladimir Sedach [Mon, 30 Jul 2007 21:03:51 +0000 (21:03 +0000)]
Changed names of defmacro+/js forms to ps, made the special-form compilation error message be more informative.
Vladimir Sedach [Mon, 30 Jul 2007 21:02:19 +0000 (21:02 +0000)]
Changed tutorial to reflect factoring out of the HTML generation code of Portable Allegroserve, addition of PS package system.
Red Daly [Sat, 28 Jul 2007 17:49:20 +0000 (17:49 +0000)]
define-script-symbol-macro added
Daniel Gackle [Sat, 28 Jul 2007 17:33:03 +0000 (17:33 +0000)]
defscriptmacro single string body fix
A js macro that evaluates to a string literal can't be used:
(defjsmacro blah () "abc")
(js (blah)) =>
"null;"
This seems wrong. For one thing, other literals work fine:
(defjsmacro blah () 123)
(js (blah)) =>
"123"
For another, Lisp behaves differently:
(defmacro blah () "abc")
(blah) =>
"abc"
Actually, I'd rather use a symbol macro but it appears there is no
define-symbol-macro in Parenscript and in this case symbol-macrolet is
not convenient.
Signed-off-by: Red Daly <reddaly@gmail.com>