title: Printing symbol name and value in Mathematica
body: <p>I'd like to create a function <code>My`Print[args__]</code> that prints the names of the symbols that I pass it, along with their values. The problem is that before the symbols are passed to <code>My`Print</code>, they're evaluated. So <code>My`Print</code> never gets to see the symbol names.</p>
  
  <p>One solution is to surround every argument that I pass to <code>My`Print</code> with <code>Unevaluated[]</code>, but this seems messy. Is there a way of defining a MACRO such that when I type <code>My`Print[args__]</code>, the Mathematica Kernel sees <code>My`Print[Unevaluated /@ args__]</code>?</p>