Abstraction Mechanisms in CLU

CLU is a new programming language designed to support
the use of abstractions in program construction. 
 Work in programming methodology has led to the realization
that three kinds of abstractions-procedural, 
control, and especially data abstractions-are useful
in the programming process.  Of these, only the 
procedural abstraction is supported well by conventional
languages, through the procedure or subroutine. 
 CLU provides, in addition to procedures, novel linguistic
mechanisms that support the use of data and 
control abstractions.  This paper provides an in troduction
to the abstraction mechanisms in CLU.  By 
means of programming examples, the utility of the three
kinds of abstractions in program construction 
is illustrated, and it is shown how CLU programs may
be written to use and implement abstractions.  The 
CLU library, which permits incremental program development
with complete type checking performed at compile 
time, is also discussed.

CACM August, 1977

Liskov, B.
Snyder, A.
Atkinson, R.
Schaffert, C.

programming languages, data types, data abstractions,
control abstractions, programming methodology, 
separate compilation

4.0 4.12 4.20 4.22

CA770804 JB December 28, 1977  7:49 AM

2319	4	2939
2480	4	2939
2594	4	2939
2709	4	2939
2868	4	2939
2939	4	2939
2939	4	2939
2941	4	2939
2972	4	2939
3155	4	2939
2204	5	2939
2558	5	2939
2939	5	2939
2939	5	2939
2939	5	2939
3031	5	2939
3105	5	2939
3148	5	2939
3150	5	2939
1471	6	2939
1860	6	2939
2060	6	2939
2625	6	2939
2632	6	2939
2704	6	2939
2817	6	2939
2842	6	2939
2865	6	2939
2868	6	2939
2939	6	2939
2939	6	2939
2939	6	2939
2939	6	2939
2940	6	2939
2941	6	2939
2943	6	2939
2958	6	2939
3068	6	2939
3073	6	2939
3073	6	2939
3148	6	2939