Subversion Repositories wimsdev

Rev

Rev 14535 | Details | Compare with Previous | 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
17228 bpr 8
      be a standard html page. <br>
32 reyssat 9
      For example, this allows you to define style macros which can be
17228 bpr 10
      dynamically changed. <br>
32 reyssat 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),
17228 bpr 16
      while html standard is not line-oriented. <br>
9071 bpr 17
      This means that you can even embed wims extensions into javascripts,
32 reyssat 18
      applets, dhtml...
9071 bpr 19
  </li>
32 reyssat 20
  $tit Dynamic insertions of paints, plots and TeX formatted mathematical
21
      formulas into html pages. $titend
9071 bpr 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
32 reyssat 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.)
9071 bpr 32
  </li>
32 reyssat 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
      .
9071 bpr 37
  </li>
32 reyssat 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(&lt;value of $$number>))' as command to
45
      execute. The output of the program, with the overheads stripped, will
17228 bpr 46
      be placed as the value of the variable `factor'. <br>
32 reyssat 47
      Interfaces provided in version $wims_version of wims: PARI, Maxima, MuPAD,
48
      Coq, Povray, gnuplot, PostgreSQL, Fly (gif drawing), CALC (by Keith Matthew).
9071 bpr 49
 </li>
32 reyssat 50
  $tit Simple and versatile language.$titend
51
      The language used for wims modules is an extension of the existing and
9071 bpr 52
      popular html language. This extension is designed to be simple,
32 reyssat 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
9071 bpr 56
      $emph include$emphend as in C, or $emph input$emphend as in TeX,
32 reyssat 57
      because both are valid.
9071 bpr 58
  </li>
32 reyssat 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.
9071 bpr 63
  </li>
32 reyssat 64
  $tit Easy inline mathematical symbols:$titend
5921 bpr 65
      simply type <span class="tt">$$m_pi</span> for $m_pi, <span class="tt">$$m_RR</span> for
14535 bpr 66
      $m_RR, <span class="tt">$$m_le</span> for
5921 bpr 67
      $m_le, <span class="tt">$$m_Rightarrow</span> for $m_Rightarrow, etc.
9071 bpr 68
  </li>
32 reyssat 69
  $tit Intelligent treatment of mathematical expressions:$titend
70
      built-in translation routines to allow error-tolerant expressions
5921 bpr 71
      like <span class="tt">2y</span> (instead of <span class="tt">2*y</span>) or <span class="tt">(x+1)(x-1)</span>
72
      (instead of <span class="tt">(x+1)*(x-1)</span>), and translations of raw mathematical
73
      expressions into beautified html sources (<span class="tt">x^3-3*x^2+1*x-5</span>
32 reyssat 74
      will become $emph
75
      !htmlmath x^3-3*x^2+1*x-5
76
      $emphend,
77
      etc.), or TeX sources, etc.
9071 bpr 78
  </li>
32 reyssat 79
  $tit Powerful random capabilities:$titend
80
      random permutation (shuffle), random
81
      record from a datafile, random filename, etc.
9071 bpr 82
  </li>
32 reyssat 83
</ol>