[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