summaryrefslogtreecommitdiff
path: root/libraries
Commit message (Collapse)AuthorAgeFilesLines
* Sat May 6 13:01:34 EST 2006 Don Stewart <dons@cse.unsw.edu.au>dons@cse.unsw.edu.au2006-05-062-48/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * Do loopU realloc on the Haskell heap. And add a really tough stress test Sat May 6 12:28:58 EST 2006 Don Stewart <dons@cse.unsw.edu.au> * Use simple, 3x faster concat. Plus QC properties. Suggested by sjanssen and dcoutts Sat May 6 15:59:31 EST 2006 Don Stewart <dons@cse.unsw.edu.au> * dcoutt's packByte bug squashed With inlinePerformIO, ghc head was compiling: packByte 255 `compare` packByte 127 into roughly case mallocByteString 2 of ForeignPtr f internals -> case writeWord8OffAddr# f 0 255 of _ -> case writeWord8OffAddr# f 0 127 of _ -> case eqAddr# f f of False -> case compare (GHC.Prim.plusAddr# f 0) (GHC.Prim.plusAddr# f 0) which is rather stunning. unsafePerformIO seems to prevent whatever magic inlining was leading to this. Only affected the head.
* Add array fusion versions of map, filter and foldldons@cse.unsw.edu.au2006-05-052-49/+202
| | | | | | | | | | This patch adds fusable map, filter and foldl, using the array fusion code for unlifted, flat arrays, from the Data Parallel Haskell branch, after kind help from Roman Leshchinskiy, Pipelines of maps, filters and folds should now need to walk the bytestring once only, and intermediate bytestrings won't be constructed.
* fix for non-GHCRoss Paterson2006-05-041-0/+2
|
* use bracket in appendFile (like writeFile)Ross Paterson2006-05-041-4/+2
|
* writeFile: close the file on errorSimon Marlow2006-05-041-6/+22
| | | | | Suggested by Ross Paterson, via Neil Mitchell
* Sync with FPS headdons@cse.unsw.edu.au2006-05-034-24/+115
| | | | | | | | | | | | | | | | | | | | | | | | This patch brings Data.ByteString into sync with the FPS head. The most significant of which is the new Haskell counting sort. Changes: Sun Apr 30 18:16:29 EST 2006 sjanssen@cse.unl.edu * Fix foldr1 in Data.ByteString and Data.ByteString.Char8 Mon May 1 11:51:16 EST 2006 Don Stewart <dons@cse.unsw.edu.au> * Add group and groupBy. Suggested by conversation between sjanssen and petekaz on #haskell Mon May 1 16:42:04 EST 2006 sjanssen@cse.unl.edu * Fix groupBy to match Data.List.groupBy. Wed May 3 15:01:07 EST 2006 sjanssen@cse.unl.edu * Migrate to counting sort. Data.ByteString.sort used C's qsort(), which is O(n log n). The new algorithm is O(n), and is faster for strings larger than approximately thirty bytes. We also reduce our dependency on cbits!
* improve performance of Integer->String conversionSimon Marlow2006-05-031-6/+76
| | | | | | | | | See http://www.haskell.org//pipermail/libraries/2006-April/005227.html Submitted by: bertram.felgenhauer@googlemail.com
* inline withMVar, modifyMVar, modifyMVar_Simon Marlow2006-05-031-0/+5
|
* Fix string truncating in hGetLine -- it was a pasto from Simon's codeSimon Marlow2006-05-031-1/+3
| | | | (from Don Stewart)
* Merge in Data.ByteString head. Fixes ByteString+cbits in hugsDon Stewart2006-04-294-59/+141
|
* Import Data.ByteString from fps 0.5.Don Stewart2006-04-287-0/+3030
| | | | | Fast, packed byte vectors, providing a better PackedString.
* fix previous patchRoss Paterson2006-05-011-1/+1
|
* fixes for non-GHCRoss Paterson2006-05-011-1/+5
|
* fix imports for mingw32 && !GHCRoss Paterson2006-04-271-2/+5
|
* RequireOrder: do not collect unrecognised options after a non-optSimon Marlow2006-04-261-1/+1
| | | | | | | | | | | | | | | | | | | The documentation for RequireOrder says "no option processing after first non-option", so it doesn't seem right that we should process the rest of the arguments to collect the unrecognised ones. Presumably the client wants to know about the unrecognised options up to the first non-option, and will be using a different option parser for the rest of the command line. eg. before: Prelude System.Console.GetOpt> getOpt' RequireOrder [] ["bar","--foo"] ([],["bar","--foo"],["--foo"],[]) after: Prelude System.Console.GetOpt> getOpt' RequireOrder [] ["bar","--foo"] ([],["bar","--foo"],[],[])
* fix for Haddock 0.7Ashley Yakeley2006-04-261-7/+7
|
* add Data.Fixed moduleAshley Yakeley2006-04-253-0/+147
|
* add instancesRoss Paterson2006-04-241-0/+4
|
* add superclasses to Applicative and TraversableRoss Paterson2006-04-115-43/+66
| | | | | | | Functor is now a superclass of Applicative, and Functor and Foldable are now superclasses of Traversable. The new hierarchy makes clear the inclusions between the classes, but means more work in defining instances. Default definitions are provided to help.
* add Functor and Monad instances for Prelude typesRoss Paterson2006-04-104-0/+36
|
* GHC.Base.breakpointLemmih2006-04-071-1/+4
|
* Track the GHC source tree reorganisationSimon Marlow2006-04-073-7/+7
|
* in the show instance for Exception, print the type of dynamic exceptionsSimon Marlow2006-04-065-2/+28
| | | | | Unfortunately this requires some recursve module hackery to get at the show instance for Typeable.
* implement ForeignEnvPtr, newForeignPtrEnv, addForeignPtrEnv for GHCSimon Marlow2006-04-051-3/+21
|
* add forkOnIO :: Int -> IO () -> IO ThreadIdSimon Marlow2006-03-271-0/+7
|
* Rework previous: not a gcc bug after allSimon Marlow2006-03-232-10/+7
| | | | | | It turns out that we were relying on behaviour that is undefined in C, and undefined behaviour in C means "the compiler can do whatever the hell it likes with your entire program". So avoid that.
* work around a gcc 4.1.0 codegen bug in -O2 by forcing -O1 for GHC.ShowSimon Marlow2006-03-231-0/+4
| | | | See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26824
* commit mysteriously missing parts of "runIOFastExit" patchSimon Marlow2006-03-211-8/+18
|
* add runIOFastExit :: IO a -> IO aSimon Marlow2006-03-201-1/+18
| | | | | Similar to runIO, but calls stg_exit() directly to exit, rather than shutdownHaskellAndExit(). Needed for running GHCi in the test suite.
* Fix a broken invariantSimon Marlow2006-03-161-4/+14
| | | | | Patch from #694, for the problem "empty is an identity for <> and $$" is currently broken by eg. isEmpty (empty<>empty)"
* Add unsafeSTToIO :: ST s a -> IO aSimon Marlow2006-03-152-3/+7
| | | | | Implementation for Hugs is missing, but should be easy. We need this for the forthcoming nested data parallelism implementation.
* Added 'alter'jeanphilippe.bernardy@gmail.com2006-03-152-0/+43
| | | | | Added 'alter :: (Maybe a -> Maybe a) -> k -> Map k a -> Map k a' to IntMap and Map This addresses ticket #665
* deprecate FunctorM in favour of Foldable and TraversableRoss Paterson2006-03-151-3/+7
| | | | as discussed on the libraries list.
* Simplify Eq, Ord, and Show instances for UArraySimon Marlow2006-03-131-137/+3
| | | | | | | | | | The Eq, Ord, and Show instances of UArray were written out longhand with one instance per element type. It is possible to condense these into a single instance for each class, at the expense of using more extensions (non-std context on instance declaration). Suggestion by: Frederik Eaton <frederik@ofb.net>
* Oops typo in intSet notMember jeanphilippe.bernardy@gmail.com2006-03-111-1/+1
|
* IntMap lookup now returns monad instead of Maybe.jeanphilippe.bernardy@gmail.com2006-03-111-2/+7
|
* Added notMember to Data.IntSet and Data.IntMapjeanphilippe.bernardy@gmail.com2006-03-114-3/+12
|
* add Data.Set.notMember and Data.Map.notMemberJohn Meacham2006-03-092-0/+11
|
* addToClockTime: handle picoseconds properlySimon Marlow2006-03-101-2/+2
| | | | fixes #588
* make head/build rule apply to all types, not just Bool.John Meacham2006-03-031-1/+1
|
* Avoid overflow when normalising clock timesIan Lynagh2006-02-101-12/+12
|
* Years have 365 days, not 30*365Ian Lynagh2006-02-101-2/+2
|
* declare blkcmp() staticSimon Marlow2006-02-231-1/+1
|
* typo in comment in Foldable classRoss Paterson2006-02-091-1/+1
|
* simplify fmapRoss Paterson2006-02-061-4/+1
|
* update ref in commentRoss Paterson2006-02-061-1/+1
|
* Give -foverlapping-instances to Data.Typeablesimonpj@microsoft2006-02-061-1/+8
| | | | | | | | | | | | | For some time, GHC has made -fallow-overlapping-instances "sticky": any instance in a module compiled with -fallow-overlapping-instances can overlap when imported, regardless of whether the importing module allows overlap. (If there is an overlap, both instances must come from modules thus compiled.) Instances in Data.Typeable might well want to be overlapped, so this commit adds the flag to Data.Typeable (with an explanatory comment)
* Add -fno-bang-patterns to modules using both bang and glasgow-extssimonpj@microsoft.com2006-02-035-2/+8
|
* When splitting a bucket, keep the contents in the same orderSimon Marlow2006-02-011-3/+3
| | | | | To retain the property that multiple inserts shadow each other (see ticket #661, test hash001)
* add foldr/build optimisation for take and replicateSimon Marlow2006-01-261-0/+18
| | | | | | | | | | | | This allows take to be deforested, and improves performance of replicate and replicateM/replicateM_. We have a separate problem that means expressions involving [n..m] aren't being completely optimised because eftIntFB isn't being inlined but otherwise the results look good. Sadly this has invalidated a number of the nofib benchmarks which were erroneously using take to duplicate work in a misguided attempt to lengthen their runtimes (ToDo).