MathGroup Archive 2001

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

Search the Archive

Re: confusing Mathematica?

  • To: mathgroup at smc.vnet.net
  • Subject: [mg30280] Re: confusing Mathematica?
  • From: "Oliver Friedrich" <oli.fri at gmx.de>
  • Date: Sat, 4 Aug 2001 20:02:08 -0400 (EDT)
  • References: <9kg13o$igc$1@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

Hallo Michael,

sure you don't confuse Mathematica with too many nested loops. I'm already
sure, that you have a real syntax error. If I have a "cannot be followed by"
syntax, it is often a colon in a list, where I deleted the last element and
forgot to delete the last colon.
When Mathematica 's moving around text, it tries to format your code into
different nested hierarchies according to your code parts. Moving around the
text is often caused by a mismatching pair of [] or() or {}. Maybe you put
a } where Mathematica excepts ] and so on.

When you're really mad with your code. Dump it and begin from the start.
Most of my nested nested expressions (the famous Mathematica one-liners) are
constructed iteratively from the inner to the outer function. I'm really a
big one-liner fan and enjoy abbrevations like #[[1]]&@@/ but it makes the
code a little bit bizarre to read!  Here I try to represent hierarchy by
indenting lower hierarchical lines.
Looks like this:

FunctionA[
    FunctionB[
        blabla,blabla,{a,b,c,d,e}],
    {FunctionAoption->blabla,...}]

Try this approach, I hope it will help you

Oliver Friedrich
Michael schrieb in Nachricht <9kg13o$igc$1 at smc.vnet.net>...
>I've got a rather length function consisting of a module within a block
>within a block.  Within the module is a while statement containing at a
>particular point an if within a replace within an if.
>
>Upon routine editing I happened to make the following change:
>
>...
>If[<condition>,
>    (* Here I inserted the rest of this line: *) Map[(X)&,vars];
>   (* This comment was already here... *)
>  If[<valid stuff here>];
>,
>
>
>and suddenly I get a huge syntax error looking something like this...
>
>Syntax::sntxf :
>"If [<<1>>,<<1>>]; cannot be followed by "(code snipped)".
>
>The error is nowhere near where I actually insert the line.  The problem
is,
>when I delete the line I just added I *still* get an error.  The way the
>front end spuriously moves text around while I am trying to complete
>brackets and braces is most unhelpful, and I thought perhaps I had made a
>change somewhere else in the function without realizing it.  But after a
>long time trying to figure out where the error is, I ran diff against the
>original function and the function Mathematica doesn't like, and there is
no
>difference.
>
>Any ideas what is going on here?  Am I confusing Mathematica with so many
>things nested inside each other?
>
>Michael
>
>
>



  • Prev by Date: Re: "Re: Centroid of the Earth's Surface"
  • Next by Date: Re: Loading packages within packages
  • Previous by thread: Re: confusing Mathematica?
  • Next by thread: Re: confusing Mathematica?