axiom-developer
[Top][All Lists]
Advanced

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

Re: clarification Re: [Axiom-developer] retrieving axiom commands


From: Arthur Ralfs
Subject: Re: clarification Re: [Axiom-developer] retrieving axiom commands
Date: Tue, 23 Jan 2007 19:55:45 -0800
User-agent: Thunderbird 1.5.0.5 (X11/20060719)

Bill Page wrote:
On January 22, 2007 5:39 PM Arthur Ralfs wrote:
I want to retrieve the command from within spad code,
not from the command line

Thanks

Arthur Ralfs wrote:
Is it possible to retrieve axiom commands?
i.e. if I type in integrate(x**2,x) can I then get
that command back rather than the output from
the command?


Oh ok, that's different. I don't think there is an standard
interface to do this but you can resort to accessing the
underlying Boot/Lisp variable |$currentLine|. See documentation
about the Axiom interpreter "top level loop" here:

http://wiki.axiom-developer.org/axiom--test--1/src/interp/IntTopBoot
http://wiki.axiom-developer.org/axiom--test--1/src/interp/IntintLisp

For example:

(1) -> )lisp (print |$currentLine|)

")lisp (print |$currentLine|)"
Value = ")lisp (print |$currentLine|)"

(2) -> _$currentLine$Lisp

   (2)  _$currentLine$Lisp
                                         Type: Sexpression

In SPAD you can write something like this:

--- File: CommandLine.spad ---
)abbrev package CL CommandLine
CommandLine(): Exports == Implementation where
  Exports ==> with
    current: () -> String
  Implementation ==> add
    current() ==
      -- if $currentLine is a list, command is last entry
      if list?(_$currentLine$Lisp)$SExpression then
        string last(_$currentLine$Lisp)$Lisp
      else
        string _$currentLine$Lisp

--- end ---

(3) -> )co CommandLine.spad
   Compiling AXIOM source code from file
   ...

(3) -> current()$CommandLine
   Loading
      /Documents and Settings/Administrator.ASUS/My Documents/CL.NRLIB/code
      for package CommandLine

   (3)  "current()$CommandLine"
                                         Type: String


Does that help?

Regards,
Bill Page.

Thank you, that's very helpful, although it turns out that $internalHistoryTable has
the information I need, rather than $currentLine.

Arthur Ralfs




reply via email to

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