Map
Index
Random
Help
th

QuoteRef: demeA3_1979

topics > all references > ThesaHelp: references c-d



ThesaHelp:
references c-d
Topic:
safe use of pointers
Topic:
statement language
Topic:
user-defined data type
Topic:
access by current position
Topic:
notations for object access
Topic:
abstract data type
Group:
parameters
Topic:
function signature
Topic:
function syntax definition
Topic:
data type as a set of operations
Topic:
enumerated data types
Topic:
constants
Topic:
primitive data types for Thesa
Topic:
union data type
Group:
program module
Topic:
variable as function that accesses an object's value
Topic:
generic operations and polymorphism
Group:
function
Topic:
named constants and expressions
Topic:
replacement as a procedure call
Topic:
parameter passing by name
Topic:
structural equivalence vs. name equivalence of data types
Topic:
restricted and extended types
Topic:
function definition
Topic:
range data type
Topic:
sending an object across a network
Topic:
file
Topic:
aliasing
Topic:
using pointers in Thesa
Topic:
casting a variable to a different type
Topic:
weak vs. strong type checking
Topic:
separate a module's interface specification from its implementation

Reference

Demers, A., Donahue, J., "Report on the programming language Russell", Ithaca, New York, Department of Computer Science, Cornell University, 79-371, March 1979. Google

Other Reference

Stanford Computer Library #12569

Quotations
2 ;;Quote: Russell is representation independent, i.e., different value spaces exhibit the same behavior
4 ;;Quote: in Russell, a parameter can be anything with a signature, e.g., values, procedures, and types
4+;;Quote: the signature of a Russell procedure is the list of signatures of its parameters
5 ;;Quote: in Russell can also define infix and suffix functions
5+;;Quote: Russell can overload existing operators if they have different argument signatures
5 ;;Quote: a type signature is its name and the signatures of all operations that use that type
5+;;Quote: a data type is a set of operations
5 ;;Quote: use enumerated data type to define a new set of constants
QuoteRef: demeA3_1979 ;;5 "'Ref, which when applied to a type T, yields a type with a single constant 'nil and no defined ordering.
5 ;;Quote: a union type defines operations for projection, injection, and inspection
QuoteRef: demeA3_1979 ;;6 "Statements are the operational units of the [Russell] language. [basic procedure calls and compound control statements
6 ;;Quote: a Russell capsule defines a type as a collection of operations, types, schemes, and fields
6 ;;Quote: names of Russell fields are selectors, i.e., a function that produces the field's value
6 ;;Quote: a scheme is a parameterized type that yields procedures, functions, types, and a signature
6+;;Quote: a scheme is a parameterized operation definition that defines a new abstract data type
14 ;;Quote: a constant in Russell is any value-producing function of no arguments; must produce constant results
17 ;;Quote: weak form of assignment is a procedure that takes two var arguments; strong form is var and val arguments
19 ;;Quote: a type in Russell is a set of procedures, functions, types, and schemes chosen by apply selection
QuoteRef: demeA3_1979 ;;21 "The form [Var[val] Denotation . Id is treated as shorthand for T $ Id ( [Var/Val]Denotation) where T is the type of the given denotation
23 ;;Quote: a constant denotation as an argument is same as call-by-name; not evaluated until applied
26 ;;Quote: argument and parameter signatures match if identical after transformation using renaming, reordering, and deletion
28 ;;Quote: type checking in Russell consists of matching argument signatures with parameter signatures
30 ;;Quote: can modify a type by adding, renaming, or deleting operations
32 ;;Quote: can redefine operations in terms of previous values since evaluation occurs before binding values to names
QuoteRef: demeA3_1979 ;;42 "Several builtin typeschemes are provided in Russell. These include arrays, references, subranges, unions and files.
45 ;;Quote: a subrange has the same signature as the enumeration plus operations for converting between the two
QuoteRef: demeA3_1979 ;;47 The file operation "Next allows "looking ahead" in the file without "using up" the next value by performing a Read.
47 ;;Quote: by requiring strong assignment (var<-val) for files, files can not use reference values
49 ;;Quote: prevent inadvertent aliasing by not importing var variables with local var declarations
53 ;;Quote: Russell allows var to val coercion, e.g. in an arithmetic expression
66 ;;Quote: changing an array signature to one for sparse arrays is either exactly equivalent or type-incorrect


Related Topics up

ThesaHelp: references c-d (337 items)
Topic: safe use of pointers (102 items)
Topic: statement language (10 items)
Topic: user-defined data type (13 items)
Topic: access by current position (7 items)
Topic: notations for object access (7 items)
Topic: abstract data type (64 items)
Group: parameters   (10 topics, 145 quotes)
Topic: function signature (21 items)
Topic: function syntax definition (17 items)
Topic: data type as a set of operations (38 items)
Topic: enumerated data types (17 items)
Topic: constants (21 items)
Topic: primitive data types for Thesa (82 items)
Topic: union data type (12 items)
Group: program module   (10 topics, 334 quotes)
Topic: variable as function that accesses an object's value (21 items)
Topic: generic operations and polymorphism (65 items)
Group: function   (12 topics, 232 quotes)
Topic: named constants and expressions (21 items)
Topic: replacement as a procedure call (10 items)
Topic: parameter passing by name (11 items)
Topic: structural equivalence vs. name equivalence of data types (30 items)
Topic: restricted and extended types (34 items)
Topic: function definition (25 items)
Topic: range data type (17 items)
Topic: sending an object across a network (11 items)
Topic: file (22 items)
Topic: aliasing (28 items)
Topic: using pointers in Thesa (49 items)
Topic: casting a variable to a different type (7 items)
Topic: weak vs. strong type checking (39 items)
Topic: separate a module's interface specification from its implementation (86 items)

Collected barberCB 1980
Copyright © 2002-2008 by C. Bradford Barber. All rights reserved.
Thesa is a trademark of C. Bradford Barber.