Research area
. The Expression Problem
In 1998 P.Wadler had defined "The Expresion Problem" (accordingly to Wouter Swierstra - Data types a la carte ).
"The goal is to define a data type by case, where one can add new cases to the data type and new functions over the dat a type , without recompiling existing code, and while retaining static type safety."
A new,simple and clear solution (2008) was given by Dan Popa in a speech scheduled for AngloHaskell/2008 http://www.haskell.org/haskellwiki/AngloHaskell/2008 You may download the presentation from http://www.haskell.org/sitewiki/images/1/1d/Prezentare-Anglo-Haskell-2008-draft2-more-slides.pdf
Why this solution is so interesting and so new:
- it did not use a fixpoint operator !!
- it did not use a Maybe (high level embeded) type !!
- it did not use data declaration anymore !!
- it is introducing pseudoconstructors over monadic values because the chain of unevaluated (yet) functions is actually forming a datastructure . do not forget that Haskell is a lazy evaluation language !!
Why this solution is valuable: - because we have already built modular languages like Rodin using it. - because it works with just a bit overloading of the system : See final pages of http://www.haskell.org/sitewiki/images/1/1d/Prezentare-Anglo-Haskell-2008-draft2-more-slides.pdf - because it is modular - because language construction tools are valuable software (1000$ a Licence for a good language generator.) - because it fits in the previous kind of systems with truee small modifications (just replace a single letter of a data constructor to transform it in a pseudoconstructor ...) - because my Ph.D Superviser is wishing to sell custom languages with a price of aprox 10 000$ / language - or at least he declared this some times ago.
References: see the .pdf of the latest papers from User:Ha$kell's homepage. Ill be back. Download and read the latest papers of Dan Popa from User:Ha$kell's homepage.
. Classic complex solutions
... will be added
. Monadic Interpretation
... will be added
. References
... will be added
. History of the domain
... will be added