First off, my thanks to the parenscript developers. This is a very useful tool. To learn parenscript, I've thrown together the following little HTML5 web-page genetic programming image matching application.
http://eschulte.github.io/gpolygon/
Everything works well, until I try to minimize or obfuscate the generated JavaScript. I think I must be misunderstanding how minimization works. I'm able to minimize this package using the following adopted from the reference manual.
(defpackage :gpolygon (:use :common-lisp :hunchentoot :cl-who :parenscript :cl-fad) (:export :serve)) (in-package :gpolygon) (eval-when (:compile-toplevel :load-toplevel :execute) (setf *js-string-delimiter* #") (setf *ps-print-pretty* nil) (obfuscate-package :gpolygon (let ((code-pt-counter #x8CF6) (symbol-map (make-hash-table))) (lambda (symbol) (or (gethash symbol symbol-map) (setf (gethash symbol symbol-map) (make-symbol (string (code-char (incf code-pt-counter))))))))))
However, many proper function names are changed which should not be (e.g., length, etc...). I've tried to include the ps-dhtml-symbols package to prevent this, but of course this package causes *many* conflicts with common lisp functions throwing errors like [1]. I'm clearly doing something wrong, and must be including the symbol-name package incorrectly? Any pointers would be greatly appreciated?
Thanks,
Footnotes: [1] USE-PACKAGE #<PACKAGE "PS-DHTML-SYMBOLS"> causes name-conflicts in #<PACKAGE "GPOLYGON"> between the following symbols: #:LENGTH, COMMON-LISP:LENGTH
parenscript-devel@common-lisp.net