... | ... | @@ -67,16 +67,22 @@ So we have decided to avoid the extensible record debate, but how can we have mu |
|
|
1. **[Agda-derived Records](records/name-spacing) (ADR)** Pure (Plan A). Explained on below FDR page.
|
|
|
1. **[Frege-derived Records](records/name-spacing) (FDR)**. Uses (Plan A) + (Plan B).
|
|
|
1. **[Declared Overloaded Record Fields](records/declared-overloaded-record-fields) (DORF)**. Tweak to SORF. (Plan B)
|
|
|
|
|
|
1. **[Syntax Directed Name Resolution](records/syntax-directed-name-resolution)**. Alternative that relies on syntactic rewriting and lenses.
|
|
|
1. **Are there any other approaches?**
|
|
|
|
|
|
### Similarities
|
|
|
|
|
|
|
|
|
All records solutions are planning on using the dot operator for normal record field selection. We need to consider the [future usage of the dot, particularly as a function composition operator](records/dot-operator).
|
|
|
Some records solutions are planning on using the dot operator for normal record field selection. We need to consider the [future usage of the dot, particularly as a function composition operator](records/dot-operator).
|
|
|
|
|
|
|
|
|
Except:
|
|
|
|
|
|
|
|
|
DORF doesn't insist on dot notation: it's to be syntactic sugar for reverse function application.
|
|
|
|
|
|
|
|
|
(DORF doesn't insist on dot notation: it's to be syntactic sugar for reverse function application.)
|
|
|
Syntax directed name resolution doesn't use dots at all, the dot remains function composition as always.
|
|
|
|
|
|
### Comparisons
|
|
|
|
... | ... | |