I need to understand why my functions doesn't work.
Thus, I have put a Dialog at the beginning of it :
fonction38lhs[tau_]:=
Module[{q},
Dialog[]
q = Exp[2 tau];
(SixJSymbolqDef[{j1, j2, j3}, {j4, j5, j6}, q] -
SixJSymbol[{j1, j2, j3}, {j4, j5, j6}]) -
((2*tau)^2 (1/6))
((1/4) Sum[j[[i]] (j[[i]] + 1), {i, 1, 6}]
SixJSymbol[{j1, j2, j3}, {j4, j5, j6}] +
Triple[j1, j2, j3, j4, j5, j6])]
The behavior of my function doesn't really matter.
When I evaluate fonction38lhs[0.8], my program freezes because of the dialog and I am able to evaluated commands. But if I want to display the value of tau, it says it is an unknown variable.
To say it differently, my dialog seems to occur out of the function and not inside. Indeed I can show variables of the notebook outside of the function.
How can I gain access to local variable inside of the function within a dialog session?


tauis not a variable. It is a pattern name. Its value gets substituted directly, without ever assigning a value to the symboltau. – Szabolcs May 29 '17 at 09:26Dialog[]. – Szabolcs May 29 '17 at 09:35Dialog[]withAssert[False], open the debugging tools, check "break on assert", and run the function. When it stops, you are in a dialog. You can do everything you do in a dialog. But you will also have a stack window which displays the value oftau. – Szabolcs May 29 '17 at 10:01Trace, etc.). I use these much more frequently than the debugger. My point is that in many cases when you would useDialog, it is more convenient to use the debugger. You do not often need to use Dialog either ... – Szabolcs May 29 '17 at 10:20