klisp

an open source interpreter for the Kernel Programming Language.
git clone http://git.hanabi.in/repos/klisp.git
Log | Files | Refs | README

Evaluation-Notation.html (2877B)


      1 <html lang="en">
      2 <head>
      3 <title>Evaluation Notation - klisp Reference Manual</title>
      4 <meta http-equiv="Content-Type" content="text/html">
      5 <meta name="description" content="klisp Reference Manual">
      6 <meta name="generator" content="makeinfo 4.13">
      7 <link title="Top" rel="start" href="index.html#Top">
      8 <link rel="up" href="Conventions.html#Conventions" title="Conventions">
      9 <link rel="prev" href="Some-Terms.html#Some-Terms" title="Some Terms">
     10 <link rel="next" href="Printing-Notation.html#Printing-Notation" title="Printing Notation">
     11 <link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
     12 <meta http-equiv="Content-Style-Type" content="text/css">
     13 <style type="text/css"><!--
     14   pre.display { font-family:inherit }
     15   pre.format  { font-family:inherit }
     16   pre.smalldisplay { font-family:inherit; font-size:smaller }
     17   pre.smallformat  { font-family:inherit; font-size:smaller }
     18   pre.smallexample { font-size:smaller }
     19   pre.smalllisp    { font-size:smaller }
     20   span.sc    { font-variant:small-caps }
     21   span.roman { font-family:serif; font-weight:normal; } 
     22   span.sansserif { font-family:sans-serif; font-weight:normal; } 
     23 --></style>
     24 <link rel="stylesheet" type="text/css" href="css/style.css">
     25 </head>
     26 <body>
     27 <div class="node">
     28 <a name="Evaluation-Notation"></a>
     29 <p>
     30 Next:&nbsp;<a rel="next" accesskey="n" href="Printing-Notation.html#Printing-Notation">Printing Notation</a>,
     31 Previous:&nbsp;<a rel="previous" accesskey="p" href="Some-Terms.html#Some-Terms">Some Terms</a>,
     32 Up:&nbsp;<a rel="up" accesskey="u" href="Conventions.html#Conventions">Conventions</a>
     33 <hr>
     34 </div>
     35 
     36 <h4 class="subsection">1.3.2 Evaluation Notation</h4>
     37 
     38 <p><a name="index-evaluation-notation-3"></a><a name="index-documentation-notation-4"></a>
     39   When you evaluate a piece of Kernel code, it produces a result.  In the
     40 examples in this manual, this is indicated with &lsquo;<samp><span class="samp">&rArr;</span></samp>&rsquo;:
     41 
     42 <pre class="example">     (car (cons 1 2))
     43           &rArr; 1
     44 </pre>
     45    <p class="noindent">You can read this as &ldquo;<code>(car (cons 1 2))</code> evaluates to 1&rdquo;.
     46 
     47    <p>The semantics of a language feature are sometimes clarified, or even
     48 defined, in its entry by specifying that two expressions are
     49 equivalent.  This is notated with &lsquo;<samp><span class="samp">==</span></samp>&rsquo;.  For example, the
     50 semantics of applicative list* can be defined by following
     51 equivalences:
     52 <pre class="example">     (list* arg1) == arg1
     53      (list* arg1 . more-args) == (cons arg1 (list* . more-args))
     54 </pre>
     55    <p>Notice that in these kind of examples the applicatives or operatives
     56 referred to are the first class values and not the symbols bound to
     57 them in the ground environment.  This definition would hold even if
     58 <code>cons</code> or <code>list*</code> were redefined in the current dynamic
     59 environment.
     60 
     61    </body></html>
     62