### 5.1.27 eval

`Syntax:`
  `eval (` expression `)`
`Type:`
  none
`Purpose:`
  evaluates (quoted) expressions. Within a quoted expression, the quote can be "undone" by an `eval` (i.e., each eval "undoes" the effect of exactly one quote). Used only when receiving a quoted expression from an ssi link, with `quote` and `write` to prevent local evaluations when writing to an ssi link.
`Example:`

        link l="ssi:w example.ssi";
        ring r=0,(x,y,z),ds;
        ideal i=maxideal(3);
        ideal j=x7+x3,x2,z;
        // compute i+j before writing, but not std
        // this writes 'std(ideal(x3,...,z))'
        write (l, quote(std(eval(i+j))));
        option(prot);
        close(l);
        // now read it in again and evaluate
        // read(l) forces to compute 'std(ideal(x3,...,z))'
        read(l);
      ==> _[1]=z
      ==> _[2]=x2
      ==> _[3]=xy2
      ==> _[4]=y3
        close(l);

See Ssi links; quote; write.

User manual for Singular version 4-0-3, 2016, generated by texi2html.