/usr/share/doc/scheme48/html/manual-Z-H-1.html is in scheme48-doc 1.9-3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 | <!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!--
Generated from manual.tex by tex2page, v 20100828
(running on MzScheme 4.2.4, :unix),
(c) Dorai Sitaram,
http://evalwhen.com/tex2page/index.html
-->
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>
The Incomplete Scheme 48 Reference Manual for release 1.9
</title>
<link rel="stylesheet" type="text/css" href="manual-Z-S.css" title=default>
<meta name=robots content="index,follow">
</head>
<body>
<div id=slidecontent>
<div align=right class=navigation>[Go to <span><a href="manual.html">first</a>, <a href="manual.html">previous</a></span><span>, <a href="manual-Z-H-2.html">next</a></span> page<span>; </span><span class=disable>contents</span><span><span class=disable>; </span><a href="manual-Z-H-11.html#node_index_start">index</a></span>]</div>
<p></p>
<a name="node_chap_Temp_1"></a>
<h1 class=chapter>
<div class=chapterheading> </div><br>
<a href="#node_toc_node_chap_Temp_1">Acknowledgements</a></h1>
<p>Thanks to Scheme 48's users for their suggestions, bug reports,
and forbearance.
Thanks also to Deborah Tatar for providing the Yeats quotation.</p>
<p>
</p>
<pre class=verbatim>Copyright � 1986-2001 Richard Kelsey and Jonathan Rees.
Copyright � 1993-2001 Richard Kelsey.
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notices, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notices, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
3. The name of the authors may not be used to endorse or promote products
derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
</pre><p></p>
<p>
</p>
<a name="node_chap_Temp_2"></a>
<h1 class=chapter>
<div class=chapterheading> </div><br>
Contents</h1>
<p><a name="node_toc_start"></a></p>
<p class=noindent></p>
<p></p>
<p class=noindent><b>
<a name="node_toc_node_chap_1"></a><a href="manual-Z-H-2.html#node_chap_1">1 Introduction</a></b><br>
</p>
<p></p>
<p class=noindent><b>
<a name="node_toc_node_chap_2"></a><a href="manual-Z-H-3.html#node_chap_2">2 User's guide</a></b><br>
<a name="node_toc_node_sec_2.1"></a><a href="manual-Z-H-3.html#node_sec_2.1">2.1 Command line arguments</a><br>
<a name="node_toc_node_sec_2.2"></a><a href="manual-Z-H-3.html#node_sec_2.2">2.2 Command processor</a><br>
<a name="node_toc_node_sec_2.3"></a><a href="manual-Z-H-3.html#node_sec_2.3">2.3 Editing</a><br>
<a name="node_toc_node_sec_2.4"></a><a href="manual-Z-H-3.html#node_sec_2.4">2.4 Performance</a><br>
<a name="node_toc_node_sec_2.5"></a><a href="manual-Z-H-3.html#node_sec_2.5">2.5 Disassembler</a><br>
<a name="node_toc_node_sec_2.6"></a><a href="manual-Z-H-3.html#node_sec_2.6">2.6 Module system</a><br>
<a name="node_toc_node_sec_2.7"></a><a href="manual-Z-H-3.html#node_sec_2.7">2.7 Library</a><br>
</p>
<p></p>
<p class=noindent><b>
<a name="node_toc_node_chap_3"></a><a href="manual-Z-H-4.html#node_chap_3">3 Command processor</a></b><br>
<a name="node_toc_node_sec_3.1"></a><a href="manual-Z-H-4.html#node_sec_3.1">3.1 Current focus value and <tt>##</tt></a><br>
<a name="node_toc_node_sec_3.2"></a><a href="manual-Z-H-4.html#node_sec_3.2">3.2 Command levels</a><br>
<a name="node_toc_node_sec_3.3"></a><a href="manual-Z-H-4.html#node_sec_3.3">3.3 Logistical commands</a><br>
<a name="node_toc_node_sec_3.4"></a><a href="manual-Z-H-4.html#node_sec_3.4">3.4 Module commands</a><br>
<a name="node_toc_node_sec_3.5"></a><a href="manual-Z-H-4.html#node_sec_3.5">3.5 Debugging commands</a><br>
<a name="node_toc_node_sec_3.6"></a><a href="manual-Z-H-4.html#node_sec_3.6">3.6 Profiling commands</a><br>
<a name="node_toc_node_sec_3.6.1"></a><a href="manual-Z-H-4.html#node_sec_3.6.1">3.6.1 How the profiler works</a><br>
<a name="node_toc_node_sec_3.7"></a><a href="manual-Z-H-4.html#node_sec_3.7">3.7 Settings</a><br>
<a name="node_toc_node_sec_3.8"></a><a href="manual-Z-H-4.html#node_sec_3.8">3.8 Inspection mode</a><br>
<a name="node_toc_node_sec_3.9"></a><a href="manual-Z-H-4.html#node_sec_3.9">3.9 Command programs</a><br>
<a name="node_toc_node_sec_3.10"></a><a href="manual-Z-H-4.html#node_sec_3.10">3.10 Building images</a><br>
<a name="node_toc_node_sec_3.11"></a><a href="manual-Z-H-4.html#node_sec_3.11">3.11 Resource query and control</a><br>
<a name="node_toc_node_sec_3.12"></a><a href="manual-Z-H-4.html#node_sec_3.12">3.12 Threads</a><br>
<a name="node_toc_node_sec_3.13"></a><a href="manual-Z-H-4.html#node_sec_3.13">3.13 Quite obscure</a><br>
</p>
<p></p>
<p class=noindent><b>
<a name="node_toc_node_chap_4"></a><a href="manual-Z-H-5.html#node_chap_4">4 Module system</a></b><br>
<a name="node_toc_node_sec_4.1"></a><a href="manual-Z-H-5.html#node_sec_4.1">4.1 Introduction</a><br>
<a name="node_toc_node_sec_4.2"></a><a href="manual-Z-H-5.html#node_sec_4.2">4.2 The configuration language</a><br>
<a name="node_toc_node_sec_4.3"></a><a href="manual-Z-H-5.html#node_sec_4.3">4.3 Interfaces</a><br>
<a name="node_toc_node_sec_4.4"></a><a href="manual-Z-H-5.html#node_sec_4.4">4.4 Macros</a><br>
<a name="node_toc_node_sec_4.5"></a><a href="manual-Z-H-5.html#node_sec_4.5">4.5 Higher-order modules</a><br>
<a name="node_toc_node_sec_4.6"></a><a href="manual-Z-H-5.html#node_sec_4.6">4.6 Compiling and linking</a><br>
<a name="node_toc_node_sec_4.7"></a><a href="manual-Z-H-5.html#node_sec_4.7">4.7 Semantics of configuration mutation</a><br>
<a name="node_toc_node_sec_4.8"></a><a href="manual-Z-H-5.html#node_sec_4.8">4.8 Command processor support</a><br>
<a name="node_toc_node_sec_4.9"></a><a href="manual-Z-H-5.html#node_sec_4.9">4.9 Configuration packages</a><br>
<a name="node_toc_node_sec_4.10"></a><a href="manual-Z-H-5.html#node_sec_4.10">4.10 Discussion</a><br>
</p>
<p></p>
<p class=noindent><b>
<a name="node_toc_node_chap_5"></a><a href="manual-Z-H-6.html#node_chap_5">5 Libraries</a></b><br>
<a name="node_toc_node_sec_5.1"></a><a href="manual-Z-H-6.html#node_sec_5.1">5.1 General utilities</a><br>
<a name="node_toc_node_sec_5.2"></a><a href="manual-Z-H-6.html#node_sec_5.2">5.2 Pretty-printing</a><br>
<a name="node_toc_node_sec_5.3"></a><a href="manual-Z-H-6.html#node_sec_5.3">5.3 Bitwise integer operations</a><br>
<a name="node_toc_node_sec_5.4"></a><a href="manual-Z-H-6.html#node_sec_5.4">5.4 Byte vectors</a><br>
<a name="node_toc_node_sec_5.5"></a><a href="manual-Z-H-6.html#node_sec_5.5">5.5 Sparse vectors</a><br>
<a name="node_toc_node_sec_5.6"></a><a href="manual-Z-H-6.html#node_sec_5.6">5.6 Cells</a><br>
<a name="node_toc_node_sec_5.7"></a><a href="manual-Z-H-6.html#node_sec_5.7">5.7 Queues</a><br>
<a name="node_toc_node_sec_5.8"></a><a href="manual-Z-H-6.html#node_sec_5.8">5.8 Arrays</a><br>
<a name="node_toc_node_sec_5.9"></a><a href="manual-Z-H-6.html#node_sec_5.9">5.9 Records</a><br>
<a name="node_toc_node_sec_5.9.1"></a><a href="manual-Z-H-6.html#node_sec_5.9.1">5.9.1 Low-level access to records</a><br>
<a name="node_toc_node_sec_5.9.2"></a><a href="manual-Z-H-6.html#node_sec_5.9.2">5.9.2 Record types</a><br>
<a name="node_toc_node_sec_5.10"></a><a href="manual-Z-H-6.html#node_sec_5.10">5.10 Finite record types</a><br>
<a name="node_toc_node_sec_5.11"></a><a href="manual-Z-H-6.html#node_sec_5.11">5.11 Sets over finite types</a><br>
<a name="node_toc_node_sec_5.12"></a><a href="manual-Z-H-6.html#node_sec_5.12">5.12 Hash tables</a><br>
<a name="node_toc_node_sec_5.13"></a><a href="manual-Z-H-6.html#node_sec_5.13">5.13 Port extensions</a><br>
<a name="node_toc_node_sec_5.14"></a><a href="manual-Z-H-6.html#node_sec_5.14">5.14 Fluid bindings</a><br>
<a name="node_toc_node_sec_5.15"></a><a href="manual-Z-H-6.html#node_sec_5.15">5.15 OS strings</a><br>
<a name="node_toc_node_sec_5.16"></a><a href="manual-Z-H-6.html#node_sec_5.16">5.16 Shell commands</a><br>
<a name="node_toc_node_sec_5.17"></a><a href="manual-Z-H-6.html#node_sec_5.17">5.17 Sockets</a><br>
<a name="node_toc_node_sec_5.18"></a><a href="manual-Z-H-6.html#node_sec_5.18">5.18 Profiling</a><br>
<a name="node_toc_node_sec_5.19"></a><a href="manual-Z-H-6.html#node_sec_5.19">5.19 Macros for writing loops</a><br>
<a name="node_toc_node_sec_5.19.1"></a><a href="manual-Z-H-6.html#node_sec_5.19.1">5.19.1 <tt>Iterate</tt></a><br>
<a name="node_toc_node_sec_5.19.2"></a><a href="manual-Z-H-6.html#node_sec_5.19.2">5.19.2 <tt>Reduce</tt></a><br>
<a name="node_toc_node_sec_5.19.3"></a><a href="manual-Z-H-6.html#node_sec_5.19.3">5.19.3 Sequence types</a><br>
<a name="node_toc_node_sec_5.19.4"></a><a href="manual-Z-H-6.html#node_sec_5.19.4">5.19.4 Synchronous sequences</a><br>
<a name="node_toc_node_sec_5.19.5"></a><a href="manual-Z-H-6.html#node_sec_5.19.5">5.19.5 Examples</a><br>
<a name="node_toc_node_sec_5.19.6"></a><a href="manual-Z-H-6.html#node_sec_5.19.6">5.19.6 Defining sequence types</a><br>
<a name="node_toc_node_sec_5.19.7"></a><a href="manual-Z-H-6.html#node_sec_5.19.7">5.19.7 Expanded code</a><br>
<a name="node_toc_node_sec_5.20"></a><a href="manual-Z-H-6.html#node_sec_5.20">5.20 Sorting lists and vectors</a><br>
<a name="node_toc_node_sec_5.20.1"></a><a href="manual-Z-H-6.html#node_sec_5.20.1">5.20.1 Design rules</a><br>
<a name="node_toc_node_sec_Temp_5"></a><a href="manual-Z-H-6.html#node_sec_Temp_5">What vs. how</a><br>
<a name="node_toc_node_sec_Temp_6"></a><a href="manual-Z-H-6.html#node_sec_Temp_6">Consistency across procedure signatures</a><br>
<a name="node_toc_node_sec_Temp_7"></a><a href="manual-Z-H-6.html#node_sec_Temp_7">Less-than parameter first, data parameter after</a><br>
<a name="node_toc_node_sec_Temp_8"></a><a href="manual-Z-H-6.html#node_sec_Temp_8">Ordering, comparison procedures and stability</a><br>
<a name="node_toc_node_sec_Temp_9"></a><a href="manual-Z-H-6.html#node_sec_Temp_9">All vector operations accept optional subrange parameters</a><br>
<a name="node_toc_node_sec_Temp_10"></a><a href="manual-Z-H-6.html#node_sec_Temp_10">Required vs. allowed side-effects</a><br>
<a name="node_toc_node_sec_5.20.2"></a><a href="manual-Z-H-6.html#node_sec_5.20.2">5.20.2 Procedure specification</a><br>
<a name="node_toc_node_sec_Temp_11"></a><a href="manual-Z-H-6.html#node_sec_Temp_11">Procedure naming and functionality</a><br>
<a name="node_toc_node_sec_Temp_12"></a><a href="manual-Z-H-6.html#node_sec_Temp_12">Types of parameters and return values</a><br>
<a name="node_toc_node_sec_5.20.2.1"></a><a href="manual-Z-H-6.html#node_sec_5.20.2.1">5.20.2.1 <tt>sorting</tt>—general sorting package</a><br>
<a name="node_toc_node_sec_5.20.2.2"></a><a href="manual-Z-H-6.html#node_sec_5.20.2.2">5.20.2.2 Algorithm-specific sorting packages</a><br>
<a name="node_toc_node_sec_Temp_13"></a><a href="manual-Z-H-6.html#node_sec_Temp_13"><tt>sorted</tt>—sorted predicates</a><br>
<a name="node_toc_node_sec_Temp_14"></a><a href="manual-Z-H-6.html#node_sec_Temp_14"><tt>list-merge-sort</tt>—list merge sort</a><br>
<a name="node_toc_node_sec_Temp_15"></a><a href="manual-Z-H-6.html#node_sec_Temp_15"><tt>vector-merge-sort</tt>—vector merge sort</a><br>
<a name="node_toc_node_sec_Temp_16"></a><a href="manual-Z-H-6.html#node_sec_Temp_16"><tt>vector-heap-sort</tt>—vector heap sort</a><br>
<a name="node_toc_node_sec_Temp_17"></a><a href="manual-Z-H-6.html#node_sec_Temp_17"><tt>vector-quick-sort</tt>—vector quick sort</a><br>
<a name="node_toc_node_sec_Temp_18"></a><a href="manual-Z-H-6.html#node_sec_Temp_18"><tt>vector-quick-sort3</tt>—vector quick sort with 3-way comparisons</a><br>
<a name="node_toc_node_sec_Temp_20"></a><a href="manual-Z-H-6.html#node_sec_Temp_20"><tt>vector-insert-sort</tt>—vector insertion sort</a><br>
<a name="node_toc_node_sec_Temp_21"></a><a href="manual-Z-H-6.html#node_sec_Temp_21"><tt>delete-neighbor-duplicates</tt>—list and vector
delete neighbor duplicates</a><br>
<a name="node_toc_node_sec_Temp_22"></a><a href="manual-Z-H-6.html#node_sec_Temp_22"><tt>binary-searches</tt>—vector binary search</a><br>
<a name="node_toc_node_sec_5.20.3"></a><a href="manual-Z-H-6.html#node_sec_5.20.3">5.20.3 Algorithmic properties</a><br>
<a name="node_toc_node_sec_5.21"></a><a href="manual-Z-H-6.html#node_sec_5.21">5.21 Regular expressions</a><br>
<a name="node_toc_node_sec_5.21.1"></a><a href="manual-Z-H-6.html#node_sec_5.21.1">5.21.1 Character sets</a><br>
<a name="node_toc_node_sec_5.21.2"></a><a href="manual-Z-H-6.html#node_sec_5.21.2">5.21.2 Anchoring</a><br>
<a name="node_toc_node_sec_5.21.3"></a><a href="manual-Z-H-6.html#node_sec_5.21.3">5.21.3 Composite expressions</a><br>
<a name="node_toc_node_sec_5.21.4"></a><a href="manual-Z-H-6.html#node_sec_5.21.4">5.21.4 Case sensitivity</a><br>
<a name="node_toc_node_sec_5.21.5"></a><a href="manual-Z-H-6.html#node_sec_5.21.5">5.21.5 Submatches and matching</a><br>
<a name="node_toc_node_sec_5.22"></a><a href="manual-Z-H-6.html#node_sec_5.22">5.22 SRFIs</a><br>
</p>
<p></p>
<p class=noindent><b>
<a name="node_toc_node_chap_6"></a><a href="manual-Z-H-7.html#node_chap_6">6 Unicode</a></b><br>
<a name="node_toc_node_sec_6.1"></a><a href="manual-Z-H-7.html#node_sec_6.1">6.1 Characters and their codes</a><br>
<a name="node_toc_node_sec_6.2"></a><a href="manual-Z-H-7.html#node_sec_6.2">6.2 Character and string literals</a><br>
<a name="node_toc_node_sec_6.2.1"></a><a href="manual-Z-H-7.html#node_sec_6.2.1">6.2.1 Character literals</a><br>
<a name="node_toc_node_sec_6.2.2"></a><a href="manual-Z-H-7.html#node_sec_6.2.2">6.2.2 String literals</a><br>
<a name="node_toc_node_sec_6.2.3"></a><a href="manual-Z-H-7.html#node_sec_6.2.3">6.2.3 Identifiers and symbol literals</a><br>
<a name="node_toc_node_sec_6.3"></a><a href="manual-Z-H-7.html#node_sec_6.3">6.3 Character classification and case mappings</a><br>
<a name="node_toc_node_sec_6.4"></a><a href="manual-Z-H-7.html#node_sec_6.4">6.4 SRFI 14</a><br>
<a name="node_toc_node_sec_6.5"></a><a href="manual-Z-H-7.html#node_sec_6.5">6.5 R6RS</a><br>
<a name="node_toc_node_sec_6.6"></a><a href="manual-Z-H-7.html#node_sec_6.6">6.6 I/O</a><br>
<a name="node_toc_node_sec_6.6.1"></a><a href="manual-Z-H-7.html#node_sec_6.6.1">6.6.1 Text codecs</a><br>
<a name="node_toc_node_sec_6.6.2"></a><a href="manual-Z-H-7.html#node_sec_6.6.2">6.6.2 Text-codec utilities</a><br>
<a name="node_toc_node_sec_6.6.3"></a><a href="manual-Z-H-7.html#node_sec_6.6.3">6.6.3 Creating text codecs</a><br>
<a name="node_toc_node_sec_6.7"></a><a href="manual-Z-H-7.html#node_sec_6.7">6.7 Default encodings</a><br>
</p>
<p></p>
<p class=noindent><b>
<a name="node_toc_node_chap_7"></a><a href="manual-Z-H-8.html#node_chap_7">7 Threads</a></b><br>
<a name="node_toc_node_sec_7.1"></a><a href="manual-Z-H-8.html#node_sec_7.1">7.1 Creating and controlling threads</a><br>
<a name="node_toc_node_sec_7.2"></a><a href="manual-Z-H-8.html#node_sec_7.2">7.2 Advanced thread handling</a><br>
<a name="node_toc_node_sec_7.3"></a><a href="manual-Z-H-8.html#node_sec_7.3">7.3 Debugging multithreaded programs</a><br>
<a name="node_toc_node_sec_7.4"></a><a href="manual-Z-H-8.html#node_sec_7.4">7.4 Optimistic concurrency</a><br>
<a name="node_toc_node_sec_7.5"></a><a href="manual-Z-H-8.html#node_sec_7.5">7.5 Condition variables</a><br>
<a name="node_toc_node_sec_7.6"></a><a href="manual-Z-H-8.html#node_sec_7.6">7.6 Mutual exclusion</a><br>
<a name="node_toc_node_sec_7.6.1"></a><a href="manual-Z-H-8.html#node_sec_7.6.1">7.6.1 Locks</a><br>
<a name="node_toc_node_sec_7.6.2"></a><a href="manual-Z-H-8.html#node_sec_7.6.2">7.6.2 Placeholders</a><br>
<a name="node_toc_node_sec_7.7"></a><a href="manual-Z-H-8.html#node_sec_7.7">7.7 Writing custom synchronization abstractions</a><br>
<a name="node_toc_node_sec_7.8"></a><a href="manual-Z-H-8.html#node_sec_7.8">7.8 Concurrent ML abstractions</a><br>
<a name="node_toc_node_sec_7.8.1"></a><a href="manual-Z-H-8.html#node_sec_7.8.1">7.8.1 Basic rendezvous combinators</a><br>
<a name="node_toc_node_sec_7.8.2"></a><a href="manual-Z-H-8.html#node_sec_7.8.2">7.8.2 Synchronous channels</a><br>
<a name="node_toc_node_sec_7.8.3"></a><a href="manual-Z-H-8.html#node_sec_7.8.3">7.8.3 Synchronous variables</a><br>
<a name="node_toc_node_sec_7.8.3.1"></a><a href="manual-Z-H-8.html#node_sec_7.8.3.1">7.8.3.1 Placeholders</a><br>
<a name="node_toc_node_sec_7.8.3.2"></a><a href="manual-Z-H-8.html#node_sec_7.8.3.2">7.8.3.2 Jars</a><br>
<a name="node_toc_node_sec_7.8.4"></a><a href="manual-Z-H-8.html#node_sec_7.8.4">7.8.4 Timeouts</a><br>
<a name="node_toc_node_sec_7.8.5"></a><a href="manual-Z-H-8.html#node_sec_7.8.5">7.8.5 CML to Scheme correspondence</a><br>
</p>
<p></p>
<p class=noindent><b>
<a name="node_toc_node_chap_8"></a><a href="manual-Z-H-9.html#node_chap_8">8 Mixing Scheme 48 and C</a></b><br>
<a name="node_toc_node_sec_8.1"></a><a href="manual-Z-H-9.html#node_sec_8.1">8.1 Available facilities</a><br>
<a name="node_toc_node_sec_8.1.1"></a><a href="manual-Z-H-9.html#node_sec_8.1.1">8.1.1 Scheme structures</a><br>
<a name="node_toc_node_sec_8.1.2"></a><a href="manual-Z-H-9.html#node_sec_8.1.2">8.1.2 C naming conventions</a><br>
<a name="node_toc_node_sec_8.1.3"></a><a href="manual-Z-H-9.html#node_sec_8.1.3">8.1.3 Garbage collection and reference objects</a><br>
<a name="node_toc_node_sec_8.2"></a><a href="manual-Z-H-9.html#node_sec_8.2">8.2 Shared bindings</a><br>
<a name="node_toc_node_sec_8.2.1"></a><a href="manual-Z-H-9.html#node_sec_8.2.1">8.2.1 Exporting Scheme values to C</a><br>
<a name="node_toc_node_sec_8.2.2"></a><a href="manual-Z-H-9.html#node_sec_8.2.2">8.2.2 Exporting C values to Scheme</a><br>
<a name="node_toc_node_sec_8.2.3"></a><a href="manual-Z-H-9.html#node_sec_8.2.3">8.2.3 Complete shared binding interface</a><br>
<a name="node_toc_node_sec_8.3"></a><a href="manual-Z-H-9.html#node_sec_8.3">8.3 Calling C functions from Scheme</a><br>
<a name="node_toc_node_sec_8.4"></a><a href="manual-Z-H-9.html#node_sec_8.4">8.4 Dynamic loading</a><br>
<a name="node_toc_node_sec_8.5"></a><a href="manual-Z-H-9.html#node_sec_8.5">8.5 Accessing Scheme data from C</a><br>
<a name="node_toc_node_sec_8.5.1"></a><a href="manual-Z-H-9.html#node_sec_8.5.1">8.5.1 Constants</a><br>
<a name="node_toc_node_sec_8.5.2"></a><a href="manual-Z-H-9.html#node_sec_8.5.2">8.5.2 Converting values</a><br>
<a name="node_toc_node_sec_8.5.3"></a><a href="manual-Z-H-9.html#node_sec_8.5.3">8.5.3 C versions of Scheme procedures</a><br>
<a name="node_toc_node_sec_8.6"></a><a href="manual-Z-H-9.html#node_sec_8.6">8.6 Calling Scheme functions from C</a><br>
<a name="node_toc_node_sec_8.7"></a><a href="manual-Z-H-9.html#node_sec_8.7">8.7 Interacting with the Scheme heap</a><br>
<a name="node_toc_node_sec_8.7.1"></a><a href="manual-Z-H-9.html#node_sec_8.7.1">8.7.1 Registering global references</a><br>
<a name="node_toc_node_sec_8.7.2"></a><a href="manual-Z-H-9.html#node_sec_8.7.2">8.7.2 Local buffers</a><br>
<a name="node_toc_node_sec_8.7.3"></a><a href="manual-Z-H-9.html#node_sec_8.7.3">8.7.3 Special treatment for byte vectors</a><br>
<a name="node_toc_node_sec_8.7.4"></a><a href="manual-Z-H-9.html#node_sec_8.7.4">8.7.4 Memory overhead</a><br>
<a name="node_toc_node_sec_8.7.5"></a><a href="manual-Z-H-9.html#node_sec_8.7.5">8.7.5 Keeping C data structures in the Scheme heap</a><br>
<a name="node_toc_node_sec_8.7.6"></a><a href="manual-Z-H-9.html#node_sec_8.7.6">8.7.6 C code and heap images</a><br>
<a name="node_toc_node_sec_8.8"></a><a href="manual-Z-H-9.html#node_sec_8.8">8.8 Using Scheme records in C code</a><br>
<a name="node_toc_node_sec_8.9"></a><a href="manual-Z-H-9.html#node_sec_8.9">8.9 Raising exceptions from external code</a><br>
<a name="node_toc_node_sec_8.10"></a><a href="manual-Z-H-9.html#node_sec_8.10">8.10 External events</a><br>
<a name="node_toc_node_sec_8.10.1"></a><a href="manual-Z-H-9.html#node_sec_8.10.1">8.10.1 Collecting external events in external code</a><br>
<a name="node_toc_node_sec_8.10.2"></a><a href="manual-Z-H-9.html#node_sec_8.10.2">8.10.2 Handling external events in Scheme</a><br>
<a name="node_toc_node_sec_8.11"></a><a href="manual-Z-H-9.html#node_sec_8.11">8.11 Unsafe functions and macros</a><br>
<a name="node_toc_node_sec_8.12"></a><a href="manual-Z-H-9.html#node_sec_8.12">8.12 Converting external code to the new foreign-function interface</a><br>
</p>
<p></p>
<p class=noindent><b>
<a name="node_toc_node_chap_9"></a><a href="manual-Z-H-10.html#node_chap_9">9 Access to POSIX</a></b><br>
<a name="node_toc_node_sec_9.1"></a><a href="manual-Z-H-10.html#node_sec_9.1">9.1 Process primitives</a><br>
<a name="node_toc_node_sec_9.1.1"></a><a href="manual-Z-H-10.html#node_sec_9.1.1">9.1.1 Process creation and termination</a><br>
<a name="node_toc_node_sec_9.1.2"></a><a href="manual-Z-H-10.html#node_sec_9.1.2">9.1.2 <tt>Exec</tt></a><br>
<a name="node_toc_node_sec_9.2"></a><a href="manual-Z-H-10.html#node_sec_9.2">9.2 Signals</a><br>
<a name="node_toc_node_sec_9.2.1"></a><a href="manual-Z-H-10.html#node_sec_9.2.1">9.2.1 POSIX signals</a><br>
<a name="node_toc_node_sec_9.2.2"></a><a href="manual-Z-H-10.html#node_sec_9.2.2">9.2.2 Other signals</a><br>
<a name="node_toc_node_sec_9.2.3"></a><a href="manual-Z-H-10.html#node_sec_9.2.3">9.2.3 Sending signals</a><br>
<a name="node_toc_node_sec_9.2.4"></a><a href="manual-Z-H-10.html#node_sec_9.2.4">9.2.4 Receiving signals</a><br>
<a name="node_toc_node_sec_9.3"></a><a href="manual-Z-H-10.html#node_sec_9.3">9.3 Process environment</a><br>
<a name="node_toc_node_sec_9.3.1"></a><a href="manual-Z-H-10.html#node_sec_9.3.1">9.3.1 Process identification</a><br>
<a name="node_toc_node_sec_9.3.2"></a><a href="manual-Z-H-10.html#node_sec_9.3.2">9.3.2 Environment variables</a><br>
<a name="node_toc_node_sec_9.4"></a><a href="manual-Z-H-10.html#node_sec_9.4">9.4 Users and groups</a><br>
<a name="node_toc_node_sec_9.5"></a><a href="manual-Z-H-10.html#node_sec_9.5">9.5 OS and machine identification</a><br>
<a name="node_toc_node_sec_9.6"></a><a href="manual-Z-H-10.html#node_sec_9.6">9.6 Files and directories</a><br>
<a name="node_toc_node_sec_9.6.1"></a><a href="manual-Z-H-10.html#node_sec_9.6.1">9.6.1 Directory streams</a><br>
<a name="node_toc_node_sec_9.6.2"></a><a href="manual-Z-H-10.html#node_sec_9.6.2">9.6.2 Working directory</a><br>
<a name="node_toc_node_sec_9.6.3"></a><a href="manual-Z-H-10.html#node_sec_9.6.3">9.6.3 File creation and removal</a><br>
<a name="node_toc_node_sec_9.6.4"></a><a href="manual-Z-H-10.html#node_sec_9.6.4">9.6.4 File information</a><br>
<a name="node_toc_node_sec_9.6.5"></a><a href="manual-Z-H-10.html#node_sec_9.6.5">9.6.5 File modes</a><br>
<a name="node_toc_node_sec_9.6.6"></a><a href="manual-Z-H-10.html#node_sec_9.6.6">9.6.6 Symbolic links</a><br>
<a name="node_toc_node_sec_9.7"></a><a href="manual-Z-H-10.html#node_sec_9.7">9.7 Time and Date</a><br>
<a name="node_toc_node_sec_9.7.1"></a><a href="manual-Z-H-10.html#node_sec_9.7.1">9.7.1 Time</a><br>
<a name="node_toc_node_sec_9.7.2"></a><a href="manual-Z-H-10.html#node_sec_9.7.2">9.7.2 Date</a><br>
<a name="node_toc_node_sec_9.8"></a><a href="manual-Z-H-10.html#node_sec_9.8">9.8 I/O</a><br>
<a name="node_toc_node_sec_9.9"></a><a href="manual-Z-H-10.html#node_sec_9.9">9.9 Regular expressions</a><br>
<a name="node_toc_node_sec_9.10"></a><a href="manual-Z-H-10.html#node_sec_9.10">9.10 Syslog facility</a><br>
<a name="node_toc_node_sec_9.11"></a><a href="manual-Z-H-10.html#node_sec_9.11">9.11 Error codes</a><br>
<a name="node_toc_node_sec_9.11.1"></a><a href="manual-Z-H-10.html#node_sec_9.11.1">9.11.1 POSIX errnos</a><br>
<a name="node_toc_node_sec_9.12"></a><a href="manual-Z-H-10.html#node_sec_9.12">9.12 C to Scheme correspondence</a><br>
</p>
<p></p>
<p class=noindent><b>
<a name="node_toc_node_chap_Temp_30"></a><a href="manual-Z-H-11.html#node_chap_Temp_30">Bibliography</a></b><br>
<a name="node_toc_end"></a></p>
<p>
</p>
<p>
</p>
<p>
</p>
<p>
</p>
<div class=smallskip></div>
<p style="margin-top: 0pt; margin-bottom: 0pt">
<div align=right class=navigation>[Go to <span><a href="manual.html">first</a>, <a href="manual.html">previous</a></span><span>, <a href="manual-Z-H-2.html">next</a></span> page<span>; </span><span class=disable>contents</span><span><span class=disable>; </span><a href="manual-Z-H-11.html#node_index_start">index</a></span>]</div>
</p>
<p></p>
</div>
</body>
</html>
|