From: rodrigo vanegas
Subject: redifining car
Date: 
Message-ID: <RV.93Apr22112959@tahoe.cs.brown.edu>
Last night i redefined car.  That's right, i typed "(defun car () ... )" 
at the listener.  I was surprised to find that Lucid considered this
to be something i should be warned about BUT NOT PREVENTED from doing.
Is there something i can do to my environment (such as setting some
random global variable) that will keep me from making such mistakes?
Thanks.

rodrigo vanegas
··@cs.brown.edu

ps. i didn't really clobber CAR; it was some other obscure function.

From: Ted A. Camus
Subject: Re: redifining car
Date: 
Message-ID: <1993Apr22.154406.25534@cs.brown.edu>
··@cs.brown.edu (rodrigo vanegas) writes:
>Last night i redefined car.  That's right, i typed "(defun car () ... )" 
>at the listener.  I was surprised to find that Lucid considered this
>to be something i should be warned about BUT NOT PREVENTED from doing.


  You're worried about 'CAR' ?   Most lisp's will let you do this :

  > (defun eval (s) 42)


  After this there's no going back !!


      -- Ted --

-- 
==========================================================
  Ted Camus                          Box 1910 CS Dept 
  ···@cs.brown.edu                   Brown University
  ···@browncs.BITNET                 Providence, RI 02912
From: Jim Barnett
Subject: Re: redifining car
Date: 
Message-ID: <BARNETT.93Apr22150615@neutron.mcc.com>
As I recall, the Symbolics was pretty good about preventing this sort
of self-mutilation. (I guess I shouldn't say "was".) I did once wedge
my 3640 pretty well by giving it the Turing machine halting problem,
though...

- Jim 
From: Glenn Heinle
Subject: Re: redifining car
Date: 
Message-ID: <C5wKAA.225@ra.nrl.navy.mil>
In article <·····················@neutron.mcc.com> ·······@neutron.mcc.com  
(Jim Barnett) writes:
> 
> As I recall, the Symbolics was pretty good about preventing this sort
> of self-mutilation.
> 
> - Jim 

I redefined '* on a 3620 once.  Did you know '* gets called by all kinds  
of window manipulations routines?   ;-)

Glenn
From: Patrick Tufts
Subject: Re: redifining car
Date: 
Message-ID: <zippy.735518357@berry.cs.brandeis.edu>
·······@neutron.mcc.com (Jim Barnett) writes:

>As I recall, the Symbolics was pretty good about preventing this sort
>of self-mutilation. (I guess I shouldn't say "was".) I did once wedge
>my 3640 pretty well by giving it the Turing machine halting problem,
>though...

Though it would let you do something like (trace car).  Fun for the
whole family, especially in an environment where the operating system
is in the same namespace as the development environment.

--Pat
From: P. T. Withington
Subject: Re: redifining car
Date: 
Message-ID: <19930423143103.7.PTW@SAPPHO.Myteline.Symbolics.COM>
    Date: Thu, 22 Apr 1993 18:39 EDT
    From: Patrick Tufts <·····@cs.brandeis.edu>

    ·······@neutron.mcc.com (Jim Barnett) writes:

    >As I recall, the Symbolics was pretty good about preventing this sort
    >of self-mutilation. (I guess I shouldn't say "was".) I did once wedge
    >my 3640 pretty well by giving it the Turing machine halting problem,
    >though...

    Though it would let you do something like (trace car).  Fun for the
    whole family, especially in an environment where the operating system
    is in the same namespace as the development environment.

Power tools require power users ;-).
From: Patrick Tufts
Subject: Re: redifining car
Date: 
Message-ID: <zippy.735584601@berry.cs.brandeis.edu>
···@riverside.scrc.symbolics.com (P. T. Withington) writes:
     [Symbolics machines]

>    Though it would let you do something like (trace car).  Fun for the
>    whole family, especially in an environment where the operating system
>    is in the same namespace as the development environment.

>Power tools require power users ;-).

And a 3670 certainly requires a lot of power.

--Pat "bring the reactor online, I'm gonna use the 3600 as a file server"
From: Barry Margolin
Subject: Re: redifining car
Date: 
Message-ID: <1r9jufINNlil@early-bird.think.com>
In article <················@tahoe.cs.brown.edu> ··@cs.brown.edu (rodrigo vanegas) writes:
>Last night i redefined car.  That's right, i typed "(defun car () ... )" 
>at the listener.  I was surprised to find that Lucid considered this
>to be something i should be warned about BUT NOT PREVENTED from doing.
>Is there something i can do to my environment (such as setting some
>random global variable) that will keep me from making such mistakes?
>Thanks.

Set *REDEFINITION-ACTION* to :QUERY and you'll be asked whether you really
want to redefine the function.  Note that this is not just for system
fuctions; it controls the action whenever any function is redefined in a
different source file from the one it was originally defined in.

>ps. i didn't really clobber CAR; it was some other obscure function.

Since most implementations open-code CAR, you wouldn't have affected
functions that were already compiled.
-- 
Barry Margolin
System Manager, Thinking Machines Corp.

······@think.com          {uunet,harvard}!think!barmar