Programatica Tools

Directory tools/base

The README file is displayed below the directory index.
NameLast modifiedSize
Parent Directory  -
AST/13-Jun-2006 00:15 -
Flags.ghc15-Mar-2002 00:03 47
HuMakefile09-Jun-2006 22:39 1.2K
Main.hs30-Jul-2001 07:07 8.5K
Makefile19-Jun-2003 21:47 1.2K
Makefile.ghc-4.0828-Apr-2001 03:02 3.1K
Makefile.old30-Jan-2002 08:25 1.8K
Modules/04-Jan-2009 11:18 -
ParseHaskellProgram.hs28-Feb-2002 00:46 1.0K
ParseOld.hs09-Nov-2001 01:47 8.2K
ParseProgram.hs15-Mar-2002 00:03 1.6K
ScopeHaskellProgram.hs07-Feb-2002 01:53 395
ScopeProgram.hs06-Jan-2003 23:50 851
TI/04-Jan-2009 11:18 -
TiProgram.hs26-Mar-2002 07:56 1.3K
defs/04-Jan-2009 11:18 -
ghc_test12-Apr-2001 06:43 227
lib/04-Jan-2009 11:20 -
myghci29-Mar-2002 22:49 88
myhugs11-Mar-2002 01:45 53
parse/04-Jan-2009 12:00 -
parse2/04-Jan-2009 11:18 -
pfei.hs13-Mar-2002 09:41 851
pretty/04-Jan-2009 11:18 -
syntax/15-Apr-2005 01:29 -
testparse12-Apr-2001 06:43 99
testparse223-Oct-2001 01:49 149
tests/02-Jan-2009 11:53 -
transforms/06-Jul-2006 02:13 -
tstModules.hs06-Jan-2003 23:50 5.5K
tstScopeNames.hs24-Nov-2001 10:12 1.6K
tstTI.hs06-Jan-2003 23:50 1.1K
tstTI.srclist13-Apr-2002 00:05 3.7K
Extensible Haskell front-end for the Programatica project - directory base

Extensible Haskell front-end for the Programatica project

What is in this directory (base)

This directory contains the code that deals with the base language, i.e., more or less Haskell 98. It is structured to allow most of the code to be reused without changes in extended versions of the language.

Obsolete subdirectories

parse, SA, TC

Active subdirectories

AST
nonrecursive data structures for the abstract syntax (reusable in extensions),
syntax
knot-tying recursive definitions for the base language (not reusable in extensions),
parse2
Happy parser (not reusable), lexer, lexer generator. The lexer is described in A Lexer for Haskell in Haskell.
Modules
implementation of Haskell's module system, as described in the paper A Formal Specification for the Haskell 98 Module System,
defs
defined names, free names, mapping over names, scoping information, infix operator reassociation (both reusable parts and knot-tying parts for the base language),
TI
type checker (both reusable parts and knot-tying parts for the base language),
pretty
library of pretty printing combinators,
lib
general library modules (does not depend on anything else here),
transforms
Source level transformations (e.g., pattern match simplification). Generation of code for derived instances.
tests
test input,
tests/HaskellLibraries
Haskell 98 Prelude and Standard Libraries, with some minor changes to make them go through our type checker. (This is now an important part of our tools and doesn't belong in the test subdirectory anymore!)

Authors: various
Contact: TH