[prev in list] [next in list] [prev in thread] [next in thread] 

List:       haskell-jhc
Subject:    [jhc] darcs patch: add announcement for 0.7.6 (and 3 more)
From:       John Meacham <john () repetae ! net>
Date:       2010-08-09 1:05:47
Message-ID: 20100809010548.233CF641F5 () sliver ! repetae ! net
[Download RAW message or body]

Sat Jul 31 04:13:53 PDT 2010  John Meacham <john@repetae.net>
  * add announcement for 0.7.6

Sun Aug  1 01:00:35 PDT 2010  John Meacham <john@repetae.net>
  * update strictness and UNPACK annotations

Sun Aug  1 01:21:37 PDT 2010  John Meacham <john@repetae.net>
  * fix build problem for tarball

Sun Aug  1 01:35:07 PDT 2010  John Meacham <john@repetae.net>
  * fix some warnings

["add-announcement-for-0_7_6.dpatch" (text/x-darcs-patch)]

New patches:

[add announcement for 0.7.6
John Meacham <john@repetae.net>**20100731111353
 Ignore-this: 111c27548d94bdfe0042d61b02fe5728
] addfile ./docs/announce/announce-0.7.6.txt
hunk ./docs/announce/announce-0.7.6.txt 1
+Announcing jhc 0.7.6! This release fixes a large number of bugs that cropped up
+when compiling hoskell out in the wild. In addition it has some major internal
+cleanups and better support for cross-compilation. This is a minor release in
+that I am just announcing it on jhc@haskell.org.
+
+  http://repetae.net/computer/jhc/
+
+Changes:
+
+ * New standard libraries
+     - parsec
+     - QuickCheck
+ * New option '-C' that compiles to C code and stops, useful for targeting other
+   platforms or building shared libraries.
+ * Nintendo Wii added as target (thanks to Korcan Hussein)
+ * All Num, Real, and Integral magic removed from compiler. This is a very
+   good thing.
+ * monomorphism-restriction flag is now respected
+ * Type Defaulting now works properly
+ * RULES parse like ghc now for compatibility
+ * 'do' 'where' on same indent now parses
+ * improved help messages
+ * a number of bug fixes
+
+        John
[update strictness and UNPACK annotations
John Meacham <john@repetae.net>**20100801080035
 Ignore-this: e598a6098143c1a62373a443865b3cfb
] hunk ./src/C/Prims.hs 18
 
 data PrimType = PrimType {
     primTypeName :: ExtType,
-    primTypeType :: PrimTypeType,
-    primTypeAlignmentOf :: !Int,
-    primTypeIsSigned :: !Bool,
-    primTypeSizeOf :: !Int
+    primTypeType :: {-# UNPACK #-} !PrimTypeType,
+    primTypeAlignmentOf :: {-# UNPACK #-} !Int,
+    primTypeIsSigned :: {-# UNPACK #-} !Bool,
+    primTypeSizeOf :: {-# UNPACK #-} !Int
     } deriving(Show)
 
 type ExtType = String
hunk ./src/C/Prims.hs 44
     PrimPrim Atom          -- Special primitive implemented in the compiler somehow.
     | CConst { primConst :: String, primRetType :: ExtType }  -- C code which \
evaluates to a constant  | Func {
-        funcIOLike :: !Bool,
+        funcIOLike :: {-# UNPACK #-} !Bool,
         funcName :: PackedString,
         primArgTypes :: [ExtType],
         primRetType :: ExtType
hunk ./src/C/Prims.hs 50
         }   -- function call with C calling convention
     | IFunc {
-        funcIOLike :: !Bool,
+        funcIOLike :: {-# UNPACK #-} !Bool,
         primArgTypes :: [ExtType],
         primRetType :: ExtType
         } -- indirect function call with C calling convention
hunk ./src/C/Prims.hs 54
-    | AddrOf PackedString              -- address of linker name
+    | AddrOf PackedString          -- address of linker name
     | Peek { primArgTy :: Op.Ty }  -- read value from memory
     | Poke { primArgTy :: Op.Ty }  -- write value to memory
     | PrimTypeInfo {
hunk ./src/C/Prims.hs 60
         primArgTy :: Op.Ty,
         primRetTy :: Op.Ty,
-        primTypeInfo :: PrimTypeInfo
+        primTypeInfo :: {-# UNPACK #-} !PrimTypeInfo
         }
     | PrimString PackedString                                 -- address of a raw \
string. encoded in utf8.  | PrimDotNet {
hunk ./src/C/Prims.hs 64
-        primStatic :: !Bool,
+        primStatic :: {-# UNPACK #-} !Bool,
         primDotNet :: DotNetPrim,
hunk ./src/C/Prims.hs 66
-        primIOLike :: !Bool,
+        primIOLike :: {-# UNPACK #-} !Bool,
         primAssembly :: PackedString,
         primDotNetName :: PackedString
         }
hunk ./src/Cmm/Op.hs 149
     deriving(Eq,Ord)
     {-! derive: Binary !-}
 
-data TyBits = Bits !Int | BitsArch !ArchBits |  BitsExt String
+data TyBits = Bits {-# UNPACK #-} !Int | BitsArch {-# UNPACK #-} !ArchBits |  \
BitsExt String  deriving(Eq,Ord)
     {-! derive: Binary !-}
 
hunk ./src/Cmm/Op.hs 163
     {-! derive: Binary !-}
 
 data Ty
-    = TyBits !TyBits !TyHint
+    = TyBits !TyBits {-# UNPACK #-} !TyHint
     | TyBool
     deriving(Eq,Ord)
     {-! derive: Binary !-}
hunk ./src/DataConstructors.hs 127
 
 -- these apply to types
 data DataFamily =
-    DataAbstract        -- abstract internal type, has children of representation \
                unknown and irrelevant.
-    | DataNone          -- children don't apply. data constructor for instance
-    | DataPrimitive     -- primitive type, children are all numbers.
-    | DataEnum !Int     -- bounded integral type, argument is maximum number
-    | DataNormal [Name] -- child constructors
+    DataAbstract                   -- abstract internal type, has children of \
representation unknown and irrelevant. +    | DataNone                     -- \
children don't apply. data constructor for instance +    | DataPrimitive              \
-- primitive type, children are all numbers. +    | DataEnum {-# UNPACK #-} !Int -- \
bounded integral type, argument is maximum number +    | DataNormal [Name]            \
-- child constructors  deriving(Eq,Ord,Show)
     {-! derive: Binary !-}
 
hunk ./src/DataConstructors.hs 144
     conExpr      :: E,            -- expression which constructs this value
     conOrigSlots :: [Slot],       -- original slots
     conDeriving  :: [Name],       -- classes this type derives
-    conAlias     :: AliasType,    -- whether this is a simple alias and has no tag \
of its own. +    conAlias     :: {-# UNPACK #-} !AliasType, -- whether this is a \
                simple alias and has no tag of its own.
     conInhabits  :: Name,         -- what constructor it inhabits, similar to \
                conType, but not quite.
     conVirtual   :: Maybe [Name], -- whether this is a virtual constructor that \
translates into an enum and its siblings  conChildren  :: DataFamily
hunk ./src/E/Demand.hs 56
     deriving(Eq,Ord)
         {-! derive: Binary !-}
 
-data DemandSignature = DemandSignature !Int !DemandType
+data DemandSignature = DemandSignature {-# UNPACK #-} !Int !DemandType
     deriving(Eq,Ord,Typeable)
         {-! derive: Binary !-}
 
hunk ./src/E/SSimplify.hs 74
     deriving(Show,Eq,Ord)
 
 data UseInfo = UseInfo {
-    useOccurance :: !Occurance,   -- ^ occurance Info
-    minimumArgs  :: !Int          -- ^ minimum number of args that are ever passed \
to this function (if used) +    useOccurance :: {-# UNPACK #-} !Occurance,   -- ^ \
occurance Info +    minimumArgs  :: {-# UNPACK #-} !Int          -- ^ minimum number \
of args that are ever passed to this function (if used)  }
     deriving(Show,Eq,Ord,Typeable)
 
hunk ./src/E/SSimplify.hs 292
 
 
 data SimplifyOpts = SimpOpts {
-    so_noInlining :: Bool,                 -- ^ this inhibits all inlining inside \
                functions which will always be inlined
-    so_finalPhase :: Bool,                 -- ^ no rules and don't inhibit inlining
-    so_postLift   :: Bool,                 -- ^ don't inline anything that was \
lifted out +    so_noInlining :: {-# UNPACK #-} !Bool, -- ^ this inhibits all \
inlining inside functions which will always be inlined +    so_finalPhase :: {-# \
UNPACK #-} !Bool, -- ^ no rules and don't inhibit inlining +    so_postLift   :: {-# \
UNPACK #-} !Bool, -- ^ don't inline anything that was lifted out  so_boundVars :: \
                IdMap Comb,            -- ^ bound variables
     so_forwardVars :: IdSet,               -- ^ variables that we know will exist, \
but might not yet.  
hunk ./src/Fixer/Fixer.hs 83
 data MkFixable = forall a . Fixable a => MkFixable (RvValue a)
 
 data Fixer  = Fixer {
-    vars :: !(IORef [MkFixable]),
-    todo :: !(IORef (Set.Set MkFixable))
+    vars :: {-# UNPACK #-} !(IORef [MkFixable]),
+    todo :: {-# UNPACK #-} !(IORef (Set.Set MkFixable))
     }
 
 
hunk ./src/Fixer/Fixer.hs 118
 
 data RvValue a = RvValue {
     ident :: {-# UNPACK #-} !Unique,
-    action :: !(IORef [a -> IO ()]),
-    pending :: !(IORef a),
-    current :: !(IORef a),
+    action :: {-# UNPACK #-} !(IORef [a -> IO ()]),
+    pending :: {-# UNPACK #-} !(IORef a),
+    current :: {-# UNPACK #-} !(IORef a),
     fixer :: Fixer
     }
 
hunk ./src/Fixer/Supply.hs 19
 
 -- maps b's to values of a's, creating them as needed.
 
-data Supply b a = Supply Fixer (IORef (Map.Map b (Value a)))
+data Supply b a = Supply Fixer {-# UNPACK #-} !(IORef (Map.Map b (Value a)))
     deriving(Typeable)
 
 
hunk ./src/FrontEnd/Rename.hs 49
 type SubTable = Map.Map HsName HsName
 
 data ScopeState = ScopeState {
-    unique         :: !Int,
+    unique         :: {-# UNPACK #-} !Int,
     errorTable     :: Map.Map HsName String
     }
 
hunk ./src/FrontEnd/Representation.hs 81
     metaUniq :: {-# UNPACK #-} !Int,
     metaKind :: Kind,
     metaRef :: {-# UNPACK #-} !(IORef (Maybe Type)),
-    metaType :: MetaVarType
+    metaType :: {-# UNPACK #-} !MetaVarType
     }
     {-! derive: Binary !-}
 
hunk ./src/FrontEnd/SrcLoc.hs 15
 import Data.Binary
 
 
-data SrcLoc = SrcLoc { srcLocFileName :: String, srcLocLine :: !Int, srcLocColumn :: \
!Int} +data SrcLoc = SrcLoc { srcLocFileName :: String, srcLocLine :: {-# UNPACK #-} \
!Int, srcLocColumn :: {-# UNPACK #-}  !Int}  deriving(Data,Typeable,Eq,Ord)
     {-! derive: update, Binary !-}
 
hunk ./src/Ho/Build.hs 211
 
 type LibInfo = (Map.Map Module ModuleGroup, Map.Map ModuleGroup [ModuleGroup], \
Set.Set Module,Map.Map ModuleGroup HoBuild,Map.Map ModuleGroup HoTcInfo)  
-data CompNode = CompNode !HoHash [CompNode] !(IORef CompLink)
+data CompNode = CompNode !HoHash [CompNode] {-# UNPACK #-} !(IORef CompLink)
 data CompLink
     = CompLinkUnit CompUnit
     | CompCollected CollectedHo CompUnit
[fix build problem for tarball
John Meacham <john@repetae.net>**20100801082137
 Ignore-this: 33671b52398eef61afa670eb031ef575
] hunk ./Makefile.am 354
 
 JHC_MANUAL_FILES = options.mkd docs/make.mkd docs/dependency_format.mkd \
docs/pragmas.mkd docs/differences.mkd \  docs/unboxed.mkd src/rts/jhc_rts2.c \
                src/FlagOpts.mkd src/FlagDump.mkd src/E/PrimOpt.hs \
-	src/E/TypeCheck.hs src/Options.hs
+	drift_processed/E/TypeCheck.hs drift_processed/Options.hs
[fix some warnings
John Meacham <john@repetae.net>**20100801083507
 Ignore-this: fd350fd02d0ad5a611ee1811de28bce5
] hunk ./src/E/FromHs.hs 13
 import Control.Monad.Identity
 import Control.Monad.RWS
 import qualified Data.Traversable as T
-import Data.Monoid
 import List(isPrefixOf,nub)
 import Prelude
 import qualified Data.Map as Map
hunk ./src/E/FromHs.hs 291
                 nn <- newNameFrom (map (:'\'':[]) ['a' ..])
                 return (tvrIdent tvr,tvr { tvrIdent = toId (toName TypeVal nn) })
             cs <- flip mapM [toTVr assumps dataTable (toName Val v) | (v,_) <- \
                hsRuleFreeVars pr ] $ \tvr -> do
-                let ur = show $ unRename $ nameName (toUnqualified $ runIdentity $ \
fromId (tvrIdent tvr)) +                let ur = show $ unRename (toUnqualified $ \
                runIdentity $ fromId (tvrIdent tvr))
                 nn <- newNameFrom (ur:map (\v -> ur ++ show v) [1 ::Int ..])
                 return (tvrIdent tvr,tvr { tvrIdent = toId (toName Val nn) })
             return (ts,cs)
hunk ./src/E/FromHs.hs 305
 
 convertE :: Monad m => TiData -> ClassHierarchy -> Map.Map Name Type -> DataTable -> \
SrcLoc -> HsExp -> m E  convertE tiData classHierarchy assumps dataTable srcLoc exp = \
                do
-    [(_,_,e)] <- convertDecls tiData mempty classHierarchy assumps dataTable \
[HsPatBind srcLoc (HsPVar sillyName') (HsUnGuardedRhs exp) []] +    [(_,_,e)] <- \
convertDecls tiData mempty classHierarchy assumps dataTable [HsPatBind srcLoc (HsPVar \
v_silly) (HsUnGuardedRhs exp) []]  return e
 
 v_silly = toName Val ("Jhc@","silly")
hunk ./src/E/FromHs.hs 309
-sillyName' = nameName v_silly
 
 data CeEnv = CeEnv {
     ceAssumps :: Map.Map Name Type,
hunk ./src/E/FromHs.hs 581
                               setProperty prop_EXPORTED fn),
                  result)]
 
-    cDecl (HsPatBind sl (HsPVar n) (HsUnGuardedRhs exp) []) | n == sillyName' = do
+    cDecl (HsPatBind sl (HsPVar n) (HsUnGuardedRhs exp) []) | n == v_silly = do
         e <- cExpr exp
         return [(v_silly,tvr,e)]
     cDecl (HsPatBind sl p rhs wh) | (HsPVar n) <- p = do
hunk ./src/E/FromHs.hs 887
 
         match :: Monad m => [E] -> [([HsPat],E->E)] -> E -> Ce m E
         -- when we run out of arguments, we should run out of patterns. simply fold \
                the transformers.
-        match  [] ps err = return $ foldr f err ps where f ([],fe) err = fe err
+        match  [] ps err = return $ foldr f err ps where f (~[],fe) err = fe err
         -- when we are out of patterns, return the error term
         match _ [] err = return err
         match ~(b:bs) ps err = do
hunk ./src/E/FromHs.hs 891
-            (b',mf) <- if isEVar b   then return (b,id) else do
+            (b',mf) <- if isEVar b then return (b,id) else do
                 [ev] <- newVars [getType b]
                 return $ (EVar ev, eLet ev b)
             pps <- tidyHeads b' ps

Context:

[TAG 0.7.6
John Meacham <john@repetae.net>**20100731104908
 Ignore-this: d5edc6edd6d300cbae451f0e056ee018
] 
Patch bundle hash:
b695d793352f8f8449ac844d0ecd65c6b9607f0d



_______________________________________________
jhc mailing list
jhc@haskell.org
http://www.haskell.org/mailman/listinfo/jhc

.

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic