+++ /dev/null
--- $Id$
---
--- Copyright (c) 2002 Manuel M T Chakravarty & Gabriele Keller
---
--- Information for modules outside of the flattening module collection.
---
---- DESCRIPTION ---------------------------------------------------------------
---
--- This module contains information that is needed, and thus imported, by
--- modules that are otherwise independent of flattening and may in fact be
--- directly or indirectly imported by some of the flattening-related
--- modules. This is to avoid cyclic module dependencies.
---
---- DOCU ----------------------------------------------------------------------
---
--- Language: Haskell 98
---
---- TODO ----------------------------------------------------------------------
---
-
-module FlattenInfo (
- namesNeededForFlattening
-) where
-
-import StaticFlags (opt_Flatten)
-import NameSet (FreeVars, emptyFVs, mkFVs)
-import PrelNames (fstName, andName, orName, lengthPName, replicatePName,
- mapPName, bpermutePName, bpermuteDftPName, indexOfPName)
-
-
--- this is a list of names that need to be available if flattening is
--- performed (EXPORTED)
---
--- * needs to be kept in sync with the names used in Core generation in
--- `FlattenMonad' and `NDPCoreUtils'
---
-namesNeededForFlattening :: FreeVars
-namesNeededForFlattening
- | not opt_Flatten = emptyFVs -- none without -fflatten
- | otherwise
- = mkFVs [fstName, andName, orName, lengthPName, replicatePName, mapPName,
- bpermutePName, bpermuteDftPName, indexOfPName]
- -- stuff from PrelGHC doesn't have to go here