From 1d6cbf8189bb8686838b48669f1095f467fe2360 Mon Sep 17 00:00:00 2001 From: hallgren Date: Thu, 18 Oct 2012 20:01:22 +0000 Subject: [PATCH] Use NOINLINE for build info and darcs version info ... to avoid unnecessary recompilation of other modules. --- Setup.hs | 1 + src/compiler/GF/Compile/TypeCheck/TC.hs | 2 +- src/compiler/GF/Infra/BuildInfo.hs | 1 + src/compiler/GFI.hs | 2 +- 4 files changed, 4 insertions(+), 2 deletions(-) diff --git a/Setup.hs b/Setup.hs index 8177b20fa..bb54ea0f3 100644 --- a/Setup.hs +++ b/Setup.hs @@ -391,6 +391,7 @@ extractDarcsVersion distFlag = createDirectoryIfMissing True autogenPath updateFile versionModulePath $ unlines $ ["module "++modname++" where", + "{-# NOINLINE darcs_info #-}", "darcs_info = "++show (either (const (Left ())) Right info)] where dist = fromFlagOrDefault "dist" distFlag diff --git a/src/compiler/GF/Compile/TypeCheck/TC.hs b/src/compiler/GF/Compile/TypeCheck/TC.hs index 43e1a07e1..a56a8c832 100644 --- a/src/compiler/GF/Compile/TypeCheck/TC.hs +++ b/src/compiler/GF/Compile/TypeCheck/TC.hs @@ -41,7 +41,7 @@ data AExp = | AApp AExp AExp Val | AAbs Ident Val AExp | AProd Ident AExp AExp - | AEqs [([Exp],AExp)] --- not used +-- | AEqs [([Exp],AExp)] --- not used | ARecType [ALabelling] | AR [AAssign] | AP AExp Label Val diff --git a/src/compiler/GF/Infra/BuildInfo.hs b/src/compiler/GF/Infra/BuildInfo.hs index a9c974e74..8fdfe8779 100644 --- a/src/compiler/GF/Infra/BuildInfo.hs +++ b/src/compiler/GF/Infra/BuildInfo.hs @@ -4,6 +4,7 @@ import System.Info import Data.Version(showVersion) import DarcsVersion_gf +{-# NOINLINE buildInfo #-} buildInfo = details ++"\nBuilt on "++os++"/"++arch diff --git a/src/compiler/GFI.hs b/src/compiler/GFI.hs index 9c62d1fd0..634e52164 100644 --- a/src/compiler/GFI.hs +++ b/src/compiler/GFI.hs @@ -177,7 +177,7 @@ execute1 opts gfenv0 s0 = pOpts style q ("-qual" :ws) = pOpts style Qualified ws pOpts style q ws = (style,q,unwords ws) - (style,q,s) = pOpts TermPrintDefault Qualified (tail (words s0)) + (style,q,s) = pOpts TermPrintDefault Qualified ws case runP pExp (encodeUnicode utf8 s) of Left (_,msg) -> putStrLn msg