Topic: uniform reference to data

topics > computer science > data > Group: access to data

file system

access to components of a data object
foreach and for all statements
notations for object access
object-oriented objects
pointer machines
procedure valued variables
Thesa data model
referential transparency
virtual memory
uniform data model
uniform language systems
using icons to represent objects in a user interface
variable as function that accesses an object's value


Referencing a data object should be independent of the object's representation. Otherwise re-implementing an object requires re-doing all the references to the object. The goal of uniform reference is to localize change to object definitions. For instance function reference should have the same form as data reference since they both result in a typed value.

Two possibilities are data access by an accessing function and functions as object components. Treating both functions and data as object components, removes any a prior component evaluation. This allows the same information to be accessed in multiple ways. For instance, in data query languages one could ask "is truck I in Glasgow?", "Where is truck I?", or "What Town contains truck I?". For instance, 'succ' should always produce a successor value. The place for value is in the definition of access not in its use. Constants are unique in that definition and reference are the same. (cbb 5/80)

Subtopic: uniform reference up

Quote: want uniform reference to all operands [»rossDT_1970]
Quote: a language should include objects and a uniform means of referencing them [»ingaDH8_1981a]
Quote: Galaxy separates syntax from semantics; f(x,y) could be a name, a constant, etc. [»beet5_1989]
Quote: instead of concentrating on semantic features, ML seeks a uniform syntactic approach for expressing any semantics [»spooCR4_1986]
Quote: uniform reference: an attribute of an object is the same as an array indexed by the object or a procedure with an object argument [»gescCM6_1975]
Quote: replacement and access should be independent of it being a function or table [»shawM3_1976, OK]
Quote: while a data object exists, it is passed around by uniform reference; procedures do not store the objects themselves
Quote: get a truck's location explicitly, via array of locations, via array of trucks at a particular location [»buxtJN_1962, OK]
Quote: in LIS, a structure component can invoke a function [»ichbJD_1973, OK]
Quote: parameter and declaration conventions should be consistent [»tennRD_1975]

Subtopic: uniform reference to local and remote resources up

Quote: all data icons treated uniformly; moving/mailing/etc. documents, folders, and record files [»smitDC4_1982]
Quote: the Styx communication protocol unifies local and remote resources
Quote: in Inferno and Plan 9, all resources have a hierarchical file name in a forest of file systems and in a private name space [»dorwSM1_1997]
Quote: with the World-Wide Web, all items have a reference for retrieving the item

Subtopic: memory as bytes up

Quote: IBM 360 generalized machine memory as a sequence of bytes with uniform addressing independent of type [»dehnJC4_1998]

Subtopic: value vs. reference; boxed value up

Quote: C# has a unified type system with boxed values; e.g., allows Stack to store elements of any type, including int [»wiltS10_2000]
Quote: storage semantics is more common than value or reference semantics; represent objects by containment or by references, whichever works better [»taivA4_1993]
Quote: any value type instance can be boxed and turned into a reference type instance; inherits from ValueType or Enum; no subtyping [»hamiJ2_2003]
Quote: programming languages treat atomic data types as values and compound ones as objects; causes unnecessary confusion [»maclBJ12_1982]
Quote: Mesa automatically handles p<-v and v<-p when v is a variable and p is a pointer [»gescCM6_1975, OK]

Subtopic: iterators up

Quote: using an iterator over all elements avoids using implementation details of the elements [»shawM3_1976]

Subtopic: first class objects up

Quote: OS 6 streams are first class objects; assign to variables, use as parameters, returned by stream functions; e.g., RemoveLayoutChs to remove layout from a stream [»stoyJE3_1972]
Quote: Mesa processes are first-class values; created by fork/join operators [»lampBW2_1980]
Quote: Piccola unifies all notions of namespaces as first-class forms, e.g., records, dictionaries, objects, environments, packages; avoids meta-programming [»acheF9_2000]

Subtopic: database reference up

Quote: the same data value in a database could be a primary key or could be a secondary key specifying a set of records [»bachCW11_1973]
Quote: predicate data model: identify subset of a database, a set of records, by a predicate [»giffDK12_1985]

Subtopic: uniform reference to data and files up

Quote: there should not be a distinction between data in central memory and data in peripheral files [»babeRL6_1985]
Quote: Multics treats files as segments in virtual memory; avoids file copies and overlay management, needs 'attach' mechanism [»dennPJ_1980]
Quote: Multics automatically attaches files to a computation on first reference; need explicit 'attach' to emphasize its high cost [»dennPJ_1980]
Quote: treat large objects the same as small ones; easily created and moved; not treated as a static set of small objects [»pratV1_1983]

Subtopic: uniform reference to complex data up

Quote: used comprehension syntax and functional programming for the Kleisli data integration system; handles all popular bioinformatics systems [»wongL9_2000]
Quote: define object types by arbitrarily nested records (f:t), sets {t}, bags {|t|}, lists [t], and variants ; natural mappings for bioinformatics databases [»wongL9_2000]

Subtopic: records as universal up

Quote: in Mesa, call a procedure by using a record constructor; the procedure uses record extractors to get arguments [»gescCM6_1975, OK]
Quote: uniform reference to n-component elements via component names, e.g., A(B(C(D)))) is component A of B of C of D [»rossDT_1963]

Related Topics up

Group: file system   (9 topics, 305 quotes)

Topic: access to components of a data object (4 items)
Topic: foreach and for all statements (16 items)
Topic: notations for object access (7 items)
Topic: object-oriented objects (39 items)
Topic: pointer machines (17 items)
Topic: procedure valued variables (34 items)
Topic: Thesa data model (58 items)
Topic: referential transparency (26 items)
Topic: virtual memory (32 items)
Topic: uniform data model (19 items)
Topic: uniform language systems (25 items)
Topic: using icons to represent objects in a user interface (10 items)
Topic: variable as function that accesses an object's value
(21 items)

Updated barberCB 7/05
Copyright © 2002-2008 by C. Bradford Barber. All rights reserved.
Thesa is a trademark of C. Bradford Barber.