Rev 5766 | Go to most recent revision | Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
32 | reyssat | 1 | |
2 | <ol> |
||
3 | $tit Write html pages with a programmability extension: substitution of |
||
4 | variables, conditional branching, etc.$titend |
||
5 | This wims programmability extension to html does not require any |
||
6 | addon or plugin at the browser side, as all the wims commands are treated |
||
7 | by the wims server before sending the result to the browser, which will |
||
8 | be a standard html page. <br> |
||
9 | For example, this allows you to define style macros which can be |
||
10 | dynamically changed. <br> |
||
11 | And this extension can cohabit with all the current (and hopefully |
||
12 | future) html standards, including java applets, javascripts, embedded |
||
13 | objects, |
||
14 | dhtml... This is because the wims extension follows a strict line |
||
15 | discipline (i.e. a wims command must start at the first word of a line), |
||
16 | while html standard is not line-oriented. <br> |
||
17 | This means that you can even embed wims extensions into javascripts, |
||
18 | applets, dhtml... |
||
19 | |||
20 | $tit Dynamic insertions of paints, plots and TeX formatted mathematical |
||
21 | formulas into html pages. $titend |
||
22 | For example, you may insert the following line into your wims-extended html |
||
23 | page. At the browser side, the visitor will see a TeX formatted matrix |
||
24 | whose content varies with the value of the variable $emph $$matrix$emphend: |
||
25 | <pre> |
||
26 | $ !instex $$$$ \left( $$matrix \right) $$$$</pre> |
||
27 | Moreover, this implementation of dynamic insertions makes future updates |
||
28 | possible without modification at module's level. (For example when a |
||
29 | better way to render mathematical formula is available, a simple |
||
30 | modification at server's level will immediately let all $emph!instex |
||
31 | $emphend lines take benefit of the new standard.) |
||
32 | |||
33 | $tit Insplot is now animated!$titend |
||
34 | Exemple: the tool |
||
35 | !href module=tool/geometry/animtrace.$lang&cmd=intro Tracés Animés |
||
36 | . |
||
37 | |||
38 | $tit Direct interfaces to powerful external software packages.$titend |
||
39 | For example, you may define a variable `factor' by the following line: |
||
40 | <pre> |
||
41 | factor=!exec pari print(factor($$number))</pre> |
||
42 | Upon execution of this line, the variable $number will be replaced by |
||
43 | its current value, then the software package `PARI' will be called |
||
44 | with the string `print(factor(<value of $$number>))' as command to |
||
45 | execute. The output of the program, with the overheads stripped, will |
||
46 | be placed as the value of the variable `factor'. <br> |
||
47 | Interfaces provided in version $wims_version of wims: PARI, Maxima, MuPAD, |
||
48 | Coq, Povray, gnuplot, PostgreSQL, Fly (gif drawing), CALC (by Keith Matthew). |
||
49 | |||
50 | $tit Simple and versatile language.$titend |
||
51 | The language used for wims modules is an extension of the existing and |
||
52 | popular html language. This extension is designed to be simple, |
||
53 | easy to use and close to natural language. Synonymes are accepted |
||
54 | whenever necessary. For example, to include the content of another |
||
55 | file, you don't have to remember whether the command is |
||
56 | $emph include$emphend as in C, or $emph input$emphend as in TeX, |
||
57 | because both are valid. |
||
58 | |||
59 | $tit Convenient directives for string manipulations:$titend |
||
60 | replace with regular |
||
61 | expression capability, extraction of a subset from a list of items, |
||
62 | shuffle, evaluation of mathematical expressions, etc. |
||
63 | |||
64 | $tit Easy inline mathematical symbols:$titend |
||
65 | simply type <tt>$$m_pi</tt> for $m_pi, <tt>$$m_RR</tt> for |
||
66 | $m_RR, <tt>$$m_eufM</tt> for $m_eufM, <tt>$$m_le</tt> for |
||
67 | $m_le, <tt>$$m_Rightarrow</tt> for $m_Rightarrow, etc. |
||
68 | |||
69 | $tit Intelligent treatment of mathematical expressions:$titend |
||
70 | built-in translation routines to allow error-tolerant expressions |
||
71 | like <tt>2y</tt> (instead of <tt>2*y</tt>) or <tt>(x+1)(x-1)</tt> |
||
72 | (instead of <tt>(x+1)*(x-1)</tt>), and translations of raw mathematical |
||
73 | expressions into beautified html sources (<tt>x^3-3*x^2+1*x-5</tt> |
||
74 | will become $emph |
||
75 | !htmlmath x^3-3*x^2+1*x-5 |
||
76 | $emphend, |
||
77 | etc.), or TeX sources, etc. |
||
78 | |||
79 | $tit Powerful random capabilities:$titend |
||
80 | random permutation (shuffle), random |
||
81 | record from a datafile, random filename, etc. |
||
82 | |||
83 | </ol> |
||
84 | |||
85 |