MathGroup Archive 2013

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

Search the Archive

Re: Mathematica and Lisp

  • To: mathgroup at smc.vnet.net
  • Subject: [mg129743] Re: Mathematica and Lisp
  • From: David Bailey <dave at removedbailey.co.uk>
  • Date: Sun, 10 Feb 2013 03:23:14 -0500 (EST)
  • Delivered-to: l-mathgroup@mail-archive0.wolfram.com
  • Delivered-to: l-mathgroup@wolfram.com
  • Delivered-to: mathgroup-newout@smc.vnet.net
  • Delivered-to: mathgroup-newsend@smc.vnet.net
  • References: <kcqkv4$lq5$1@smc.vnet.net> <kct7fj$sgo$1@smc.vnet.net> <kf2iv5$3o7$1@smc.vnet.net>

On 08/02/2013 10:10, John Doty wrote:
> On Wednesday, February 6, 2013 9:28:00 PM UTC-5, Richard Fateman wrote:
>
>> I personally find the debugging facilities in Mathematica to be quite
>>
>> difficult to use.
>
> I personally don't use them, but I personally find Mathematica programs easy to debug.
>
>>   I speculate that it is because the "working model"
>>
>> I have in my mind (and I suspect others share it) is that I am writing
>>
>> programs, composing them in various ways.  In reality, the internal
>>
>> evaluation strategy of Mathematica is to apply rules to transform
>>
>> expressions.  So while I'm looking for a clue as to which "program"
>>
>> has the bug, the debugging info shows transformations of expressions.
>
> Yes! Now, we're getting someplace.
>
>>
>> This jerking back into the reality of Mathematica's actual nature
>>
>> of evaluation generally prompts me to shy away from the use of Trace.
>
> If you're using Mathematica, why ever leave that reality? Why not stay in it and use its power? If that's not working for you, why use Mathematica in the first place?
>
>>
>> I don't know if it is inevitable, but Trace in particular, and debugging
>>
>> in general in Mathematica seem to me to be quite weak.
>
> Trying to figure out what Mathematica's doing using Trace[] is like trying to figure out what a 1960's mainframe was doing from the blinking lights on the console. Useful in special circumstances, but too much detail in general.
>

This is why I wrote the DebugTrace package - available free from my website.

Sometimes we all have to debug badly structured code. For example, if 
you are a consultant, you simply have to understand a client's code, 
however it is structured!

Also, many people use Mathematica infrequently, and don't want to spend 
a great deal of time understanding its philosophy.

For that reason, DebugTrace reintroduces the fiction of functions, so 
that when a program pauses at a breakpoint, or when it generates an 
error message, you can obtain a trace-back of what called what, at which 
line number. Line numbers relate to a special 'listing' notebook that is 
generated as the debugger starts.

Since I don't really like the Workbench, all this runs directly in the 
FrontEnd!


David Bailey
http://www.dbaileyconsultancy.co.uk





  • Prev by Date: Can Printing of a CDF be Disabled
  • Next by Date: Re: Mathematica and Lisp
  • Previous by thread: Re: Mathematica and Lisp
  • Next by thread: Re: Mathematica and Lisp