Subversion Repositories wimsdev

Rev

Rev 14535 | Blame | Compare with Previous | Last modification | View Log | RSS feed

  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.   </li>
  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.   </li>
  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.   </li>
  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
  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.  </li>
  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.  </li>
  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.  </li>
  64.  $tit Easy inline mathematical symbols:$titend
  65.      simply type <span class="tt">$$m_pi</span> for $m_pi, <span class="tt">$$m_RR</span> for
  66.      $m_RR, <span class="tt">$$m_le</span> for
  67.      $m_le, <span class="tt">$$m_Rightarrow</span> for $m_Rightarrow, etc.
  68.  </li>
  69.  $tit Intelligent treatment of mathematical expressions:$titend
  70.      built-in translation routines to allow error-tolerant expressions
  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>
  74.      will become $emph
  75.      !htmlmath x^3-3*x^2+1*x-5
  76.      $emphend,
  77.      etc.), or TeX sources, etc.
  78.  </li>
  79.  $tit Powerful random capabilities:$titend
  80.      random permutation (shuffle), random
  81.      record from a datafile, random filename, etc.
  82.  </li>
  83. </ol>
  84.