Group: access to data
Group: function
Group: parameters
Topic: access to components of a data object
Topic: data type as a set of operations
Topic: data type as constructors, selectors, and predicates
Topic: function call
Topic: input/output by accessing a variable
Topic: interface type
Topic: monitored variable
Topic: replacement as a procedure call
Topic: procedure valued variables
Topic: security by access functions
Topic: separate a module's interface specification from its implementation
Topic: threaded code
Topic: uniform reference to data
Topic: user-defined data type
Topic: variable as reference to a value
| |
Summary
Access can be a function on the variable name and component returning a value reference. The simplest function is array access given a base address and an offset. More complicated functions see the component name as a function selector. An accessing function acts as a communication channel separating names from values. Access is no longer a primitive idea of the language, but instead may be user defined.
A variable can be a function, without parameters, returning an object's value. It is matched with a replacement function for modifying the object's value. This interpretation is most apparent in arrays and variable i/o. Under this view, all user manipulated objects are functions, while data is not directly represented. (cbb 5/80)
Subtopic: name as function
Quote: a major weakness of von Neumann languages is not treating names as functions [»backJ8_1978a]
| Quote: contents of a formal location is a function on stores yielding values; a store is a set of functions on locations yielding values [»straC3_1973, OK]
| Subtopic: variable as accessing function
Quote: accessing is the select function, assignment is the assign function [»gescCM6_1975, OK]
| Quote: replace variables and assignment with accessor/mutator functions; makes it easy to redefine memory access as doing something more complex [»adriFA11_1993]
| QuoteRef: joneAK4_1976 ;;29 variable is an access path to an object i.e. a reference and an allowable set of operations
| QuoteRef: wegbB_1971 ;;261 in ECL have complete access to variables in previous levels using DYB(var_name, procedure_level)
| Subtopic: property or attribute as function
Quote: fishdeath.cause can be a procedure cause operating on argument fishdeath [»palmJ5_1973, OK]
| QuoteRef: simscrip_1971 ;;169 can specify attribute as producing random numbers
| Quote: a C# property defines accessors to read and write its value; like fields and methods [»wiltS10_2000]
| Subtopic: structures as accessing function
Quote: a compound structure is a function on selectors that yields values; example [»leavBM9_1970]
| Quote: names of Russell fields are selectors, i.e., a function that produces the field's value [»demeA3_1979]
| Quote: in L^6, specifying a block's field causes run-time generation of an accessing function [»knowK8_1966, OK]
| Quote: Bliss defined data structures by a macro-like accessing algorithm; every detail specified [»shawM3_1980]
| Quote: example of defining a structure by specifying the accessing algorithms; uses paraphrase extension [»wulfWA12_1971, OK]
| Subtopic: array access
Quote: in Gedanken, arrays are accessing functions on their index [»reynJC5_1970, OK]
| Quote: in SL5, an array is an environment whose parameters are the indices [»hansDR3_1978a]
| Quote: in CLU, a(i) is a call to an array operation [»liskBH2_1976, OK]
| Subtopic: no direct access to data
Quote: TM instructions process arguments by calling corresponding subroutines [»harbSP3_1982]
| Quote: an object's data may only be examined or modified through its operations
| Quote: to the client, Dylan slots are indistinguishable from function calls [»grayDN5_1998]
| Quote: if functions directly read or write members, they can make a class an implementation instead of an abstraction
|
Related Topics
Group: access to data (12 topics, 307 quotes)
Group: function (12 topics, 232 quotes)
Group: parameters (10 topics, 145 quotes)
Topic: access to components of a data object (4 items)
Topic: data type as a set of operations (38 items)
Topic: data type as constructors, selectors, and predicates (20 items)
Topic: function call (28 items)
Topic: input/output by accessing a variable (8 items)
Topic: interface type (50 items)
Topic: monitored variable (28 items)
Topic: replacement as a procedure call (10 items)
Topic: procedure valued variables (34 items)
Topic: security by access functions (10 items)
Topic: separate a module's interface specification from its implementation (86 items)
Topic: threaded code (18 items)
Topic: uniform reference to data (34 items)
Topic: user-defined data type (13 items)
Topic: variable as reference to a value (21 items)
|