ghc-hetmet.git
16 years agoFix warnings in coreSyn/CoreSyn
Twan van Laarhoven [Fri, 18 Jan 2008 16:55:06 +0000 (16:55 +0000)]
Fix warnings in coreSyn/CoreSyn

16 years agoStrictness tweaks
Ian Lynagh [Fri, 25 Jan 2008 17:43:47 +0000 (17:43 +0000)]
Strictness tweaks

16 years agoParser tweak
Ian Lynagh [Fri, 25 Jan 2008 14:58:47 +0000 (14:58 +0000)]
Parser tweak

16 years agoA couple more parser tweaks
Ian Lynagh [Fri, 25 Jan 2008 14:34:21 +0000 (14:34 +0000)]
A couple more parser tweaks

16 years agoMake comb[234] strict
Ian Lynagh [Thu, 24 Jan 2008 18:31:49 +0000 (18:31 +0000)]
Make comb[234] strict

16 years agoStrictness tweaks
Ian Lynagh [Thu, 24 Jan 2008 18:31:42 +0000 (18:31 +0000)]
Strictness tweaks

16 years agoTell happy to be strict
Ian Lynagh [Thu, 24 Jan 2008 16:52:14 +0000 (16:52 +0000)]
Tell happy to be strict

16 years agoMake the Parser Monad's return strict
Ian Lynagh [Thu, 24 Jan 2008 15:58:27 +0000 (15:58 +0000)]
Make the Parser Monad's return strict

16 years agoGet a bit of sharing
Ian Lynagh [Thu, 24 Jan 2008 15:20:00 +0000 (15:20 +0000)]
Get a bit of sharing

16 years agoMake sL strict in /both/ arguments to L
Ian Lynagh [Thu, 24 Jan 2008 15:12:23 +0000 (15:12 +0000)]
Make sL strict in /both/ arguments to L

16 years agoA touch more strictness in the parser
Ian Lynagh [Thu, 24 Jan 2008 15:01:37 +0000 (15:01 +0000)]
A touch more strictness in the parser

16 years agoAdd a bit of strictness to the parser
Ian Lynagh [Thu, 24 Jan 2008 14:53:11 +0000 (14:53 +0000)]
Add a bit of strictness to the parser

16 years agoUse nilFS
Ian Lynagh [Wed, 23 Jan 2008 21:19:17 +0000 (21:19 +0000)]
Use nilFS

16 years agoWhitespace only
Ian Lynagh [Wed, 23 Jan 2008 17:41:53 +0000 (17:41 +0000)]
Whitespace only

16 years agoFix #2062: foldr1 problem in hpc tool
andy@galois.com [Sat, 26 Jan 2008 21:06:07 +0000 (21:06 +0000)]
Fix #2062: foldr1 problem in hpc tool

16 years agoFix do-notation so that it works with -DDEBUG
simonpj@microsoft.com [Fri, 25 Jan 2008 16:31:01 +0000 (16:31 +0000)]
Fix do-notation so that it works with -DDEBUG

16 years agoBe a little keener to inline
simonpj@microsoft.com [Fri, 25 Jan 2008 10:46:16 +0000 (10:46 +0000)]
Be a little keener to inline

This is really a bug.  A saturated call in an "interesting" context
should inline, but there was a strange "n_val_args > 0" condition, which
was stopping it.  Reported by Roman.

16 years agoFix the build
Ian Lynagh [Thu, 24 Jan 2008 14:18:00 +0000 (14:18 +0000)]
Fix the build
Work around various problems caused by some of the monadification patches
not being applied.

16 years agoReplace ioToTcRn with liftIO
Twan van Laarhoven [Thu, 17 Jan 2008 22:05:53 +0000 (22:05 +0000)]
Replace ioToTcRn with liftIO

16 years agoRemove unused custom versions of monad combinators from IOEnv
Twan van Laarhoven [Thu, 17 Jan 2008 21:58:35 +0000 (21:58 +0000)]
Remove unused custom versions of monad combinators from IOEnv

16 years agoRemove unused custom versions of monad combinators from UniqSupply
Twan van Laarhoven [Thu, 17 Jan 2008 21:57:52 +0000 (21:57 +0000)]
Remove unused custom versions of monad combinators from UniqSupply

16 years agoReplace remaining uses of ioToIOEnv by liftIO, remove ioToIOEnv
Twan van Laarhoven [Thu, 17 Jan 2008 21:52:33 +0000 (21:52 +0000)]
Replace remaining uses of ioToIOEnv by liftIO, remove ioToIOEnv

16 years agoMonadify iface/BuildTyCl: use return
Twan van Laarhoven [Thu, 17 Jan 2008 21:50:36 +0000 (21:50 +0000)]
Monadify iface/BuildTyCl: use return

16 years agoMonadify iface/TcIface: use do, return, applicative, standard monad functions
Twan van Laarhoven [Thu, 17 Jan 2008 21:49:38 +0000 (21:49 +0000)]
Monadify iface/TcIface: use do, return, applicative, standard monad functions

16 years agoMonadify iface/MkIface: use do, return and standard monad functions
Twan van Laarhoven [Thu, 17 Jan 2008 21:44:41 +0000 (21:44 +0000)]
Monadify iface/MkIface: use do, return and standard monad functions

16 years agoMonadify iface/LoadIface: use return and liftIO
Twan van Laarhoven [Thu, 17 Jan 2008 21:42:33 +0000 (21:42 +0000)]
Monadify iface/LoadIface: use return and liftIO

16 years agoMonadify iface/IfaceEnv: use do, return and standard monad functions
Twan van Laarhoven [Thu, 17 Jan 2008 21:40:41 +0000 (21:40 +0000)]
Monadify iface/IfaceEnv: use do, return and standard monad functions

16 years agoMonadify typecheck/TcRnMonad: use return, standard monad functions and liftIO
Twan van Laarhoven [Thu, 17 Jan 2008 21:38:50 +0000 (21:38 +0000)]
Monadify typecheck/TcRnMonad: use return, standard monad functions and liftIO

16 years agoMonadify typecheck/TcEnv: use do, return, applicative, standard monad functions
Twan van Laarhoven [Thu, 17 Jan 2008 21:36:36 +0000 (21:36 +0000)]
Monadify typecheck/TcEnv: use do, return, applicative, standard monad functions

16 years agoMonadify typecheck/TcRnDriver: use return and standard monad functions
Twan van Laarhoven [Thu, 17 Jan 2008 21:33:52 +0000 (21:33 +0000)]
Monadify typecheck/TcRnDriver: use return and standard monad functions

16 years agoMonadify typecheck/TcMatches: use return and standard monad functions
Twan van Laarhoven [Thu, 17 Jan 2008 21:33:07 +0000 (21:33 +0000)]
Monadify typecheck/TcMatches: use return and standard monad functions

16 years agoMonadify typecheck/TcMType: use do, return, applicative, standard monad functions
Twan van Laarhoven [Thu, 17 Jan 2008 21:32:42 +0000 (21:32 +0000)]
Monadify typecheck/TcMType: use do, return, applicative, standard monad functions

16 years agoMonadify typecheck/TcInstDcls: use do, return and standard monad functions
Twan van Laarhoven [Thu, 17 Jan 2008 21:30:40 +0000 (21:30 +0000)]
Monadify typecheck/TcInstDcls: use do, return and standard monad functions

16 years agoMonadify typecheck/TcHsType: use do, return and standard monad functions
Twan van Laarhoven [Thu, 17 Jan 2008 21:28:22 +0000 (21:28 +0000)]
Monadify typecheck/TcHsType: use do, return and standard monad functions

16 years agoMonadify typecheck/TcSimplify: use do, return and standard monad functions
Twan van Laarhoven [Thu, 17 Jan 2008 21:22:00 +0000 (21:22 +0000)]
Monadify typecheck/TcSimplify: use do, return and standard monad functions

16 years agoMonadify typecheck/TcSplice: use do and return
Twan van Laarhoven [Thu, 17 Jan 2008 21:19:11 +0000 (21:19 +0000)]
Monadify typecheck/TcSplice: use do and return

16 years agoMonadify typecheck/TcTyClsDecls: use return and standard monad functions
Twan van Laarhoven [Thu, 17 Jan 2008 21:17:46 +0000 (21:17 +0000)]
Monadify typecheck/TcTyClsDecls: use return and standard monad functions

16 years agoMonadify typecheck/TcDefaults: use return and standard monad functions
Twan van Laarhoven [Thu, 17 Jan 2008 21:15:58 +0000 (21:15 +0000)]
Monadify typecheck/TcDefaults: use return and standard monad functions

16 years agoMonadify typecheck/TcDeriv: use return
Twan van Laarhoven [Thu, 17 Jan 2008 21:15:07 +0000 (21:15 +0000)]
Monadify typecheck/TcDeriv: use return

16 years agoMonadify typecheck/TcClassDcl: use do, return and standard monad functions
Twan van Laarhoven [Thu, 17 Jan 2008 21:14:39 +0000 (21:14 +0000)]
Monadify typecheck/TcClassDcl: use do, return and standard monad functions

16 years agoMonadify typecheck/TcBinds: use do, return and standard monad functions
Twan van Laarhoven [Thu, 17 Jan 2008 21:10:35 +0000 (21:10 +0000)]
Monadify typecheck/TcBinds: use do, return and standard monad functions

16 years agoMonadify typecheck/TcArrows: use do and return
Twan van Laarhoven [Thu, 17 Jan 2008 21:08:18 +0000 (21:08 +0000)]
Monadify typecheck/TcArrows: use do and return

16 years agoMonadify typecheck/Inst: use do, return and standard monad functions
Twan van Laarhoven [Thu, 17 Jan 2008 21:06:55 +0000 (21:06 +0000)]
Monadify typecheck/Inst: use do, return and standard monad functions

16 years agoMonadify typecheck/TcUnify: use do, return and standard monad functions
Twan van Laarhoven [Thu, 17 Jan 2008 21:02:13 +0000 (21:02 +0000)]
Monadify typecheck/TcUnify: use do, return and standard monad functions
  there may be some accidental tab->space conversion

16 years agoMonadify typecheck/TcTyFuns: use standard monad functions
Twan van Laarhoven [Thu, 17 Jan 2008 20:55:05 +0000 (20:55 +0000)]
Monadify typecheck/TcTyFuns: use standard monad functions

16 years agoMonadify typecheck/TcPat: use return and standard monad functions
Twan van Laarhoven [Thu, 17 Jan 2008 20:54:23 +0000 (20:54 +0000)]
Monadify typecheck/TcPat: use return and standard monad functions

16 years agoMonadify typecheck/TcRules: use do, return and standard monad functions
Twan van Laarhoven [Thu, 17 Jan 2008 20:53:07 +0000 (20:53 +0000)]
Monadify typecheck/TcRules: use do, return and standard monad functions

16 years agoMonadify typecheck/TcForeign: use do, return and standard monad functions
Twan van Laarhoven [Thu, 17 Jan 2008 20:49:34 +0000 (20:49 +0000)]
Monadify typecheck/TcForeign: use do, return and standard monad functions

16 years agoMonadify typecheck/TcExpr: use do, return and standard monad functions
Twan van Laarhoven [Thu, 17 Jan 2008 20:46:03 +0000 (20:46 +0000)]
Monadify typecheck/TcExpr: use do, return and standard monad functions

16 years agoMonadify specialise/Specialise: use do, return, standard monad functions and MonadUnique
Twan van Laarhoven [Thu, 17 Jan 2008 20:43:30 +0000 (20:43 +0000)]
Monadify specialise/Specialise: use do, return, standard monad functions and MonadUnique

16 years agoMonadify specialise/SpecConstr: use do, return and standard monad functions
Twan van Laarhoven [Thu, 17 Jan 2008 20:38:42 +0000 (20:38 +0000)]
Monadify specialise/SpecConstr: use do, return and standard monad functions

16 years agoMonadify stgSyn/StgLint
Twan van Laarhoven [Thu, 17 Jan 2008 20:30:42 +0000 (20:30 +0000)]
Monadify stgSyn/StgLint
 - made LintM a newtype instead of a type synonym
 - use do, return and standard monad functions
 - use MaybeT where `thenMaybeL` was used
 - removed custom versions of monad functions

16 years agoMonadify stgSyn/CoreToStg
Twan van Laarhoven [Thu, 17 Jan 2008 20:26:19 +0000 (20:26 +0000)]
Monadify stgSyn/CoreToStg
 - made LneM a newtype instead of a type synonym
 - use do, return and standard monad functions
 - removed custom versions of monad functions

16 years agoRemove generic monad function from State, it was moved to MonadUtils
Twan van Laarhoven [Thu, 17 Jan 2008 20:21:44 +0000 (20:21 +0000)]
Remove generic monad function from State, it was moved to MonadUtils

16 years agoAdded MaybeT monad transformer to utils/Maybes
Twan van Laarhoven [Thu, 17 Jan 2008 20:20:51 +0000 (20:20 +0000)]
Added MaybeT monad transformer to utils/Maybes

16 years agoRemoved unused Maybe functions, use the standard Maybe monad instead
Twan van Laarhoven [Thu, 17 Jan 2008 20:19:53 +0000 (20:19 +0000)]
Removed unused Maybe functions, use the standard Maybe monad instead

16 years agoMonadIO instance for IOEnv
Twan van Laarhoven [Thu, 17 Jan 2008 20:18:12 +0000 (20:18 +0000)]
MonadIO instance for IOEnv

16 years agoMonadify simplCore/SimplMonad: custom monad functions are no longer needed
Twan van Laarhoven [Thu, 17 Jan 2008 20:03:54 +0000 (20:03 +0000)]
Monadify simplCore/SimplMonad: custom monad functions are no longer needed

16 years agoMonadify simplCore/SimplMonad: use MonadUnique instance instead of custom functions
Twan van Laarhoven [Thu, 17 Jan 2008 20:02:28 +0000 (20:02 +0000)]
Monadify simplCore/SimplMonad: use MonadUnique instance instead of custom functions

16 years agoMonadify simplCore/SetLevels: use do, return, standard monad functions and MonadUnique
Twan van Laarhoven [Thu, 17 Jan 2008 19:59:58 +0000 (19:59 +0000)]
Monadify simplCore/SetLevels: use do, return, standard monad functions and MonadUnique

16 years agoMonadify simplCore/SimplUtils: use do, return, standard monad functions and MonadUnique
Twan van Laarhoven [Thu, 17 Jan 2008 19:56:25 +0000 (19:56 +0000)]
Monadify simplCore/SimplUtils: use do, return, standard monad functions and MonadUnique

16 years agoMonadify simplCore/Simplify: use do and return
Twan van Laarhoven [Thu, 17 Jan 2008 19:54:08 +0000 (19:54 +0000)]
Monadify simplCore/Simplify: use do and return

16 years agoMonadify simplCore/SimplEnv: use standard monad functions
Twan van Laarhoven [Thu, 17 Jan 2008 19:52:55 +0000 (19:52 +0000)]
Monadify simplCore/SimplEnv: use standard monad functions

16 years agoMonadify simplCore/SimplCore: use do, return and standard monad functions
Twan van Laarhoven [Thu, 17 Jan 2008 19:51:49 +0000 (19:51 +0000)]
Monadify simplCore/SimplCore: use do, return and standard monad functions

16 years agoMonadify profiling/SCCfinal
Twan van Laarhoven [Thu, 17 Jan 2008 19:44:17 +0000 (19:44 +0000)]
Monadify profiling/SCCfinal
  - change monad type synonym into a newtype
  - use do, return and standard monad functions

16 years agoMonadify coreSyn/CorePrep: use do, return, applicative, standard monad functions
Twan van Laarhoven [Thu, 17 Jan 2008 19:31:54 +0000 (19:31 +0000)]
Monadify coreSyn/CorePrep: use do, return, applicative, standard monad functions

16 years agoMonadify rename/RnTypes: use do, return and standard monad functions
Twan van Laarhoven [Thu, 17 Jan 2008 19:08:23 +0000 (19:08 +0000)]
Monadify rename/RnTypes: use do, return and standard monad functions

16 years agoMonadify rename/RnPat: use do, return and standard monad functions
Twan van Laarhoven [Thu, 17 Jan 2008 19:00:33 +0000 (19:00 +0000)]
Monadify rename/RnPat: use do, return and standard monad functions

16 years agoMonadify rename/RnNames: use return and standard monad functions
Twan van Laarhoven [Thu, 17 Jan 2008 18:58:37 +0000 (18:58 +0000)]
Monadify rename/RnNames: use return and standard monad functions

16 years agoseqMaybe is more commonly known as mplus
Twan van Laarhoven [Thu, 17 Jan 2008 18:53:30 +0000 (18:53 +0000)]
seqMaybe is more commonly known as mplus

16 years agoMonadify rename/RnBinds: use do, return and standard monad functions
Twan van Laarhoven [Thu, 17 Jan 2008 18:43:54 +0000 (18:43 +0000)]
Monadify rename/RnBinds: use do, return and standard monad functions

16 years agoMonadify stranal/StrictAnal: use the State monad instead of a custom thing
Twan van Laarhoven [Thu, 17 Jan 2008 18:04:49 +0000 (18:04 +0000)]
Monadify stranal/StrictAnal: use the State monad instead of a custom thing

16 years agoMonadify stranal/WwLib: use do, return, applicative, standard monad functions
Twan van Laarhoven [Thu, 17 Jan 2008 18:00:22 +0000 (18:00 +0000)]
Monadify stranal/WwLib: use do, return, applicative, standard monad functions

16 years agoAdded MonadUnique class for monads that have a unique supply
Twan van Laarhoven [Thu, 17 Jan 2008 17:56:16 +0000 (17:56 +0000)]
Added MonadUnique class for monads that have a unique supply

16 years agoMonadify stranal/WorkWrap: use do, return, applicative, standard monad functions
Twan van Laarhoven [Thu, 17 Jan 2008 17:50:07 +0000 (17:50 +0000)]
Monadify stranal/WorkWrap: use do, return, applicative, standard monad functions

16 years agoAdded Applicative and Functor instances for State monad
Twan van Laarhoven [Thu, 17 Jan 2008 17:46:56 +0000 (17:46 +0000)]
Added Applicative and Functor instances for State monad

16 years agoMonadify deSugar/DsMonad: use do, return, applicative, standard monad functions
Twan van Laarhoven [Thu, 17 Jan 2008 17:44:32 +0000 (17:44 +0000)]
Monadify deSugar/DsMonad: use do, return, applicative, standard monad functions

16 years agoMonadify deSugar/Desugar: use do, return, applicative, standard monad functions
Twan van Laarhoven [Thu, 17 Jan 2008 17:41:30 +0000 (17:41 +0000)]
Monadify deSugar/Desugar: use do, return, applicative, standard monad functions

16 years agoMonadify deSugar/DsUtils: use do, return, applicative, standard monad functions
Twan van Laarhoven [Thu, 17 Jan 2008 17:38:56 +0000 (17:38 +0000)]
Monadify deSugar/DsUtils: use do, return, applicative, standard monad functions

16 years agoMonadify deSugar/DsListComp: use do, return, applicative, standard monad functions
Twan van Laarhoven [Thu, 17 Jan 2008 17:32:05 +0000 (17:32 +0000)]
Monadify deSugar/DsListComp: use do, return, applicative, standard monad functions

16 years agoMonadify deSugar/DsForeign: use do, return, applicative, standard monad functions
Twan van Laarhoven [Thu, 17 Jan 2008 17:28:43 +0000 (17:28 +0000)]
Monadify deSugar/DsForeign: use do, return, applicative, standard monad functions

16 years agoMonadify deSugar/DsGRHSs: use do, return, applicative, standard monad functions
Twan van Laarhoven [Thu, 17 Jan 2008 17:22:28 +0000 (17:22 +0000)]
Monadify deSugar/DsGRHSs: use do, return, applicative, standard monad functions

16 years agoMonadify deSugar/DsExpr: use do, return, applicative, standard monad functions
Twan van Laarhoven [Thu, 17 Jan 2008 16:40:55 +0000 (16:40 +0000)]
Monadify deSugar/DsExpr: use do, return, applicative, standard monad functions

16 years agoAdded Applicative instance for IOEnv
Twan van Laarhoven [Thu, 17 Jan 2008 16:26:44 +0000 (16:26 +0000)]
Added Applicative instance for IOEnv

16 years agoAdd 'util/MonadUtils.hs' with common monad (and applicative) combinators
Twan van Laarhoven [Thu, 17 Jan 2008 16:19:39 +0000 (16:19 +0000)]
Add 'util/MonadUtils.hs' with common monad (and applicative) combinators

16 years agoMonadify deSugar/MatchLit: use do, return, applicative, standard monad functions
Twan van Laarhoven [Thu, 17 Jan 2008 17:34:39 +0000 (17:34 +0000)]
Monadify deSugar/MatchLit: use do, return, applicative, standard monad functions

16 years agoMonadify deSugar/Match: use do, return, applicative, standard monad functions
Twan van Laarhoven [Thu, 17 Jan 2008 17:33:36 +0000 (17:33 +0000)]
Monadify deSugar/Match: use do, return, applicative, standard monad functions

16 years agoMonadify deSugar/DsCCall: use do, return, applicative, standard monad functions
Twan van Laarhoven [Thu, 17 Jan 2008 16:53:34 +0000 (16:53 +0000)]
Monadify deSugar/DsCCall: use do, return, applicative, standard monad functions

16 years agoMonadify deSugar/DsArrows: use do, return, applicative, standard monad functions
Twan van Laarhoven [Thu, 17 Jan 2008 16:51:14 +0000 (16:51 +0000)]
Monadify deSugar/DsArrows: use do, return, applicative, standard monad functions

16 years agoMonadify deSugar/DsBinds: use do, return, applicative, standard monad functions
Twan van Laarhoven [Thu, 17 Jan 2008 16:47:46 +0000 (16:47 +0000)]
Monadify deSugar/DsBinds: use do, return, applicative, standard monad functions

16 years agoAdded MASSERT macro for assertions in do notation
Twan van Laarhoven [Thu, 17 Jan 2008 16:31:12 +0000 (16:31 +0000)]
Added MASSERT macro for assertions in do notation

16 years agoFIX BUILD wrong imports on non-Windows
Simon Marlow [Thu, 24 Jan 2008 09:29:35 +0000 (09:29 +0000)]
FIX BUILD wrong imports on non-Windows

16 years agoShow CmdLineError exceptions as "<command line>: ..."
Simon Marlow [Wed, 23 Jan 2008 16:31:45 +0000 (16:31 +0000)]
Show CmdLineError exceptions as "<command line>: ..."
instead of something like "ghc-6.8.2: ...", which causes problems in
the test suite.  In any case, "<command line>" seems a more
appropriate context for these errors, the only question is whether
we're using CmdLineError incorrectly anywhere.

16 years agoFIX #1750: in isBrokenPackage, don't loop if the deps are recursive
Simon Marlow [Wed, 23 Jan 2008 16:07:03 +0000 (16:07 +0000)]
FIX #1750: in isBrokenPackage, don't loop if the deps are recursive

16 years agoFIX #1750: throw out mutually recursive groups of packages
Simon Marlow [Wed, 23 Jan 2008 16:06:35 +0000 (16:06 +0000)]
FIX #1750: throw out mutually recursive groups of packages

16 years agoWindows now doesn't need different values for DQ in the build system
Ian Lynagh [Wed, 23 Jan 2008 17:39:33 +0000 (17:39 +0000)]
Windows now doesn't need different values for DQ in the build system

16 years agoFix setting argv[0] in shell-utils.c on Windows
Ian Lynagh [Wed, 23 Jan 2008 16:01:39 +0000 (16:01 +0000)]
Fix setting argv[0] in shell-utils.c on Windows

16 years agoEscape arguments for Windows in shell-tools.c
Ian Lynagh [Wed, 23 Jan 2008 15:17:24 +0000 (15:17 +0000)]
Escape arguments for Windows in shell-tools.c

16 years agoAttach the INLINE Activation pragma to any automatically-generated specialisations
simonpj@microsoft.com [Wed, 23 Jan 2008 13:40:12 +0000 (13:40 +0000)]
Attach the INLINE Activation pragma to any automatically-generated specialisations

Another idea suggested by Roman, happily involving a one-line change.  Here's
the new Note in Specialise:

Note [Auto-specialisation and RULES]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Consider:
   g :: Num a => a -> a
   g = ...

   f :: (Int -> Int) -> Int
   f w = ...
   {-# RULE f g = 0 #-}

Suppose that auto-specialisation makes a specialised version of
g::Int->Int That version won't appear in the LHS of the RULE for f.
So if the specialisation rule fires too early, the rule for f may
never fire.

It might be possible to add new rules, to "complete" the rewrite system.
Thus when adding
RULE forall d. g Int d = g_spec
also add
RULE f g_spec = 0

But that's a bit complicated.  For now we ask the programmer's help,
by *copying the INLINE activation pragma* to the auto-specialised rule.
So if g says {-# NOINLINE[2] g #-}, then the auto-spec rule will also
not be active until phase 2.

16 years agoTidy up the treatment of SPECIALISE pragmas
simonpj@microsoft.com [Tue, 22 Jan 2008 12:26:13 +0000 (12:26 +0000)]
Tidy up the treatment of SPECIALISE pragmas

Remove the now-redundant "const-dicts" field in SpecPrag

In dsBinds, abstract over constant dictionaries in the RULE.
This avoids the creation of a redundant, duplicate, rule later
in the Specialise pass, which was happening before.

There should be no effect on performance either way, just less
duplicated code, and the compiler gets a little simpler.