Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
fifty_questions_for_a_prospective_language_designer [2007-06-15 19:51] – nik | fifty_questions_for_a_prospective_language_designer [2007-07-10 18:21] (current) – 71.60.251.17 | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | |||
+ | |||
Line 96: | Line 98: | ||
- | 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" | ||
Line 128: | Line 129: | ||
**hugely** simplified FFI issues.) | **hugely** simplified FFI issues.) | ||
- | Do you want to be able to return multiple values? | + | Do you want to be able to return multiple values? |
What's your order of evaluation in expressions? | What's your order of evaluation in expressions? |