(Enter summary)
Abstract: Programming languages often provide for various sorts of static type checking as a way of detecting
invalid programs. However, statically checked type systems often require unnecessarily specific
type information, which leads to frustratingly inflexible languages. Polymorphic type systems
restore flexibility by allowing entities to take on more than one type.
This thesis discusses polymorphism in statically typed programming languages. It provides
precise definitions of the term "polymorphism"... (Update)
Context of citations to this paper: More
.... flexibility and generalizability existing language mechanisms lack, while maintaining the most important characteristics of other tools[6]. It does so by adding contexts to parametric polymorphism, simplifying the creation of functions which are compiled once yet can handle...
.... ML and introduced the notion of liberal resolution [25] Other work at Waterloo combined the similar mechanisms with languages such as C [5, 39] and Ada[28] In 1992, I implemented a second prototype version of watML, called WatML NJ, based on the SML of New Jersey compiler...
Cited by: More
Safe Programming at the C Level of Abstraction - Grossman (2003)
(Correct)
Implementing Overloading and Polymorphism in Cforall - Bilson (2003)
(Correct)
Parametric Overloading in ML - Krasic (1997)
(Correct)
Active bibliography (related documents): More All
0.7: Cforall Reference Manual and Rationale - Ditchfield (1997)
(Correct)
0.5: Simulated Overloading using Generic Functions in Scheme - Cox (1999)
(Correct)
0.5: Fsub with Recursive Types: "Types-As-Propositions".. - Vorobyov (1995)
(Correct)
Similar documents based on text: More All
1.2: Mixin Modules - Sourelis (1995)
(Correct)
1.1: Transformation-Based Concurrency Control - In Groupware Systems
(Correct)
0.1: Multi-Resolution Approximate Inverses - Bridson (1999)
(Correct)
Related documents from co-citation: More All
3: Design of the programming language Force One (context) - Wright - 1987
3: International Standard --- Programming Languages --- Ada (context) - for - 1995
2: Towards a theory of type structure (context) - Reynolds - 1974
BibTeX entry: (Update)
Glen Jeffrey Ditchfield. Contextual Polymorphism. PhD thesis, University of Waterloo, 1994. http://citeseer.ist.psu.edu/ditchfield94contextual.html More
@misc{ ditchfield94contextual,
author = "G. Ditchfield",
title = "Contextual Polymorphism",
text = "Glen Jeffrey Ditchfield. Contextual Polymorphism. PhD thesis, University
of Waterloo, 1994.",
year = "1994",
url = "citeseer.ist.psu.edu/ditchfield94contextual.html" }
Citations (may not include all citations):
384
The Definition of Standard ML (context) - Milner, Tofte et al. - 1990
369
A semantics of multiple inheritance
- Cardelli - 1984
325
Towards a theory of type structure (context) - Reynolds - 1974
311
Abstract types have existential type (context) - Mitchell, Plotkin - 1988
296
Free Software Foundation (context) - Stallman
190
How to make ad-hoc polymorphism less ad-hoc
- Wadler, Blott - 1989
176
Ellis and Bjarne Stroustrup (context) - Margaret - 1990
175
Inheritance is not subtyping (context) - Cook, Hill et al. - 1990
163
Commentary on Standard ML (context) - Milner, Tofte - 1991
132
Interpretation fonctionelle et elimination des coupures de l.. (context) - Girard - 1972
128
On understanding types (context) - Cardelli, Wegner - 1985
82
Garbage collection in an uncooperative environment (context) - Boehm, Weiser - 1988
81
A proposal for making Eiffel type-safe
- Cook - 1989
76
Toward a typed foundation for method specialization and inhe.. (context) - Mitchell - 1990
74
Encapsulation and inheritance in object-oriented programming..
- Snyder - 1986
71
bounded polymorphism for object-oriented programming (context) - Canning, Cook et al. - 1989
70
Preliminary design of the programming language Forsythe (context) - Reynolds - 1988
56
A retargetable compiler for ANSI C
- Fraser, Hanson - 1991
53
Simula67 Common Base Language (context) - Dahl, Myhrhaug et al. - 1970
52
Programming with intersection types (context) - Pierce - 1991
51
Fundamental concepts in programming languages (context) - Strachey - 1967
45
Jean-Pierre Jouannaud (context) - Futatsugi, Goguen - 1985
45
a dynamically-typed object-oriented language based on protot.. (context) - Chambers, Ungar et al. - 1989
41
Programming Language Concepts (context) - Ghezzi, Jazayeri - 1982
40
A static type system for message passing (context) - Ghelli - 1991
32
Prentice Hall International Series in Computer Science (context) - Meyer, Construction - 1988
31
Revised report on the algorithmic language ALGOL (context) - van Wijngaarden, Mailloux et al. - 1977
30
Programming in higher-order typed lambda calculi
- Pierce, Dietzen et al. - 1989
29
American National Standard for Information Systems -- Progra.. (context) - Standards, Broadway et al. - 1989
24
volume 114 of Lecture Notes in Computer Science (context) - Liskov, Atkinson et al. - 1981
22
ACM Transactions on Programming Languages and Systems (context) - Wirth - 1988
21
The Programming Language Ada: Reference Manual (context) - Department, Defense - 1983
20
IEEE Transactions on Software Engineering (context) - Goguen - 1984
18
the design of programming languages (context) - Wirth - 1974
17
Language design methods based on semantic principles (context) - Tennent - 1977
16
Hints on programming language design (context) - Hoare - 1973
14
Xerox Palo Alto Research Center (context) - Mitchell, Maybury et al. - 1979
14
A memory allocation profiler for C and lisp programs
- Zorn, Hilfinger - 1988
13
on Object Oriented Programming (context) - Stroustrup, object-oriented et al. - 1987
11
Mitchell and Robert Harper (context) - John - 1988
10
An alternative to subclassing (context) - Sandberg - 1986
10
ALPHARD: Form and Content (context) - Shaw - 1981
8
Software engineering with reusable designs and code (context) - Lanergan, Grasso - 1983
7
A one-pass algorithm for overload resolution in Ada (context) - Baker - 1982
6
Toward relaxing assumptions in languages and their implement.. (context) - Shaw, Wulf - 1980
6
Systems Research Center (context) - Cardelli, Donahue et al. - 1988
5
Frame-based software engineering (context) - Basset - 1987
5
Type-dependent parameter inference (context) - Cormack, Wright - 1990
4
Design of the programming language ForceOne (context) - Wright - 1987
4
Databehandling -- Programsprak -- SIMULA (context) - Sverige - 1987
3
Tutorial: Programming Language Design (context) - Wasserman - 1980
3
Object-oriented programming; an evolutionary approach (context) - Cox - 1986
3
Revised by Andrew B (context) - Jensen, Wirth et al. - 1985
2
The treatment of data types in EL (context) - Wegbreit - 1974
2
Digital Equipment Corporation Systems Research Center (context) - Amadio, Cardelli et al. - 1990
1
North Oxford Academic (context) - Le Verrand - 1985
1
The implementation of tags and run-time checking (context) - Steenkiste - 1991
1
debug malloc (context) - Cahill
1
Towards making signatures first-class (context) - Bumbulis - 1990
1
The design of the programming language X (context) - Sandberg - 1985
1
The next 700 programing languages (context) - Landin - 1966
1
Extracting Fw's programs from proofs in the calculus of cons.. (context) - Paulin-Mohring - 1989
1
Polymorphic Programming Languages: Design and Implementation (context) - Harland - 1984
1
ACM Distinguished Dissertations (context) - Hilfinger, Language - 1983
1
Polymorphism in the compiled language ForceOne (context) - Cormack, Wright - 1987
1
the design of Ada (context) - Ichbiah - 1983
1
Efficient implementation of the Ada overloading rules (context) - Wallis, Silverman - 1980
Documents on the same site (http://plg.uwaterloo.ca/~pabuhr/papers.html): More
µDatabase: A Toolkit for Constructing Memory Mapped Databases - Buhr, Goel, Wai (1992)
(Correct)
Are Safe Concurrency Libraries Possible? - Buhr (1995)
(Correct)
µC++: Concurrency in the Object-Oriented Language C++ - Buhr, Ditchfield.. (1992)
(Correct)
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC