Expression problem
|
|
This article needs attention from an expert on the subject. See the talk page for details. WikiProject Computer science or the Computer science Portal may be able to help recruit an expert. (May 2009) |
The Expression Problem is a term used in discussing strengths and weaknesses of various programming paradigms and programming languages. The expression problem can be treated as a use case in programming language design.[1][2][3][4][5]
Philip Wadler coined the term:
The Expression Problem is a new name for an old problem. The goal is to define a datatype by cases, where one can add new cases to the datatype and new functions over the datatype, without recompiling existing code, and while retaining static type safety (e.g., no casts).[6]
Wadler selected the term as a pun: the Problem arises most commonly when discussing a language's ability to extend its notion of an expression, and as Wadler points out in the second paragraph of his original essay, "whether a language can solve the Expression Problem is a salient indicator of its capacity for expression."[6]
The expression problem is also a fundamental problem in multi-dimensional Software Product Line design and in particular as an application or special case of FOSD Program Cubes.
[edit] See also
[edit] References
- ^ "User-defined types and procedural data structures as complementary approaches to data abstraction". http://portal.acm.org/citation.cfm?id=186680.
- ^ "Object-Oriented Programming versues Abstract Data Types". http://www.cs.utexas.edu/users/wcook/papers/OOPvsADT/CookOOPvsADT90.pdf.
- ^ "Synthesizing Object-Oriented and Functional Design to Promote Re-Use". http://citeseer.ist.psu.edu/krishnamurthi98synthesizing.html.
- ^ "Extensible Algebraic Datatypes with Defaults". http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.28.6778.
- ^ "Independently extensible solutions to the expression problem". http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.107.4449.
- ^ a b "The Expression Problem". http://www.daimi.au.dk/~madst/tool/papers/expression.txt.
[edit] External links
- The Expression Problem by Philip Wadler.
- Lecture: The Expression Problem by Ralf Lämmell.
- C9 Lectures: Dr. Ralf Lämmel - Advanced Functional Programming - The Expression Problem at Channel 9,
| This programming language-related article is a stub. You can help Wikipedia by expanding it. |