
I happen to disagree with Reddy's assertion that having to explain a complicated language with the help of a less complicated one is perfectly adequate. Reddy himself has done good work on semantics of programming languages, but I'm a programmer first - if the language I work with does not give me the qualities that its semantics give me,
Claus Reinke [mailto:claus.reinke@talk21.com]: then my means of
expression and understanding are limited by the translation.
I also disagree. Haskell makes extensive use of translation into a core but those translations work so well because of the strong referential transparency guarantees that you get with Haskell. Equational reasoning locally and leaning on types for refactoring are intimately integrated into my functional programming process (as I bet they are for most Haskell programmers) -- I think the academic promise of RT has become quite 'real'. Something that may not be obvious to someone who doesn't program Haskell at scale is the major benefits of 'ghc -Wall'. Working with the -Wall subset of Haskell (as many do on production code) problems with accidental variable capture is much more difficult to do -- a terrific safeguard when (equationally) working code. Chris