app_0c.md 4.6 KB

Appendix C: Index

@ $, 86 *, 93 @, 88 [ESC], 54, 57 A abstract syntax tree, 49 addr, 101, 143 alert, 54, 57 algebraic data types, 95 aliasing, 100 anonymous procedures, 151 apostrophe, 54, 57 arrow-like, 64 AST, 49, 193 asterisk, 69 auto, 106 Automatic type conversions, 78 awaitAll, 261 B backslash, 54, 57 backspace, 54, 57 base, 156 base type, 105 bind, 184 bind many, 181 bind once, 180 bindSym, 195

                           307

bitsize, 100 block, 137 block expression, 141 bool, 82 borrow, 106 break, 137 C calling conventions, 103 carriage return, 54, 57 case, 134, 140 cdecl, 104 Channel, 258 char, 83 character with decimal value d, 54, 57 character with hex value HH, 54, 57 closure, 104, 150 closure iterator, 159 code point, 87 collaborative tasking, 160 collect, 235 command invocation syntax, 149 comment pieces, 51 compiler, 47 complex statements, 125 concatenation operator, 26 const, 39, 130 constant, 117 ConstPtr, 271 continue, 138 control flow analysis, 128 converter, 115, 163 convertible, 114 cstring, 87 D dangling else problem, 125 data flow variable, 262 defer, 167 dereferencing, 102 dirty, 191 308 discard, 125 discardable, 126 discriminator, 96 distinct, 105, 131 Documentation comments, 51 dollar operator, 26 domain specific language, 249 domain specific languages, 193 Dot-like operators, 65 dynamic dispatch, 155 dynamic type, 47 E effect system, 171 enum, 131 enumeration, 83 escape, 54, 57 escape sequences, 54, 56 except, 166-167 exception handlers, 166 F fastcall, 104 finally, 166 flags, 100 floatChecks, 82 FloatingPointDefect, 81 FlowVar, 262 for, 157 form feed, 54, 57 forward, 185 forward declaration, 146 func, 151 functions, 145 G GC safe, 175 gcsafe, 176 generic type parameter, 178 Generic types, 131 generics, 35

                           309

gensym, 191 grammar, 65 H hygienic, 188, 190 I identifier, 47, 67 if, 133, 139 immediate, 186 immutable, 29 implicit block, 157 implicitly generic, 180 import, 69-70 include, 71 indentation sensitive, 50 infChecks, 81 information hiding, 69 inheritable, 94 inheritance, 93 inject, 42, 191 inline, 104 inline iterator, 159 is, 178 Isolated, 267 items, 158 iterator, 33, 157 L l-value, 122 l-values, 47 lambda, 151 let, 129 line feed, 54, 57 literal, 47 locations, 47 M macro, 15, 193 main thread, 257 map, 274 310 method call syntax, 147 methods, 145 mixin, 183 modules, 69 Mutually recursive types, 132 N nanChecks, 81 narrowing type conversion, 78 nested procs, 150 newline, 54, 56 nil, 102 nimcall, 103 noconv, 105 NodeKind, 193 nodestroy, 211 noinit, 128 nominal types, 131 noSideEffect, 151, 175 O object, 92, 131 object construction expression, 95 openarray, 90 Operators, 146 ORC, 202 out of memory, 170 overflow, 170 overload disambiguation, 68 overload resolution, 41 P Parallel for each, 273 Parallel reduce, 273 parFind, 278 phases of translation, 49 pointer, 101 pointer arithmetic, 273 procedures, 145 processor, 47 program, 47

                               311

ptr, 101 ptr object, 101, 131 Q quotation mark, 54, 57 R raise, 169 raises, 171 recursion, 24 Recursive module dependencies, 69 ref, 101 ref object, 101, 131 reference counting, 214 references, 100 requiresInit, 128 ReraiseDefect, 169 result, 136, 146 return, 33, 136 routine, 145 routines, 67 S safecall, 104 scope, 47, 67, 69 separate compilation, 69 seq, 27 serialization, 95 set type, 98 setter, 148 shadow, 152 SharedPtr, 271 side effect, 217 sigil-like, 63 simple statements, 125 single assignment, 129 slice, 62 smart pointer, 271 source files, 47 spawn, 261 specialization, 35 312 static, 107, 132 static dispatch, 155 static type, 47 stdcall, 104 strformat, 239 strictFuncs, 217 string literal, 25, 86 strscans, 243 subrange, 80 subtype, 113 sum types, 95 super, 156 symbols, 195 syscall, 104 system, 74 system.procCall, 156 T table constructor, 141 tabulator, 54, 57 target machine, 47 template, 40 terminated, 169 thiscall, 104 thread, 257 tokens, 49 traced, 101 treeRepr, 229 try, 166 tuple, 92 tuple unpacking, 129 type, 47, 130 Type aliases, 131 type bound operators, 199 Type casts, 142 type class, 178 type constraints, 180 type conversion, 37, 142, 163 type parameters, 177 type suffix, 59 type variable, 178

                          313

typedesc, 108 typeof, 110 U Unicode code point, 306 unicode codepoint, 55 unicode codepoint with hex value HHHH, 55 UniquePtr, 271 unprotected, 264 unresolved, 122 unsafeAddr, 143 unsigned integer, 78 untraced, 101 untyped, 186 unwinding, 169 using, 139 V var, 29, 152 varargs, 90 varargs[untyped], 188 variable, 127 vertical tabulator, 54, 57 view type, 219 void, 126 W when, 135, 140 while, 138 widening type conversion, 78 Y yield, 137 314