packages feed

seqaid 0.2.0.0 → 0.2.1.0

raw patch · 5 files changed

+70/−36 lines, 5 files

Files

HTML/extra2.html view
@@ -84,6 +84,8 @@ </pre> And certainly, you don't produce ()'s! <p>+(Later: Even the above is wrong; discussed in <a href="http://www.fremissant.net/deepseq-bounded/deepseq-bounded.html#afterthoughts">afterthoughts</a> in the <tt>deepseq-bounded</tt> homepage.)+<p> After fixing that: <pre>  P  .                                227756    1769792    TA
Seqaid/Core.hs view
@@ -1631,8 +1631,8 @@   -- of elem.    nubsort :: Ord a => [a] -> [a]-  nubsort lst = ( map head . group . sort ) lst  -- O(nlogn)---nubsort lst = nub $ sort lst                   -- O(n^2)!+  nubsort = map head . group . sort  -- O(nlogn)+--nubsort = nub . sort               -- O(n^2)!  ------------------------------------------------------------------------------- 
changelog.txt view
@@ -1,4 +1,8 @@ +0.2.0.0 -> 0.2.1.0+ - realised I should be using Manual: True in all my .cabal flags,+   or else the constraint solver is free to toggle them!!+ 0.1.7.0 -> 0.2.0.0  - deepseq-bounded had a major version bump  - fixed cpphs missing dependency (Seqaid lib, and seqaid and seqaidpp exe's)
+ hackage-tags.txt view
@@ -0,0 +1,14 @@+parallel+leak+space+strictness+forcing+diagnostic+remedial+auto-instrumentation+instrumentation+tools+bsd3+ghc-plugin+program+library
seqaid.cabal view
@@ -2,7 +2,7 @@ -------------------------------------------------------------------------------  name:                seqaid-version:             0.2.0.0+version:             0.2.1.0 synopsis:            Dynamic strictness control, including space leak repair license:             BSD3 license-file:        LICENSE@@ -14,7 +14,7 @@ category:            Compiler Plugin build-type:          Simple stability:           provisional, nascent-cabal-version:       >= 1.10+cabal-version:       >= 1.16  -- NOTE: Version of GHC /must/ be >= 7.8, due to need to use TH >= 2.9. -- Could possibly relax to TH >= 2.8 (which would include GHC 7.6.*),@@ -33,6 +33,7 @@ extra-source-files:       README     , changelog.txt+    , hackage-tags.txt     , HTML/*.html     , HTML/*.css     , release-announcement.txt@@ -52,73 +53,86 @@  Flag HELLO_HACKAGE_VISITOR   Description: [Note to those reading on Hackage:] Please ignore these flags, which would be better presented in a collapsed state. The flags are mostly for development purposes.-  Default:     False+  Default: False+  Manual: True  Flag GHC_710   Description: (Still broken for GHC 7.10.) Until I learn how to test GHC version in the .cabal file, we need a flag, since some build-depends must be excluded completely. (CPP testing __GLASGOW_HASKELL__ is then used the rest of the way, in the source files.)---Default:     True-  Default:     False+--Default: True+  Default: False+  Manual: True  Flag TRY_INJECT_NOINLINE_ON_REQUESTED_BINDS-  Description: If we can prevent inling of injected binds (without requiring user edits), that would probably be a good trade-off in terms of lost optimiser oppportunities in exchange for assurance that the bind won't be inlined. This didn't work, and is a poor solution anyway.---Default:     True-  Default:     False+  Description: If we can prevent inlining of injected binds (without requiring user edits), that would probably be a good trade-off in terms of lost optimiser opportunities in exchange for assurance that the bind won't be inlined. This didn't work, and is a poor solution anyway.+--Default: True+  Default: False+  Manual: True  Flag SEQABLE_ONLY   Description: Like NFDATAN_ONLY, but for newer Seqable module.---Default:     True-  Default:     False+--Default: True+  Default: False+  Manual: True  Flag TH_TYPE_IN_TYPES_ANN   Description: Actually this is just preparatory, haven't gone down this road far yet. (We would like a TH.Type to Type.Type conversion function in the GHC API. Then we'd just send the list of Type.Type for direct use by the Core-plugin downstream).---Default:     True-  Default:     False+--Default: True+  Default: False+  Manual: True  Flag SEQAIDPP_TYPES   Description: Rather than choose types to seqinj for based on the types of the top-level binds, use seqaidpp to parse the types from seqaid.config. This stays on perpetually, finally, and could be removed soon.-  Default:     True---Default:     False+  Default: True+--Default: False+  Manual: True  -- Flag ONLY_TOP_LEVEL_INJECTIONS --   Description: Like it says; as opposed to descending to (potentially) wrap subexpressions ... the latter which has just become possible due to seqaidpp.--- --Default:     True---   Default:     False+-- --Default: True+--   Default: False+--   Manual: True  Flag INFER_TOP_LEVEL_TYPES   Description: If True, then TH will be used as it has been, to blanket-inject all top-level functions (at least, those not explicitly or implicitly excluded). Now, if False, only RHS's with result types in the "types" list for the module (in seqaid.config) will be wrapped (again, at least those not explicitly or implicitly excluded).---Default:     True-  Default:     False+--Default: True+  Default: False+  Manual: True  Flag DEMO_MODE-  Description: This is the only working mode in the first release. (And it only works when tested on the "leaky" package.) The switch exists to exclude hashable/hashtables deps (and subdeps) from the first release, while I can continue to work on this aspect in the development head.-  Default:     True---Default:     False+  Description: This is the only working mode so far. (And it only works when tested on the "leaky" package.) The switch exists to exclude hashable/hashtables deps (and subdeps) from the first release, while I can continue to work on this aspect in the development head.+  Default: True+--Default: False+  Manual: True  Flag DBG_SEQAID-  Description: When set, every call to seqaidDispatch emits a line of info.-  Default:     True---Default:     False+  Description: When set, seqaidDispatch emits status lines periodically.+  Default: True+--Default: False+  Manual: True  Flag NO_TOP_LEVEL_SEQINJ_DUMMIES-  Description: If have to inject a class and instance anyway to evade DCE, no need for the old top-level seqinj_ declarations (we hope...).---Default:     True-  Default:     False+  Description: If have to inject a class and instance anyway to evade DCE, no need for the old top-level seqinj_ declarations (we hope...). (But it turned out they were all still needed.)+--Default: True+  Default: False+  Manual: True  Flag NFDATAN_ONLY   Description: To simplify debugging.---Default:     True-  Default:     False---------------------------------------------------------------------------------+--Default: True+  Default: False+  Manual: True  -- This only applies to NFDATAN_ONLY, since NFDataP has Typeable as -- a superclass already. (The point is, you can set this False, and -- get rid of as much class/instance cruft as possible in the Core,--- for help debugging.)+-- to help debugging.) Flag SHOW_TYPE   Description: Include Typeable instance for (show . typeOf) in seqaidDispatch-  Default:     True---Default:     False+  Default: True+--Default: False+  Manual: True++-------------------------------------------------------------------------------  library {