Patch for support of rich token stream in GHC
Chaddaï Fouché
chaddai.fouche at gmail.com
Fri Sep 5 10:07:30 EDT 2008
This patch add four exported functions to GHC.hs and one to Lexer.x,
it allows one to extract a token stream from a source file. This token
stream include comments which means it contains everything needed to
recreate Haddock for example in a more independent fashion (the
current one is completely interleaved with GHC and complicate a lot of
code).
In addition, three functions in GHC.hs work on a stream of pair of
(Located Token, String), the second member corresponding to the source
of the first, one function extract this from a file and another
convert it back to a String virtually identical to the source file
(except for insignificant whitespace). With this we can support the
model used by HaRe : get the AST and the token stream, modify the AST,
propagate the modifications to the token stream, pretty-print this
token stream.
Normally, this patch shouldn't interfere with anything in GHC (except
that there will be some very small changes to make when the new API
roll in).
--
Jedaï
New patches:
[rawTokenStream
Chaddai Fouche <chaddai.fouche at gmail.com>**20080902114133
This patch try to add support to the lexer to generate raw token stream
including comments in order to support refactoring and other code
transformations without loss of code layout.
It also add a high level interface to this support in the GHC module,
expecially it allows one to get a list of couples
(located token, string corresponding to the token) since the tokens
in the GHC lexer lose some informations anyway.
] {
hunk ./compiler/main/DynFlags.hs 301
+ | Opt_KeepRawTokenStream
hunk ./compiler/main/GHC.hs 194
+ getTokenStream,
+ getRawTokenStream,
hunk ./compiler/main/GHC.hs 263
-import StringBuffer ( StringBuffer, hGetStringBuffer )
+import StringBuffer ( StringBuffer, hGetStringBuffer, nextChar )
hunk ./compiler/main/GHC.hs 270
+import Lexer
hunk ./compiler/main/GHC.hs 1573
--- The resulting graph has no hi-boot nodes, but can by cyclic
+-- The resulting graph has no hi-boot nodes, but can be cyclic
hunk ./compiler/main/GHC.hs 2282
+#endif
hunk ./compiler/main/GHC.hs 2285
--- ToDo: add comment tokens to token stream
-getTokenStream :: Session -> Module -> IO [Located Token]
-#endif
+getTokenStream :: Session -> Module -> IO (Maybe [Located Token])
+getTokenStream s mod = do
+ mg <- getModuleGraph s
+ case [ m | m <- mg, ms_mod m == mod ] of
+ [] -> return Nothing
+ m:_ -> do
+ case ml_hs_file $ ms_location m of
+ Nothing -> return Nothing
+ Just sourceFile -> do
+ source <- hGetStringBuffer sourceFile
+ let startLoc = mkSrcLoc (mkFastString sourceFile) 0 0
+ case lexTokenStream source startLoc (ms_hspp_opts m) of
+ POk _ ts -> return $ Just ts
+ _ -> return Nothing
+
+
+getRawTokenStream :: Session -> Module -> IO (Maybe [(Located Token, String)])
+getRawTokenStream s mod = do
+ mg <- getModuleGraph s
+ case [ m | m <- mg, ms_mod m == mod ] of
+ [] -> return Nothing
+ m:_ -> do
+ case ml_hs_file $ ms_location m of
+ Nothing -> return Nothing
+ Just sourceFile -> do
+ source <- hGetStringBuffer sourceFile
+ let startLoc = mkSrcLoc (mkFastString sourceFile) 0 0
+ case lexTokenStream source startLoc (ms_hspp_opts m) of
+ POk _ ts -> return . Just $ getSource startLoc source ts
+ _ -> return Nothing
+ where getSource _ _ [] = []
+ getSource loc buf (t@(L span _) : ts) =
+ let (newLoc, newBuf, str) = extract span loc buf
in (t,str) : getSource newLoc newBuf ts
+ extract span loc buf | not (isGoodSrcSpan span) =
(loc, buf, "")
+ | otherwise = go "" loc buf
+ where start = srcSpanStart span
+ end = srcSpanEnd span
+ go acc loc buf | loc < start = go
acc nLoc nBuf
+ | start <= loc && loc
< end = go (ch:acc) nLoc nBuf
+ | otherwise = (nLoc,
nBuf, reverse (ch:acc))
+ where (ch, nBuf) = nextChar buf
+ nLoc = advanceSrcLoc loc ch
+
hunk ./compiler/parser/Lexer.x 44
- addWarning
+ addWarning,
+ lexTokenStream
hunk ./compiler/parser/Lexer.x 152
-"-- " ~[$docsym \#] .* ;
-"--" [^$symbol : \ ] .* ;
+"-- " ~[$docsym \#] .* { lineCommentToken }
+"--" [^$symbol : \ ] .* { lineCommentToken }
hunk ./compiler/parser/Lexer.x 157
-"-- " [$docsym \#] .* / { ifExtension (not . haddockEnabled) } ;
+"-- " [$docsym \#] .* / { ifExtension (not . haddockEnabled) } {
lineCommentToken }
hunk ./compiler/parser/Lexer.x 165
-"---"\-* [^$symbol :] .* ;
+"---"\-* [^$symbol :] .* { lineCommentToken }
hunk ./compiler/parser/Lexer.x 170
-"--"\-* / { atEOL } ;
+"--"\-* / { atEOL } { lineCommentToken }
hunk ./compiler/parser/Lexer.x 175
-"-- " / { atEOL } ;
+"-- " / { atEOL } { lineCommentToken }
hunk ./compiler/parser/Lexer.x 281
- "-- #" .* ;
+ "-- #" .* { lineCommentToken }
hunk ./compiler/parser/Lexer.x 579
+ | ITlineComment String -- comment starting by "--"
+ | ITblockComment String -- comment in {- -}
hunk ./compiler/parser/Lexer.x 808
+lineCommentToken :: Action
+lineCommentToken span buf len = do
+ b <- extension rawTokenStreamEnabled
+ if b then strtoken ITlineComment span buf len else lexToken
+
hunk ./compiler/parser/Lexer.x 820
- go (1::Int) input
+ go "" (1::Int) input
hunk ./compiler/parser/Lexer.x 822
- go 0 input = do setInput input; cont
- go n input = case alexGetChar input of
+ go commentAcc 0 input = do setInput input
+ b <- extension rawTokenStreamEnabled
+ if b
+ then docCommentEnd input commentAcc
ITblockComment _str span
+ else cont
+ go commentAcc n input = case alexGetChar input of
hunk ./compiler/parser/Lexer.x 831
- Just ('\125',input) -> go (n-1) input
- Just (_,_) -> go n input
+ Just ('\125',input) -> go commentAcc (n-1) input
+ Just (_,_) -> go ('-':commentAcc) n input
hunk ./compiler/parser/Lexer.x 835
- Just ('-',input) -> go (n+1) input
- Just (_,_) -> go n input
- Just (_,input) -> go n input
+ Just ('-',input) -> go ('-':'\123':commentAcc) (n+1) input
+ Just (_,_) -> go ('\123':commentAcc) n input
+ Just (c,input) -> go (c:commentAcc) n input
hunk ./compiler/parser/Lexer.x 1610
+v v v v v v v
hunk ./compiler/parser/Lexer.x 1612
+*************
+rawTokenStreamBit = 19 -- producing a token stream with all comments included
+^ ^ ^ ^ ^ ^ ^
hunk ./compiler/parser/Lexer.x 1636
+v v v v v v v
hunk ./compiler/parser/Lexer.x 1638
+*************
+rawTokenStreamEnabled flags = testBit flags rawTokenStreamBit
+^ ^ ^ ^ ^ ^ ^
hunk ./compiler/parser/Lexer.x 1702
- .|. transformComprehensionsBit `setBitIf` dopt
Opt_TransformListComp flags
+ .|. transformComprehensionsBit `setBitIf` dopt
Opt_TransformListComp flags
+ .|. rawTokenStreamBit `setBitIf` dopt
Opt_KeepRawTokenStream flags
hunk ./compiler/parser/Lexer.x 1819
-}
hunk ./compiler/parser/Lexer.x 1820
+lexTokenStream :: StringBuffer -> SrcLoc -> DynFlags -> ParseResult
[Located Token]
+lexTokenStream buf loc dflags = unP go initState
+ where initState = mkPState buf loc (dopt_set (dopt_unset dflags
Opt_Haddock) Opt_KeepRawTokenStream)
+ go = do
+ ltok <- lexer return
+ case ltok of
+ L _ ITeof -> return []
+ _ -> liftM (ltok:) go
+ }
}
[showRawTokenStream
Chaddai Fouche <chaddai.fouche at gmail.com>**20080905125900
This patch add a function to print out a raw token stream using the
location and the source strings stored with the tokens. It is easy to
write a roundtrip from a .hs file and back with this support.
] {
hunk ./compiler/main/GHC.hs 196
+ showRawTokenStream,
hunk ./compiler/main/GHC.hs 2284
--- This is for reconstructing refactored source code
--- Calls the lexer repeatedly.
-getTokenStream :: Session -> Module -> IO (Maybe [Located Token])
-getTokenStream s mod = do
+
+getModuleSourceAndFlags :: Session -> Module -> IO (Maybe (String,
StringBuffer, DynFlags))
+getModuleSourceAndFlags s mod = do
hunk ./compiler/main/GHC.hs 2295
- let startLoc = mkSrcLoc (mkFastString sourceFile) 0 0
- case lexTokenStream source startLoc (ms_hspp_opts m) of
- POk _ ts -> return $ Just ts
- _ -> return Nothing
+ return . Just $ (sourceFile, source, ms_hspp_opts m)
hunk ./compiler/main/GHC.hs 2298
+-- | Give the list of token from the module source, including comments
+-- | Calls the lexer repeatedly.
+getTokenStream :: Session -> Module -> IO (Maybe [Located Token])
+getTokenStream s mod = do
+ src <- getModuleSourceAndFlags s mod
+ case src of
+ Nothing -> return Nothing
+ Just (sourceFile, source, flags) ->
+ do
+ let startLoc = mkSrcLoc (mkFastString sourceFile) 0 0
+ case lexTokenStream source startLoc flags of
+ POk _ ts -> return $ Just ts
+ _ -> return Nothing
+
+-- | Give even more information on the source than getTokenStream
+-- | This function allows to reconstruct the source completely with
+-- | 'showRawTokenStream'
hunk ./compiler/main/GHC.hs 2317
- mg <- getModuleGraph s
- case [ m | m <- mg, ms_mod m == mod ] of
- [] -> return Nothing
- m:_ -> do
- case ml_hs_file $ ms_location m of
- Nothing -> return Nothing
- Just sourceFile -> do
- source <- hGetStringBuffer sourceFile
- let startLoc = mkSrcLoc (mkFastString sourceFile) 0 0
- case lexTokenStream source startLoc (ms_hspp_opts m) of
+ src <- getModuleSourceAndFlags s mod
+ case src of
+ Nothing -> return Nothing
+ Just (sourceFile, source, flags) ->
+ do
+ let startLoc = mkSrcLoc (mkFastString sourceFile) 0 0
+ case lexTokenStream source startLoc flags of
hunk ./compiler/main/GHC.hs 2326
- where getSource _ _ [] = []
- getSource loc buf (t@(L span _) : ts) =
- let (newLoc, newBuf, str) = extract span loc buf
in (t,str) : getSource newLoc newBuf ts
- extract span loc buf | not (isGoodSrcSpan span) =
(loc, buf, "")
- | otherwise = go "" loc buf
- where start = srcSpanStart span
- end = srcSpanEnd span
- go acc loc buf | loc < start = go
acc nLoc nBuf
- | start <= loc && loc
< end = go (ch:acc) nLoc nBuf
- | otherwise = (nLoc,
nBuf, reverse (ch:acc))
- where (ch, nBuf) = nextChar buf
- nLoc = advanceSrcLoc loc ch
-
+ where getSource _ _ [] = []
+ getSource loc buf (t@(L span _) : ts) =
+ let (newLoc, newBuf, str) = extract span loc buf
+ in (t,str) : getSource newLoc newBuf ts
+ extract span loc buf | not (isGoodSrcSpan span) = (loc, buf, "")
+ | otherwise = go "" loc buf
+ where start = srcSpanStart span
+ end = srcSpanEnd span
+ go acc loc buf | loc < start = go acc nLoc nBuf
+ | start <= loc && loc < end =
go (ch:acc) nLoc nBuf
+ | otherwise = (loc, buf, reverse acc)
+ where (ch, nBuf) = nextChar buf
+ nLoc = advanceSrcLoc loc ch
+-- | take a raw token stream such as produced from 'getRawTokenStream' and
+-- | evaluates to a source almost identical to the original code (except
+-- | unsignificant whitespace)
+showRawTokenStream :: [(Located Token, String)] -> String
+showRawTokenStream ts = go startLoc ts ""
+ where sourceFile = srcSpanFile (getLoc . fst . head $ ts)
+ startLoc = mkSrcLoc sourceFile 0 0
+ go _ [] = id
+ go loc (t@(L span _, str):ts)
+ | not (isGoodSrcSpan span) = go loc ts
+ | locLine == tokLine = ((replicate (tokCol - locCol) ' ') ++)
+ . (str ++)
+ . go tokEnd ts
+ | otherwise = ((replicate (tokLine - locLine) '\n') ++)
+ . ((replicate tokCol ' ') ++)
+ . (str ++)
+ . go tokEnd ts
+ where (locLine, locCol) = (srcLocLine loc, srcLocCol loc)
+ (tokLine, tokCol) = (srcSpanStartLine span,
srcSpanStartCol span)
+ tokEnd = srcSpanEnd span
hunk ./compiler/parser/Lexer.x 1610
-v v v v v v v
hunk ./compiler/parser/Lexer.x 1611
-*************
-rawTokenStreamBit = 19 -- producing a token stream with all comments included
-^ ^ ^ ^ ^ ^ ^
+rawTokenStreamBit = 20 -- producing a token stream with all comments included
hunk ./compiler/parser/Lexer.x 1633
-v v v v v v v
hunk ./compiler/parser/Lexer.x 1634
-*************
hunk ./compiler/parser/Lexer.x 1635
-^ ^ ^ ^ ^ ^ ^
}
[Minor improvements to the TokenStream functions
Chaddai Fouche <chaddai.fouche at gmail.com>**20080905135847
* Use *Rich*TokenStream instead of *Raw*TokenStream (makes more sense to
me).
* abstract addSourceToTokens from getRichTokenStream, the result is
simpler and we can now work with StringBuffer from end to end, for a
better support of generated or litteral sources.
] {
hunk ./compiler/main/GHC.hs 191
+ -- * Token stream manipulations
+ Token,
+ getTokenStream, getRichTokenStream,
+ showRichTokenStream, addSourceToTokens,
+
hunk ./compiler/main/GHC.hs 199
- getTokenStream,
- getRawTokenStream,
- showRawTokenStream,
hunk ./compiler/main/GHC.hs 2301
--- | Calls the lexer repeatedly.
+-- Calls the lexer repeatedly.
hunk ./compiler/main/GHC.hs 2315
--- | This function allows to reconstruct the source completely with
--- | 'showRawTokenStream'
-getRawTokenStream :: Session -> Module -> IO (Maybe [(Located Token, String)])
-getRawTokenStream s mod = do
+-- This function allows to reconstruct the source completely with
+-- 'showRichTokenStream'
+getRichTokenStream :: Session -> Module -> IO (Maybe [(Located Token, String)])
+getRichTokenStream s mod = do
hunk ./compiler/main/GHC.hs 2326
- POk _ ts -> return . Just $ getSource startLoc source ts
+ POk _ ts -> return . Just $ addSourceToTokens
startLoc source ts
hunk ./compiler/main/GHC.hs 2328
- where getSource _ _ [] = []
- getSource loc buf (t@(L span _) : ts) =
- let (newLoc, newBuf, str) = extract span loc buf
- in (t,str) : getSource newLoc newBuf ts
- extract span loc buf | not (isGoodSrcSpan span) = (loc, buf, "")
- | otherwise = go "" loc buf
- where start = srcSpanStart span
- end = srcSpanEnd span
- go acc loc buf | loc < start = go acc nLoc nBuf
- | start <= loc && loc < end =
go (ch:acc) nLoc nBuf
- | otherwise = (loc, buf, reverse acc)
- where (ch, nBuf) = nextChar buf
- nLoc = advanceSrcLoc loc ch
--- | take a raw token stream such as produced from 'getRawTokenStream' and
--- | evaluates to a source almost identical to the original code (except
--- | unsignificant whitespace)
-showRawTokenStream :: [(Located Token, String)] -> String
-showRawTokenStream ts = go startLoc ts ""
+
+-- | Given a source location and a StringBuffer corresponding to this
+-- location, return a rich token stream with the source associated to
the tokens
+addSourceToTokens :: SrcLoc -> StringBuffer -> [Located Token] ->
[(Located Token, String)]
+addSourceToTokens _ _ [] = []
+addSourceToTokens loc buf (t@(L span _) : ts)
+ | not (isGoodSrcSpan span) = (t,"") : addSourceToTokens loc buf ts
+ | otherwise = (t,str) : addSourceToTokens newLoc newBuf ts
+ where
+ (newLoc, newBuf, str) = go "" loc buf
+ start = srcSpanStart span
+ end = srcSpanEnd span
+ go acc loc buf | loc < start = go acc nLoc nBuf
+ | start <= loc && loc < end = go (ch:acc) nLoc nBuf
+ | otherwise = (loc, buf, reverse acc)
+ where (ch, nBuf) = nextChar buf
+ nLoc = advanceSrcLoc loc ch
+
+
+-- | take a rich token stream such as produced from 'getRichTokenStream' and
+-- evaluates to a source almost identical to the original code (except
+-- unsignificant whitespace)
+showRichTokenStream :: [(Located Token, String)] -> String
+showRichTokenStream ts = go startLoc ts ""
hunk ./compiler/main/GHC.hs 2355
- go loc (t@(L span _, str):ts)
+ go loc ((L span _, str):ts)
}
Context:
[Define _BSD_SOURCE in Stg.h
Ian Lynagh <igloo at earth.li>**20080904185042
This means S_ISSOCK gets defined on Linux
]
[Add a note explaining a couple of seq's
Ian Lynagh <igloo at earth.li>**20080904154931]
[fix message for missing packages
Ross Paterson <ross at soi.city.ac.uk>**20080904164816
An incorrect libraries/ prefix was being added.
]
[add assertion to check that UniqFM is only passed "positive" uniques
dias at eecs.harvard.edu**20080904135155
The insertion code in UniqFM fails if a unique key
produces a negative FastInt. I've added an assertion to check
that each insertion uses a positive Unique.
Where do the negative uniques come from? Both Simom M and
I have run into this problem when computing hashes for data structures.
In both cases, we have avoided the problem by ensuring that
the hashes remain positive.
]
[Add darcs-all usage info
Ian Lynagh <igloo at earth.li>**20080904125412]
[Re-merge concurrent,timeout,unique,st,getopt into base
Ian Lynagh <igloo at earth.li>**20080903223508]
[Fix ifBuildable
Ian Lynagh <igloo at earth.li>**20080903204101
Required libraries now have 3 fields in the packages file, not 2
]
[Major change in compilation of instance declarations (fix Trac #955, #2328)
simonpj at microsoft.com**20080903120228
This patch makes an important change to the way that dictionary
functions are handled. Before, they were unconditionally marked
INLIINE, but all the code written by the user in the instance
was inside that unconditionally-inlined function. Result: massive
code bloat in programs that use complicated instances.
This patch make instances behave rather as if all the methods
were written in separate definitions. That dramatically reduces
bloat. The new plan is described in TcInstDcls
Note [How instance declarations are translated]
Everything validates. The major code-bloat bug is squashed: in particular
DoCon is fine now (Trac #2328) and I believe that #955 is also better.
Nofib results:
Binary sizes
-1 s.d. +2.5%
+1 s.d. +3.1%
Average +2.8%
Allocations
-1 s.d. -6.4%
+1 s.d. +2.5%
Average -2.0%
Note that 2% improvement. Some programs improve by 20% (rewrite)!
Two get slightly worse: pic (2.1%), and gameteb (3.2%), but all others
improve or stay the same.
I am not absolutely 100% certain that all the corners are correct; for
example, when default methods are marked INLINE, are they inlined? But
overall it's better.
It's nice that the patch also removes a lot of code. I deleted some
out of date comments, but there's something like 100 fewer lines of
code in the new version! (In the line counts below, there are a lot
of new comments.)
]
[Improved specialisation of recursive groups
simonpj at microsoft.com**20080903115629
This patch significantly improves the way in which recursive groups
are specialised. This turns out ot be very important when specilising
the bindings that (now) emerge from instance declarations.
Consider
let rec { f x = ...g x'...
; g y = ...f y'.... }
in f 'a'
Here we specialise 'f' at Char; but that is very likely to lead to
a specialisation of 'g' at Char. We must do the latter, else the
whole point of specialisation is lost. This was not happening before.
The whole thing is desribed in
Note [Specialising a recursive group]
Simon
]
[Cope with recent versions of Perl that lack the $* feature
simonpj at microsoft.com**20080902103043]
[FIX #2554: GHC.TopHandler.{runIO,runNonIO} should be GC roots
Simon Marlow <marlowsd at gmail.com>**20080902124504]
[Check the modification times of libraries in --make link step
Simon Marlow <marlowsd at gmail.com>**20080901132614
When linking in --make we check the modification time of the
executable against the modification time of the object files, and only
re-link if any object file is newer. However, we should also check
the modification times of packages, since the recompilation checker
also tracks dependencies in packages.
In a GHC build this means that if you recompile stage2 and don't
manage to change any fingerpints, we won't recompile Main but we'll
still re-link it.
]
[Make the dynlibs, ghci and ncg flags manual too
Ian Lynagh <igloo at earth.li>**20080831152428]
[Squash a space leak
Ian Lynagh <igloo at earth.li>**20080830235430]
[Fix a space leak
Ian Lynagh <igloo at earth.li>**20080830192619]
[fix a space leak
Ian Lynagh <igloo at earth.li>**20080830192526]
[Make ghc.cabal's editline flag manual, to simplify the Makefile
Ian Lynagh <igloo at earth.li>**20080831152103]
[Don't build ghc in stage1 with editline (since we already don't build
ghci). Fixes #2557.
Judah Jacobson <judah.jacobson at gmail.com>**20080830211429]
[If we want a profiled GHC then use -auto-all when building the GHC lib
Ian Lynagh <igloo at earth.li>**20080830191305]
[Fix building the GHC API with profiling
Ian Lynagh <igloo at earth.li>**20080830161637]
[Actually, that's use a separate haddock repo for now
Ian Lynagh <igloo at earth.li>**20080830123032
Everything will be changing in a couple of weeks anyway, so let's
just keep it simple for the time being.
]
[Always build docs/{ext-core,storage-mgt}, even when making a bindist
Ian Lynagh <igloo at earth.li>**20080829152141]
[Fix linkage on OpenBSD.
kili at outback.escape.de**20080828150331]
[push-all needs to skip http:// repos, as we don't know how to push to them
Ian Lynagh <igloo at earth.li>**20080829130019
Alternatives would be to have a GHC haddock repo (which I believe David
is keen to avoid), or to put the SSH URL in the packages file too (which
would probably mean moving to a more structured file format).
]
[Remove install-inplace directories when cleaning
Ian Lynagh <igloo at earth.li>**20080828221701]
[Use the right ghc-pkg when installing the rts package
Ian Lynagh <igloo at earth.li>**20080828191512]
[When installing, we can't rely on the ghc-pkg we just installed to work
Ian Lynagh <igloo at earth.li>**20080828182447
If DESTDIR is defined, then on *nix machines ghc-pkg is a script that
doesn't point to the right path. Therefore we use the ghc-pkg binary
directly.
]
[Tweaks for installs into a DESTDIR
Ian Lynagh <igloo at earth.li>**20080828182148]
[Handle the html target in compiler/ and ghc/
Ian Lynagh <igloo at earth.li>**20080828151429]
[Turn on optimisation for stage2 when validating
Ian Lynagh <igloo at earth.li>**20080828142320
This brings my validate down from 22mins to 16 mins.
Compiling stage2 takes longer, but we gain a faster haddock, faster
running of the tests, and faster building of the utils to be installed.
]
[haddock 2 doc fixes
Ian Lynagh <igloo at earth.li>**20080828142210]
[Remove an erroneous comma from the Makefile
Ian Lynagh <igloo at earth.li>**20080828132316]
[Disambiguate some names in haddock comments
Ian Lynagh <igloo at earth.li>**20080828125018]
[Update the build system to handle building and using haddock2
Ian Lynagh <igloo at earth.li>**20080828124814
One side-effect of this is that we need to build the install-utils with
stage2 rather than stage1 as we need the ghc package.
]
[Fix a haddock2 failure
Ian Lynagh <igloo at earth.li>**20080828124721]
[Don't check that we have found haddock
Ian Lynagh <igloo at earth.li>**20080828124608
We now use an in-tree haddock instead
]
[Don't fail if libraries/bootstrapping already exists
Ian Lynagh <igloo at earth.li>**20080827185024]
[When haddocking the libraries, tell Cabal where haddock is
Ian Lynagh <igloo at earth.li>**20080827182731
We can't do it when configuring, because we haven't built haddock yet
]
[Build haddock with the stage1 compiler
Ian Lynagh <igloo at earth.li>**20080814112221]
[Teach darcs-all about absolute repos, and add haddock to packages
Ian Lynagh <igloo at earth.li>**20080813220158]
[Improve documentation of stolen syntax
simonpj at microsoft.com**20080828125211
This patch adds a section that summarises what syntax is stolen by
which flags. The section is at the end of the "syntactic extensions"
section of the manual.
]
[Fix Trac #2529: derived read for prefix constructor operators
simonpj at microsoft.com**20080828121006]
[Fix Trac #745: improve error recoevery for type signatures
simonpj at microsoft.com**20080827153322
It turns out that fixing Trac #745 is easy using mapAndRecoverM,
and tidies up the code nicely in several places. Hurrah.
]
[Fix Trac #2538: better error messages when validating types
simonpj at microsoft.com**20080827153051
This fix solely concerns error messages, and uses a bit of contextual
information to suggest plausible flags.
It was rather more fiddly to implement than I expected. Oh well.
]
[Fix Trac #2520: duplicate symbols
simonpj at microsoft.com**20080827152728
The problem here was that were were quantifying over an *External* Name,
which causes no end of confusion. See Note [Const rule dicts] in DsBinds.
The fix is very easy, I'm happy to say.
]
[Only specialise on dictionaries that have some interesting structure
simonpj at microsoft.com**20080827152540
I discovered by accident that we were generating utterly useless
specialisations. See Note [Interesting dictionary arguments] in Specialise.
This patch used SimplUtils.interestingArg to restrict specialisation to
cases where the dictionary acutally has some information to give us.
]
[Better documentation for -XLiberalTypeSynonyms, and steal forall keyword
simonpj at microsoft.com**20080827151926
In my travels through the front end I discoverd that -XLiberalTypeSynonyms is
rather thinly described. Furthermore, it alleges that you can write a
forall on the RHS of a type synonym decl, so that means it should enable
the forall keyword.
]
[re-fix of #1205, fix #2542
Simon Marlow <marlowsd at gmail.com>**20080827102414
New form of :load in GHCi:
> :load *A
forces A to be loaded as byte-code. See the manual for details. The
previous behaviour for specifying filenames vs. module names on the
command line and in :load has been restored.
The Target datatype has a new Bool field, which is True if the target
is allowed to be loaded from compiled code, or False otherwise, so
this functionality is available via the GHC API. guessTarget
understands the *-prefix form for specifying targets.
]
[Improve documentation of MagicHash and primitive types generally (Trac #2547)
simonpj at microsoft.com**20080827090544]
[Give locations of flag warnings/errors
Ian Lynagh <igloo at earth.li>**20080826185641]
[Remove a now-redundant comment
Ian Lynagh <igloo at earth.li>**20080826182629]
[Separate the static flag parser from the static global variables
Ian Lynagh <igloo at earth.li>**20080826155612
This allows us to avoid a module import loop:
CmdLineParser -> SrcLoc -> Outputable -> StaticFlags -> CmdLineParser
]
[Move pprFastFilePath from SrcLoc to Outputable
Ian Lynagh <igloo at earth.li>**20080826144452]
[Fix flaggery for RULES (cf Trac #2497)
simonpj at microsoft.com**20080826122121
This patch executes the plan described in the discussion in Trac #2497.
Specficially:
* Inside a RULE, switch on the forall-as-keyword in the lexer,
unconditionally. (Actually this is done by an earlier patch.)
* Merge the -XScopedTypeVariables and -XPatternSignatures flags,
and deprecate the latter. Distinguishing them isn't senseless,
but it's jolly confusing.
* Inside a RULE, switch on -XScopedTypeVariables unconditionally.
* Change -frewrite-rules to -fenable-rewrite-rules; deprecate the former.
Internally the DynFlag is now Opt_EnableRewriteRules.
There's a test in typecheck/should_compile/T2497.hs
]
[always treat 'forall' and '.' as reserved keywords inside RULES pragmas
Simon Marlow <marlowsd at gmail.com>**20080820132911]
[Fix a nasty float-in bug
simonpj at microsoft.com**20080822133427
This is a long-standing bug in FloatIn, which I somehow managed to
tickle (it's actually surprisingly hard to provoke which is why
it has not shown up before).
The problem was that we had a specialisation like this:
let
f_spec = ...
in let
{-# RULE f Int = f_spec #-}
f = ...
in
<body>
The 'f_spec' binding was being floated inside the binding for 'f',
which makes the RULE invalid becuase 'f_spec' isn't in scope.
We just need to add the free variables of the RULE in the right
places...
]
[Make rule printing wobble less
simonpj at microsoft.com**20080821123100
a) When generating specialisations, include the types in the name
of the rule, to avoid having rules with duplicate names.
(The rule name is used to put rules in canonical order for
fingerprinting.)
b) In Specialise and SpecConstr use a new function Rules.pprRulesForUser
to print rules in canonical order. This reduces unnecessary wobbling
in test output, notably in T2486
]
[syb is now in its own package
Ian Lynagh <igloo at earth.li>**20080825214124]
[Fix "runghc foo" where the program is foo.hs or foo.lhs
Ian Lynagh <igloo at earth.li>**20080825194352]
[When making bindists, check that we know where we are
Ian Lynagh <igloo at earth.li>**20080825190912]
[Fix the ghci script; fixes trac #2485
Ian Lynagh <igloo at earth.li>**20080825183247]
[Update .darcs-boring for the new libraries, plus some other odds and ends
Ian Lynagh <igloo at earth.li>**20080825154249]
[Read the packages file in strictly in darcs-all and push-all
Ian Lynagh <igloo at earth.li>**20080825145908
This fixes a problem where darcs tries to update it while perl has it
open. On Windows this fails. Spotted by Claus Reinke.
]
[Remove the InstallShield directory; it is no longer used
Ian Lynagh <igloo at earth.li>**20080825143356]
[Remove the now-unused WindowsInstaller directory
Ian Lynagh <igloo at earth.li>**20080825143214]
[Set datadir=libdir; fixes trac #2541
Ian Lynagh <igloo at earth.li>**20080825141653
GHC needs package.conf and things like unlit to be in the same place
]
[Get everything building with base 4 in the HEAD
Ian Lynagh <igloo at earth.li>**20080825120907
Some things were using the base3 compat library.
]
[Change references to the old BIN_DIST_TARBALL to the new BIN_DIST_TAR_BZ2
Ian Lynagh <igloo at earth.li>**20080824233821]
[Fix the "have we got all the bootlibs" check
Ian Lynagh <igloo at earth.li>**20080824175106
The packages file has an extra component (for "darcs" or "git") so we need
to take that into account when grepping.
]
[concurrent, unique, timeout have now been split off from base
Ian Lynagh <igloo at earth.li>**20080824135052]
[Actually tar up Windows bindists
Ian Lynagh <igloo at earth.li>**20080824135032]
[getopt is now split off from base
Ian Lynagh <igloo at earth.li>**20080824020156]
[st is now split off from base
Ian Lynagh <igloo at earth.li>**20080823222941]
[Ignore install-docs in compiler/Makefile and ghc/Makefile
Ian Lynagh <igloo at earth.li>**20080821231349]
[Fix making bindists
Ian Lynagh <igloo at earth.li>**20080821223537
We were looking for executable things, but not requiring that they were
files. So we were adding lots of directories (and thus their contents)
to the bindists, massively inflating their size.
]
[mk/cabal.mk now turns on -Wall
Ian Lynagh <igloo at earth.li>**20080821173102]
[Fix warnings in runghc
Ian Lynagh <igloo at earth.li>**20080821173051]
[Make some utils -Wall clean
Ian Lynagh <igloo at earth.li>**20080821153914]
[unix is now warning-free
Ian Lynagh <igloo at earth.li>**20080821120128]
[Fix references to exceptions from the RTS
Ian Lynagh <igloo at earth.li>**20080821110620
We now need to make sure that they have been toException'd.
Also, the RTS doesn't know about the Deadlock exception any more.
]
[It doesn't look like HSprel.def is used any more
Ian Lynagh <igloo at earth.li>**20080821105914]
[base (and base3-compat) is no warning-free
Ian Lynagh <igloo at earth.li>**20080821001608]
[Don't put symlinks in bindists, but the files they point at instead
Ian Lynagh <igloo at earth.li>**20080820134141]
[Fix making it possible to build without the NCG
Ian Lynagh <igloo at earth.li>**20080818202845
If
GhcWithNativeCodeGen = NO
then we don't build the NCG modules, and we define OMIT_NATIVE_CODEGEN
]
[Comment fix
Ian Lynagh <igloo at earth.li>**20080817210851]
[Remove GHC_TOP; we don't actually use it
Ian Lynagh <igloo at earth.li>**20080817210226]
[We need to give make some more clues
Ian Lynagh <igloo at earth.li>**20080817140005
Otherwise it can't work out how to make in ghc/ any more.
]
[Change how we know whether or not we are validating
Ian Lynagh <igloo at earth.li>**20080817123311
We now set Validating=YES in mk/are-validating.mk rather than on the
commandline. This means that if you build a tree with validate then
just running make in it will use the validate flags.
"make distclean" removes mk/are-validating.mk, putting us back in
standard build mode.
]
[Don't clean the multi-stage stuff unless CLEAN_ALL_STAGES is YES
Ian Lynagh <igloo at earth.li>**20080817121000]
[When making in compiler/, automatically make in ghc/ when we are done
Ian Lynagh <igloo at earth.li>**20080817114202]
[Don't do the stage1 re-linking hack if we have GHC >= 6.9
Ian Lynagh <igloo at earth.li>**20080817114132]
[Avoid scary "Package contains no library to register" message in installPackage
Ian Lynagh <igloo at earth.li>**20080817113128
We only call register if we actually have a library to be registered
]
[Don't use the cc-options from packages when compiling .hc files
Simon Marlow <marlowsd at gmail.com>**20080821155549
Now that we don't include any header files in .hc apart from our own,
the cc-options from packages are at best superfluous, so don't pass
them.
We still pass them to .c compilations, although I've just made changes
to Cabal so that cc-options from a .cabal file are not copied into the
InstalledPackageInfo. Most uses of cc-options in Cabal are clearly
intended to be local to the package, but they were being propagated
everywhere, almost certainly unintentionally.
The way is left open for Cabal to allow packages to specify cc-options
that get propagated in the future, if we find a use case for this.
]
[Improve error message when 'forall' is not a keyword
simonpj at microsoft.com**20080821123502]
[move directory after Win32/unix
Simon Marlow <marlowsd at gmail.com>**20080821100436]
[Fix Haddock comments in TcGenDeriv
simonpj at microsoft.com**20080821074924]
[Fix compacting GC on 64-bit machines
Simon Marlow <marlowsd at gmail.com>**20080820125446
Some old experimental change leaked in with the parallel GC patches,
it seems
]
[Fix Trac #2456: eliminate duplicate bindings when deriving
simonpj at microsoft.com**20080820120751
Condsider deriving two overlapping Data declarations for the same type
deriving instance Data (T A)
deriving instance Data (T B)
We were getting duplicate bindings for the data-con and tycon auxiliary
bindings for T. This patch fixes the problem by doing these two decls
the same way as we do con2tag etc.
(Why might you want such instances; see Trac #2456.)
]
[Elaborate for-all message slightly
simonpj at microsoft.com**20080820120728]
[set $(BOOTSTRAPPING_PACKAGE_CONF_HC_OPTS) automatically based on $(HC)
Simon Marlow <marlowsd at gmail.com>**20080819101437
This fixes nofib
]
[Fix Trac #2518: add hs-boot files as an infelicty
simonpj at microsoft.com**20080819123016]
[use System.FilePath's isSearchPathSeparator instead of our own
Simon Marlow <marlowsd at gmail.com>**20080818113555]
[FIX #2521: trailing colon in GHC_PACKAGE_PATH
Simon Marlow <marlowsd at gmail.com>**20080818113345
This was broken in the System.FilePath switchover, since filepath's
splitSearchPath doesn't do what we want (it ignores empty
components on Windows, and treats them as "." on Unix). So we use our
own hand-rolled version, just like GHC.
]
[Test for and reject duplicate dependencies (#2330)
Simon Marlow <marlowsd at gmail.com>**20080818112434]
[When doing :l, abandon all breakpoints before we unload everything
Ian Lynagh <igloo at earth.li>**20080816152135
I'm not 100% sure if this is the right fix, but it seems sensible and
stops break008 segfaulting for me on amd64/Linux.
]
[Comment fixes; trac #2468
Ian Lynagh <igloo at earth.li>**20080816130910]
[Stop dph/dph-{par,seq} reconfiguring themselves all the time
Ian Lynagh <igloo at earth.li>**20080814173013]
[Follow changes in Cabal
Ian Lynagh <igloo at earth.li>**20080813215844]
[When distcleaning in utils/, distclean (rather then merely clean) the utils
Ian Lynagh <igloo at earth.li>**20080815114939]
[Only clean utils/pwd/pwd when distcleaning, not when cleaning
Ian Lynagh <igloo at earth.li>**20080812232544
Otherwise "make clean" in utils leaves us without a pwd, and lots of bad
things happen.
]
[In cabal.mk, clean is no longer identical to distclean
Ian Lynagh <igloo at earth.li>**20080812232446
distclean will now also remove files listed in EXTRA_DISTCLEAN
]
[Improve -fwarn-orphans documentation (thanks to Tim)
simonpj at microsoft.com**20080814152648]
[Fix #2441 (unregister/expose/hide packages in non-first package databases)
Simon Marlow <marlowsd at gmail.com>**20080814125348]
[add --no-user-package-conf
Simon Marlow <marlowsd at gmail.com>**20080814125312]
[move INPLACE_DATA_DIR into mk/config.mk and share it
Simon Marlow <marlowsd at gmail.com>**20080813144707]
[FIX #1963: use Cabal's writeFileAtomic to write the new package.conf
Simon Marlow <marlowsd at gmail.com>**20080813143738
This depends on #2298 also being fixed, which I'll do shortly
]
[FIX #2492: ghc-pkg insists on having HOME environment variable set
Simon Marlow <marlowsd at gmail.com>**20080813143436]
[FIX #2491 (ghc-pkg unregister should complain about breaking
dependent packages)
Simon Marlow <marlowsd at gmail.com>**20080813142555]
[put back -fwarn-depcrecations
Simon Marlow <marlowsd at gmail.com>**20080812141606
It was replaced by -fwarn-warnings-deprecations, but I think we want
to keep it for backwards compatibility. I'm not sure we want to
deprecate it either...
]
[add special globbing file for Windows to ghc-pkg.cabal
dias at eecs.harvard.edu**20080813105306]
[Improve error message for deprecated flags (Trac #2513)
simonpj at microsoft.com**20080813094506]
[Improve docs for orphan decls (thanks Yitzchak Gale)
simonpj at microsoft.com**20080813082828]
[fix cut-and-pasto
Simon Marlow <marlowsd at gmail.com>**20080811144158]
[build base3-compat
Simon Marlow <marlowsd at gmail.com>**20080811143831]
[Don't warn if 'import Prelude' doesn't import anything
Simon Marlow <marlowsd at gmail.com>**20080805133702
... even if Prelude doesn't come from the base package (it might come from
a old backwards-compatible version of base, for example).
]
[Add -XPackageImports, new syntax for package-qualified imports
Simon Marlow <marlowsd at gmail.com>**20080805133544
Now you can say
import "network" Network.Socket
and get Network.Socket from package "network", even if there are
multiple Network.Socket modules in scope from different packages
and/or the current package.
This is not really intended for general use, it's mainly so that we
can build backwards-compatible versions of packages, where we need to
be able to do
module GHC.Base (module New.GHC.Base) where
import "base" GHC.Base as New.GHC.Base
]
[Suppress uniques when (and only when) we have -dsuppress-uniques
simonpj at microsoft.com**20080812144028]
[get exception names from Control.Exception.Base instead of Control.Exception
Ross Paterson <ross at soi.city.ac.uk>**20080812122048]
[Fix Trac #2490: sections should be parenthesised
simonpj at microsoft.com**20080812082332
When I added bang patterns I had to slightly generalise where the
parser would recognise sections. See Note [Parsing sections] in
parser.y.pp.
I forgot to check that ordinary H98 sections obey the original
rules. This patch adds the check.
]
[Refactoring: define TcRnMonad.failWith and use it in the renamer
simonpj at microsoft.com**20080812082255]
[Layout only
simonpj at microsoft.com**20080812081822]
[Use dph-{seq|par} instead of dph_{seq|par}
Roman Leshchinskiy <rl at cse.unsw.edu.au>**20080812021939]
[Simplify how we build dph
Ian Lynagh <igloo at earth.li>**20080809203803]
[Generalise libraries/Makefile.local
Ian Lynagh <igloo at earth.li>**20080809161838
It's now possible to build libraries in, e.g.,
libraries/foo/bar
rather than just
libraries/foo
]
[The dph packages still contain warnings
Ian Lynagh <igloo at earth.li>**20080809161815]
[Print tidy rules in user style, to avoid gratuitous uniques
simonpj at microsoft.com**20080811144257
The uniques that come out in dumpStyle make it harder to compare
output in the testsuite. And the rules are tidied, so uniques
are not necessary. If you want the uniques, use -dppr-debug.
]
[Export Depth (needed for mkUserStyle); collapse identical
PrintUnqualified, QueryQualifies
simonpj at microsoft.com**20080811144208]
[When suppressing uniques, don't print the separating underscore
simonpj at microsoft.com**20080811144118]
[Make -dsuppress-uniques apply regardless of -ppr-debug
simonpj at microsoft.com**20080811144032]
[Fix Trac #2367: selectors for GADTs
simonpj at microsoft.com**20080811123526
The generation of record selectors for GADTs and the like was
pretty screwed up. This patch fixes it.
Note that Unify.refineType is now used only in the generation of
record seletctors -- but it really does seem to be needed there.
Thanks to Max for finding this bug.
]
[Mostly fix Trac #2431: make empty case acceptable to (most of) GHC
simonpj at microsoft.com**20080811123158
See the comments with Trac #2431. This patch makes an empty HsCase
acceptable to the renamer onwards. If you want to accept empty case
in Haskell source there's a little more to do: the ticket lists the
remaining tasks.
]
[Fix Trac #2412: type synonyms and hs-boot recursion
simonpj at microsoft.com**20080811122523
Max Bolingbroke found this awkward bug, which relates to the way in
which hs-boot files are handled.
--> HEADS UP: interface file format change: recompile everything!
When we import a type synonym, we want to *refrain* from looking at its
RHS until we've "tied the knot" in the module being compiled. (Reason:
the type synonym might ultimately loop back to the module being compiled.)
To achieve this goal we need to know the *kind* of the synonym without
looking at its RHS. And to do that we need its kind recorded in the interface
file.
I slightly refactored the way that the IfaceSyn data constructor
fields work, eliminating the previous tricky re-use of the same field
as either a type or a kind.
See Note [Synonym kind loop] in TcIface
]
[Fix Trac #2506: infix assert
simonpj at microsoft.com**20080811105011]
[Use do-notation
simonpj at microsoft.com**20080811104949]
[Fix Trac #2494: tcSimplifyRuleLhs
simonpj at microsoft.com**20080811104438
tcSimplifyRuleLhs is a cut-down constraint simplifier, intended for
use in RULE left-hand-sides. But it was written before implication
constraints, and the exmaple of this bug report shows that when higher
rank types are involved we need to be a bit cleverer.
The whole business of simplifying constraints on rule LHSs is a bit
of a hack; but for a good reason. See the comments with tcSimplifyRuleLhs.
This patch at least cures the crash.
]
[Make comparison on equalities work right (ie look at the types)
simonpj at microsoft.com**20080811104011
This patch makes
(s1~t1) == (s2~t2) iff s1==s2, t1==t2
The comparison and equality instances for Insts are really only
used in making the AvailEnv in TcSimplify, which equalities are
never put into, which is why we've gotten away with this for so long.
But I'm now using 'nub' in the error messages for equalities,
and in any case it makes sense to have the right equality!
]
[Minor refactoring; no functionality change
simonpj at microsoft.com**20080811103821]
[Fix Trac #2486: restore the specialiser to a working state
simonpj at microsoft.com**20080809163123
In improving the specialiser's data reprsentaion, thus
Mon Apr 28 16:57:11 GMT Daylight Time 2008 simonpj at microsoft.com
* Fix Trac #1969: perfomance bug in the specialiser
I got the sense of a pair of filter functions back to front.
As a result, almost all specialisation opportunities were being
filtered out, and no specialisations were being generated.
Fortunately, dolio notice and reported Trac #2486. The fix is
simple: put the filters the right way roud.
]
[Remove a pointless use of $(HERE_ABS)/
Ian Lynagh <igloo at earth.li>**20080810173237]
[Don't give the -d flag to rm; it goes wrong on Windows
Ian Lynagh <igloo at earth.li>**20080810173053]
[Add mk/bindist.mk
Ian Lynagh <igloo at earth.li>**20080810150737]
[Remove references to the files that the RTS no longer knows about
Ian Lynagh <igloo at earth.li>**20080810144740
Spotted by Simon
]
[We don't need to generate driver/package.conf any more; spotted by Simon
Ian Lynagh <igloo at earth.li>**20080810144259]
[Remove inplace-datadir when cleaning
Ian Lynagh <igloo at earth.li>**20080810144118]
[Remove driver/ghc; The Cabal package in ghc/ now makes a wrapper itself
Ian Lynagh <igloo at earth.li>**20080810143655]
[Make "make clean" in ghc/ only clean the stage we want to clean
Ian Lynagh <igloo at earth.li>**20080810142409]
[Make "make clean" in compiler/ only clean the stage we want to clean
Ian Lynagh <igloo at earth.li>**20080810142026
If you "make clean" in the root then we still clean all stages
]
[Also clean pwd.hi and pwd.o
Ian Lynagh <igloo at earth.li>**20080810140731]
[bindist fixes
Ian Lynagh <igloo at earth.li>**20080810133925]
[bindists are now some way towards working
Ian Lynagh <igloo at earth.li>**20080810005016]
[Use Cabal to build pwd
Ian Lynagh <igloo at earth.li>**20080810002807]
[Move allM to MonadUtils
Max Bolingbroke <batterseapower at hotmail.com>**20080807224853]
[Remove redundant fromIntegral calls
Max Bolingbroke <batterseapower at hotmail.com>**20080807224333]
[Remove CoreSyn SOURCE imports
Max Bolingbroke <batterseapower at hotmail.com>**20080807223718]
[Fixed performance bug in ext-core preprocessor
Tim Chevalier <chevalier at alum.wellesley.edu>**20080809002051
The Core preprocessor was rebuilding the type and data constructor
environments every time it called the typechecker, which was horribly
inefficient. Fixed.
]
[Fix darcs-all get
Ian Lynagh <igloo at earth.li>**20080807203258]
[Fix errors with haddock 0.8
Ian Lynagh <igloo at earth.li>**20080807131506]
[Document Name and expand it's API
Max Bolingbroke <batterseapower at hotmail.com>**20080807122901]
[Follow OccName changes in Convert
Max Bolingbroke <batterseapower at hotmail.com>**20080731120741]
[Use DynFlags.getMainFun in TcRnDriver
Max Bolingbroke <batterseapower at hotmail.com>**20080731055210]
[Fix Vectorise after introduction of MonadThings
Max Bolingbroke <batterseapower at hotmail.com>**20080731054813]
[Follow introduction of MkCore in VectUtils
Max Bolingbroke <batterseapower at hotmail.com>**20080731054722]
[Fix VectMonad after introduction of MonadThings
Max Bolingbroke <batterseapower at hotmail.com>**20080731054623]
[Minor refactorings in TcEnv
Max Bolingbroke <batterseapower at hotmail.com>**20080731054437]
[Handle introduction of MkCore in DsMonad and expand API
Max Bolingbroke <batterseapower at hotmail.com>**20080731054239]
[Add MkCore, holding general Core construction facilities
Max Bolingbroke <batterseapower at hotmail.com>**20080731054128]
[Document HscTypes, refactor it somewhat, remove unused type and add MonadThings
Max Bolingbroke <batterseapower at hotmail.com>**20080731054042]
[Use new RdrName export in RdrHsSyn
Max Bolingbroke <batterseapower at hotmail.com>**20080731053731]
[Document CoreUtils
Max Bolingbroke <batterseapower at hotmail.com>**20080731053542]
[Document Packages and a minor refactoring
Max Bolingbroke <batterseapower at hotmail.com>**20080731053054]
[Document CoreSyn and expand its API
Max Bolingbroke <batterseapower at hotmail.com>**20080731052941]
[Document IdInfo
Max Bolingbroke <batterseapower at hotmail.com>**20080731052819]
[Document DynFlags and expand API
Max Bolingbroke <batterseapower at hotmail.com>**20080731052653]
[Document OccName and expand it's API
Max Bolingbroke <batterseapower at hotmail.com>**20080731052238]
[Follow Digraph changes in VectType
Max Bolingbroke <batterseapower at hotmail.com>**20080731012356]
[Follow OccName changes in VectBuiltIn
Max Bolingbroke <batterseapower at hotmail.com>**20080731012355]
[Document Util
Max Bolingbroke <batterseapower at hotmail.com>**20080807115505]
[Document UniqSet
Max Bolingbroke <batterseapower at hotmail.com>**20080731012355]
[Document UniqFM and add listToUFM_C
Max Bolingbroke <batterseapower at hotmail.com>**20080731012355]
[Follow FastString changes in Pretty
Max Bolingbroke <batterseapower at hotmail.com>**20080731012354]
[Document Outputable
Max Bolingbroke <batterseapower at hotmail.com>**20080807114806]
[Document FiniteMap
Max Bolingbroke <batterseapower at hotmail.com>**20080731012353]
[Document FastString and rename strLength to lengthLS
Max Bolingbroke <batterseapower at hotmail.com>**20080731012353]
[Add more functionality to Digraph and refactor it's interface
somewhat, including adding a Graph ADT
Max Bolingbroke <batterseapower at hotmail.com>**20080731012353]
[Document TypeRep and follow OccName change
Max Bolingbroke <batterseapower at hotmail.com>**20080731012352]
[Document Type
Max Bolingbroke <batterseapower at hotmail.com>**20080731012352]
[Document TyCon
Max Bolingbroke <batterseapower at hotmail.com>**20080731012352]
[Document Coercion
Max Bolingbroke <batterseapower at hotmail.com>**20080731012351]
[Follow Digraph changes in TcTyDecls
Max Bolingbroke <batterseapower at hotmail.com>**20080731012351]
[Make IOEnv a MonadUnique
Max Bolingbroke <batterseapower at hotmail.com>**20080731012351]
[Follow TcEnv API addition in TcForeign
Max Bolingbroke <batterseapower at hotmail.com>**20080731012350]
[Follow Digraph changes in TcBinds
Max Bolingbroke <batterseapower at hotmail.com>**20080731012350]
[Follow OccName and MkCore changes in Inst
Max Bolingbroke <batterseapower at hotmail.com>**20080731012349]
[Document Rules
Max Bolingbroke <batterseapower at hotmail.com>**20080731012349]
[Follow Literal change in Simplify
Max Bolingbroke <batterseapower at hotmail.com>**20080731012349]
[Follow Digraph changes in OccurAnal
Max Bolingbroke <batterseapower at hotmail.com>**20080731012348]
[Follow Digraph changes in RnBinds and small refactoring
Max Bolingbroke <batterseapower at hotmail.com>**20080731012348]
[Document TysWiredIn and follow OccName changes
Max Bolingbroke <batterseapower at hotmail.com>**20080731012347]
[Follow OccName changes in TysPrim
Max Bolingbroke <batterseapower at hotmail.com>**20080731012347]
[Follow OccName changes in ParserCore
Max Bolingbroke <batterseapower at hotmail.com>**20080731012347]
[Follow Digraph changes in RegLiveness
Max Bolingbroke <batterseapower at hotmail.com>**20080731012346]
[Follow Digraph changes in RegAllocLinear.hs
Max Bolingbroke <batterseapower at hotmail.com>**20080731012346]
[Follow Digraph changes in AsmCodeGen
Max Bolingbroke <batterseapower at hotmail.com>**20080731012346]
[Document InteractiveEval and follow OccName change
Max Bolingbroke <batterseapower at hotmail.com>**20080731012345]
[Follow Digraph changes in GHC; patch from Max Bolingbroke
Ian Lynagh <igloo at earth.li>**20080807112510]
[Expand ErrUtils api with another plain variant
Max Bolingbroke <batterseapower at hotmail.com>**20080731012344]
[Follow OccName changes and minor refactorings in TcIface
Max Bolingbroke <batterseapower at hotmail.com>**20080731012343]
[Follow Digraph changes in MkIface
Max Bolingbroke <batterseapower at hotmail.com>**20080731012343]
[Minor refactoring in RtClosureInspect
Max Bolingbroke <batterseapower at hotmail.com>**20080731012342]
[Handle optSrcSpanFileName in InteractiveUI
Max Bolingbroke <batterseapower at hotmail.com>**20080731012342]
[Handle introduction of MkCore in MatchLit
Max Bolingbroke <batterseapower at hotmail.com>**20080731012342]
[Handle introduction of MkCore in MatchCon
Max Bolingbroke <batterseapower at hotmail.com>**20080731012342]
[Handle introduction of MkCore in Match
Max Bolingbroke <batterseapower at hotmail.com>**20080731012341]
[Handle introduction of MkCore in DsUtils
Max Bolingbroke <batterseapower at hotmail.com>**20080731012341]
[Handle introduction of MkCore in DsMeta
Max Bolingbroke <batterseapower at hotmail.com>**20080731012340]
[Handle introduction of MkCore in DsListComp
Max Bolingbroke <batterseapower at hotmail.com>**20080731012340]
[Handle introduction of MkCore in DsForeign
Max Bolingbroke <batterseapower at hotmail.com>**20080731012340]
[Handle introduction of MkCore in DsExpr
Max Bolingbroke <batterseapower at hotmail.com>**20080731012340]
[Handle introduction of MkCore in DsBinds
Max Bolingbroke <batterseapower at hotmail.com>**20080731012339]
[Handle introduction of MkCore in DsArrows
Max Bolingbroke <batterseapower at hotmail.com>**20080731012339]
[Handle optSrcSpanFileName rename in Coverage
Max Bolingbroke <batterseapower at hotmail.com>**20080731012339]
[Document CgUtils, follow Digraph changes
Max Bolingbroke <batterseapower at hotmail.com>**20080731012337]
[Document UniqSupply
Max Bolingbroke <batterseapower at hotmail.com>**20080731012334]
[Document SrcLoc
Max Bolingbroke <batterseapower at hotmail.com>**20080731012334]
[Document RdrName and expand its API
Max Bolingbroke <batterseapower at hotmail.com>**20080731012334]
[Make Module Uniquable
Max Bolingbroke <batterseapower at hotmail.com>**20080731012332]
[Tweak comments in MkId and follow mkStringLit renaming
Max Bolingbroke <batterseapower at hotmail.com>**20080731012332]
[Document Literal, expand it's API and rename mkStringLit to mkMachString
Max Bolingbroke <batterseapower at hotmail.com>**20080731012331]
[Document Id
Max Bolingbroke <batterseapower at hotmail.com>**20080731012331]
[Split the Id related functions out from Var into Id, document Var and
some of Id
Max Bolingbroke <batterseapower at hotmail.com>**20080731012330]
[Eq and Ord have moved into GHC.Classes
Ian Lynagh <igloo at earth.li>**20080806161815]
[Move Int, Float and Double into ghc-prim:GHC.Types
Ian Lynagh <igloo at earth.li>**20080806224359]
[Move Int, Float and Double into ghc-prim:GHC.Types
Ian Lynagh <igloo at earth.li>**20080806191458]
[Prepare GHC for building with Git
Max Bolingbroke <batterseapower at hotmail.com>**20080806210207
* New packages format lets you select source control system in use
* Packages file now includes root repo explicitly
* Scripts darcs-all and push-all updated for the new packages format only
* New sync-all script, intended for use after Git changeover and for
buildbots right now
* Had to remove libraries/bootstrapping from tree since Git cannot
track empty directories without a hack
* Determine checkout date with Git using Darcs fallback in aclocal.m4
]
[Add -fno-implicit-import-qualified (#2452)
Simon Marlow <marlowsd at gmail.com>**20080805151730
The flag is off by default, but GHCi turns it on (in Main.hs). For
GHCi it can be overriden on the command-line or using :set.
]
[in stage1, always rebuild Main.hs
Simon Marlow <marlowsd at gmail.com>**20080805133823
GHC 6.9+ can properly handle cross-package recompilation checking, but
older versions of GHC couldn't, so in stage1 we always rebuild
Main.hs. In other words, 'make' in ghc/ should do the right thing now.
]
[Ooops; lack of mk/confi.mk doesn't mean validate shouldn't run configure!
Ian Lynagh <igloo at earth.li>**20080806113102]
[C# has moved to ghc-prim:GHC.Types
Ian Lynagh <igloo at earth.li>**20080805220155]
[Move the Char datatype into ghc-prim
Ian Lynagh <igloo at earth.li>**20080805195643]
[Move the [] definion from base to ghc-prim
Ian Lynagh <igloo at earth.li>**20080805180624]
[Don't boot/configure if we are validating --no-clean
Ian Lynagh <igloo at earth.li>**20080804214657]
[Remove the cgi package from extralibs
Ian Lynagh <igloo at earth.li>**20080805125551
It has some sort of Error Monad using the old Exception type.
I'm not familiar with it enough to know what the right thing to do
for it with extensible exceptions is.
]
[Follow the tuple datatype movements
Ian Lynagh <igloo at earth.li>**20080804155402]
[Don't make a "windows" flag in the Cabal file - os(windows) already exists!
Ian Lynagh <igloo at earth.li>**20080804153430
Pointed out by Duncan Coutts
]
[Fix Trac #2449
simonpj at microsoft.com**20080805105402
Deriving isn't allowed in hs-boot files (says the user manual)
This patch checks properly instead of crashing!
]
[2nd try: remove lochash, it isn't needed (now)
Simon Marlow <marlowsd at gmail.com>**20080804125944]
[FIX BUILD on Windows
Simon Marlow <marlowsd at gmail.com>**20080804105740]
[Fix Trac #2467: decent warnings for orphan instances
simonpj at microsoft.com**20080804162129
This patch makes
* Orphan instances and rules obey -Werror
* They look nicer when printed
]
[Fix the bug part of Trac #1930
simonpj at microsoft.com**20080804161039]
[Fix Trac #2433 (deriving Typeable)
simonpj at microsoft.com**20080804141503]
[Fix Trac #2478
simonpj at microsoft.com**20080801122223
A minor glitch that shows up only when a data constructor has *both* a
"stupid theta" in the data type decl, *and* an existential type variable.
]
[Improve docs for GADTs
simonpj at microsoft.com**20080729145313]
[Document -dsuppress-uniques
simonpj at microsoft.com**20080729145247]
[UNDO: FIX #2375: remove oc->lochash completely, it apparently isn't used
Simon Marlow <marlowsd at gmail.com>**20080804111801]
[haddock fixes
Ian Lynagh <igloo at earth.li>**20080803180330]
[Follow the move of assertError from Control.Exception to GHC.IOBase
Ian Lynagh <igloo at earth.li>**20080803141146]
[Document PackageConfig
Max Bolingbroke <batterseapower at hotmail.com>**20080731012345]
[Document CoreSubst
Max Bolingbroke <batterseapower at hotmail.com>**20080731012338]
[Document CoreFVs
Max Bolingbroke <batterseapower at hotmail.com>**20080731012337]
[Document CmmZipUtil
Max Bolingbroke <batterseapower at hotmail.com>**20080731012335]
[Document VarSet
Max Bolingbroke <batterseapower at hotmail.com>**20080731012335]
[Document VarEnv
Max Bolingbroke <batterseapower at hotmail.com>**20080731012335]
[Document Unique
Max Bolingbroke <batterseapower at hotmail.com>**20080731012334]
[Document LazyUniqFM
Max Bolingbroke <batterseapower at hotmail.com>**20080731012354]
[Document FastTypes
Max Bolingbroke <batterseapower at hotmail.com>**20080731012353]
[Add some type signatures to RnNames
Max Bolingbroke <batterseapower at hotmail.com>**20080731012348]
[Comment only in IfaceENv
Max Bolingbroke <batterseapower at hotmail.com>**20080731012343]
[Document ZipCfg
Max Bolingbroke <batterseapower at hotmail.com>**20080731012336]
[Document MachOp
Max Bolingbroke <batterseapower at hotmail.com>**20080731012336]
[Document Dataflow
Max Bolingbroke <batterseapower at hotmail.com>**20080731012336]
[Document DFMonad
Max Bolingbroke <batterseapower at hotmail.com>**20080731012336]
[Document NameSet
Max Bolingbroke <batterseapower at hotmail.com>**20080731012333]
[Document NameEnv
Max Bolingbroke <batterseapower at hotmail.com>**20080731012333]
[Document Module
Max Bolingbroke <batterseapower at hotmail.com>**20080731012332]
[Document DataCon
Max Bolingbroke <batterseapower at hotmail.com>**20080731012316]
[Document BasicTypes
Max Bolingbroke <batterseapower at hotmail.com>**20080731012306]
[Rename maybeTyConSingleCon to tyConSingleDataCon_maybe
Max Bolingbroke <batterseapower at hotmail.com>**20080731010537]
[Ignore git files
Max Bolingbroke <batterseapower at hotmail.com>**20080731010509]
[Fix ifBuildable
Ian Lynagh <igloo at earth.li>**20080801141731]
[Update assertErrorName; assertError has moved to Control.Exception
Ian Lynagh <igloo at earth.li>**20080801011028]
[Fix the catching of "IOEnv failure" with extensible extensions
Ian Lynagh <igloo at earth.li>**20080731194252]
[Follow changes in the base library
Ian Lynagh <igloo at earth.li>**20080731173354
TopHandler now uses the new extensible exceptions module, so we
need to interact with it using the new types.
]
[Add the Exception module to ghc.cabal
Ian Lynagh <igloo at earth.li>**20080730213419]
[Fix building with extensible exceptions
Ian Lynagh <igloo at earth.li>**20080730194508]
[Mark the ghc package as not exposed
Ian Lynagh <igloo at earth.li>**20080730172124]
[Follow extensible exception changes
Ian Lynagh <igloo at earth.li>**20080730120134]
[When raising NonTermination with the RTS, build the right value
Ian Lynagh <igloo at earth.li>**20080621144528
We now use a nonTermination value in the base library to take take of
constructing the SomeException value, with the dictionaries etc, for us.
We'll probably need to do the same for some other exceptions too
]
[Fix the way we pass GMP_INCLUDE_DIRS to hsc2hs; spotted by Andres Loh
Ian Lynagh <igloo at earth.li>**20080730114713
We were still building the flags in Haskell list syntax, but we now pass
the arguments directly rather than constructing a Haskell program with
them.
]
[workaround #2277: turn off the RTS timer when calling into editline
Simon Marlow <marlowsd at gmail.com>**20080730135918]
[FIX #2388: check that the operand fits before using the 'test' opcode
Simon Marlow <marlowsd at gmail.com>**20080730105231]
[oops, fix a small pessimisation made in previous refactoring
Simon Marlow <marlowsd at gmail.com>**20080730105203]
[FIX #2375: remove oc->lochash completely, it apparently isn't used
Simon Marlow <marlowsd at gmail.com>**20080730101252]
[Fix a typo in powerpc/Linux-only code; spotted by Jeroen Pulles
Ian Lynagh <igloo at earth.li>**20080729214007]
[Add the runghc wrapper script
Ian Lynagh <igloo at earth.li>**20080729211852]
[Make cabal-bin not do any building, even of Setup.hs, when it is asked to clean
Ian Lynagh <igloo at earth.li>**20080729202410]
[Update the test in Makefile that we have all the boot libs
Ian Lynagh <igloo at earth.li>**20080729201640]
[Update boot's test that we have all of the bootlibs
Ian Lynagh <igloo at earth.li>**20080729201032]
[Make the push-all script complain about bad lines
Ian Lynagh <igloo at earth.li>**20080729200613]
[Add some comments to packages/darcs-all
Ian Lynagh <igloo at earth.li>**20080729151934]
[Remove ndp from libraries/Makefile. We now use dph instead.
Ian Lynagh <igloo at earth.li>**20080729141917]
[Add dph to ./packages and darcs-all
Ian Lynagh <igloo at earth.li>**20080729141850]
[Remove cabal-install from ./packages; we've decided not to build it
Ian Lynagh <igloo at earth.li>**20080729141824]
[FIX #2327: a fault in the thunk-selector machinery (again)
Simon Marlow <marlowsd at gmail.com>**20080729150518
This program contains an expression of the form
let x = snd (_, snd (_, snd (_, x)))
(probably not explicitly, but that's what appears in the heap at
runtime). Obviously the program should deadlock if it ever enters
this thing, but apparently the test program in #2327 never does.
The GC tries to evaluate the snd closures, and gets confused due to
the loop. In particular the earlier fix for #1038 was to blame.
]
[FIX #2332: avoid overflow on 64-bit machines in the memory allocator
Simon Marlow <marlowsd at gmail.com>**20080729150459]
[Change the calling conventions for unboxed tuples slightly
Simon Marlow <marlowsd at gmail.com>**20080728155621
When returning an unboxed tuple with a single non-void component, we
now use the same calling convention as for returning a value of the
same type as that component. This means that the return convention
for IO now doesn't vary depending on the platform, which make some
parts of the RTS simpler, and fixes a problem I was having with making
the FFI work in unregisterised GHCi (the byte-code compiler makes
some assumptions about calling conventions to keep things simple).
]
[don't strip the inplace GHC executables (for debugging)
Simon Marlow <marlowsd at gmail.com>**20080728134647]
[Complete the changes for #1205
Simon Marlow <marlowsd at gmail.com>**20080728105141
Now ":load M" always searches for a module called "M", rather than
using a file called "M.hs" if that exists. To get the file semantics
(i.e. not loading "M.o"), use ":load M.hs".
]
[update the comments about how we find $topdir
Simon Marlow <marlowsd at gmail.com>**20080725151406]
[understand absolute pathnames on Windows too
Simon Marlow <marlowsd at gmail.com>**20080728102243]
[change where we put gcc-lib/ld.exe to keep Cabal happy
Simon Marlow <marlowsd at gmail.com>**20080728100852]
[move an inline function to keep older versions of gcc happy
Simon Marlow <marlowsd at gmail.com>**20080725144708
no idea why this only just showed up...
]
[try to fix the way we find $topdir
Simon Marlow <marlowsd at gmail.com>**20080725142828]
[for the installed versions, don't use dynamic-linking wrappers
Simon Marlow <marlowsd at gmail.com>**20080725134551]
[don't steal %ebx for the GC on x86: it's also used by PIC
Simon Marlow <marlowsd at gmail.com>**20080725122921]
[SRT labels don't need to be globally visible
Simon Marlow <marlowsd at gmail.com>**20080725080901
Saves space in the symbol table and speeds up linking
]
[Don't prematurely link shared libraries against the RTS package
Simon Marlow <marlowsd at gmail.com>**20080724155001
We want to be able to pick the RTS flavour (e.g. -threaded) when we
link the final program.
]
[add --enable-shared to configure, and $(BuildSharedLibs) to the build system
Simon Marlow <marlowsd at gmail.com>**20080724154925]
[use RTLD_LAZY instead of RTLD_NOW
Simon Marlow <marlowsd at gmail.com>**20080724152727
RTLD_NOW apparently causes some problems, according to previous
mailing-list discussion
http://www.haskell.org/pipermail/cvs-ghc/2007-September/038570.html
]
[debug output tweak
Simon Marlow <marlowsd at gmail.com>**20080724152636]
[small cleanup
Simon Marlow <marlowsd at gmail.com>**20080724151614]
[Fix building runghc on Windows
Ian Lynagh <igloo at earth.li>**20080724182831]
[Follow darcs-all changes in push-all
Ian Lynagh <igloo at earth.li>**20080724164153]
[Rejig how darcs-all works
Ian Lynagh <igloo at earth.li>**20080724164142
It's now easier to add new repos anywhere in the source tree
]
[Remove the OpenGL family of libraries from extralibs
Ian Lynagh <igloo at earth.li>**20080724102736]
[compiler/package.conf.in is no longer used, so remove it
Ian Lynagh <igloo at earth.li>**20080724101610]
[allow EXTRA_HC_OPTS to be used from the command-line
Simon Marlow <marlowsd at gmail.com>**20080724081728]
[put the inplace GHC in stageN-inplace/ghc instead of stageN-inplace/bin/ghc
Simon Marlow <marlowsd at gmail.com>**20080724080951
just saves a bit of typing
]
[add a "rebuild" target for convenience
Simon Marlow <marlowsd at gmail.com>**20080723143201]
[set PAPI_LIB_DIR="" when we don't have PAPI (clean up package.conf)
Simon Marlow <marlowsd at gmail.com>**20080722141327]
[remove -fvia-C that I apparrently accidentally added recently
Simon Marlow <marlowsd at gmail.com>**20080722141255]
[Fix a build error on powerpc/Linux; spotted by Jeroen Pulles
Ian Lynagh <igloo at earth.li>**20080723191948]
[If the extension is not .lhs, runghc now treats it as .hs; fixes trac #1232
Ian Lynagh <igloo at earth.li>**20080723182156]
[runghc now uses the compiler that it comes with; fixes trac #1281
Ian Lynagh <igloo at earth.li>**20080723181115
rather than the first one that it finds on the PATH
]
[Use the upstream hsc2hs repo
Ian Lynagh <igloo at earth.li>**20080723155021]
[Remove some redundancy in darcs-all
Ian Lynagh <igloo at earth.li>**20080723143804]
[Tell Cabal where gcc is
Ian Lynagh <igloo at earth.li>**20080723001202]
[Undo fix for #2185: sparks really should be treated as roots
Simon Marlow <marlowsd at gmail.com>**20080723125205
Unless sparks are roots, strategies don't work at all: all the sparks
get GC'd. We need to think about this some more.
]
[fix bug in sparkPoolSize (affects debug output only)
Simon Marlow <marlowsd at gmail.com>**20080723104322]
[debug message tweaks
Simon Marlow <marlowsd at gmail.com>**20080723090050]
[refactoring/tidyup: (not.is64BitInteger) -> is32BitInteger
Simon Marlow <marlowsd at gmail.com>**20080722092113]
[non-threaded RTS: don't assume deadlock if there are signal handlers to run
Simon Marlow <marlowsd at gmail.com>**20080715130316]
[update the text about header files and -#include
Simon Marlow <marlowsd at gmail.com>**20080715101119]
[add NetBSD to some of the #ifdefs (patch partly from 6.8 branch)
Simon Marlow <marlowsd at gmail.com>**20080714145040]
[Warn about unrecognised pragmas; these often mean we've typoed
Ian Lynagh <igloo at earth.li>**20080722235550]
[Sync hsc2hs's Main.hs with the Cabal repo
Ian Lynagh <igloo at earth.li>**20080722203646]
[We need to clean the utils on "distclean", as well as "clean"
Ian Lynagh <igloo at earth.li>**20080722170754]
[Clean stage 3
Ian Lynagh <igloo at earth.li>**20080722170542]
[Add replacements for the -optdep flags, and deprecate the old ones
Ian Lynagh <igloo at earth.li>**20080722163308]
[Fix the stage3 build
Ian Lynagh <igloo at earth.li>**20080722125743]
[Fixes for haddock 0.8
Ian Lynagh <igloo at earth.li>**20080721095256]
[haddock the stage2 compiler if HADDOCK_DOCS is YES
Ian Lynagh <igloo at earth.li>**20080720220622]
[First step for getting rid of the old -optdep flags
Ian Lynagh <igloo at earth.li>**20080720203239
They are now handled by the main flag parser, rather than having their
own praser that runs later.
As an added bonus, 5 global variables are also gone.
]
[Fix Haddock errors.
Thomas Schilling <nominolo at googlemail.com>**20080720173151]
[Fix Haddock errors.
Thomas Schilling <nominolo at googlemail.com>**20080720173117]
[Fix Haddock errors.
Thomas Schilling <nominolo at googlemail.com>**20080720173105]
[Fix Haddock errors.
Thomas Schilling <nominolo at googlemail.com>**20080720173017]
[Fix Haddock errors.
Thomas Schilling <nominolo at googlemail.com>**20080720172614]
[Fix Haddock errors.
Thomas Schilling <nominolo at googlemail.com>**20080720172401]
[Fix Haddock errors.
Thomas Schilling <nominolo at googlemail.com>**20080720172242]
[Fix Haddock errors.
Thomas Schilling <nominolo at googlemail.com>**20080720172222]
[Fix Haddock errors.
Thomas Schilling <nominolo at googlemail.com>**20080720172139]
[Fix Haddock errors.
Thomas Schilling <nominolo at googlemail.com>**20080720172114]
[Fix Haddock errors.
Thomas Schilling <nominolo at googlemail.com>**20080720172054]
[Fix Haddock errors.
Thomas Schilling <nominolo at googlemail.com>**20080720172010]
[Fix Haddock errors.
Thomas Schilling <nominolo at googlemail.com>**20080720171723]
[Fix Haddock errors.
Thomas Schilling <nominolo at googlemail.com>**20080720171554]
[Fix Haddock errors.
Thomas Schilling <nominolo at googlemail.com>**20080720171529]
[Fix Haddock errors.
Thomas Schilling <nominolo at googlemail.com>**20080720171424]
[Fix Haddock errors.
Thomas Schilling <nominolo at googlemail.com>**20080720171113]
[Fix Haddock errors.
Thomas Schilling <nominolo at googlemail.com>**20080720170708]
[Fix Haddock errors.
Thomas Schilling <nominolo at googlemail.com>**20080720170601]
[Fix Haddock errors.
Thomas Schilling <nominolo at googlemail.com>**20080720170421]
[Fix Haddock errors.
Thomas Schilling <nominolo at googlemail.com>**20080720165845]
[Fix Haddock errors.
Thomas Schilling <nominolo at googlemail.com>**20080720165637]
[Fix Haddock errors.
Thomas Schilling <nominolo at googlemail.com>**20080720164133]
[Properly comment out unused pragmas
Ian Lynagh <igloo at earth.li>**20080720135604
We now say
-- {-# SPECIALIZE ...
rather than
{-# -- SPECIALIZE ...
]
[Add a WARNING pragma
Ian Lynagh <igloo at earth.li>**20080720120918]
[Put a #! line in ghc-pkg's shell wrapper
Ian Lynagh <igloo at earth.li>**20080719112544]
[Fix ghc-pkg inplace on Windows
Ian Lynagh <igloo at earth.li>**20080719002613]
[Some "install" and "clean" fixes
Ian Lynagh <igloo at earth.li>**20080718223656]
[Change how inplace detection works, so that it also works on Windows
Ian Lynagh <igloo at earth.li>**20080718210836]
[More dependency wibbling
Ian Lynagh <igloo at earth.li>**20080718193454]
[Build system tweaks
Ian Lynagh <igloo at earth.li>**20080718184706]
[We need to make Parser.y and Config.hs earlier
Ian Lynagh <igloo at earth.li>**20080718180441]
[Explicitly list HpcParser as a module in hpc-bin
Ian Lynagh <igloo at earth.li>**20080718174657
Cabal doesn't preprocess the .y file otherwise.
]
[Disable building pwd and lndir for now
Ian Lynagh <igloo at earth.li>**20080718170329]
[Build hpc with Cabal
Ian Lynagh <igloo at earth.li>**20080718170047]
[Build runghc with Cabal
Ian Lynagh <igloo at earth.li>**20080718165317]
[Add a comment
Ian Lynagh <igloo at earth.li>**20080718154238]
[Tweak the build system for installPackage
Ian Lynagh <igloo at earth.li>**20080718153956]
[More build system changes; hasktags is now built with Cabal
Ian Lynagh <igloo at earth.li>**20080718153459]
[Remove a comment
Ian Lynagh <igloo at earth.li>**20080718115044]
[More build system changes; ghc-pkg is now built with Cabal
Ian Lynagh <igloo at earth.li>**20080718114753]
[Fix some argument names
Ian Lynagh <igloo at earth.li>**20080717223543]
[Tweak the hsc2hs wrapper script
Ian Lynagh <igloo at earth.li>**20080717194916]
[Fix the order in which things get built
Ian Lynagh <igloo at earth.li>**20080717192402]
[Split building the ghc package and binary into "boot" and "all" steps
Ian Lynagh <igloo at earth.li>**20080717150746
In "boot" we configure, and in "all" we do the actual building.
]
[Install the compiler during make install
Ian Lynagh <igloo at earth.li>**20080717150453
For now we always install stage 2
]
[Do the building and installing of hsc2hs with the stage1 compiler
Ian Lynagh <igloo at earth.li>**20080717150420]
[Remove some duplication
Ian Lynagh <igloo at earth.li>**20080717144906]
[Windows fixes
Ian Lynagh <igloo at earth.li>**20080716222719]
[Fix GHC finding extra-gcc-opts on Windows
Ian Lynagh <igloo at earth.li>**20080716222457]
[Fix the inplace compiler finding package.conf on Windows
Ian Lynagh <igloo at earth.li>**20080716215000]
[Fix the build with GHC 6.4.2
Ian Lynagh <igloo at earth.li>**20080716192836]
[Get building GHC itself with Cabal more-or-less working
Ian Lynagh <igloo at earth.li>**20080716150441
Installing and bindist creation don't work, but they were already broken.
Only tested validating with one setup.
]
[TAG Before cabalised-GHC
Ian Lynagh <igloo at earth.li>**20080719132217]
Patch bundle hash:
7568756638199a18c5754a4d1007fb5636228da6
More information about the Cvs-ghc
mailing list