axiom-developer
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Axiom-developer] TexFormat with latex output


From: daly
Subject: Re: [Axiom-developer] TexFormat with latex output
Date: Sat, 28 Jun 2014 18:42:13 -0500

Gene,

I'm well aware of Knuth's missive that "any object of nontrivial
complexity is non-optimum" and that stability is vital. I've already
complained to several people about the Spad syntax changes of ** to ^
and ~= to !=, since I feel these break the published syntax. The Spad
syntax is annoying but not a "serious flaw". 

In fact you've discovered one of the reasons I am so conservative
about language/system changes. Like Knuth, I'd like the code you
write to continue to work 30 years from now.

I have made extensions to the syntax but these are upward compatible.
For example, the -- comments now have special meaning if they are
followed by an uppercase character, although they are still comments.

  --X is used as an examples in Spad comments where you would document
    the gcd function with 

  gcd(PI,PI) -> PI
    -- compute the gcd of two positive integers
    --
    --X gcd(24,18)

The -X lines in the example are output when the user does
  )describe gcd
so the extension adds new documentation output.

  --S , --R, and --E are used as delimiters in input files. The --S
  marks the start of a test case, --R is the expected result line,
  and --E marks the end of a test, as in

    --S 3 of 20
    3*7
    --R 
    --R  (15)  21
    --R                       Type: PositiveInteger
    --E 3

These delimiters are used during regression testing to check that
Axiom gives the same answers as the result lines.

Upward compatible extensions don't violate what is in the Jenks book.

That said, Ralf is doing work in a particular domain on top of Spad.
He is not making changes to the syntax or semantics of the language.
I can see how it could be considered as incompatible though so you
may have a point.

I suppose Ralf's change could be made using a new domain (LatexOutputForm?)
which would leave the existing work intact. A LatexOutputForm domain
could have a coerce to latex function. This would lift the whole issue
away from the )set command.

However, the comments I've seen are mostly bike-shedding. Everybody
has a favorite way to do latex with their favorite packages. It is
easy to propose a different package (e.g. \begin{array} vs matform).
That level of discussion has no principle (e.g. Knuth's serious flaw
vs "because it is pretty") which can be used to resolve the issue.

Ralf is doing great work and I hate to see such discouraging feedback.

Tim






  



reply via email to

[Prev in Thread] Current Thread [Next in Thread]