Re: wipe T and meth

2014-11-16 Thread Alexander Burger
On Sun, Nov 16, 2014 at 01:10:20PM +0100, Alexander Burger wrote:
> That's right. 'wipe' doesn't check for protected symbols. This could
> indeed be improved.
> ...
> On the other hand, 'wipe' is typically called internally in database
> manipulations, where efficiency is of primary concern.

OK .. I think I'm too paranoid about efficiency sometimes ;-)

'wipe' checks for protected symbols with 3.1.8.15

♪♫ Alex
-- 
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe


Re: wipe T and meth

2014-11-16 Thread Alexander Burger
Hi Jon,

> I just noticed that it is possible to do (wipe 'T) and (wipe 'meth)
> and thereby setting the values of T and meth to NIL, even though they
> are protected symbols. (I haven’t tested this in 64-bit yet.)

That's right. 'wipe' doesn't check for protected symbols. This could
indeed be improved.

Note, however, that a 100% protection is not possible, or even desired,
primarily for efficiency reasons like in many other situations in
PicoLisp. For example, you can easily do

   (let (T 1  meth 2)
  .. )

Here holds the assumption that this is under user's control.


As far as 'wipe' is concerned, it is indeed a borderline case. As 'wipe'
evaluates its argument, there is always the danger of indirectly passing
such protected symbols.

On the other hand, 'wipe' is typically called internally in database
manipulations, where efficiency is of primary concern.

♪♫ Alex
-- 
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe


wipe T and meth

2014-11-16 Thread Jon Kleiser
Hi,

I just noticed that it is possible to do (wipe 'T) and (wipe 'meth) and thereby 
setting the values of T and meth to NIL, even though they are protected 
symbols. (I haven’t tested this in 64-bit yet.)

/JonPԔ � &j)mX�����zV�u�.n7�