basic arithmetic, 306 prefix operators, 41 bitwise, 307 preprocessing directives, 26 checked arithmetic, 310 printf, 312 default definition of, 97 printf function, 93 exception, 309 private accessibility, 211 function pipelining and composition, 308 private type abbreviations, 150 generic equality and comparison, 307 ProjectionParameterAttribute, 81 infix, 41 properties input and output handles, 309 custom operation, 80 math, 307 property members, 170, 172, 183 ML compatibility and, 317 public accessibility, 208, 211 names of, 35 quotations, 312 object transformation, 308 quoted expression, 114 overloaded conversion functions, 309 quoted expressions, 67 pair, 309 range expressions, 91 precedence of, 41 rec, 157 prefix, 41 record construction expression, 71 splicing, 116 record expressions symbolic, 30, 40 evaluation of, 122 option type, 311 record expressionss OptionalArgument attribute, 178 copy-and-update, 72 overflow checking, 310 record types parallel execution, 118 automatically implemented interfaces in, ParamArray conversion, 251 151 parenthesized expressions, 104 members in, 151 pattern matching, 14 scope of field labels, 151 pattern-matching expression, 105 record types, 150 pattern-matching function, 106 records, 53 patterns, 129 recursive definitions, 261, 263 active, 133 recursive function definition, 112 array, 138 recursive safety analysis, 264 as, 135 recursive value definition, 112 conjunctive, 136 reference types cons, 136 zero value of, 119 dynamic type-test, 137 ReferenceEquality attribute, 189 guarded rules for, 139 reflected forms, 233 literal, 132 ReflectedDefinition attribute, 115 name resolution for, 241 reflection, 312 named, 131 RequireQualifiedAccess attribute, 236 null, 139 RequiresExplicitTypeArguments attribute, 209 record, 138 RequiresQualifiedAccess attribute, 166 simple constant, 130 reraise expressions, 108 type-annotated, 136 resolution union case, 131 function application, 248 variable, 131 method application, 249 wildcard, 135 script files, 224 pointer, byref, 67 Sealed attribute, 151 precedence SealedAttribute attribute, 54 differences from OCaml, 316 sequence expression, 90 of function applications, 286 sequence iteration expression, 106 of type applications, 287 sequential conditional expressions, 105
basic arithmetic, 306 bitwise, 307 checked arithmetic, 310 default definition of, 97 exception, 309 function pipelining and composition, 308 generic equality and comparison, 307 infix, 41 input and output handles, 309 math, 307 ML compatibility and, 317 names of, 35 object transformation, 308 overloaded conversion functions, 309 pair, 309 precedence of, 41 prefix, 41 splicing, 116 symbolic, 30, 40 option type, 311 OptionalArgument attribute, 178 overflow checking, 310 parallel execution, 118 ParamArray conversion, 251 parenthesized expressions, 104 pattern matching, 14 pattern-matching expression, 105 pattern-matching function, 106 patterns, 129 active, 133 array, 138 as, 135 conjunctive, 136 cons, 136 dynamic type-test, 137 guarded rules for, 139 literal, 132 name resolution for, 241 named, 131 null, 139 record, 138 simple constant, 130 type-annotated, 136 union case, 131 variable, 131 wildcard, 135 pointer, byref, 67 precedence differences from OCaml, 316 of function applications, 286 of type applications, 287 prefix operators, 41 preprocessing directives, 26 printf, 312 printf function, 93 private accessibility, 211 private type abbreviations, 150 ProjectionParameterAttribute, 81 properties custom operation, 80 property members, 170, 172, 183 public accessibility, 208, 211 quotations, 312 quoted expression, 114 quoted expressions, 67 range expressions, 91 rec, 157 record construction expression, 71 record expressions evaluation of, 122 record expressionss copy-and-update, 72 record types automatically implemented interfaces in, 151 members in, 151 scope of field labels, 151 record types, 150 records, 53 recursive definitions, 261, 263 recursive function definition, 112 recursive safety analysis, 264 recursive value definition, 112 reference types zero value of, 119 ReferenceEquality attribute, 189 reflected forms, 233 ReflectedDefinition attribute, 115 reflection, 312 RequireQualifiedAccess attribute, 236 RequiresExplicitTypeArguments attribute, 209 RequiresQualifiedAccess attribute, 166 reraise expressions, 108 resolution function application, 248 method application, 249 script files, 224 Sealed attribute, 151 SealedAttribute attribute, 54 sequence expression, 90 sequence iteration expression, 106 sequential conditional expressions, 105
FSharpSpec-4.1-latest.docx