Re: Mathematica daily WTF
- To: mathgroup at smc.vnet.net
- Subject: [mg115059] Re: Mathematica daily WTF
- From: kj <no.email at please.post>
- Date: Thu, 30 Dec 2010 04:08:44 -0500 (EST)
- References: <ifcnhn$bai$1@smc.vnet.net>
In <ifcnhn$bai$1 at smc.vnet.net> Murray Eisenberg <murray at math.umass.edu> writes:
>Copying attributes seems to be simple (or am I missing something?):
> mysin = Sin;
> Attributes[mysin]
>{}
> SetAttributes[mysin, Attributes[Sin]]
> Attributes[mysin]
>{Listable, NumericFunction, Protected}
>But subsequent removal of attributes can require another step, as here,
>where Protected is one of the attributes.
> Unprotect[mysin]
>{mysin}
> Remove[mysin]
No, my point is that there is no simple way (that I know of) to
fully "clone" a symbol, i.e. create in one swoop a full, independent
replica of the original, with all its associated values (including
not only own-values, but also attributes, down-values, up-values,
sub-values, etc.). I'm not saying it's impossible to do, but the
language does not facilitate it. What it provides is basically a
way to set up an *alias* for a symbol, but if the original symbol
gets Remove'd, the alias becomes, in a sense, empty. So "alias"
is very different from "clone".
~kj