Virtual-Code-Semantics.html 9.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html401/loose.dtd">
  2. <html>
  3. <!-- Created on November 8, 2012 by texi2html 1.82
  4. texi2html was written by:
  5. Lionel Cons <[email protected]> (original author)
  6. Karl Berry <[email protected]>
  7. Olaf Bachmann <[email protected]>
  8. and many others.
  9. Maintained by: Many creative people.
  10. Send bugs and suggestions to <[email protected]>
  11. -->
  12. <head>
  13. <title>avram - a virtual machine code interpreter: 2.7 Virtual Code Semantics</title>
  14. <meta name="description" content="avram - a virtual machine code interpreter: 2.7 Virtual Code Semantics">
  15. <meta name="keywords" content="avram - a virtual machine code interpreter: 2.7 Virtual Code Semantics">
  16. <meta name="resource-type" content="document">
  17. <meta name="distribution" content="global">
  18. <meta name="Generator" content="texi2html 1.82">
  19. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  20. <style type="text/css">
  21. <!--
  22. a.summary-letter {text-decoration: none}
  23. blockquote.smallquotation {font-size: smaller}
  24. pre.display {font-family: serif}
  25. pre.format {font-family: serif}
  26. pre.menu-comment {font-family: serif}
  27. pre.menu-preformatted {font-family: serif}
  28. pre.smalldisplay {font-family: serif; font-size: smaller}
  29. pre.smallexample {font-size: smaller}
  30. pre.smallformat {font-family: serif; font-size: smaller}
  31. pre.smalllisp {font-size: smaller}
  32. span.roman {font-family:serif; font-weight:normal;}
  33. span.sansserif {font-family:sans-serif; font-weight:normal;}
  34. ul.toc {list-style: none}
  35. -->
  36. </style>
  37. </head>
  38. <body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
  39. <a name="Virtual-Code-Semantics"></a>
  40. <table cellpadding="1" cellspacing="1" border="0">
  41. <tr><td valign="middle" align="left">[<a href="Mixed-Modes-of-Interaction.html#Mixed-Modes-of-Interaction" title="Previous section in reading order"> &lt; </a>]</td>
  42. <td valign="middle" align="left">[<a href="A-New-Operator.html#A-New-Operator" title="Next section in reading order"> &gt; </a>]</td>
  43. <td valign="middle" align="left"> &nbsp; </td>
  44. <td valign="middle" align="left">[<a href="Virtual-Machine-Specification.html#Virtual-Machine-Specification" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
  45. <td valign="middle" align="left">[<a href="Virtual-Machine-Specification.html#Virtual-Machine-Specification" title="Up section"> Up </a>]</td>
  46. <td valign="middle" align="left">[<a href="Library-Reference.html#Library-Reference" title="Next chapter"> &gt;&gt; </a>]</td>
  47. <td valign="middle" align="left"> &nbsp; </td>
  48. <td valign="middle" align="left"> &nbsp; </td>
  49. <td valign="middle" align="left"> &nbsp; </td>
  50. <td valign="middle" align="left"> &nbsp; </td>
  51. <td valign="middle" align="left">[<a href="avram.html#Top" title="Cover (top) of document">Top</a>]</td>
  52. <td valign="middle" align="left">[<a href="avram_toc.html#SEC_Contents" title="Table of contents">Contents</a>]</td>
  53. <td valign="middle" align="left">[<a href="Function-Index.html#Function-Index" title="Index">Index</a>]</td>
  54. <td valign="middle" align="left">[<a href="avram_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
  55. </tr></table>
  56. <hr size="1">
  57. <a name="Virtual-Code-Semantics-1"></a>
  58. <h2 class="section">2.7 Virtual Code Semantics</h2>
  59. <p>As the previous sections explain, virtual code applications are defined
  60. in terms of mathematical functions. Up until this point, the discussion
  61. has focused on the interface between the function and the virtual
  62. machine interpreter, by detailing the arguments passed to the functions under
  63. various circumstances and the results they are expected to return in
  64. order to achieve various effects.
  65. </p>
  66. <p>The purpose of this section is to complete the picture by explaining how
  67. a given computable function can be expressed in virtual code,
  68. considering only functions operating on the trees described in <a href="Raw-Material.html#Raw-Material">Raw Material</a>.
  69. Functions manipulating trees of <code>nil</code> are undoubtedly a frivolous
  70. and abstract subject in themselves. One is obliged to refer back to the
  71. previous sections if in need of motivation.
  72. </p>
  73. <table class="menu" border="0" cellspacing="0">
  74. <tr><td align="left" valign="top"><a href="A-New-Operator.html#A-New-Operator">2.7.1 A New Operator</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
  75. </td></tr>
  76. <tr><td align="left" valign="top"><a href="On-Equality.html#On-Equality">2.7.2 On Equality</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
  77. </td></tr>
  78. <tr><td align="left" valign="top"><a href="A-Minimal-Set-of-Properties.html#A-Minimal-Set-of-Properties">2.7.3 A Minimal Set of Properties</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
  79. </td></tr>
  80. <tr><td align="left" valign="top"><a href="A-Simple-Lisp-Like-Language.html#A-Simple-Lisp-Like-Language">2.7.4 A Simple Lisp Like Language</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
  81. </td></tr>
  82. <tr><td align="left" valign="top"><a href="How-avram-Thinks.html#How-avram-Thinks">2.7.5 How <code>avram</code> Thinks</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
  83. </td></tr>
  84. <tr><td align="left" valign="top"><a href="Variable-Freedom.html#Variable-Freedom">2.7.6 Variable Freedom</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
  85. </td></tr>
  86. <tr><td align="left" valign="top"><a href="Metrics-and-Maintenance.html#Metrics-and-Maintenance">2.7.7 Metrics and Maintenance</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
  87. </td></tr>
  88. <tr><td align="left" valign="top"><a href="Deconstruction.html#Deconstruction">2.7.8 Deconstruction</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
  89. </td></tr>
  90. <tr><td align="left" valign="top"><a href="Recursion.html#Recursion">2.7.9 Recursion</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
  91. </td></tr>
  92. <tr><td align="left" valign="top"><a href="Assignment.html#Assignment">2.7.10 Assignment</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
  93. </td></tr>
  94. <tr><td align="left" valign="top"><a href="Predicates.html#Predicates">2.7.11 Predicates</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
  95. </td></tr>
  96. <tr><td align="left" valign="top"><a href="Iteration.html#Iteration">2.7.12 Iteration</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
  97. </td></tr>
  98. <tr><td align="left" valign="top"><a href="List-Combinators.html#List-Combinators">2.7.13 List Combinators</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
  99. </td></tr>
  100. <tr><td align="left" valign="top"><a href="List-Functions.html#List-Functions">2.7.14 List Functions</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
  101. </td></tr>
  102. <tr><td align="left" valign="top"><a href="Exception-Handling.html#Exception-Handling">2.7.15 Exception Handling</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
  103. </td></tr>
  104. <tr><td align="left" valign="top"><a href="Interfaces-to-External-Code.html#Interfaces-to-External-Code">2.7.16 Interfaces to External Code</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
  105. </td></tr>
  106. <tr><td align="left" valign="top"><a href="Vacant-Address-Space.html#Vacant-Address-Space">2.7.17 Vacant Address Space</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
  107. </td></tr>
  108. </table>
  109. <hr size="1">
  110. <table cellpadding="1" cellspacing="1" border="0">
  111. <tr><td valign="middle" align="left">[<a href="Mixed-Modes-of-Interaction.html#Mixed-Modes-of-Interaction" title="Previous section in reading order"> &lt; </a>]</td>
  112. <td valign="middle" align="left">[<a href="A-New-Operator.html#A-New-Operator" title="Next section in reading order"> &gt; </a>]</td>
  113. <td valign="middle" align="left"> &nbsp; </td>
  114. <td valign="middle" align="left">[<a href="Virtual-Machine-Specification.html#Virtual-Machine-Specification" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
  115. <td valign="middle" align="left">[<a href="Virtual-Machine-Specification.html#Virtual-Machine-Specification" title="Up section"> Up </a>]</td>
  116. <td valign="middle" align="left">[<a href="Library-Reference.html#Library-Reference" title="Next chapter"> &gt;&gt; </a>]</td>
  117. <td valign="middle" align="left"> &nbsp; </td>
  118. <td valign="middle" align="left"> &nbsp; </td>
  119. <td valign="middle" align="left"> &nbsp; </td>
  120. <td valign="middle" align="left"> &nbsp; </td>
  121. <td valign="middle" align="left">[<a href="avram.html#Top" title="Cover (top) of document">Top</a>]</td>
  122. <td valign="middle" align="left">[<a href="avram_toc.html#SEC_Contents" title="Table of contents">Contents</a>]</td>
  123. <td valign="middle" align="left">[<a href="Function-Index.html#Function-Index" title="Index">Index</a>]</td>
  124. <td valign="middle" align="left">[<a href="avram_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
  125. </tr></table>
  126. <p>
  127. <font size="-1">
  128. This document was generated on <i>November 8, 2012</i> using <a href="http://www.nongnu.org/texi2html/"><i>texi2html 1.82</i></a>.
  129. </font>
  130. <br>
  131. </p>
  132. </body>
  133. </html>