Transpose.html 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  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.14.4 Transpose</title>
  14. <meta name="description" content="avram - a virtual machine code interpreter: 2.7.14.4 Transpose">
  15. <meta name="keywords" content="avram - a virtual machine code interpreter: 2.7.14.4 Transpose">
  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="Transpose"></a>
  40. <table cellpadding="1" cellspacing="1" border="0">
  41. <tr><td valign="middle" align="left">[<a href="Distribute.html#Distribute" title="Previous section in reading order"> &lt; </a>]</td>
  42. <td valign="middle" align="left">[<a href="Exception-Handling.html#Exception-Handling" 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="List-Functions.html#List-Functions" 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="Transpose-1"></a>
  58. <h4 class="subsubsection">2.7.14.4 Transpose</h4>
  59. <p>The <code>transpose</code> operation has the following representation in
  60. virtual code.
  61. </p>
  62. <dl compact="compact">
  63. <dt> <em>T31</em></dt>
  64. <dd><p>[[<code>transpose</code>]] = <code>((nil,nil),((nil,nil),(nil,nil)))</code>
  65. </p></dd>
  66. </dl>
  67. <a name="index-transpose"></a>
  68. <p>This function takes a list of equal length lists as an argument, and
  69. returns a list of lists as a result. In the resulting list, the first
  70. item is the list of all first items of lists in the argument. The next
  71. item is the list of all second items, and so on.
  72. </p>
  73. <p>In the specification of the semantics, the <code>silly</code> mnemonic
  74. <a name="index-flat"></a>
  75. <code>flat</code> is defined by <code>flat = reduce(cat,nil)</code> in the standard
  76. <code>silly</code> prelude, which means that it flattens a list of lists into
  77. one long list.
  78. </p>
  79. <dl compact="compact">
  80. <dt> <em>P41</em></dt>
  81. <dd><p>[[<code>transpose</code>]] <code><var>x</var></code> = <code>nil</code> if [[<code>flat</code>]] <code><var>x</var></code> = <code>nil</code>
  82. </p></dd>
  83. <dt> <em>P42</em></dt>
  84. <dd><p>[[<code>transpose</code>]] <code><var>x</var></code> =
  85. <code>(</code>[[<code>map left</code>]] <code><var>x</var>,</code>[[<code>transpose</code>]] [[<code>map right</code>]] <code><var>x</var>)</code><br>
  86. if [[<code>flat</code>]] <code><var>x</var></code> is a non-<code>nil</code> tree
  87. </p></dd>
  88. </dl>
  89. <hr size="1">
  90. <p>
  91. <font size="-1">
  92. This document was generated on <i>November 8, 2012</i> using <a href="http://www.nongnu.org/texi2html/"><i>texi2html 1.82</i></a>.
  93. </font>
  94. <br>
  95. </p>
  96. </body>
  97. </html>