axiom-developer
[Top][All Lists]
Advanced

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

[Axiom-developer] Axiom interface via HTTP


From: Bill Page
Subject: [Axiom-developer] Axiom interface via HTTP
Date: Fri, 20 May 2005 11:19:32 -0400

On  May 20, 2005 8:28 AM Tim Daly wrote:

> Off hand I'm not sure how to do string input but I'm
> sure it is possible. I'll have to read some code and let
> you know. Why can't you just feed the string to stdin?

What I am talking about is using the socket code that Camm
wrote as an HTTP interface to Axiom. The idea is that the
input loop of AXIOMsys operates a dedicated special purpose
web server and the user connects to Axiom using a standard
browser. There is only one AXIOMsys process running as a
server that talks directly to the browser. It might be
invoked by starting AXIOMsys and giving a command like:

  )set httpmode

In addition to the HTTP port, as part of the HTTP protocol
with HTML <form ... method="put"> stdin is involved in
receiving the contents of the web form. This new "httpmode"
code in AXIOMsys would parse this input from the web browser,
format it as an Axiom command and process it as if it was
normal keyboard input. (This is where I need help to
understand how to call the Axiom input evaluation from
within lisp and return the result of the calculation back
to the httpmode list function. Which in turn gets formatted
as HTTP and sent back to the browser. All of this is done
entirely within AXIOMsys without any auxillary processes.

One simple web page layout that might work would have two
parts like this:

  -------------------------------------------------------
  | Axiom commands ...                                  |
  |  ______________________________________________     |
  | | ) -> integrate(sin x, x)                     |^|  |
  | | ) -> D(%, x)                                 | |  |
  | |______________________________________________|v|  |
  |                                        [execute]    |
  |=====================================================|
  | Axiom output ...                                    |
  |                                                     |
  |  (1)  -cos(x)                                       |
  |                Type: Union(Expression Integer ... ) |
  |                                                     |
  |  (2)  sin (x)                                       |
  |                            Type: Expression Integer |
  |                                                     |
  -------------------------------------------------------

The first part is an HTML form with a text input field and
a button labelled [Execute]. The second part contains the
output generated by AXIOIMsys.

More complicated page layouts are possible but limitations
in the way HTTP/HTML works does constrain the design to
essentially "simplex" (one-way at a time) kind of
interactions.

> Check out FAQ 19 to figure out how to get the output in
> a single line.

Thanks but I am not sure if this is relevant.

> Oh, yeah, and remember to use AXIOMsys rather than axiom
> as the command.

Yes. Graphics is another issue. I would like to be able
to have Axiom graphics generate VRML (OpenInventor) output
for display in the browser.

Regards,
Bill Page.






reply via email to

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