Previous chapter: #19: Definitions are Declarative (Change)

Dylan Design Notes: #20: New Syntax for Setter Variables (Change)

Dylan Design Notes

#20: New Syntax for Setter Variables (Change)

Version 1, March 1993

This design note changes the syntax for setter variables. In the revised syntax, the setter corresponding to the getter foo is named foo-setter rather than (setter foo). This removes the special case syntax for setters so that all variable names are symbols.


Specify that setter variable names are symbols, just like getter variable names, and are derived by appending "-setter" to the corresponding getter variable name.

Update all examples in the Dylan book that involve setter variables. For example, the table of getters and setters on page 26 should be changed to:

window-position   window-position-setter
window-color      window-color-setter
table-size        table-size-setter
Rename all setter variables that are part of the language specification in the Dylan book, as well as any other variables that have been added to the language or that exist in implementations and libraries.
(setter aref)             =>       aref-setter
(setter current-element)  =>       current-element-setter
(setter element)          =>       element-setter
(setter first)            =>       first-setter
(setter second)           =>       second-setter
(setter third)            =>       third-setter
Remove all special case discussions of setter variables and setter from the language specification.

Next chapter: #21: Result Type Declarations (Addition)