Resources
- An online copy of the main recommended textbook.
- A paper about an US Navy experiment that shows programmers to be significantly more productive in declarative languages like Haskell than in traditional imperative languages.
- A talk about an approach to the design and implementation of business systems . Most of the talk is about details that are a bit beyond the scope of this subject, but it does show (on slide 23) the productivity advantage of Mercury (a declarative language) compared to Java.
- A paper about the representation of programs inside gcc . It discusses the problems caused by the current representation, which effectively ignores C's type system as much as possible, and proposes both a better representation and a roadmap of how to get there. Unfortunately, it is unlikely that these proposals will ever be implemented.
- The Haskell compiler user's guide. .
- Haskell's standard library modules are available in /home/subjects/comp30020/local/ghc_libs.
- The Mercury documentation web page, which has a tutorial on Mercury, the language reference manual, the library reference manual, and the users' guide.
- Mercury's standard library modules are available in /home/subjects/comp30020/local/mercury/mercury_libs.
- Some sample Mercury programs are available in /home/subjects/comp30020/local/mercury/samples.