Why FullDefinition does not work in MathLink mode?
- To: mathgroup at smc.vnet.net
- Subject: [mg120548] Why FullDefinition does not work in MathLink mode?
- From: Alexey Popkov <lehin.p at gmail.com>
- Date: Thu, 28 Jul 2011 07:55:27 -0400 (EDT)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
Hello,
When working with MathKernel in interactive session without of the
FrontEnd, FullDefinition works as expected:
In[1]:= a=2;FullDefinition[a]
Out[1]= a = 2
But when trying to use it in MathLink mode one get ReturnPacket with
unevaluated FullDefinition:
In[1]:= kernel=LinkLaunch[First[$CommandLine] <> " -mathlink"];
LinkRead[kernel];
LinkWrite[kernel,Unevaluated[a=2;FullDefinition[a]]]
LinkRead[kernel]//FullForm
Out[4]//FullForm= ReturnPacket[FullDefinition[a]]
The built-in parallelization functions have the same problem:
In[2]:= ParallelEvaluate[a=2;FullDefinition[a]]//FullForm
Out[2]//FullForm= List[FullDefinition[a],FullDefinition[a]]
One workaround is to use ToString:
In[3]:= ParallelEvaluate[a=2;ToString[FullDefinition[a]]]
Out[3]= {a = 2,a = 2}
Why FullDefinition returns unevaluated in MathLink session although it
works as expected in interactive MathKernel session? Is it possible to
make it working without any glitches?
Any ideas?
- Follow-Ups:
- Re: Why FullDefinition does not work in MathLink mode?
- From: Leonid Shifrin <lshifr@gmail.com>
- Re: Why FullDefinition does not work in MathLink mode?