Interfaces-to-External-Code.html 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html401/loose.dtd">
  2. <html>
  3. <!-- Created on December 10, 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.16 Interfaces to External Code</title>
  14. <meta name="description" content="avram - a virtual machine code interpreter: 2.7.16 Interfaces to External Code">
  15. <meta name="keywords" content="avram - a virtual machine code interpreter: 2.7.16 Interfaces to External Code">
  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="Interfaces-to-External-Code"></a>
  40. <table cellpadding="1" cellspacing="1" border="0">
  41. <tr><td valign="middle" align="left">[<a href="Exception-Handler-Usage.html#Exception-Handler-Usage" title="Previous section in reading order"> &lt; </a>]</td>
  42. <td valign="middle" align="left">[<a href="Library-combinator.html#Library-combinator" 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-Code-Semantics.html#Virtual-Code-Semantics" 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="Interfaces-to-External-Code-1"></a>
  58. <h3 class="subsection">2.7.16 Interfaces to External Code</h3>
  59. <p>A few other combinators have been incorporated into the virtual
  60. machine as alternatives to the style of interactive applications
  61. described in <a href="Output-From-Interactive-Applications.html#Output-From-Interactive-Applications">Output From Interactive Applications</a>. These make it
  62. possible to interface with external libraries and applications either
  63. by a simple function call, or by executing a run-time generated
  64. transducer as described previously. In either case, there is no need
  65. for any particular command line options to specify interactive
  66. invocation, nor for the application to be designed that way from the
  67. outset. Existing virtual code applications may therefore be enhanced
  68. to make use of these features without radical changes.
  69. </p>
  70. <p>To account for these additional capabilities, it is not entirely
  71. adequate to continue defining the virtual machine semantics in terms
  72. of a mathematical function, but it is done nevertheless due to the
  73. lack of any appealing alternative. Although most library functions are
  74. in fact functions in the sense that their outputs are determined by
  75. their arguments, they defy a concise specification within the present
  76. mathematical framework, especially insofar as they may involve finite
  77. precision floating point numbers. More problematically, the effect of
  78. interaction with a shell is neither well defined nor deterministic.
  79. The descriptions that follow presuppose a computational procedure
  80. associated with the following definitions but leave its exact nature
  81. unspecified.
  82. </p>
  83. <table class="menu" border="0" cellspacing="0">
  84. <tr><td align="left" valign="top"><a href="Library-combinator.html#Library-combinator">2.7.16.1 Library combinator</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
  85. </td></tr>
  86. <tr><td align="left" valign="top"><a href="Have-combinator.html#Have-combinator">2.7.16.2 Have combinator</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
  87. </td></tr>
  88. <tr><td align="left" valign="top"><a href="Interaction-combinator.html#Interaction-combinator">2.7.16.3 Interaction combinator</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
  89. </td></tr>
  90. </table>
  91. <hr size="1">
  92. <table cellpadding="1" cellspacing="1" border="0">
  93. <tr><td valign="middle" align="left">[<a href="Exception-Handler-Usage.html#Exception-Handler-Usage" title="Previous section in reading order"> &lt; </a>]</td>
  94. <td valign="middle" align="left">[<a href="Library-combinator.html#Library-combinator" title="Next section in reading order"> &gt; </a>]</td>
  95. <td valign="middle" align="left"> &nbsp; </td>
  96. <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>
  97. <td valign="middle" align="left">[<a href="Virtual-Code-Semantics.html#Virtual-Code-Semantics" title="Up section"> Up </a>]</td>
  98. <td valign="middle" align="left">[<a href="Library-Reference.html#Library-Reference" title="Next chapter"> &gt;&gt; </a>]</td>
  99. <td valign="middle" align="left"> &nbsp; </td>
  100. <td valign="middle" align="left"> &nbsp; </td>
  101. <td valign="middle" align="left"> &nbsp; </td>
  102. <td valign="middle" align="left"> &nbsp; </td>
  103. <td valign="middle" align="left">[<a href="avram.html#Top" title="Cover (top) of document">Top</a>]</td>
  104. <td valign="middle" align="left">[<a href="avram_toc.html#SEC_Contents" title="Table of contents">Contents</a>]</td>
  105. <td valign="middle" align="left">[<a href="Function-Index.html#Function-Index" title="Index">Index</a>]</td>
  106. <td valign="middle" align="left">[<a href="avram_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
  107. </tr></table>
  108. <p>
  109. <font size="-1">
  110. This document was generated on <i>December 10, 2012</i> using <a href="http://www.nongnu.org/texi2html/"><i>texi2html 1.82</i></a>.
  111. </font>
  112. <br>
  113. </p>
  114. </body>
  115. </html>