Mon Mar  5 19:56:43 PST 2012  John Meacham <[email protected]>
  * ghc 7.4 compatibility changes
New patches:

[ghc 7.4 compatibility changes
John Meacham <[email protected]>**20120306035643
 Ignore-this: c15e182e5a05efb7a623f6386fbb9884
] hunk ./Makefile.am 45
 GHCPROFOPTS= -prof -auto-all -osuf prof.o -hisuf prof.hi
 GHCSELFTESTOPTS= -osuf test.o -hisuf test.hi -DEXPORT_SELFTEST=,_selftest
 GHCNONSELFTESTOPTS= -DEXPORT_SELFTEST=
-GHCINC=  -i -i$(srcdir)/drift_processed \
-	 -i$(srcdir)/src -i$(builddir)/src -odir $(builddir)/src -hidir $(builddir)/src
+GHCINC=  -i @GHCINC@ -i$(srcdir)/drift_processed \
+	 -i$(srcdir)/src -i$(builddir)/src -odir $(builddir)/src -hidir $(builddir)/src \
+	 -I$(srcdir)/src
 
hunk ./Makefile.am 49
-PACKAGES= -package fgl -package regex-compat -package random -package array -package directory \
+PACKAGES= -hide-all-packages -package base -package fgl -package regex-compat -package random -package array -package directory \
           -package bytestring -package binary -package pretty -package mtl -package containers \
hunk ./Makefile.am 51
-	  -package unix -package haskell98 -package utf8-string -package zlib -package HsSyck \
+	  -package unix  -package utf8-string -package zlib -package HsSyck \
 	  -package filepath -package process
 
 GHCLANG= -XTypeFamilies -XViewPatterns -XUndecidableInstances -XOverlappingInstances \
adddir ./compat
adddir ./compat/haskell98
addfile ./compat/haskell98/Array.hs
hunk ./compat/haskell98/Array.hs 1
+module Array (
+    module Ix,  -- export all of Ix for convenience
+    Array, array, listArray, (!), bounds, indices, elems, assocs,
+    accumArray, (//), accum, ixmap
+  ) where
+
+import Ix
+import Data.Array
addfile ./compat/haskell98/CPUTime.hs
hunk ./compat/haskell98/CPUTime.hs 1
+module CPUTime (
+    getCPUTime, cpuTimePrecision
+  ) where
+
+import System.CPUTime
addfile ./compat/haskell98/Char.hs
hunk ./compat/haskell98/Char.hs 1
+module Char (
+    isAscii, isLatin1, isControl, isPrint, isSpace, isUpper, isLower,
+    isAlpha, isDigit, isOctDigit, isHexDigit, isAlphaNum,
+    digitToInt, intToDigit,
+    toUpper, toLower,
+    ord, chr,
+    readLitChar, showLitChar, lexLitChar,
+
+-- ...and what the Prelude exports
+    Char, String
+  ) where
+
+import Data.Char
addfile ./compat/haskell98/Complex.hs
hunk ./compat/haskell98/Complex.hs 1
+module Complex (
+    Complex((:+)), realPart, imagPart, conjugate,
+    mkPolar, cis, polar, magnitude, phase
+  ) where
+
+import Data.Complex
addfile ./compat/haskell98/Directory.hs
hunk ./compat/haskell98/Directory.hs 1
+module Directory (
+    Permissions( .. ),
+    createDirectory, removeDirectory, removeFile,
+    renameDirectory, renameFile, getDirectoryContents,
+    getCurrentDirectory, setCurrentDirectory,
+    doesFileExist, doesDirectoryExist,
+    getPermissions, setPermissions,
+    getModificationTime
+  ) where
+
+import System.Directory
addfile ./compat/haskell98/IO.hs
hunk ./compat/haskell98/IO.hs 1
+module IO (
+    Handle, HandlePosn,
+    IOMode(ReadMode,WriteMode,AppendMode,ReadWriteMode),
+    BufferMode(NoBuffering,LineBuffering,BlockBuffering),
+    SeekMode(AbsoluteSeek,RelativeSeek,SeekFromEnd),
+    stdin, stdout, stderr,
+    openFile, hClose, hFileSize, hIsEOF, isEOF,
+    hSetBuffering, hGetBuffering, hFlush,
+    hGetPosn, hSetPosn, hSeek,
+    hWaitForInput, hReady, hGetChar, hGetLine, hLookAhead, hGetContents,
+    hPutChar, hPutStr, hPutStrLn, hPrint,
+    hIsOpen, hIsClosed, hIsReadable, hIsWritable, hIsSeekable,
+    isAlreadyExistsError, isDoesNotExistError, isAlreadyInUseError,
+    isFullError, isEOFError,
+    isIllegalOperation, isPermissionError, isUserError,
+    ioeGetErrorString, ioeGetHandle, ioeGetFileName,
+    try, bracket, bracket_,
+
+    -- ...and what the Prelude exports
+    IO, FilePath, IOError, ioError, userError, catch, interact,
+    putChar, putStr, putStrLn, print, getChar, getLine, getContents,
+    readFile, writeFile, appendFile, readIO, readLn
+  ) where
+
+import System.IO
+import System.IO.Error
+
+-- | The 'bracket' function captures a common allocate, compute, deallocate
+-- idiom in which the deallocation step must occur even in the case of an
+-- error during computation. This is similar to try-catch-finally in Java.
+--
+-- This version handles only IO errors, as defined by Haskell 98.
+-- The version of @bracket@ in "Control.Exception" handles all exceptions,
+-- and should be used instead.
+
+bracket        :: IO a -> (a -> IO b) -> (a -> IO c) -> IO c
+bracket before after m = do
+        x  <- before
+        rs <- try (m x)
+        _ <- after x
+        case rs of
+           Right r -> return r
+           Left  e -> ioError e
+
+-- | A variant of 'bracket' where the middle computation doesn't want @x@.
+--
+-- This version handles only IO errors, as defined by Haskell 98.
+-- The version of @bracket_@ in "Control.Exception" handles all exceptions,
+-- and should be used instead.
+
+bracket_        :: IO a -> (a -> IO b) -> IO c -> IO c
+bracket_ before after m = do
+         x  <- before
+         rs <- try m
+         _ <- after x
+         case rs of
+            Right r -> return r
+            Left  e -> ioError e
addfile ./compat/haskell98/Ix.hs
hunk ./compat/haskell98/Ix.hs 1
+module Ix (
+    Ix(range, index, inRange), rangeSize
+  ) where
+
+import Data.Ix
addfile ./compat/haskell98/LICENSE
hunk ./compat/haskell98/LICENSE 1
+Code derived from the document "Report on the Programming Language
+Haskell 98", is distributed under the following license:
+
+  Copyright (c) 2002 Simon Peyton Jones
+
+  The authors intend this Report to belong to the entire Haskell
+  community, and so we grant permission to copy and distribute it for
+  any purpose, provided that it is reproduced in its entirety,
+  including this Notice.  Modified versions of this Report may also be
+  copied and distributed for any purpose, provided that the modified
+  version is clearly presented as such, and that it does not claim to
+  be a definition of the Haskell 98 Language.
+
+-----------------------------------------------------------------------------
+
+Code derived from the document "The Haskell 98 Foreign Function
+Interface, An Addendum to the Haskell 98 Report" is distributed under
+the following license:
+
+  Copyright (c) 2002 Manuel M. T. Chakravarty
+
+  The authors intend this Report to belong to the entire Haskell
+  community, and so we grant permission to copy and distribute it for
+  any purpose, provided that it is reproduced in its entirety,
+  including this Notice.  Modified versions of this Report may also be
+  copied and distributed for any purpose, provided that the modified
+  version is clearly presented as such, and that it does not claim to
+  be a definition of the Haskell 98 Foreign Function Interface.
+
+-----------------
+
+This code has been modified by John Meacham for distribution with jhc
addfile ./compat/haskell98/List.hs
hunk ./compat/haskell98/List.hs 1
+module List (
+    elemIndex, elemIndices,
+    find, findIndex, findIndices,
+    nub, nubBy, delete, deleteBy, (\\), deleteFirstsBy,
+    union, unionBy, intersect, intersectBy,
+    intersperse, transpose, partition, group, groupBy,
+    inits, tails, isPrefixOf, isSuffixOf,
+    mapAccumL, mapAccumR,
+    sort, sortBy, insert, insertBy, maximumBy, minimumBy,
+    genericLength, genericTake, genericDrop,
+    genericSplitAt, genericIndex, genericReplicate,
+    zip4, zip5, zip6, zip7,
+    zipWith4, zipWith5, zipWith6, zipWith7,
+    unzip4, unzip5, unzip6, unzip7, unfoldr,
+
+    -- ...and what the Prelude exports
+    -- []((:), []), -- This is built-in syntax
+    map, (++), concat, filter,
+    head, last, tail, init, null, length, (!!),
+    foldl, foldl1, scanl, scanl1, foldr, foldr1, scanr, scanr1,
+    iterate, repeat, replicate, cycle,
+    take, drop, splitAt, takeWhile, dropWhile, span, break,
+    lines, words, unlines, unwords, reverse, and, or,
+    any, all, elem, notElem, lookup,
+    sum, product, maximum, minimum, concatMap,
+    zip, zip3, zipWith, zipWith3, unzip, unzip3
+  ) where
+
+import Data.List hiding (foldl')
addfile ./compat/haskell98/Locale.hs
hunk ./compat/haskell98/Locale.hs 1
+module Locale (
+    TimeLocale(..), defaultTimeLocale
+  ) where
+
+import System.Locale (
+	-- just the bits that are specified by Haskell 98
+	TimeLocale(TimeLocale,wDays,months,amPm,dateTimeFmt,
+		   dateFmt,timeFmt,time12Fmt),
+        defaultTimeLocale
+    )
addfile ./compat/haskell98/Maybe.hs
hunk ./compat/haskell98/Maybe.hs 1
+module Maybe (
+    isJust, isNothing,
+    fromJust, fromMaybe, listToMaybe, maybeToList,
+    catMaybes, mapMaybe,
+
+    -- ...and what the Prelude exports
+    Maybe(Nothing, Just),
+    maybe
+  ) where
+
+import Data.Maybe
addfile ./compat/haskell98/Monad.hs
hunk ./compat/haskell98/Monad.hs 1
+module Monad (
+    MonadPlus(mzero, mplus),
+    join, guard, when, unless, ap,
+    msum,
+    filterM, mapAndUnzipM, zipWithM, zipWithM_, foldM,
+    liftM, liftM2, liftM3, liftM4, liftM5,
+
+    -- ...and what the Prelude exports
+    Monad((>>=), (>>), return, fail),
+    Functor(fmap),
+    mapM, mapM_, sequence, sequence_, (=<<),
+  ) where
+
+import Control.Monad
addfile ./compat/haskell98/Random.hs
hunk ./compat/haskell98/Random.hs 1
+module Random (
+   RandomGen(next, split, genRange),
+   StdGen, mkStdGen,
+   Random( random,   randomR, randoms,  randomRs, randomIO, randomRIO ),
+   getStdRandom, getStdGen, setStdGen, newStdGen
+  ) where
+
+import System.Random
addfile ./compat/haskell98/Ratio.hs
hunk ./compat/haskell98/Ratio.hs 1
+module Ratio (
+    Ratio, Rational, (%), numerator, denominator, approxRational
+  ) where
+
+import Data.Ratio
addfile ./compat/haskell98/System.hs
hunk ./compat/haskell98/System.hs 1
+module System (
+    ExitCode(ExitSuccess,ExitFailure),
+    getArgs, getProgName, getEnv, system, exitWith, exitFailure
+  ) where
+
+import System.Exit
+import System.Environment
+import System.Cmd
addfile ./compat/haskell98/Time.hs
hunk ./compat/haskell98/Time.hs 1
+module Time (
+    ClockTime,
+    Month(January,February,March,April,May,June,
+          July,August,September,October,November,December),
+    Day(Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday),
+    CalendarTime(CalendarTime, ctYear, ctMonth, ctDay, ctHour, ctMin,
+    		 ctSec, ctPicosec, ctWDay, ctYDay, ctTZName, ctTZ, ctIsDST),
+    TimeDiff(TimeDiff, tdYear, tdMonth, tdDay, tdHour,
+ 	     tdMin, tdSec, tdPicosec),
+    getClockTime, addToClockTime, diffClockTimes,
+    toCalendarTime, toUTCTime, toClockTime,
+    calendarTimeToString, formatCalendarTime
+  ) where
+
+import System.Time
hunk ./configure.ac 43
 GHC=$HC
 GHCFLAGS="-hide-all-packages -package base"
 GHC_CHECK_MODULE(Data.Generics.Instances,syb,,,[])
+GHC_CHECK_MODULE(System.Time,old-time,,,[])
 GHC_CHECK_MODULE(System.Console.Readline,readline,,,[
      GHC_CHECK_MODULE(System.Console.Editline.Readline,editline,,
          GHCFLAGS="$GHCFLAGS -DUSE_EDITLINE"
hunk ./configure.ac 53
       ])
 ])
 
+GHC_CHECK_MODULE(System,,,[] ,[ GHCINC="$GHCINC -icompat/haskell98"])
+
 AC_PROGRAM_REQUIRE(hsc2hs,hsc2hs,     [  --with-hsc2hs=<hsc2hs location>    Specify location of hsc2hs.])
 if test -z "$HSC2HS"; then
     echo "The hsc2hs program not found, please specify a location for it with the --with-hsc2hs flag"
hunk ./configure.ac 61
     exit 1
 fi
 
+GHCFLAGS="$GHCFLAGS -package pretty"
+TRY_COMPILE_GHC([
+import Text.PrettyPrint.HughesPJ
+import Data.Monoid
+instance Monoid Doc
+main = putStrLn "hello"
+],[HAS_MONOID_DOC=0],[HAS_MONOID_DOC=1])
+
 jlibpath=${datadir}/$PACKAGE-$SHORTVERSION
 jetcpath=${sysconfdir}/$PACKAGE-$SHORTVERSION
 
hunk ./configure.ac 79
 
 dnl AX_CREATE_STDINT_H([cbits/_stdint.h])
 
-
 AC_SUBST(HC)
 AC_SUBST(HCFLAGS)
 AC_SUBST(HSC2HS)
hunk ./configure.ac 89
 AC_SUBST(BYTE_ORDER)
 AC_SUBST(JLIBPATH)
 AC_SUBST(JETCPATH)
+AC_SUBST(HAS_MONOID_DOC)
 AC_SUBST(MINGW)
 AC_SUBST(VERSION_MAJOR)
 AC_SUBST(VERSION_MINOR)
hunk ./configure.ac 94
 AC_SUBST(VERSION_PATCH)
-AC_CONFIG_FILES([Makefile jhc.spec src/Version/Config.hs docs/building.mkd src/cbits/config.h src/data/targets.ini])
+AC_SUBST(GHCINC)
+AC_CONFIG_FILES([Makefile jhc.spec src/hs_src_config.h src/Version/Config.hs docs/building.mkd src/cbits/config.h src/data/targets.ini])
 AC_OUTPUT
hunk ./src/C/FromGrin2.hs 6
 module C.FromGrin2(compileGrin) where
 
 import Control.Monad.Identity
-import Control.Monad.RWS
+import Control.Monad.RWS(asks,tell,local,get,runRWST,RWST,MonadState(..),MonadWriter(..),MonadReader(..))
+import Control.Monad
 import Data.Char
 import Data.List
 import Data.Maybe
hunk ./src/C/FromGrin2.hs 11
-import Data.Monoid
+import Data.Monoid(Monoid(..))
 import System.FilePath
 import Text.PrettyPrint.HughesPJ(nest,($$),fsep)
 import qualified Data.ByteString.Lazy as LBS
hunk ./src/C/Generate.hs 75
     ) where
 
 import Char
-import Control.Monad.RWS
-import Control.Monad.Writer
+import Control.Monad
+import Control.Monad.RWS(RWS(..),MonadState(..),MonadWriter(..),MonadReader(..),runRWS,asks,MonadFix(..))
+import Control.Monad.Writer(Writer(..),censor, runWriter)
+import Data.Monoid(Monoid(..))
 import Data.List(intersperse)
 import Data.Maybe(isNothing)
 import Numeric
hunk ./src/C/Prims.hs 5
 module C.Prims where
 
 import Data.Binary
-import Data.Monoid
+import Data.Monoid(Monoid(..))
 import Data.Typeable
 import qualified Data.Set as Set
 
hunk ./src/DataConstructors.hs 55
 
 import C.Prims
 import Data.Binary
-import Doc.DocLike
+import Doc.DocLike as D
 import Doc.PPrint
 import Doc.Pretty
 import E.Binary()
hunk ./src/DataConstructors.hs 874
         r <- f e
         return $ fixitize (N,-3) $ pop (text "forall" <+> hsep (map char ts') <+> text ". ")  (atomize r)
     f e = error $ "printTypeAsHs: " ++ show e
-    arr = bop (R,0) (space <> text "->" <> space)
+    arr = bop (R,0) (space D.<> text "->" D.<> space)
     app = bop (L,100) (text " ")
 
 class Monad m => DataTableMonad m where
hunk ./src/Doc/DocLike.hs 1
-{-# LANGUAGE UndecidableInstances,OverlappingInstances #-}
+{-# LANGUAGE CPP,UndecidableInstances,OverlappingInstances #-}
 module Doc.DocLike where
 
hunk ./src/Doc/DocLike.hs 4
+#include "hs_src_config.h"
+
 -- arch-tag: a88f19fb-e18d-475f-b6d1-8da78676261a
 
hunk ./src/Doc/DocLike.hs 8
-import Data.Monoid
+import Data.Monoid(Monoid(..))
 import Control.Monad.Reader()
 import qualified Text.PrettyPrint.HughesPJ as P
 
hunk ./src/Doc/DocLike.hs 16
 infixr 6 <>
 infixr 6 <+>
 
-
 class TextLike a where
     empty :: a
     text :: String -> a
hunk ./src/Doc/DocLike.hs 25
     char x = text [x]
     empty = text ""
 
-
 class (TextLike a) => DocLike a where
     (<>) :: a -> a -> a
     (<+>) :: a -> a -> a
hunk ./src/Doc/DocLike.hs 52
     tupled          = encloseSep lparen   rparen  comma
     semiBraces      = encloseSep lbrace   rbrace  semi
 
-
 ------------------------
 -- Basic building blocks
 ------------------------
hunk ./src/Doc/DocLike.hs 59
 tshow :: (Show a,DocLike b) => a -> b
 tshow x = text (show x)
 
-
-
 lparen,rparen,langle,rangle,
     lbrace,rbrace,lbracket,rbracket,squote,
     dquote,semi,colon,comma,space,dot,backslash,equals
hunk ./src/Doc/DocLike.hs 82
 backslash       = char '\\'
 equals          = char '='
 
-
 squotes x = enclose squote squote x
 dquotes x = enclose dquote dquote x
 parens x = enclose lparen rparen x
hunk ./src/Doc/DocLike.hs 113
     a <> b = a ++ b
     a <+> b = a ++ " " ++ b
 
-
 instance TextLike ShowS where
     empty = id
     text x = (x ++)
hunk ./src/Doc/DocLike.hs 126
     char x = return (char x)
     text x = return (text x)
 
-
 instance (DocLike a, Monad m,TextLike (m a)) => DocLike (m a) where
     a <$> b = do
         a <- a
hunk ./src/Doc/DocLike.hs 151
     text = P.text
     char = P.char
 
+#if !HAS_MONOID_DOC
 instance Monoid P.Doc where
     mappend = (P.<>)
     mempty = P.empty
hunk ./src/Doc/DocLike.hs 156
     mconcat = P.hcat
+#endif
 
 instance DocLike P.Doc where
     (<>) = (P.<>)
hunk ./src/Doc/DocLike.hs 179
 --instance (DocLike a, Monoid (b -> a)) => DocLike (b -> a) where
 --    parens x = \a -> parens (x a)
 --    (<+>) x y = \a -> x a <+> y a
-
hunk ./src/Doc/Pretty.hs 52
 import IO      (Handle,hPutStr,hPutChar,stdout)
 import Doc.DocLike hiding(empty)
 import qualified Doc.DocLike as DocLike
-import Data.Monoid
+import Data.Monoid(Monoid(..))
 
hunk ./src/Doc/Pretty.hs 54
-infixr 5 </>,<//>,<$>,<$$>
+infixr 5 </>,<//>,<$$>
 --infixr 6 <>,<+>
 
 
hunk ./src/E/CPR.hs 3
 module E.CPR(Val(..), cprAnalyzeDs, cprAnalyzeProgram) where
 
-import Control.Monad.Writer hiding(Product(..))
+import Control.Monad.Writer(Writer(..),runWriter,tell,Monoid(..))
 import Data.Binary
 import Data.Monoid()
 import Data.Typeable
hunk ./src/E/Rules.hs 19
     rulesFromARules
     )where
 
-import Control.Monad.Writer
-import Maybe
+import Control.Monad.Writer(WriterT(..),execWriterT,liftM,tell)
+import Data.Maybe
+import Data.Monoid(Monoid(..))
 import qualified Data.Traversable as T
 
 import Data.Binary
hunk ./src/Fixer/VMap.hs 15
     vmapHeads
     )where
 
-import Data.Monoid
+import Data.Monoid(Monoid(..))
 import Data.Typeable
 import List(intersperse)
 import qualified Data.Map as Map
hunk ./src/FrontEnd/Class.hs 31
     ) where
 
 import Control.Monad.Identity
-import Control.Monad.Writer
+import Control.Monad.Writer(Monoid(..),Writer(..))
 import Data.Generics(mkQ,something)
 import Data.List(nub)
 import Data.Maybe
hunk ./src/FrontEnd/Exports.hs 9
 import Control.Monad.Identity
 import Data.List
 import Data.Maybe
-import Data.Monoid
+import Data.Monoid(Monoid(..))
 import qualified Data.Map as Map
 import qualified Data.Set as Set
 
hunk ./src/FrontEnd/Tc/Unify.hs 9
     listenSolvePreds
     ) where
 
-import Control.Monad.Writer
+import Control.Monad
+import Control.Monad.Trans
+import Control.Monad.Writer(Monoid(..),Writer(..))
 import qualified Data.Map as Map
 import qualified Data.Set as Set
 
hunk ./src/GenUtil.hs 652
 _ `overlaps` _ = True
 
 -- | translate a number of seconds to a string representing the duration expressed.
-showDuration :: Integral a => a -> String
+showDuration :: (Show a,Integral a) => a -> String
 showDuration x = st "d" dayI ++ st "h" hourI ++ st "m" minI ++ show secI ++ "s" where
         (dayI, hourI) = divMod hourI' 24
         (hourI', minI) = divMod minI' 60
hunk ./src/Grin/FromE.hs 7
 import Control.Monad.Reader
 import Data.Graph(stronglyConnComp, SCC(..))
 import Data.IORef
-import Data.Monoid
+import Data.Monoid(Monoid(..))
 import List
 import Maybe
 import qualified Data.Map as Map
hunk ./src/Grin/Grin.hs 56
     valIsNF
     ) where
 
-import Char
 import Control.Monad.Identity
hunk ./src/Grin/Grin.hs 57
-import Data.Monoid
+import Data.Char
+import Data.Monoid(Monoid(..))
 import List(isPrefixOf)
hunk ./src/Grin/Grin.hs 60
-import Prelude
 import qualified Data.Set as Set
 
 import C.FFI
hunk ./src/Grin/Show.hs 11
     ) where
 
 import Char
-import Control.Monad.Writer
+import Control.Monad.Writer(Writer(..),tell,when,forM_,execWriter)
 import Data.Maybe
 import IO
 import qualified Data.Map as Map
hunk ./src/Ho/Build.hs 17
 import Data.IORef
 import Data.List hiding(union)
 import Data.Maybe
-import Data.Monoid
+import Data.Monoid(Monoid(..))
 import Data.Tree
 import Data.Version(Version,parseVersion,showVersion)
 import Data.Yaml.Syck
hunk ./src/Util/Seq.hs 34
           , fromList
           ) where
 
-import Data.Monoid
+import Data.Monoid(Monoid(..))
 import Control.Monad
 
 {--------------------------------------------------------------------
addfile ./src/hs_src_config.h.in
hunk ./src/hs_src_config.h.in 1
+#ifndef HS_SRC_CONFIG
+#define HS_SRC_CONFIG
+
+#define HAS_MONOID_DOC @HAS_MONOID_DOC@
+
+#endif

Context:

[implement finalizers in the RTS, add foreignptr rts routines, properly set saved_gc on safe ffi calls
John Meacham <[email protected]>**20120221132313
 Ignore-this: 1a27919674abc4a6955c245eec88aaf9
] 
[add support for monolithic blocks that are plain malloced memory and can be big.
John Meacham <[email protected]>**20120221032043
 Ignore-this: 201ba4e67027f3336cfa5e984aefa89
] 
[introduce dedicated array allocation routine. clean up jgc garbage collector
John Meacham <[email protected]>**20120221011655
 Ignore-this: b8e153205aeaf94af76a97b0ee9aa895
] 
[make 'div' and 'mod' round to -Infinity properly
John Meacham <[email protected]>**20120220094634
 Ignore-this: c46b383b9a2a6a63ff44e30a8a63f376
] 
[add prototype for gc_alloc
John Meacham <[email protected]>**20120220050616
 Ignore-this: 444b34148332459dc0e3d32b7c55d3e0
] 
[fix deriving rules for read/show when it comes to labels
John Meacham <[email protected]>**20120220044322
 Ignore-this: 20c9c89ae066716fe3ec8eb4d37c6034
] 
[disabled buggy unused transformation in type analysis pass
John Meacham <[email protected]>**20120220031442
 Ignore-this: 8ad84739daff7f4faff0ba251898ea1a
] 
[move debugging routines to rts/profile.c
John Meacham <[email protected]>**20120217052015
 Ignore-this: d2e087faf6e3408dc135fd905d85244b
] 
[fix rts unit tests
John Meacham <[email protected]>**20120217035045
 Ignore-this: 460d7eadde056908b668ea27d5a69aa5
] 
[export gc_alloc
John Meacham <[email protected]>**20120217002235
 Ignore-this: dcb70b3ad303f0343147b4e1d6d413b9
] 
[Makes the class deriving mechanism more robust:
[email protected]**20120216214017
 Ignore-this: 6d93691849d255c310b2af7098572ea8
  - the names of the classes to be derived may be given qualified. 
  - the functions from the Prelude internally used need not be in scope
    and won't clash with other bindings.
] 
[Moved Jhc.List.drop to module Jhc.Basics (since it is used in instance deriving)
[email protected]**20120214222939
 Ignore-this: f95d4818bad6d79d8fc7566ee0912714
] 
[The typechecker now verifies that the main function has a type that can be unified with IO a. This is required by the Haskell 98 Report.
[email protected]**20120211050446
 Ignore-this: 8a1d8ca36929c0de0fb4357538ea6c5b
 
 Failing to do so allows both to accept invalid programs like:
 
 > main :: [()]
 > main = return ()
 
 and to reject valid programs like:
 
 > main = return ()
 
] 
[Improves the error message shown when a monomorphic pattern has a polymorphic type that cannot be defaulted. 
[email protected]**20120211045931
 Ignore-this: efd70b7535eb0444148aabdbe96ed0b9
 
 The previous error message seemed more like an internal error ("withDefaults.ambiguity: ...")
] 
[fix for building rts in different modes, profile,debug,windows
John Meacham <[email protected]>**20120216201402
 Ignore-this: 39b08c82b7239beaeaa6e77a3b986cd4
] 
[move rest of rts into seperate c files rather than including it directly.
John Meacham <[email protected]>**20120216090215
 Ignore-this: d0bf719a38e306f78e182a5c0107573d
] 
[add pragmaExp to the lexer/parser
John Meacham <[email protected]>**20120216044837
 Ignore-this: 77393cb5bdd28fba526d57d26ac099b8
] 
[update documentation with new extensions
John Meacham <[email protected]>**20120214172359
 Ignore-this: 2f412f29f20127ce3f97f200674ed8b6
] 
[fixes for android
John Meacham <[email protected]>**20120213150333
 Ignore-this: cf6df59b212e3402ec21507410485270
] 
[make += work with '-m' command line options
John Meacham <[email protected]>**20120213102300
 Ignore-this: 36cb4039cd34ba73d2cc973b7c00798b
] 
[move jhc_rts_alloc to gc_none
John Meacham <[email protected]>**20120213100906
 Ignore-this: 1c2e9028d72127acd5a448971266f627
] 
[added rts/rts_support, cleaned up rts code.
John Meacham <[email protected]>**20120213070644
 Ignore-this: 79533860331fbd02057748e3d1b81666
] 
[make 'Requires' a simple set, include the calling convention with the requirements.
John Meacham <[email protected]>**20120212053838
 Ignore-this: b7fa6f8ece79c96073d8638a876456de
] 
[move slub.c and jhc_jgc.* to rts directory
John Meacham <[email protected]>**20120212040246
 Ignore-this: a40354544b8908732c733bf8a38e7e68
] 
[add unit tests for stableptr
John Meacham <[email protected]>**20120212031148
 Ignore-this: 17b41baeec806fb53ca2c10c6489097
] 
[reorganize rts/ directory, add README for it
John Meacham <[email protected]>**20120212022718
 Ignore-this: c8a9f067696233958757830b62a7264b
] 
[add rts/test directory
John Meacham <[email protected]>**20120212004706
 Ignore-this: 1e6d0cb4ba809a1d6089d04704d5a60f
] 
[allow being explicit in export/import lists by specifying 'kind', 'class', 'type', or 'data'. add PTS rule to allow proper typing of Complex_
John Meacham <[email protected]>**20120211052157
 Ignore-this: 12155286186022f896d3474a2bb5d23a
] 
[fix Options.hs makefile dependency
John Meacham <[email protected]>**20120211024909
 Ignore-this: a0742d7ce4eba41314741b6ca2d6498d
] 
[added user defined kind extension
John Meacham <[email protected]>**20120211042248
 Ignore-this: ded329985c5c81aa8c4612f7aa19559b
] 
[Add missing src/Options.hs to jhc tarball
Sergei Trofimovich <[email protected]>**20120209065334
 Ignore-this: dfc50115ee26986ab2d303a462cd29b9
] 
[added mingw32-gcc to MINGW search
Sergei Trofimovich <[email protected]>**20110414073938
 Ignore-this: 87fa46f0e4532663a9d92930c9c38152
] 
[add c-- types for complex and vector values
John Meacham <[email protected]>**20120210051026
 Ignore-this: 4a1e4c8cec01f73b75913622c22fa55
] 
[add documentation for the multi-return ccall extension, clean up code.
John Meacham <[email protected]>**20120209201351
 Ignore-this: 47504b653ee9f71bde40e91959238292
] 
[add extension to allow multiple return values from c functions
John Meacham <[email protected]>**20120209142228
 Ignore-this: 51e4a3f9ca80ff2eae7f21376f0a0992
] 
[fix obscure error message for invalid instance reported by roman
John Meacham <[email protected]>**20120209114221
 Ignore-this: 98d60e20cb63caaebbe1269887160b9f
] 
[remove APrim type, use Prim directly, clean up corresponding cruft.
John Meacham <[email protected]>**20120209104920
 Ignore-this: 8a3fbeea72e7f52809a3468df2b8b228
] 
[turn ExtType into a real abstract type
John Meacham <[email protected]>**20120209100704
 Ignore-this: c802a07fee0f2461cca19aa28f99ff61
] 
[add 'capi' foreign function call type, simplify type of E.FromHs monad, check for more FFI related errors
John Meacham <[email protected]>**20120209091611
 Ignore-this: 1945b5336e6001d6da6cd63a77bd1efd
] 
[add md5lazyIO, check for bad paths in createTempFile
John Meacham <[email protected]>**20120209091527
 Ignore-this: f9e5f0dafc9615d5c5c50cb49829c5a5
] 
[add foreign types, interpret Ptr when creating external C types
John Meacham <[email protected]>**20120209090647
 Ignore-this: c49bea3938e2edabda9d7528cfb1121a
] 
[Add some more exotic primitive ops, ffs,clz,ctz,byteswap,popcount,parity.
John Meacham <[email protected]>**20120209070848
 Ignore-this: b61b1c08db35ccad33f24536b99913df
] 
[jhc.spec fixes
John Meacham <[email protected]>**20120209015329
 Ignore-this: 64488edc34893a734f81b1c01c0b1ff4
] 
[TAG 0.8.0
John Meacham <[email protected]>**20120208020026
 Ignore-this: 2d0d963331a43650879ae72d81ff62e8
] 
Patch bundle hash:
dafeb1c4bc56b1476c67c4db4abe165dd1bc6cd5
_______________________________________________
jhc mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/jhc

Reply via email to