[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Aldor-l] [Axiom-developer] "has" and "with" (was curious algebrafai
From: |
William Sit |
Subject: |
Re: [Aldor-l] [Axiom-developer] "has" and "with" (was curious algebrafailure) |
Date: |
Thu, 16 Aug 2007 06:11:42 -0400 |
Martin Rubey wrote:
> I have used Aldor, SPAD, the Aldor interpreter and the axiom interpreter quite
> intensively, and found the combination Aldor + axiom interpreter formidable.
>
> What I found most impressive is that the axiom interpreter is designed well
> enough to work seamlessly with new packages.
Since you do find the axiom interpreter helpful and indeed getting the types
right (your examples are not particularly impressive to me because the names and
signatures are quite unique and only the arguments need be matched), why aren't
you and Ralf in favor of improving the compiler so that the compiler can be
equally helpful? Why should the human programmer be forced to manually perform
what the interpreter is doing so well (and most likely can be even improved)?
Currently, to translate from interpreter language to compiler language, one
needs a combination of ")show," ")display," ")set mess bottom on," ")set
message auto
on," and hyperdoc searches to identify packages and coercions. This process is
repeated every time there is a compiler complaint. This is time that could be
spent
for documentation instead.
Thu, 16 Aug 2007 01:35:08 +0200
Ralf Hemmecke wrote:
> Interpreter and compiler language are
> identical and identically strict. No auto-coercions.
> You cannot expect that it will be painless to implement library
> code from fuzzy experimental code.
Why not? All code is experimental until it is final and frozen. Documentation
is constantly being added and revised. I don't consider documentation "pain,"
because it is necessary. I do consider spending time to rewrite interpreter
code into compiler code a waste of time and therefore "pain". (Compare this
with the
pain associated with style changes for bibliography items when bibtex is not
used.) As long as the interpreter language (what you call experimental
language) and
the compiler (or library) language are one and the same, the pain level would
be reduced substantially (to zero if the two are 100% compatible). Of course,
we
should not let the compiler "guess" like the interpreter currently does, but
the compiler can "help" to provide a set of choices and recommended selections
(much
like a spell-checker presents a list of alternatives to let the writer select
or decline). So in my dream editor for Axiom, there will be a pull down menu to
"type-check" and "package-check". This "help" should be the same whether one is
"experimenting" or writing library code (and ideally, even when writing a
pamphlet
if pamphlet is the de facto source) . This help need not be "automatic" as in
the current interpreter. In all other languages I have experience, the
"experimental" and the library languages are one (Maple, Mathematica for
example).
> William, you should really try to experience how it is to program in
> Aldor. Sure you will feel some pain in the beginning, but that will not
> last long. You will love the clarity.
Clarity is achieved by the programmer, not by the language and Axiom code can
be just as clear as Aldor code. What the Aldor compiler does better is its
better
diagnostics and arguably a more expressive language. Learning a new language is
not "pain." For Aldor, the "pain" comes from missed Axiom algebra libraries and
incompatibilities (much like between Maple and Mathematica).
I was at IBM Research when the new compiler for the precursor A# of Aldor was
written. At that time, I was using Scratchpad II, the old compiler, which was
roughly the same as the current Axiom compiler. I was able to write my programs
without knowing lisp, but there were bugs and design-related suggestions that
the team would not fix or modify because it was working on the new language and
compiler. I mention this because I am afraid the same thing may happen again:
instead of fixing the problems, it would be more fun (and probably easier to
obtain
grants and publish papers) to start a new language, promising to be better.
Certainly, there are good reasons to do that, too, especially if the problems
are due
to poor design rather than implementation. Nonetheless, a new language that is
not 100% backward compatible and without automatic conversion facilities
alienates
the earlier programmers and obsoletes the old code base. The three
incompatibles (interpreter, Spad compiler, Aldor compiler) are, I believe, the
main reasons why
the commercial version did not receive wider popularity. This triad of
languages becomes confusing to most users, old or new. The few gurus, with due
respects and
admirations, are great hackers (in addition to being excellent mathematicians
and computer scientists).
But hacking is only a good skill to find bugs or get a program working, not
essential, and indeed, may even be detrimental, to write readable programs.
Hacked
code distracts and hides the natural flow of mathematical or computational
ideas. It would make documentation "extra painful" to write, and thus often, not
written.
The question is: do we want Axiom/Aldor to remain the havens for hackers or
make it palatable to general researchers, whose hacking skills and stamina may
be, on
average, much less?
William
- Re: [Axiom-developer] Another strange coercion, (continued)
- Re: [Axiom-developer] Another strange coercion, Ralf Hemmecke, 2007/08/14
- [Axiom-developer] SubDomain in SPAD and not in Aldor, Ralf Hemmecke, 2007/08/16
- Re: [Aldor-l] [Axiom-developer] "has" and "with" (was curious algebra failure), Gabriel Dos Reis, 2007/08/13
- Re: [Aldor-l] [Axiom-developer] "has" and "with" (was curious algebra failure), Ralf Hemmecke, 2007/08/14
- Re: [Aldor-l] [Axiom-developer] "has" and "with" (was curious algebra failure), Gabriel Dos Reis, 2007/08/14
- Re: [Aldor-l] [Axiom-developer] "has" and "with" (was curious algebra failure), Martin Rubey, 2007/08/14
- Re: [Aldor-l] [Axiom-developer] "has" and "with" (was curious algebrafailure), William Sit, 2007/08/14
- Re: [Aldor-l] [Axiom-developer] "has" and "with" (was curious algebrafailure), Bill Page, 2007/08/14
- Re: [Aldor-l] [Axiom-developer] "has" and "with" (was curious algebrafailure), Ralf Hemmecke, 2007/08/15
- Re: [Aldor-l] [Axiom-developer] "has" and "with" (was curious algebrafailure), Martin Rubey, 2007/08/16
- Re: [Aldor-l] [Axiom-developer] "has" and "with" (was curious algebrafailure),
William Sit <=
- [Axiom-developer] .spad, .input, .as and autocoercion, Ralf Hemmecke, 2007/08/16
- [Axiom-developer] Re: .spad, .input, .as and autocoercion, Gabriel Dos Reis, 2007/08/16
- [Axiom-developer] Re: .spad, .input, .as and autocoercion, William Sit, 2007/08/16
- [Axiom-developer] Re: .spad, .input, .as and autocoercion, Martin Rubey, 2007/08/16
- [Axiom-developer] Re: .spad, .input, .as and autocoercion, Gabriel Dos Reis, 2007/08/16
- [Axiom-developer] Re: .spad, .input, .as and autocoercion, Martin Rubey, 2007/08/16
- [Axiom-developer] Re: .spad, .input, .as and autocoercion, Gabriel Dos Reis, 2007/08/16
- Re: [Axiom-developer] "has" and "with" (was curious algebra failure), Ralf Hemmecke, 2007/08/13
- Re: [Axiom-developer] "has" and "with" (was curious algebra failure), Ralf Hemmecke, 2007/08/13
- Re: [Axiom-developer] "has" and "with" (was curious algebra failure), Bill Page, 2007/08/13