MathGroup Archive 2009

[Date Index] [Thread Index] [Author Index]

Search the Archive

problem writing debugging utility function

  • To: mathgroup at smc.vnet.net
  • Subject: [mg100248] problem writing debugging utility function
  • From: "dabrowsa at indiana.edu" <dabrowsa at indiana.edu>
  • Date: Fri, 29 May 2009 20:57:49 -0400 (EDT)

This matter is pretty unimportant, but perhaps of interest in laying
out a persistent source confusion for me with Mathematica: evaluation
control.

I'm skeptical of the built-in debugger because it seems to crash the
kernel often, so I do most of my debugging by inserting print
statements like

    Print["variableOne = ",variableOne].

Being extraordinarily lazy I soon thought it might be nice to have a
little function, say dbgv, which takes a variable or name of a
variable as an argument, and produces the same result as the print
statement above.

At first I assumed this would be easy, since almost every programming
problem turns out to be pretty easy with Mathematica.  But after an hour
or so I began to wonder whether it would be possible at all.  I did
eventually find a solution, a function dbgv such that dbgv[variableOne]
produces exactly the effect of the print statement, but it's really ugly.
I'll post it later.

Granted this is not an important problem since it's not too much
trouble to just type in the whole print statement.  But it's worth
noting that this would trivial to solve with a Lisp macro, and despite
the fantastic expressibility of Mathematica it doesn't seem to have a
good replacement for macros.  The closest equivalents are $Pre(Read),
which I used in my solution, but they're not nearly as nice to work with.

Can anyone think of an elegant solution?


  • Prev by Date: RandomReal gets stuck
  • Next by Date: Re: SingularValueDecomposition V6
  • Previous by thread: Re: RandomReal gets stuck
  • Next by thread: Re: problem writing debugging utility function