ML compatibility and, 317 inference files arity, 274 implementation, 222 dispatch slot, 271 signature. See signature files inference variables, 55 flexibility, 255 infix operators, 41 flexible types, 150 Information-rich Programming, 19 floating type variable environment, 45 inherit declaration, 156, 162 for loop, 107 initialization, 58 for loops, 123 of objects, 155 format strings, 93 static, 226 fprintf function, 93 instance members, 171 fresh type, 45 compilation as static method, 182 function applications, 121 integer literals, 69 function definition expressions, 109 INTERACTIVE compilation symbol, 23, 224 function definitions, 157, 261, 263 interface type definitions, 162 ambiguous, 261 interface types, 56, 186 in modules, 207 interface/end tokens, 162 static, 158 interfaces, 53 function expressions, 73, 122 internal accessibility, 211 function values, 14 internal type abbreviations, 150 functions InternalsVisibleTo attribute, 212 active pattern, 133 intrinsic extensions, 168 undentation of, 285 IsLikeGroupJoin, 81 GeneralizableValue attribute, 209 IsLikeJoin, 81 generalization, 55, 267 JoinConditionWord, 81 generic types, 267 keywords GetHashCode, 192 OCaml, 315 GetSlice, 100 symbolic, 30 guarded rules, 139 kind hash function, 193 anonymous, 148 hashing, 188 kind of type definition, 53 hidden tokens, 278 lazy computations, 311 identifiers, 26 libraries local names for, 211 CLI base, 305 long, 39 F# base, 305 OCaml keywords as, 315 lightweight syntax, 11, 277 replacement of, 33 balancing rules for, 282 if statement, 104 disabling, 317 if/then/else expression parsing, 280 undentation of body, 285 rules for, 277 immutability, 13 line directives, 33 immutable collection types, 311 list expression, 70 implementation files list sequence expression, 92 anonymous, 223 list type, 310 contents of, 222 Literal attribute, 208 implementation members, 183 literals import declarations, 210 integer, 69 in token, 109 numeric, 31 indentation, 277 string, 28 incremental, 285 lookup indexer properties, 173 expression-qualified, 247
ML compatibility and, 317 files implementation, 222 signature. See signature files flexibility, 255 flexible types, 150 floating type variable environment, 45 for loop, 107 for loops, 123 format strings, 93 fprintf function, 93 fresh type, 45 function applications, 121 function definition expressions, 109 function definitions, 157, 261, 263 ambiguous, 261 in modules, 207 static, 158 function expressions, 73, 122 function values, 14 functions active pattern, 133 undentation of, 285 GeneralizableValue attribute, 209 generalization, 55, 267 generic types, 267 GetHashCode, 192 GetSlice, 100 guarded rules, 139 hash function, 193 hashing, 188 hidden tokens, 278 identifiers, 26 local names for, 211 long, 39 OCaml keywords as, 315 replacement of, 33 if statement, 104 if/then/else expression undentation of body, 285 immutability, 13 immutable collection types, 311 implementation files anonymous, 223 contents of, 222 implementation members, 183 import declarations, 210 in token, 109 indentation, 277 incremental, 285 indexer properties, 173 inference arity, 274 dispatch slot, 271 inference variables, 55 infix operators, 41 Information-rich Programming, 19 inherit declaration, 156, 162 initialization, 58 of objects, 155 static, 226 instance members, 171 compilation as static method, 182 integer literals, 69 INTERACTIVE compilation symbol, 23, 224 interface type definitions, 162 interface types, 56, 186 interface/end tokens, 162 interfaces, 53 internal accessibility, 211 internal type abbreviations, 150 InternalsVisibleTo attribute, 212 intrinsic extensions, 168 IsLikeGroupJoin, 81 IsLikeJoin, 81 JoinConditionWord, 81 keywords OCaml, 315 symbolic, 30 kind anonymous, 148 kind of type definition, 53 lazy computations, 311 libraries CLI base, 305 F# base, 305 lightweight syntax, 11, 277 balancing rules for, 282 disabling, 317 parsing, 280 rules for, 277 line directives, 33 list expression, 70 list sequence expression, 92 list type, 310 Literal attribute, 208 literals integer, 69 numeric, 31 string, 28 lookup expression-qualified, 247
FSharpSpec-4.1-latest.docx