Programatica Tools

Directory tools/hsutils

The README file is displayed below the directory index. See also the HTML version of the source code for stripcomments.

NameLast modifiedSize
Parent Directory  -
stripcomments0.hs2002-03-19 07:50 267
stripcomments.hs2002-03-19 07:50 456
StripComments.hs2003-10-10 23:06 516
layout.hs2003-10-07 21:55 781
Makefile2003-10-10 23:06 824
LICENSE2003-10-10 23:06 1.6K
L.hs2003-10-07 02:03 1.7K
README2003-12-16 18:05 2.2K
Unlit.hs2002-03-19 07:50 3.8K
pfe.cgi2018-03-29 23:19 6.3K

NAME

stripcomments - strip blank lines and comments from Haskell files. layout - simple conversion of layout to explicit braces and semicolons

USAGE

	stripcomments file_1 ... file_n
	layout file_1 ... file_n

DESCRIPTION

stripcomments reads Haskell files named on the command line and strips away comments and blank lines. Layout and syntactic correctness is preserved. The result is sent to the standard output.

layout reads Haskell files named on the command line and outputs them on stdout with the braces and semicolons implied by layout made explicit. Comments and white space is preserved. (See also limitations below.) Files whose names end with '.lhs' are assumed to contain literate style Haskell, other files are assumed to contain plain Haskell.

HOW TO COMPILE AND INSTALL

	make
	cp stripcomments /usr/local/bin     # or some other suitable directory
	cp layout /usr/local/bin	    # or some other suitable directory

REQUIREMENTS

The Makefile assumes that a version of GHC that supports --make is installed. GHC 5.02 or later is recommended. Be prepared that Lexer/HsLex.hs takes a long time to compile.

The programs are implemented in pure Haskell 98, and can also be loaded in Hugs 98.

LIMITATIONS

The program layout does not support full Haskell 98 layout: it does not implement the part that requires interaction with the parser. For example, the program will not correctly translate
	let x=1 in x+x
but will correctly translate
	let x=1
	in x+x
Also, the program layout handles literate style Haskell files by converting literate comments to ordinary nested comments. This can result in incorrect code when literate comments contain "{-" or "-}".

LINKS

VERSIONS

AUTHOR

Thomas Hallgren   http://ogi.altocumulus.org/~hallgren/

OGI School of Science & Engineering
Oregon Health & Science University