axiom-developer
[Top][All Lists]
Advanced

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

Re: [Axiom-developer] RE: TeXmacs+Axiom


From: C Y
Subject: Re: [Axiom-developer] RE: TeXmacs+Axiom
Date: Tue, 22 May 2007 04:24:10 -0700 (PDT)

--- Martin Rubey <address@hidden> wrote:

> Unfortunately, I guess that a good emacs mode for .input files
> would be the most important thing for axiom *users*.  In particular,
> it would be good to have a possibility to send a function definition
> to a running axiom, via shift return or something.  But that's
> probably not so easy.

I think it's doable - EMaxima has something similar, IIRC.  My original
focus was a pseudo-notebook environment, so I don't think I got to any
of the .input stuff.
 
> Cliff, I found the emacs mode documentation very hard to read.  Is
> there a small tutorial, and a summary of the available emacs
> commands?

Hmm.  Sorry about that.  There is a flash movie of an example editing
session here, although without audio or commands shown:

http://wiki.axiom-developer.org/axiomemacsswf.html

Here's the two cent tour:

You can start the mode with M-x axiom-mode or (my favorite because I
can stick it in a fluxbox menu) emacs -f axiom-mode.  This should start
up something like the following:

GCL (GNU Common Lisp)  2.6.8 ANSI    Apr 23 2007 08:44:17
Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl)
Binary License:  GPL due to GPL'ed components: (XGCL READLINE BFD
UNEXEC)
Modifications of this banner must retain notice of a compatible license
Dedicated to the memory of W. Schelter

Use (help) to get some basic information on how to use GCL.
Temporary directory for compiler files set to /tmp/
                        AXIOM Computer Algebra System 
                 Version: Axiom wh-sandbox branch 2006-03-28
                Timestamp: Monday April 23, 2007 at 08:54:19 
-----------------------------------------------------------------------------
   Issue )copyright to view copyright notices.
   Issue )summary for a summary of useful system commands.
   Issue )quit to leave AXIOM and return to shell.
-----------------------------------------------------------------------------
 
(1) ->

Once you have that input prompt, it should act pretty much like the
command line:

(1) -> sin(x) 

   (1)  sin(x)
                                                     Type: Expression
Integer
(2) -> cos(x) 

   (2)  cos(x)
                                                     Type: Expression
Integer
(3) -> tan(x) 

   (3)  tan(x)
                                                     Type: Expression
Integer
(4) ->
 
The only benefits at the moment are:

* Navigation with arrow keys and input status reporting.  Let's say we
want to go back and change cox(x) above to an integral.  Pressing the
up arrow twice from (4) will jump the input cursor straight to (2).  As
we begin to edit the line (which, once edited, no longer corresponds to
the output displayed below it) it turns red.  (Can't show that in an
email.)  Once the new expression is complete and we evaluate it, the
Emacs mode will handle putting the new output in place of the old one. 
The standard input prompt at the end is also updated to reflect the
current status.  This is handy if you want your commands to show a
progression, say in working a problem.

(1) -> sin(x) 

   (1)  sin(x)
                                                     Type: Expression
Integer
(4) -> integrate(1/(1+x^5),x) 

   (4)
            +------------------------------------------------------+
            |        2                               2
           \|- 75%%F1  + (- 50%%F0 - 10)%%F1 - 75%%F0  - 10%%F0 - 3  -
5%%F1
         + 
           - 5%%F0 - 1
      *
         log
               +------------------------------------------------------+
               |        2                               2
              \|- 75%%F1  + (- 50%%F0 - 10)%%F1 - 75%%F0  - 10%%F0 - 3 
- 5%%F1
            + 
              - 5%%F0 + 2x - 1
     + 
              +------------------------------------------------------+
              |        2                               2
           - \|- 75%%F1  + (- 50%%F0 - 10)%%F1 - 75%%F0  - 10%%F0 - 3 
- 5%%F1
         + 
           - 5%%F0 - 1
      *
         log
                
+------------------------------------------------------+
                 |        2                               2
              - \|- 75%%F1  + (- 50%%F0 - 10)%%F1 - 75%%F0  - 10%%F0 -
3
            + 
              - 5%%F1 - 5%%F0 + 2x - 1
     + 
       10%%F1 log(5%%F1 + x) + 10%%F0 log(5%%F0 + x) + 2log(x + 1)
  /
     10
                                          Type: Union(Expression
Integer,...)
(3) -> tan(x) 

   (3)  tan(x)
                                                     Type: Expression
Integer
(5) -> 

Copying Input-Output Cell combinations

Because Axiom mode in Emacs write protects it's output cells to avoid
accidental deletion, (you can override the auto-line positioning of the
up and down arrow keys with Alt-Up and Alt-Down, but it's awkward)
there's a convenience key binding C-a c to copy the input-output
combination where the cursor is positioned, or the previous complete
cell if the cursor is on the input-only line at the bottom.

Command History

Thanks to Emacs terminal mode, at each input line you can cycle through
previous commands with Alt-p and forward with Alt-n (Ctrl-Up and
Ctrl-Down also work for me here).

Right now, that's pretty much it.

It's pretty incomplete, unfortunately :-(.

Cheers,
CY


       
____________________________________________________________________________________Sick
 sense of humor? Visit Yahoo! TV's 
Comedy with an Edge to see what's on, when. 
http://tv.yahoo.com/collections/222




reply via email to

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