seqaid 0.1.6.0 → 0.1.7.0
raw patch · 7 files changed
+53/−7 lines, 7 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
- HTML/combout.html +3/−0
- HTML/extra.html +3/−0
- HTML/index.html +3/−0
- HTML/seqaid.html +3/−0
- Seqaid/Demo.hs +19/−4
- Seqaid/Prepro.hs +19/−0
- seqaid.cabal +3/−3
HTML/combout.html view
@@ -2,6 +2,9 @@ <html> <head> <title>Seqaid : Haskell Leak Eradicator</title>+<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />+<meta http-equiv="Pragma" content="no-cache" />+<meta http-equiv="Expires" content="0" /> <link rel="stylesheet" href="style.css" /> </head> <body>
HTML/extra.html view
@@ -2,6 +2,9 @@ <html> <head> <title>Seqaid : Space leak diagnostic and remedial tool - Contrived?</title>+<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />+<meta http-equiv="Pragma" content="no-cache" />+<meta http-equiv="Expires" content="0" /> <link rel="stylesheet" href="style.css" /> </head> <body>
HTML/index.html view
@@ -2,6 +2,9 @@ <html> <head> <title>Seqaid : Haskell Leak Eradicator</title>+<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />+<meta http-equiv="Pragma" content="no-cache" />+<meta http-equiv="Expires" content="0" /> <link rel="stylesheet" href="style.css" /> </head> <body>
HTML/seqaid.html view
@@ -2,6 +2,9 @@ <html> <head> <title>Seqaid : Space leak diagnostic and remedial tool</title>+<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />+<meta http-equiv="Pragma" content="no-cache" />+<meta http-equiv="Expires" content="0" /> <link rel="stylesheet" href="style.css" /> </head> <body>
Seqaid/Demo.hs view
@@ -25,10 +25,17 @@ import System.Process import System.Exit - leaky_version = "0.1.6.0" -- XXX need a better way!!....+ import Paths_seqaid+ import Data.Version+ import Data.List ( intercalate ) + leaky_version = (intercalate "." $ map show $ take 3 $ versionBranch version) ++ ".0"+--leaky_version = "0.1.6.0" -- XXX need a better way!!....+ main :: IO ExitCode main = do+-- putStrLn $ leaky_version+-- error "DEVEXIT" args <- getArgs if args /= ["demo"] then do@@ -38,19 +45,27 @@ tdir <- createTempDirectory "." "leaky_" -- XXX Note that "cabal get" already extracts the tarball for you. #if IS_WINDOWS- let bang_lines = ""+ let shebang_line = "@echo off\n" #else- let bang_lines = "#!/bin/bash\nset -e\n"+ let shebang_line = "#!/bin/bash\nset -e\n" #endif- let seqaid_init_bash = bang_lines ++ "\+ let seqaid_init_bash = shebang_line ++ "\ \cabal get leaky-" ++ leaky_version ++ "\n\ \cd leaky-" ++ leaky_version ++ "\n\ \cabal configure\n\ \cabal build\n\ \cabal run 123\n\+#if IS_WINDOWS+\echo.\n\+#else \echo\n\+#endif \echo \"(Please see " ++ tdir ++ "/leaky-" ++ leaky_version ++ "/README for the interpretation.)\"\n\+#if IS_WINDOWS+\echo.\n"+#else \echo\n"+#endif setCurrentDirectory tdir writeFile "seqaidinit.sh" seqaid_init_bash p <- getPermissions "seqaidinit.sh"
Seqaid/Prepro.hs view
@@ -5,6 +5,8 @@ {-# LANGUAGE BangPatterns #-} -- temporary... (debugging/testing) +#define PKGNAMEVERS 0+ #define DBG_OMNI 0 -- Sadly it seem there is a bad interaction between SOP.TH and Seqaid.TH,@@ -56,6 +58,7 @@ import Distribution.PackageDescription import Distribution.PackageDescription.Parse+ import Distribution.Package import Distribution.Verbosity import Distribution.Compiler @@ -211,7 +214,12 @@ let instances = instances' +#if PKGNAMEVERS+ (pkgname,pkgvers,cppopts_lst,ghcopts_lst) <- parseCabal $ packagename ++ ".cabal"+ let boo = (cppopts_lst,ghcopts_lst)+#else boo@(cppopts_lst,ghcopts_lst) <- parseCabal $ packagename ++ ".cabal"+#endif -- putStrLn $ show ghcopts_lst #if CAN_MIX_SOP_DERIVING_WITH_SEQAID_TH@@ -622,9 +630,14 @@ ------------------------------------------------------------------------------- +#if PKGNAMEVERS+ parseCabal :: String -> IO (String,String,[String],[String])+#else parseCabal :: String -> IO ([String],[String])+#endif parseCabal cabal_pname = do gpd <- readPackageDescription silent cabal_pname+ let pd = packageDescription gpd let flags = genPackageFlags gpd let flags' = map (\ (MkFlag (FlagName a) b c d) -> (map toUpper a, c)) flags let cppopts_flags = map (\ (x,y) -> " -D" ++ x ++ "=" ++ if y then "1" else "0") flags'@@ -645,7 +658,13 @@ let cppopts_cppopts = cppOptions buildinfo let cppopts = cppopts_flags ++ cppopts_cppopts let ghcopts = process_opts $ options buildinfo+#if PKGNAMEVERS+ let PackageName pkgname = pkgName $ package pd+ let pkgvers = show $ pkgVersion $ package pd+ return (pkgname,pkgvers,cppopts,ghcopts)+#else return (cppopts,ghcopts)+#endif where process_opts :: [(CompilerFlavor, [String])] -> [String] process_opts [] = []
seqaid.cabal view
@@ -1,6 +1,6 @@ name: seqaid-version: 0.1.6.0+version: 0.1.7.0 synopsis: Dynamic strictness control, including space leak repair description: Seqaid is a GHC plugin for non-invasive auto-instrumentation of dynamic strictness (and parallelism) control, shortly to include optimisation for automated space leak relief using minimal strictification. [The optimiser is still in development however.] .@@ -13,8 +13,8 @@ author: Andrew G. Seniuk maintainer: Andrew Seniuk <rasfar@gmail.com> category: Compiler Plugin-bug-reports: Andrew Seniuk <rasfar@gmail.com>---bug-reports: http://fremissant.net/seqaid/trac+bug-reports: http://fremissant.net/seqaid/trac+---bug-reports: Andrew Seniuk <rasfar@gmail.com> build-type: Simple cabal-version: >= 1.10 tested-with: GHC==7.8.1, GHC==7.8.3