Differences
This shows you the differences between two versions of the page.
Next revision | Previous revisionLast revisionBoth sides next revision | ||
fifty_questions_for_a_prospective_language_designer [2007-06-10 11:20] – external edit 127.0.0.1 | fifty_questions_for_a_prospective_language_designer [2007-07-10 18:19] – 71.60.251.17 | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | |||
Line 60: | Line 61: | ||
- | If you allow type declarations, | + | If you allow type declarations, |
- | | + | |
Line 97: | Line 97: | ||
- | Here is how Jonathan Rees has characterized the very fuzzy term " | + | Here is how Jonathan Rees has characterized the very fuzzy term " |
- | 1. Encapsulation -- the ability to hide the implementation of a type | + | |
- | 2. Protection -- the inability of the client of a type to detect its implementation, | + | |
- Ad hoc polymorphism -- functions and data structures with parameters that can take on values of many different types. | - Ad hoc polymorphism -- functions and data structures with parameters that can take on values of many different types. | ||
- Parametric polymorphism -- functions and data structures that parameterize over arbitrary values, such as "a list of anything" | - Parametric polymorphism -- functions and data structures that parameterize over arbitrary values, such as "a list of anything" |