typalyze: Analyzes Haskell source files for easy reference

[ bsd3, development, program ] [ Propose Tags ]

A tool to assist developers of IDEs and other code analyzing programs. Processes Haskell source files and outputs information about types in an efficient machine-readable format. Contains an Emacs mode and a program to update cached information in the background.


[Skip to Readme]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.0.1, 0.0.2, 0.0.3, 0.1.1
Dependencies base, bytestring, directory, filepath, ghc, process [details]
License BSD-3-Clause
Author Matthew Danish <mrd@debian.org>
Maintainer mrd@debian.org
Category Development
Home page http://www.decidable.org/haskell/typalyze
Uploaded by MatthewDanish at 2008-03-09T20:33:21Z
Distributions
Reverse Dependencies 1 direct, 0 indirect [details]
Executables hswatch, typalyze
Downloads 2991 total (12 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs not available [build log]
All reported builds failed as of 2017-01-03 [all 7 reports]

Readme for typalyze-0.1.1

[back to package description]
typalyze
~~~~~~~~

Analyzes a Haskell source file and collects useful information about
it, which is then output to stdout in a (hopefully) easy-to-parse
format.

The current incarnation just obtains information about types over
source-spans.  The output describes spans of text in files which GHC
considers to have the given type.  For example:

src/Main.hs:55:49-54
  forall a. a -> IO a

means that on line 55 of Main.hs, from column 49-54, whatever is in
that region is considered to have type "forall a. a -> IO a".

typalyze tries to be smart about packages and modules, and
automatically attempts to identify the GHC options which will allow
the file to be parsed and typechecked successfully.

However, if this fails, you can supply some options to the program to
help it along.  See the output of --help.

typalyze.el
~~~~~~~~~~~

Interacts with the typalyze program, which aides Haskell development.

C-c C-a C-c   Analyze current buffer.
C-c C-a C-t   Show type of thing at point.

Also, typalyzes buffer whenever it is saved.

hswatch
~~~~~~~

Alternatively, an external program named 'hswatch' can take care of
updating typalyze, on file modification, in the background.  To get
this running in Emacs, type M-x hswatch and select the directory tree
you want it to keep watch over.

It requires 'inotify-tools' which only works on recent versions of the
Linux kernel, 2.6.13+.