Skip to content
Snippets Groups Projects
Forked from Glasgow Haskell Compiler / GHC
59067 commits behind the upstream repository.
user avatar
Simon Peyton Jones authored
-------------------------------------------------
	Fix an interesting case-alternatives filtering bug
	-------------------------------------------------

This bug, shown up by Krasimir's ObjectIO suite, caused the
simplifier to encounter a case expression like
	case x of { x:xs -> True; [] -> False }
in a context where x could not possibly be either a (:) or []!
Case expressions in the enclosing scope dealt with it...
So the alternative-filtering removed all the alternatives, leaving
a case expression with no branches, which GHC didn't like one little
bit.

The actual bug was elsewhere; it was because we should sometimes
filter out the DEFAULT alternative, and we weren't doing that.
To fix it, I pulled the alternative-filtering code out of Simplify
and put it in SimplUtils.prepareAlts.  It's nice now.
87a229b8
History
fptools build system
====================

This is the top-level directory of the fptools build system.  Several
packages are part of this build system; if you got this as part of a
source distribution (eg. for GHC), then you will have one or more of
the following directories:

    ghc		  The Glasgow Haskell Compiler
    hslibs	  A Collection of Haskell libraries
    haggis	  The Haggis GUI toolkit
    happy	  The Happy Haskell parser generator
    hdirect       Haskell interop tool
    green-card	  A foreign function interface pre-processor for Haskell.
    nofib	  The NoFib Haskell benchmarking suite

Additional documentation for each project can be found in its
respective directory.

In addition, the following directories contain project-independent bits:

    mk	          GNU make setup used by all of fptools
    glafp-utils   Shared utility programs
    docs          Documentation on the installing and using
                  the fptools build system.
    distrib	  Tools and additional bits for building distributions

Quick start:  the following is *supposed* to work

	$ ./configure
	$ make
	$ make install

where 'make' is whatever GNU make is called on your system (GNU make
is *required*).  The configuration script is a standard GNU autoconf
script which accepts all the normal arguments, eg. --prefix=<blah> to
install the package somewhere other than /usr/local.  Try ./configure
--help to get a full list of the options.

There is usually an ANNOUNCE* file with any distribution.  Please
consult that, or the <piece>/README file, to find out how to proceed.

Full documentation for the fptools build system can be found on the
GHC web pages: 

	http://www.haskell.org/ghc/

--
The GHC Team,  glasgow-haskell-users@haskell.org