Hi Waldek,

as you know, I would like to let HyperDoc die.
But, maybe that sound too extreme for what I actually mean.
And I agree to some extend to your plan for a new hyperdoc.

Let me explain my wishes.

FriCAS should have an interface (in LISP or SPAD) that let's
SPAD or external programs get information about categories/domains/packages/documentation.
From such an interface it should be easy to generate any output format
be it html, rst or pdf.

I think this can be started without changing any code for hyperdoc.
Such an interface should already contain code to compute a datastructure representing the data for a page (not actually rendered in any format), in particular, conditional exports should be computed and the datastructure should have enough information to produce links to other data.

Yes, that is good for a getting a "static" view of a constructor similar to what is presented at fricas.io/api, but computable on-the-fly.

You also want such a view in a "dynamic" form, i.e. (similar to what current hyperdoc provides) getting information about
- usage of domains
- fuction implementation (in which package/domain)
- etc.

Shouldn't it be possible to create an API that let's query such information by just sending strings to specify the arguments?

Why would that need Boot code if there is a function that translates the string "Polynomial Integer" into the respective domain and uses that in querying the various places where the wanted information is stored in FriCAS?

Whether you then program in interface to present such information, is another business. I wouldn't do that but rather rely on ordinary webbrowsers to display such information. One can probably extent jfricas to start queries and have examples executed in a notebook interface.

Yes, I like to be able to get more information out of FriCAS than just a static API page (although I think that having them static on the web is still a good idea). What I am not in favour of is the current HyperDoc window. That looks old and not very attractive. That should die. Not the information it shows, of course.

At the same time, I would like to put the HyperTeX format to sleep.
This format was interesting 30 years ago, but now there are better formats like rst of markdown or ... Why should we keep our specific HyperTeX-Format that nobody outside FriCAS cares about?

I do not know whether my code is good to be adapted, because initially, I only had the presentation into an .rst page in my mind. I think one should carefully separate code that "provides" information from code that translates that into a certain format.

Can we create a new branch and work (as a first step) at an interface
that provides all the necessary information in form of SExpression?

As I wrote I have part of HyperDoc code in Spad.  HyperDoc
page has the following representation:

     Rep := Record(name : Symbol, domain_conditions : LSE,
                   variable_alist : ALS, pattern_vars : List(PSR),
                   radio_buttons : ALS, input_areas : ALS,
                   property_list : ALS, page_description : LSE,
                   work_area : List(String))

That is seemingly taylored for a hyperdoc page. Why should one have
radio_buttons in an information record? I would rather have several data structures like

FUN ==> Record(
  name: Symbol,
  source: SEX,
  target: SEX,
  doc: String,
  condition: SEX)

CAT ==> Record(
  name: Symbol,
  args: List SEX,
  cats: List Record(cat: CAT, condition: SEX)
  funs: List FUN)

etc. (Don't take that too serious. It's just a draft.)

Anyhow, we should come up with a good datastructure that provide
easy access to the information.

If you want a datastructure that is just representing the current hyperdoc structure, I am not interested. That is too much presentation oriented already.

this, but I am not sure if this will be possible: Ralf uses
data structures (in particular XHashTable) which are problematic
to access from Boot.

There is nothing specific about XHashTable. Any hash structure will do. Use an association list, if you like.

Extra remarks: my goal is to allow dynamic interface either using
current C code or a web browser (depending on user choice).

As I said, I would rather like a generic interface to all the information, separated from code that does the presentation.

Just my two cents...
Ralf

--
You received this message because you are subscribed to the Google Groups "FriCAS - 
computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to fricas-devel+unsubscr...@googlegroups.com.
To view this discussion visit 
https://groups.google.com/d/msgid/fricas-devel/1483f2d5-22a4-45a9-8f08-d9e182b8cf5c%40hemmecke.org.

Reply via email to