Changes between Version 47 and Version 48 of Records/NameSpacing
- Feb 22, 2012 3:53:06 AM (3 years ago)
v47 v48 169 169 Note that this means it is possible to improve upon Frege in the number of cases where the type can be inferred - we could look to see if there is only one record namespace containing n, and if that is the case infer the type of x -- Greg Weber 170 170 171 172 171 173 For example, lets say we have: 172 174 … … 212 214 I estimate that in 2/3 of all cases one does not need to write `T.e x` in sparsely type annotated code, despite the fact that the frege type checker has a left to right bias and does not yet attempt to find the type of `x` in the code that "follows" the `x.e` construct (after let unrolling etc.) I think one could do better and guarantee that, if the type of `x` is inferrable at all, then so will be `x.e` (Still, it must be more than just a type variable.) 213 215 216 217 214 218 215 219 == Syntax for updates (in the Frege manual) == … … 224 228 Does this cope with the tricky cases discussed in the SORF proposal? -- AntC 225 229 * An update to an existing record that changes the type of a field. 226 * An update to an existing record that changes the type of the record [[BR]] (Such as where it's parametric in the type of a field.) 230 * An update to an existing record that changes the type of the record[[BR]] (Such as where it's parametric in the type of a field.) 227 231 * An update to a higher-ranked field. 228 232 * An update to a higher-ranked field with constraints.