Re: ValueList command
- To: mathgroup@smc.vnet.net
- Subject: [mg10527] Re: ValueList command
- From: daiyanh@interramp.com (Daitaro Hagihara)
- Date: Tue, 20 Jan 1998 02:23:14 -0500
- Organization: Self-Organization
- References: <34BE8A1E.11C8139B@mediaone.net>
In article <34BE8A1E.11C8139B@mediaone.net>, Hitoshi Yamamoto <hitoshi@mediaone.net> wrote: >When I upgraded Mathematica to 3.0, one package (called HIP) stopped >working. I traced it down to a command used in the package 'ValueList'. >Unfortunately I don't have the old verion of mathamatica and cannot >check the package with it. Does anybody know what 'ValueList' does? It >is not found in the Mathematica book. > >Thanks in advance for the assistance. > >- Hitoshi Yamamoto > > This ValueList, which I presume to be unavailable on v.3 of Mathematica, is essentially the same command as HoldForm, except that InputForm as well as OutputForm of the output from ValueList is the same unevaluated form of the input itself, without ValueList head, since ValueList has the HoldAll attribute set. Normally you cannot achive this effect using the ordinary built-in commands. ValueList is non-ordinary in that its online documentation simply defines it as an internal symbol, and it is not even discussed in Wolfram's book. It is, however, different from hypothetical HoldTemporary in that the output expression still has the ValueList head as evidenced from FullForm expression. Thus the next evaluation of the output from ValueList evaluates to the same unevaluated form of the original input, just like HoldForm. Come to think of it, this ValueList is probably better than HoldTemporary for certain applications. And for that, I thank you for "introducing" this esoteric command. I don't know if there is a wrap remover equivalent of ReleaseHold. To give you some concrete examples, take a look at below: Mathematica[4]? ValueList[Plus[1,2^2,3]] 2 1 + 2 + 3 Mathematica[5]? Out[4] 2 1 + 2 + 3 Mathematica[6]? Out[4]//InputForm 1 + 2^2 + 3 Mathematica[7]? Out[4]//FullForm ValueList[Plus[1, Power[2, 2], 3]] I hope this helps. BTW, you can use your old Mathematica 2.2 FrontEnd with new Mathematica 3.0 Kernel, and you can switch back to 2.2 Kernel thru Kernels and Tasks menu item under Action menu. A friend of mine uses this technique to use both v.2.2 and v.3.0 kernels, saying that some old (but still useful) packages are not yet updated to the new standards of v.3. Unless you built the original package yourself, trying to modify it may be hazardous to the health of both Mathematica and you. And that is definitely beyond the scope of Wolfram's teck support.