Object oriented programming: a unified foundation
Gespeichert in:
1. Verfasser: | |
---|---|
Format: | Buch |
Sprache: | English |
Veröffentlicht: |
Boston ; Basel ; Berlin
Birkhäuser
1997
|
Schriftenreihe: | Progress in theoretical computer science
|
Schlagworte: | |
Online-Zugang: | Inhaltsverzeichnis |
Beschreibung: | Literaturverz. S. 345 - 356 |
Beschreibung: | XVIII, 366 S. graph. Darst. |
ISBN: | 0817639055 3764339055 |
Internformat
MARC
LEADER | 00000nam a2200000zc 4500 | ||
---|---|---|---|
001 | BV023508631 | ||
003 | DE-604 | ||
005 | 20130703 | ||
007 | t | ||
008 | 961108s1997 xxud||| |||| 00||| eng d | ||
015 | |a 97,A11,0229 |2 dnb | ||
016 | 7 | |a 949573183 |2 DE-101 | |
020 | |a 0817639055 |c Kunststoff : sfr 108.00 |9 0-8176-3905-5 | ||
020 | |a 3764339055 |9 3-7643-3905-5 | ||
035 | |a (OCoLC)845237326 | ||
035 | |a (DE-599)BVBBV023508631 | ||
040 | |a DE-604 |b ger | ||
041 | 0 | |a eng | |
044 | |a xxu |c XD-US | ||
049 | |a DE-521 | ||
050 | 0 | |a QA76.64.C372 1997 | |
082 | 0 | |a 005.13 20 | |
084 | |a ST 240 |0 (DE-625)143625: |2 rvk | ||
084 | |a 28 |2 sdnb | ||
084 | |a 30 |2 sdnb | ||
100 | 1 | |a Castagna, Giuseppe |d 1966- |e Verfasser |0 (DE-588)173051278 |4 aut | |
245 | 1 | 0 | |a Object oriented programming |b a unified foundation |c Giuseppe Castagna |
264 | 1 | |a Boston ; Basel ; Berlin |b Birkhäuser |c 1997 | |
300 | |a XVIII, 366 S. |b graph. Darst. | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
490 | 0 | |a Progress in theoretical computer science | |
500 | |a Literaturverz. S. 345 - 356 | ||
650 | 4 | |a Object-oriented programming (Computer science) | |
650 | 4 | |a Programming languages (Electronic computers) | |
650 | 0 | 7 | |a Objektorientierte Programmierung |0 (DE-588)4233947-9 |2 gnd |9 rswk-swf |
689 | 0 | 0 | |a Objektorientierte Programmierung |0 (DE-588)4233947-9 |D s |
689 | 0 | |5 DE-604 | |
856 | 4 | 2 | |m DNB Datenaustausch |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=016832104&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
999 | |a oai:aleph.bib-bvb.de:BVB01-016832104 |
Datensatz im Suchindex
_version_ | 1804138147650469888 |
---|---|
adam_txt |
CONTENTS
FOREWORD
(BY
LUCA
CARDELLI) XIII
PRESENTATION
OF
THE
BOOK
XV
I
INTRODUCTION
1
1
BACKGROUND
AND
NOTATION
3
1.1
Z-NOTATION
.
3
1.1.1
THE
ORIGINS
OF
Z-CALCULUS
.
7
1.1.2
DATATYPES
.
8
1.2
SIMPLY-TYPED
2,
-CALCULUS
.
9
1.2.1
REDUCTION
.
10
1.2.2
TYPING
.
12
1.2.3
PROPERTIES
.
14
1.2.4
FIXED
POINT
OPERATORS
.
17
1.3
SUBTYPING
.
18
1.3.1
THE
A -CALCULUS
.
18
1.3.2
RECORDS
.
27
1.3.3
CARTESIAN
PRODUCTS
.
28
1.3.4
RECURSIVE
TYPES
.
29
1.4
FURTHER
DEFINITIONS
.
30
1.4.1
ALGEBRA
.
30
1.4.2
TERM
REWRITING
SYSTEMS
.
31
1.4.3
LOGIC
.
33
2
A
QUICK
OVERVIEW
35
2.1
INTRODUCTION
.
35
2.2
OBJECT-ORIENTED
PROGRAMMING
.
40
2.3
THE
A&-CALCULUS
.
44
2.4
COVARIANCE
AND
CONTRAVARIANCE
.
51
2.5 STRONG
NORMALIZATION
.
54
VI
CONTENTS
2.6
THREE
VARIATIONS
ON
THE
THEME
.
55
2.7
INTERPRETATION
OF
OBJECT-ORIENTED
LANGUAGES
.
58
2.8
IMPERATIVE
FEATURES
.
62
2.9
SEMANTICS
.
63
2.10
SECOND-ORDER
.
66
2.11
SECOND
ORDER
OVERLOADING
.
68
2.12
F*
AND
OBJECT-ORIENTED
PROGRAMMING
.
71
2.13
CONCLUSION
.
75
II
SIMPLE
TYPING
77
3
OBJECT-ORIENTED
PROGRAMMING
79
3.1
A
KERNEL
OBJECT-ORIENTED
LANGUAGE
.
80
3.1.1
OBJECTS
.
80
3.1.2
MESSAGES
.
80
3.1.3
METHODS
VERSUS
FUNCTIONS
.
.
.
.
81
3.1.4
CLASSES
.
.
83
3.1.5
INHERITANCE
.
85
3.1.6 MULTIPLE
INHERITANCE
.
88
3.1.7
IMPLEMENTATION
OF
MESSAGE-PASSING
.
90
3.1.8
EXTENDING
CLASSES
.
90
3.1.9
SELF,
SUPER
AND
THE
USE
OF
COERCIONS
.
92
3.1.10
FIRST-CLASS
MESSAGES:
ADDING
OVERLOADING
.
.
.
95
3.1.11
MULTI-METHODS
.
97
3.2
TYPE
CHECKING
.
98
3.2.1
THE
TYPES
.
98
3.2.2
INTUITIVE
TYPING
RULES
.
99
3.3
OBJECT-ORIENTED
PROGRAMMING
I
LA
CLOS
.
102
3.3.1
CLASSES
.
102
3.3.2 METHODS
.
103
3.3.3
MULTIPLE
DISPATCHING
.
105
3.3.4
SUPER
AND
COERCE
.
105
3.3.5
TYPES
.
106
3.4
COMPARISON
.
106
3.5
CONCLUSION
.
108
3.6
BIBLIOGRAPHICAL
NOTES
.
ILL
4
THE
A&-CALCULUS
113
4.1
INFORMAL
PRESENTATION
.
113
4.1.1
SUBTYPING,
RUN-TIME
TYPES
AND
LATE
BINDING
.
114
4.2
THE
SYNTAX
OF
A&-CALCULUS
.
116
4.2.1
SUBTYPING
SYSTEM
.
117
4.2.2
TYPES
.
118
CONTENTS
VII
4.2.3
TERMS
.
119
4.2.4
TYPE
SYSTEM
.
120
4.2.5
REDUCTION
RULES
.
123
4.3
SOUNDNESS
OF
THE
TYPE
SYSTEM
.
126
4.4
CHURCH-ROSSER
.
129
4.5
BASIC
ENCODINGS
.
132
4.5.1
PRODUCTS
.
132
4.5.2
SIMPLE
RECORDS
.
132
4.5.3
UPDATABLE
RECORDS
.
133
4.6
A&
AND
OBJECT-ORIENTED
PROGRAMMING
.
135
4.6.1
THE
"
OBJECTS
AS
RECORDS
"
ANALOGY
.
137
4.6.2
INHERITANCE
.
139
4.6.3 BINARY
METHODS
AND
MULTIPLE
DISPATCH
.
141
4.6.4
COVARIANCE
VS.
CONTRAVARIANCE
.
143
4.6.5
CLASS
EXTENSION
.
.
.
143
4.6.6
FIRST
CLASS
MESSAGES
.
144
4.6.7
ABSTRACT
CLASSES
.
144
4.7
RELATED
WORK
.
147
5
COVARIANCE
AND
CONTRAVARIANCE:
CONFLICT
WITHOUT
A
CAUSE
153
5.1
INTRODUCTION
.
154
5.2
THE
CONTROVERSY
.
154
5.3
COVARIANCE
IN
THE
OVERLOADING-BASED
MODEL
.
157
5.4
COVARIANCE
IN
THE
RECORD-BASED
MODEL
.
159
5.5
PRACTICAL
ASPECTS
.
163
5.6
CONCLUSION
.
165
6
STRONG
NORMALIZATION
167
6.1
THE
FULL
CALCULUS
IS
NOT
NORMALIZING
.
167
6.2
FIXED
POINT
COMBINATORS
.
168
6.3
THE
REASONS
FOR
NON
NORMALIZATION
.
169
6.4
TYPED-INDUCTIVE
PROPERTIES
.
171
6.5
STRONG
NORMALIZATION
IS
TYPED-INDUCTIVE
.
175
7
THREE
VARIATIONS
ON
THE
THEME
177
7.1
ADDING
EXPLICIT
COERCIONS
.
177
7.1.1
PROPERTIES
.
179
7.1.2
MORE
ON
UPDATABLE
RECORDS
.
181
7.2
MORE
FREEDOM
TO
THE
SYSTEM:
A&
+
.
182
7.3
UNIFYING
OVERLOADING
AND
A-ABSTRACTION:
A^
.
185
7.3.1
SUBJECT
REDUCTION
.
187
7.3.2
CHURCH-ROSSER
.
188
7.4
REFERENCE
TO
OTHER
WORK
.
191
VIII
CONTENTS
8
INTERPRETATION
OF
OBJECT-ORIENTED
LANGUAGES
193
8.1
FORMAL
PRESENTATION
OF
KOOL
.
.
.
.
.
194
8.1.1
THE
TERMS
OF
THE
LANGUAGE
.
195
8.1.2
THE
TYPES
OF
THE
LANGUAGE
.
197
8.2
AJOBJECT
.204
8.2.1
THE
TYPE
SYSTEM
.
209
8.2.2
SOME
RESULTS
.
211
8.3
TRANSLATION
.
213
8.3.1
CORRECTNESS
OF
THE
TYPE-CHECKING
.
215
8.3.2
SOME
REMARKS
.
215
8.4
A
^OBJECT
AND
A&
.
216
8.4.1
THE
ENCODING
OF
THE
TYPES
.
,.216
8.4.2
THE
ENCODING
OF
THE
TERMS
.
219
9
IMPERATIVE
FEATURES
AND
OTHER
WIDGETS
221
9.1
IMPERATIVE
FEATURES
.
221
9.1.1
IMPERATIVE
KOOL
.
223
9.1.2
IMPERATIVE
A&-CALCULUS
.
224
9.1.3
INTERPRETATION
.226
9.2
UNIQUE
APPLICATION
.
228
9.3
SIGNATURES
.
229
10
SEMANTICS
235
10.1
INTRODUCTION
.
235
10.2
THE
COMPLETION
OF
OVERLOADED
TYPES
.
236
10.3
EARLY
BINDING
.
240
10.4
SEMANTICS
.
242
10.4.1
PER
AS
A
MODEL
.242
10.4.2
OVERLOADED
TYPES
AS
PRODUCTS
.
246
10.4.3
THE
SEMANTICS
OF
TERMS
.
250
10.5
SUMMARY
OF
THE
SEMANTICS
.256
III
SECOND
ORDER
259
11
INTRODUCTION
TO
PART
HI
261
11.1
LOSS
OF
INFORMATION
IN
THE
RECORD-BASED
MODEL
.
262
11.1.1
IMPLICIT
POLYMORPHISM
.
263
11.1.2
EXPLICIT
POLYMORPHISM
.
263
11.2
F
.
265
11.2.1
SUBTYPING
AND
TYPING
ALGORITHMS
.
267
11.3
FURTHER
FEATURES
.
269
11.3.1
RECORDS
AND
UPDATE
.
269
11.3.2
QUANTIFICATION
OVER
RECURSIVE
TYPES
.
270
CONTENTS
IX
11.3.3
F-BOUNDED
QUANTIFICATION
.
271
11.3.4
EXISTENTIAL
QUANTIFICATION
.
272
12
SECOND
ORDER
OVERLOADING
275
12.1
LOSS
OF
INFORMATION
IN
THE
OVERLOADING-BASED
MODEL
.
275
12.1.1
TYPE
DEPENDENCY
.
277
12.2
TYPE
SYSTEM
.
279
12.2.1
SOME
USEFUL
RESULTS
.
281
12.2.2
TRANSITIVITY
ELIMINATION
.
282
12.2.3
SUBTYPING
ALGORITHM
AND
COHERENCE
OF
THE
SYSTEM
.
288
12.3
TERMS
.
291
12.4
REDUCTION
.
293
12.4.1
SOUNDNESS
OF
THE
TYPE
SYSTEM
.
294
12.4.2
CHURCH-ROSSER
.
308
13
SECOND
ORDER
OVERLOADING
AND
OBJECT-ORIENTED
PROGRAMMING
313
13.1
OBJECT-ORIENTED
PROGRAMMING
.
313
13.1.1
EXTENDING
CLASSES
.
316
13.1.2
FIRST
CLASS
MESSAGES,
SUPER
AND
COERCE
.
316
13.1.3
TYPING
RULES
FOR
POLYMORPHIC
KOOL
.
317
13.1.4
MULTIPLE
DISPATCH
.
319
13.1.5
ADVANCED
FEATURES
.
.
320
13.2
CONCLUSION
.
322
14
CONCLUSION
323
14.1
OBJECT-ORIENTED
PROGRAMMING
.
323
14.2
PROOF
THEORY
.
324
14.3
BEYOND
OBJECT-ORIENTED
PROGRAMMING
.
326
IV
APPENDIXES
329
A
SPECIFICATION
OF
KOOL
331
A.L
TERMS
.
331
A.2
PRETYPES
.
332
A.3
SUBTYPING
.
332
A.4
AUXILIARY
NOTATION
.
333
A.5
TYPING
RULES
.
333
B
FORMAL
DEFINITION
OF
THE
TRANSLATION
335
B.L
WITHOUT
MUTUALLY
RECURSIVE
METHODS
.
336
B.2
WITH
RECURSIVE
METHODS
.
338
B.3
OVERLOADED
FUNCTIONS
.
339
B.4
CORRECTNESS
OF
THE
TYPE-CHECKING
.340
X
CONTENTS
BIBLIOGRAPHY
345
INDEX
358 |
any_adam_object | 1 |
any_adam_object_boolean | 1 |
author | Castagna, Giuseppe 1966- |
author_GND | (DE-588)173051278 |
author_facet | Castagna, Giuseppe 1966- |
author_role | aut |
author_sort | Castagna, Giuseppe 1966- |
author_variant | g c gc |
building | Verbundindex |
bvnumber | BV023508631 |
callnumber-first | Q - Science |
callnumber-label | QA76 |
callnumber-raw | QA76.64.C372 1997 |
callnumber-search | QA76.64.C372 1997 |
callnumber-sort | QA 276.64 C372 41997 |
callnumber-subject | QA - Mathematics |
classification_rvk | ST 240 |
ctrlnum | (OCoLC)845237326 (DE-599)BVBBV023508631 |
dewey-full | 005.1320 |
dewey-hundreds | 000 - Computer science, information, general works |
dewey-ones | 005 - Computer programming, programs, data, security |
dewey-raw | 005.13 20 |
dewey-search | 005.13 20 |
dewey-sort | 15.13 220 |
dewey-tens | 000 - Computer science, information, general works |
discipline | Informatik |
discipline_str_mv | Informatik |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>01723nam a2200457zc 4500</leader><controlfield tag="001">BV023508631</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20130703 </controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">961108s1997 xxud||| |||| 00||| eng d</controlfield><datafield tag="015" ind1=" " ind2=" "><subfield code="a">97,A11,0229</subfield><subfield code="2">dnb</subfield></datafield><datafield tag="016" ind1="7" ind2=" "><subfield code="a">949573183</subfield><subfield code="2">DE-101</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">0817639055</subfield><subfield code="c">Kunststoff : sfr 108.00</subfield><subfield code="9">0-8176-3905-5</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">3764339055</subfield><subfield code="9">3-7643-3905-5</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)845237326</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)BVBBV023508631</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">eng</subfield></datafield><datafield tag="044" ind1=" " ind2=" "><subfield code="a">xxu</subfield><subfield code="c">XD-US</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-521</subfield></datafield><datafield tag="050" ind1=" " ind2="0"><subfield code="a">QA76.64.C372 1997</subfield></datafield><datafield tag="082" ind1="0" ind2=" "><subfield code="a">005.13 20</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 240</subfield><subfield code="0">(DE-625)143625:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">28</subfield><subfield code="2">sdnb</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">30</subfield><subfield code="2">sdnb</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Castagna, Giuseppe</subfield><subfield code="d">1966-</subfield><subfield code="e">Verfasser</subfield><subfield code="0">(DE-588)173051278</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Object oriented programming</subfield><subfield code="b">a unified foundation</subfield><subfield code="c">Giuseppe Castagna</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Boston ; Basel ; Berlin</subfield><subfield code="b">Birkhäuser</subfield><subfield code="c">1997</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">XVIII, 366 S.</subfield><subfield code="b">graph. Darst.</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">n</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">nc</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="490" ind1="0" ind2=" "><subfield code="a">Progress in theoretical computer science</subfield></datafield><datafield tag="500" ind1=" " ind2=" "><subfield code="a">Literaturverz. S. 345 - 356</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Object-oriented programming (Computer science)</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Programming languages (Electronic computers)</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Objektorientierte Programmierung</subfield><subfield code="0">(DE-588)4233947-9</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">Objektorientierte Programmierung</subfield><subfield code="0">(DE-588)4233947-9</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">DNB Datenaustausch</subfield><subfield code="q">application/pdf</subfield><subfield code="u">http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=016832104&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="999" ind1=" " ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-016832104</subfield></datafield></record></collection> |
id | DE-604.BV023508631 |
illustrated | Illustrated |
index_date | 2024-07-02T22:31:01Z |
indexdate | 2024-07-09T21:23:34Z |
institution | BVB |
isbn | 0817639055 3764339055 |
language | English |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-016832104 |
oclc_num | 845237326 |
open_access_boolean | |
owner | DE-521 |
owner_facet | DE-521 |
physical | XVIII, 366 S. graph. Darst. |
publishDate | 1997 |
publishDateSearch | 1997 |
publishDateSort | 1997 |
publisher | Birkhäuser |
record_format | marc |
series2 | Progress in theoretical computer science |
spelling | Castagna, Giuseppe 1966- Verfasser (DE-588)173051278 aut Object oriented programming a unified foundation Giuseppe Castagna Boston ; Basel ; Berlin Birkhäuser 1997 XVIII, 366 S. graph. Darst. txt rdacontent n rdamedia nc rdacarrier Progress in theoretical computer science Literaturverz. S. 345 - 356 Object-oriented programming (Computer science) Programming languages (Electronic computers) Objektorientierte Programmierung (DE-588)4233947-9 gnd rswk-swf Objektorientierte Programmierung (DE-588)4233947-9 s DE-604 DNB Datenaustausch application/pdf http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=016832104&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA Inhaltsverzeichnis |
spellingShingle | Castagna, Giuseppe 1966- Object oriented programming a unified foundation Object-oriented programming (Computer science) Programming languages (Electronic computers) Objektorientierte Programmierung (DE-588)4233947-9 gnd |
subject_GND | (DE-588)4233947-9 |
title | Object oriented programming a unified foundation |
title_auth | Object oriented programming a unified foundation |
title_exact_search | Object oriented programming a unified foundation |
title_exact_search_txtP | Object oriented programming a unified foundation |
title_full | Object oriented programming a unified foundation Giuseppe Castagna |
title_fullStr | Object oriented programming a unified foundation Giuseppe Castagna |
title_full_unstemmed | Object oriented programming a unified foundation Giuseppe Castagna |
title_short | Object oriented programming |
title_sort | object oriented programming a unified foundation |
title_sub | a unified foundation |
topic | Object-oriented programming (Computer science) Programming languages (Electronic computers) Objektorientierte Programmierung (DE-588)4233947-9 gnd |
topic_facet | Object-oriented programming (Computer science) Programming languages (Electronic computers) Objektorientierte Programmierung |
url | http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=016832104&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT castagnagiuseppe objectorientedprogrammingaunifiedfoundation |