Applications and libraries/Program development

From HaskellWiki
< Applications and libraries
Revision as of 12:44, 22 March 2006 by BjornBringert (talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
The copyright status of this work is not known. Please help resolve this on the talk page.

Libraries and Tools for Program Development

Vital is a visual programming environment. It is particularly intended for supporting the open-ended, incremental style of development often preferred by end users (engineers, scientists, analysts, etc.).
hmake, a Haskell-aware replacement for make
Automatically keeps track of module dependencies (i.e. no need to write any Makefiles!). Can be used with any of the usual Haskell compilers (ghc, hbc, nhc98).
Cpphs is a re-implementation (in Haskell) of the C pre-processor.
DrIFT is a tool which allows derivation of instances for classes that aren't supported by the standard compilers. In addition, instances can be produced in seperate modules to that containing the type declaration. This allows instances to be derived for a type after the original module has been compiled. As a bonus, simple utility functions can also be produced from a type.
Hasktags is a simple program that generates TAGS files for Haskell code. Together with a supporting editor (e.g. NEdit, XEmacs, or Vim) TAGS files can be used to quickly find the places where functions, data constructors etc. are defined.
A version of the tags program for Haskell. It uses the standardised hssource and posix library, works with GHC 5.02.1. tags file has been checked to work with vim and nedit.
HaSpell is a spelling and style checker for Haskell programs. It can detect spelling errors in comments in the program text, and optionally in the code itself. There is an option to detect metasyntactic variables (such as 'foo') and 'bad function prefixes' such as 'compute' and 'doThe' - these make the program less readable and generally indicate bad programming style.
Uniform Workbench
This tool is an Integration Framework providing its services in the lazy functional programming language Haskell. The WorkBench provides support for data, control and presentation integration, so that integrated Software Development Environments can be constructed from the basis of prefabricated, off-the-shelf components. We are currently using the WorkBench to construct integrated environments for Haskell program development and for specification and proof of Z specifications.
Haskell All-In-One
This Haskell utility takes a program implemented in multiple modules and converts it to a single module.