From edi at agharta.de Mon Mar 7 22:09:43 2005 From: edi at agharta.de (Edi Weitz) Date: Mon, 07 Mar 2005 23:09:43 +0100 Subject: [cl-ppcre-devel] New release 1.2.4 Message-ID: ChangeLog: Version 1.2.4 2005-03-07 Changed DEBUG optimize quality from 0 to 1 Download: Cheers, Edi. From seb-cl-mailist at matchix.com Tue Mar 8 10:23:11 2005 From: seb-cl-mailist at matchix.com (=?US-ASCII?Q?Sebastien_Saint-Sevin?=) Date: Tue, 8 Mar 2005 11:23:11 +0100 Subject: TR: [cl-ppcre-devel] New release 1.2.4 Message-ID: Hi Edi, Can you give us a brief feedback on the kind of problems you faced with DEBUG set to 0? Or the reasons that motivated this move. Cheers, Sebastien. -----Message d'origine----- De : cl-ppcre-devel-bounces at common-lisp.net [mailto:cl-ppcre-devel-bounces at common-lisp.net]De la part de Edi Weitz Envoye : lundi 7 mars 2005 23:10 A : cl-ppcre-devel at common-lisp.net; cl-ppcre-announce at common-lisp.net Objet : [cl-ppcre-devel] New release 1.2.4 ChangeLog: Version 1.2.4 2005-03-07 Changed DEBUG optimize quality from 0 to 1 Download: Cheers, Edi. _______________________________________________ cl-ppcre-devel site list cl-ppcre-devel at common-lisp.net http://common-lisp.net/mailman/listinfo/cl-ppcre-devel From edi at agharta.de Tue Mar 8 11:51:24 2005 From: edi at agharta.de (Edi Weitz) Date: Tue, 08 Mar 2005 12:51:24 +0100 Subject: TR: [cl-ppcre-devel] New release 1.2.4 In-Reply-To: (Sebastien Saint-Sevin's message of "Tue, 8 Mar 2005 11:23:11 +0100") References: Message-ID: Hi Sebastien! On Tue, 8 Mar 2005 11:23:11 +0100, Sebastien Saint-Sevin wrote: > Can you give us a brief feedback on the kind of problems you faced > with DEBUG set to 0? Or the reasons that motivated this move. No real problems. It just turned out that with (DEBUG 0) tools like SLIME couldn't show the arglists of CL-PPCRE functions which is a feature that I like to have. Also, from tests with CMUCL it seems that you don't loose performance due to this change. Have you seen a performance decrease somewhere? Cheers, Edi. From edi at agharta.de Tue Mar 8 17:04:16 2005 From: edi at agharta.de (Edi Weitz) Date: Tue, 08 Mar 2005 18:04:16 +0100 Subject: TR: [cl-ppcre-devel] New release 1.2.4 In-Reply-To: <8E4E38BF6D087F4488E80ABAACA2F3F4B2A622@il27exm02.cig.mot.com> (Kick Damien-DKICK1's message of "Tue, 8 Mar 2005 10:52:47 -0600") References: <8E4E38BF6D087F4488E80ABAACA2F3F4B2A622@il27exm02.cig.mot.com> Message-ID: On Tue, 8 Mar 2005 10:52:47 -0600, Kick Damien-DKICK1 wrote: > Personally, I still would like to know of an easy way to change > these settings. Me too. If there's a simple idiom for this I'll be happy to incorporate it into CL-PPCRE. From edi at agharta.de Tue Mar 8 19:30:47 2005 From: edi at agharta.de (Edi Weitz) Date: Tue, 08 Mar 2005 20:30:47 +0100 Subject: TR: [cl-ppcre-devel] New release 1.2.4 In-Reply-To: <8E4E38BF6D087F4488E80ABAACA2F3F4B2A626@il27exm02.cig.mot.com> (Kick Damien-DKICK1's message of "Tue, 8 Mar 2005 13:17:41 -0600") References: <8E4E38BF6D087F4488E80ABAACA2F3F4B2A626@il27exm02.cig.mot.com> Message-ID: On Tue, 8 Mar 2005 13:17:41 -0600, Kick Damien-DKICK1 wrote: > New code: (EVAL-WHEN (EVAL COMPILE LOAD) > (DEFVAR *STANDARD-SPEED-AND-SAFETY* > '((SPEED 0) (SAFETY 3)))) > (DEFUN FOO () > (DECLARE (OPTIMIZE #.*STANDARD-SPEED-AND-SAFETY*)) > ...) Looks cool to me. How about a patch for CL-PPCRE? :) Cheers, Edi. From gwking at metabang.com Tue Mar 8 19:43:36 2005 From: gwking at metabang.com (Gary King) Date: Tue, 8 Mar 2005 14:43:36 -0500 Subject: TR: [cl-ppcre-devel] New release 1.2.4 In-Reply-To: References: <8E4E38BF6D087F4488E80ABAACA2F3F4B2A626@il27exm02.cig.mot.com> Message-ID: I suggest taking a page from GBBopen's book and using something like: (defmacro with-standard-optimization (&body body) `(locally (declare (optimize (speed 1) (safety 3) (debug 1))) , at body)) (defun foo () (with-standard-optimization ...)) this has the advantage of not requiring the read time evaluation of #. which some view as a security risk. On Mar 8, 2005, at 2:30 PM, Edi Weitz wrote: >> New code: (EVAL-WHEN (EVAL COMPILE LOAD) >> (DEFVAR *STANDARD-SPEED-AND-SAFETY* >> '((SPEED 0) (SAFETY 3)))) >> (DEFUN FOO () >> (DECLARE (OPTIMIZE #.*STANDARD-SPEED-AND-SAFETY*)) >> ...) > > -- Gary Warren King, Lab Manager EKSL East, University of Massachusetts * 413 577 0176 ?Hope is not a course of action.? -- a retired four-star general -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: text/enriched Size: 948 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/pkcs7-signature Size: 2367 bytes Desc: not available URL: From gwking at metabang.com Tue Mar 8 20:37:57 2005 From: gwking at metabang.com (Gary King) Date: Tue, 8 Mar 2005 15:37:57 -0500 Subject: TR: [cl-ppcre-devel] New release 1.2.4 In-Reply-To: <8E4E38BF6D087F4488E80ABAACA2F3F4B2A628@il27exm02.cig.mot.com> References: <8E4E38BF6D087F4488E80ABAACA2F3F4B2A628@il27exm02.cig.mot.com> Message-ID: <319b2e1a7717fe4252d2d887cc45ed8e@metabang.com> Yeah... I agree. I've never understood that either... On Mar 8, 2005, at 3:10 PM, Kick Damien-DKICK1 wrote: > Hmmm... if one can write a macro that expands to a LOCALLY form in the > same place and for the same reason as would might've done with > DECLARE, then what is the point of having disallowed one from writing > a macro that expands into a DECLARE http://tinyurl.com/6v4v3??? > I suppose it doesn't matter; it does seem better to be able to > write a macro that conditionally expands into different values > of?optimization settings than use read time evaluation.? I'll try > riffing off of this GBBopen approach.? -- Gary Warren King, Lab Manager EKSL East, University of Massachusetts * 413 577 0176 "Why should employers feed troublesome farmworkers to the lions?" -- South African Labour Minister spokesman Snuki Zikalala. -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: text/enriched Size: 1096 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/pkcs7-signature Size: 2367 bytes Desc: not available URL: From edi at agharta.de Tue Mar 8 20:48:30 2005 From: edi at agharta.de (Edi Weitz) Date: Tue, 08 Mar 2005 21:48:30 +0100 Subject: TR: [cl-ppcre-devel] New release 1.2.4 In-Reply-To: (Gary King's message of "Tue, 8 Mar 2005 14:43:36 -0500") References: <8E4E38BF6D087F4488E80ABAACA2F3F4B2A626@il27exm02.cig.mot.com> Message-ID: On Tue, 8 Mar 2005 14:43:36 -0500, Gary King wrote: > I suggest taking a page from GBBopen's book and using something > like: > > (defmacro with-standard-optimization (&body body) > `(locally (declare (optimize (speed 1) (safety 3) (debug 1))) > , at body)) > > (defun foo () > (with-standard-optimization > ...)) > > this has the advantage of not requiring the read time evaluation of > #. which some view as a security risk. I have to admit that I find the #. approach more aesthetically pleasing - one reason is that it doesn't introduce a new level of nesting. I fail to see the security risk - we're not talking about data entered from a random website or somesuch. Cheers, Edi. From DKICK1 at motorola.com Tue Mar 8 16:52:47 2005 From: DKICK1 at motorola.com (Kick Damien-DKICK1) Date: Tue, 8 Mar 2005 10:52:47 -0600 Subject: TR: [cl-ppcre-devel] New release 1.2.4 Message-ID: <8E4E38BF6D087F4488E80ABAACA2F3F4B2A622@il27exm02.cig.mot.com> Edi Weitz [edi at agharta.de] wrote: > On Tue, 8 Mar 2005 11:23:11 +0100, Sebastien Saint-Sevin > wrote: > > > Can you give us a brief feedback on the kind of problems you faced > > with DEBUG set to 0? Or the reasons that motivated this move. > > No real problems. It just turned out that with (DEBUG 0) tools like > SLIME couldn't show the arglists of CL-PPCRE functions which is a > feature that I like to have. Also, from tests with CMUCL it seems > that you don't loose performance due to this change. Personally, I still would like to know of an easy way to change these settings. For example, if something like the following would work: (defun frobnicate (frob) (declare (optimize (speed *cl-ppcre-speed*) (debug *cl-ppcre-debug*))) (twiddle (this frob)) (tweak (that frob))) A while back, when I was having my Lisp run-time die in some code that was using CL-PPCRE, I went and changed all of the optimization settings for saftey/debug to get some kind of stack trace, but I had to find/change all of the settings with Emacs. There has got to be an easier way to do this; is there really no Common Lisp paradigm for this? I've tried asking on comp.lang.lisp but don't remember getting a reply. Would one have to write a macro? (defun frobnicate (frob) (with-declaration ((speed-level *cl-ppcre-speed*) (debug-level *cl-ppcre-debug*)) (optimize (speed speed-level) (debug debug-level)) (twiddle (this frob) (tweak (that frob))))) -- Damien Kick From DKICK1 at motorola.com Tue Mar 8 19:17:41 2005 From: DKICK1 at motorola.com (Kick Damien-DKICK1) Date: Tue, 8 Mar 2005 13:17:41 -0600 Subject: TR: [cl-ppcre-devel] New release 1.2.4 Message-ID: <8E4E38BF6D087F4488E80ABAACA2F3F4B2A626@il27exm02.cig.mot.com> Edi Weitz [edi at agharta.de] wrote: > On Tue, 8 Mar 2005 10:52:47 -0600, Kick Damien-DKICK1 > wrote: > > > Personally, I still would like to know of an easy way to change > > these settings. > > Me too. If there's a simple idiom for this I'll be happy to > incorporate it into CL-PPCRE. Silly Damien, RTFM. There was a X3J13 issue in which the ability to write macros that expanded into declaration forms was removed. The discussion of the issue includes examples of how to acheive the wanted affect. For the moment, the following is my favorite: Another tactic would be: Old code: (EVAL-WHEN (EVAL COMPILE LOAD) (DEFVAR *SPEEDY* NIL)) (DEFMACRO USE-STANDARD-SPEED-AND-SAFETY () (IF *SPEEDY* `(DECLARE (OPTIMIZE (SPEED 3) (SAFETY 0))) `(DECLARE (OPTIMIZE (SPEED 0) (SAFETY 3))))) (DEFUN FOO () (USE-STANDARD-SPEED-AND-SAFETY) ...) New code: (EVAL-WHEN (EVAL COMPILE LOAD) (DEFVAR *STANDARD-SPEED-AND-SAFETY* '((SPEED 0) (SAFETY 3)))) (DEFUN FOO () (DECLARE (OPTIMIZE #.*STANDARD-SPEED-AND-SAFETY*)) ...) -- Damien Kick From DKICK1 at motorola.com Tue Mar 8 18:47:23 2005 From: DKICK1 at motorola.com (Kick Damien-DKICK1) Date: Tue, 8 Mar 2005 12:47:23 -0600 Subject: TR: [cl-ppcre-devel] New release 1.2.4 Message-ID: <8E4E38BF6D087F4488E80ABAACA2F3F4B2A625@il27exm02.cig.mot.com> Edi Weitz [edi at agharta.de] wrote: > On Tue, 8 Mar 2005 10:52:47 -0600, Kick Damien-DKICK1 > wrote: > > > Personally, I still would like to know of an easy way to change > > these settings. > > Me too. If there's a simple idiom for this I'll be happy to > incorporate it into CL-PPCRE. Well, I suppose that something like the following might be a step in the right direction. (defun f (x y) (+ x y)) (defun g (x y z) (+ x y z)) (locally (declare (optimize speed (safety 0) (debug 0))) (defun f* (x y) (declare (fixnum x y) (values fixnum)) (+ x y)) (defun g* (x y z) (declare (fixnum x y z) (values fixnum)) (+ x y z))) One still has to crank up Emacs to recompile with a different setting but at least one can effect many defuns by making a change in one place. I suppose that one would have to do something like the following to allow one to make such a change without having to use Emacs. ;; keywords seem to be the easiest to "parse" (defmacro equivocally ((&whole values) &body forms) ...) (equivocally (:speed *cl-ppcre-speed-declaration-setting* :debug *cl-ppcre-debug-declaration-setting*) (defun frobnicate (frob) (equivocate (optimize speed debug)) (twiddle (this frob)))) EQUIVOCALLY would have to be a macro that would walk the code, looking for EQUIVOCATE forms, substituting an equivalent DECLARE with the values from the forms used in the EQUIVOCALLY form in place of the EQUIVOCATE. -- Damien Kick From DKICK1 at motorola.com Tue Mar 8 19:48:30 2005 From: DKICK1 at motorola.com (Kick Damien-DKICK1) Date: Tue, 8 Mar 2005 13:48:30 -0600 Subject: TR: [cl-ppcre-devel] New release 1.2.4 Message-ID: <8E4E38BF6D087F4488E80ABAACA2F3F4B2A627@il27exm02.cig.mot.com> Edi Weitz [edi at agharta.de] wrote: > > On Tue, 8 Mar 2005 13:17:41 -0600, Kick Damien-DKICK1 > wrote: > > > New code: (EVAL-WHEN (EVAL COMPILE LOAD) > > (DEFVAR *STANDARD-SPEED-AND-SAFETY* > > '((SPEED 0) (SAFETY 3)))) > > (DEFUN FOO () > > (DECLARE (OPTIMIZE #.*STANDARD-SPEED-AND-SAFETY*)) > > ...) > > Looks cool to me. How about a patch for CL-PPCRE? I'd be more than happy to be able to help with something like this. Should be able to find spare time to put something together by I dunno, next week. -- Damien Kick From gwking at metabang.com Wed Mar 9 01:27:55 2005 From: gwking at metabang.com (Gary King) Date: Tue, 8 Mar 2005 20:27:55 -0500 Subject: TR: [cl-ppcre-devel] New release 1.2.4 In-Reply-To: <8E4E38BF6D087F4488E80ABAACA2F3F4B2A627@il27exm02.cig.mot.com> References: <8E4E38BF6D087F4488E80ABAACA2F3F4B2A627@il27exm02.cig.mot.com> Message-ID: <86f61b41065eff9a2682a09a294c64d4@metabang.com> I have code that could be adapted for this purpose. It is designed to add automatic type checking for methods and to allow optimizations to be turned off. I don't think it would be too hard to adapt it to changing optimization settings. Here is the code. I could work on adapting it if no one else is interested. Let me know. #| simple-header $Id: lift.lisp,v 1.28 2005/02/08 01:42:27 gwking Exp $ $Author: gwking $ $Date: 2005/02/08 01:42:27 $ Copyright (c) 2001-2005 Gary Warren King (gwking at cs.umass.edu) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |# (in-package user) (defvar *optimizations-to-ignore* '() "Declarations in this list are ignored in defmethod* and defun* forms.") ;;; ------------------------------------------------------------------------ --- (defvar *add-check-types* t "If true (the default), type declarations are parsed and check-types are added for each of them.") ;;; ------------------------------------------------------------------------ --- #+test (setf *add-check-types* t *optimizations-to-ignore* '(list type optimize)) ;;; ------------------------------------------------------------------------ --- (defmacro defmethod* (name &rest args) `(defmethod ,name ,@(parse-defun args))) ;;; ------------------------------------------------------------------------ --- (defmacro defun* (name args &body body) `(defun ,name ,args ,@(parse-defun body))) ;;; ------------------------------------------------------------------------ --- (defun parse-defun (forms) ;; minor optimization (when (and (not *add-check-types*) (null *optimizations-to-ignore*)) (return-from parse-defun forms)) (let ((check-types nil)) (labels ((do-it (body) (cond ((null body) nil) ((atom body) body) ((eq (first body) 'declare) (multiple-value-bind (parsed-version checks) (parse-declare body) (setf check-types (append check-types checks)) parsed-version)) (t (when (and (consp (car body)) check-types (not (eq (first (car body)) 'declare))) (setf body (append check-types body)) (setf check-types nil)) (cons (do-it (car body)) (do-it (cdr body))))))) (do-it forms)))) ;;; ------------------------------------------------------------------------ --- (defun parse-declare (declaration) "Takes a single declare form and returns 2 values: (1) the declarations (with declarations of type *optimizations-to-ignore* removed) (2) a list of CHECK-TYPE forms that enforce all the type declarations from the DECLAREs (if *ADD-CHECK-TYPES* is true)." (assert (member (first declaration) '(declare declaim proclaim))) (let ((checks nil) (final-declares nil)) (dolist (dcl (rest declaration)) ;; add the check-types (when (and *add-check-types* (type-declaration-p dcl)) (destructuring-bind (type &rest vars) (if (eq (first dcl) 'type) (rest dcl) dcl) (dolist (var vars) (push `(check-type ,var ,type) checks)))) ;; filter the declarations (unless (member (first dcl) *optimizations-to-ignore*) (push dcl final-declares))) (values (cons 'declare (nreverse final-declares)) (nreverse checks)))) ;;; ------------------------------------------------------------------------ --- (defun type-declaration-p (declaration) (and (consp declaration) (not (member (first declaration) '(dynamic-extent ignore optimize inline special ignorable notinline))) (or (eq (first declaration) 'type) #+MCL (ccl:type-specifier-p (first declaration)) #-MCL (find (first declaration) '(sequence symbol number character hash-table function readtable package pathname stream random-state condition restart standard-object structure-object) :test 'subtypep)))) On Mar 8, 2005, at 2:48 PM, Kick Damien-DKICK1 wrote: > Edi Weitz [edi at agharta.de] wrote: >> >> On Tue, 8 Mar 2005 13:17:41 -0600, Kick Damien-DKICK1 >> wrote: >> >>> New code: (EVAL-WHEN (EVAL COMPILE LOAD) >>> (DEFVAR *STANDARD-SPEED-AND-SAFETY* >>> '((SPEED 0) (SAFETY 3)))) >>> (DEFUN FOO () >>> (DECLARE (OPTIMIZE #.*STANDARD-SPEED-AND-SAFETY*)) >>> ...) >> >> Looks cool to me. How about a patch for CL-PPCRE? > > I'd be more than happy to be able to help with something like this. > Should be able to find spare time to put something together by > I dunno, next week. > > -- > Damien Kick > _______________________________________________ > cl-ppcre-devel site list > cl-ppcre-devel at common-lisp.net > http://common-lisp.net/mailman/listinfo/cl-ppcre-devel > -- Gary Warren King, Lab Manager EKSL East, University of Massachusetts * 413 577 0176 Power is actualized only where word and deed have not parted company, where words are not empty and deeds not brutal, where words are not used to veil intentions but to disclose realities, and deeds are not used to violate and destroy but to establish relations and create new realities. -- Hannah Arendt -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: text/enriched Size: 6849 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/pkcs7-signature Size: 2367 bytes Desc: not available URL: From DKICK1 at motorola.com Tue Mar 8 20:10:42 2005 From: DKICK1 at motorola.com (Kick Damien-DKICK1) Date: Tue, 8 Mar 2005 14:10:42 -0600 Subject: TR: [cl-ppcre-devel] New release 1.2.4 Message-ID: <8E4E38BF6D087F4488E80ABAACA2F3F4B2A628@il27exm02.cig.mot.com> -----Original Message----- From: Gary King [mailto:gwking at metabang.com] Sent: Tuesday, 08 March, 2005 13:44 To: Edi Weitz Cc: ML CL-PPCRE; Kick Damien-DKICK1 Subject: Re: TR: [cl-ppcre-devel] New release 1.2.4 I suggest taking a page from GBBopen's book and using something like: (defmacro with-standard-optimization (&body body) `(locally (declare (optimize (speed 1) (safety 3) (debug 1))) , at body)) (defun foo () (with-standard-optimization ...)) this has the advantage of not requiring the read time evaluation of #. which some view as a security risk. Hmmm... if one can write a macro that expands to a LOCALLY form in the same place and for the same reason as would might've done with DECLARE, then what is the point of having disallowed one from writing a macro that expands into a DECLARE http://tinyurl.com/6v4v3? I suppose it doesn't matter; it does seem better to be able to write a macro that conditionally expands into different values of optimization settings than use read time evaluation. I'll try riffing off of this GBBopen approach. -- Damien Kick -------------- next part -------------- An HTML attachment was scrubbed... URL: From DKICK1 at motorola.com Wed Mar 9 05:34:48 2005 From: DKICK1 at motorola.com (Kick Damien-DKICK1) Date: Tue, 8 Mar 2005 23:34:48 -0600 Subject: TR: [cl-ppcre-devel] New release 1.2.4 Message-ID: <8E4E38BF6D087F4488E80ABAACA2F3F4B2A62A@il27exm02.cig.mot.com> Edi Weitz [edi at agharta.de] wrote: > On Tue, 8 Mar 2005 13:17:41 -0600, Kick Damien-DKICK1 > wrote: > > > New code: (EVAL-WHEN (EVAL COMPILE LOAD) > > (DEFVAR *STANDARD-SPEED-AND-SAFETY* > > '((SPEED 0) (SAFETY 3)))) > > (DEFUN FOO () > > (DECLARE (OPTIMIZE #.*STANDARD-SPEED-AND-SAFETY*)) > > ...) > > Looks cool to me. How about a patch for CL-PPCRE? So (optimize #.*standard-speed-and-safety*) does not actually work because it gives (optimize ((speed 0) (safety 3))) so I changed it to something like the following: (defvar *standard-speed-and-safety* '(optimize (speed 0) (safety 3))) (defun foo () (declare #.*standard-speed-and-safety*) ...) because I don't know of any way to "splice" the *standard-speed-and-safety* into the optimize form. Anyway, I've successfully run "(cl-ppcre-test:test)", with and without convincing Python to actually attempt optimization, but I've not rerun the benchmarks. BTW, instead of having two DEFPACKAGE forms in "packages.lisp", one with uninterned symbols and the other with srings, why not simply have one DEFPACKAGE form with srings? Anyway, I've attached a patch. Please let me know how it looks. -- Damien Kick -------------- next part -------------- A non-text attachment was scrubbed... Name: diffs.patch Type: application/octet-stream Size: 58584 bytes Desc: not available URL: From edi at agharta.de Wed Mar 9 07:24:07 2005 From: edi at agharta.de (Edi Weitz) Date: Wed, 09 Mar 2005 08:24:07 +0100 Subject: TR: [cl-ppcre-devel] New release 1.2.4 In-Reply-To: <8E4E38BF6D087F4488E80ABAACA2F3F4B2A62A@il27exm02.cig.mot.com> (Kick Damien-DKICK1's message of "Tue, 8 Mar 2005 23:34:48 -0600") References: <8E4E38BF6D087F4488E80ABAACA2F3F4B2A62A@il27exm02.cig.mot.com> Message-ID: On Tue, 8 Mar 2005 23:34:48 -0600, Kick Damien-DKICK1 wrote: > BTW, instead of having two DEFPACKAGE forms in "packages.lisp", one > with uninterned symbols and the other with srings, why not simply > have one DEFPACKAGE form with srings? Because of AllegroCL's "modern" mode. > Anyway, I've attached a patch. Please let me know how it looks. Thanks, I'll have a look later today. Gotta run. Cheers, Edi. From DKICK1 at motorola.com Tue Mar 8 23:07:49 2005 From: DKICK1 at motorola.com (Kick Damien-DKICK1) Date: Tue, 8 Mar 2005 17:07:49 -0600 Subject: TR: [cl-ppcre-devel] New release 1.2.4 Message-ID: <8E4E38BF6D087F4488E80ABAACA2F3F4B2A629@il27exm02.cig.mot.com> I'll do a version based on read time evaluation first because it looks like the easiest thing to do. I'm going to want to experiment with the macro expanding to a LOCALLY expression anyway, for my own edification, so maybe I'll put together two different versions... -- Damien Kick -----Original Message----- From: Edi Weitz [mailto:edi at agharta.de] Sent: Tuesday, 08 March, 2005 14:49 To: gwking at metabang.com Cc: ML CL-PPCRE; Kick Damien-DKICK1 Subject: Re: TR: [cl-ppcre-devel] New release 1.2.4 On Tue, 8 Mar 2005 14:43:36 -0500, Gary King wrote: > I suggest taking a page from GBBopen's book and using something > like: > > (defmacro with-standard-optimization (&body body) > `(locally (declare (optimize (speed 1) (safety 3) (debug 1))) > , at body)) > > (defun foo () > (with-standard-optimization > ...)) > > this has the advantage of not requiring the read time evaluation of #. > which some view as a security risk. I have to admit that I find the #. approach more aesthetically pleasing - one reason is that it doesn't introduce a new level of nesting. I fail to see the security risk - we're not talking about data entered from a random website or somesuch. Cheers, Edi. From edi at agharta.de Wed Mar 9 15:13:09 2005 From: edi at agharta.de (Edi Weitz) Date: Wed, 09 Mar 2005 16:13:09 +0100 Subject: New release 1.2.5 (Was: [cl-ppcre-devel] New release 1.2.4) In-Reply-To: <8E4E38BF6D087F4488E80ABAACA2F3F4B2A62A@il27exm02.cig.mot.com> (Kick Damien-DKICK1's message of "Tue, 8 Mar 2005 23:34:48 -0600") References: <8E4E38BF6D087F4488E80ABAACA2F3F4B2A62A@il27exm02.cig.mot.com> Message-ID: On Tue, 8 Mar 2005 23:34:48 -0600, Kick Damien-DKICK1 wrote: > Anyway, I've attached a patch. Please let me know how it looks. I've made a new release (1.2.5) with this patch. Thanks again, Edi.