summaryrefslogtreecommitdiff
path: root/libraries/base
Commit message (Collapse)AuthorAgeFilesLines
...
| | | * testsuite: Mark length001 as failing under nonmoving wayswip/gc/testBen Gamari2019-10-221-1/+1
| | |/ | | | | | | | | | This is consistent with the other unoptimized ways.
| * | NonmovingCensus: Emit samples to eventlogwip/gc/instrumentationBen Gamari2019-10-221-0/+4
| |/
| * rts: Introduce debug flag for non-moving GCBen Gamari2019-10-201-15/+18
| |
* | base: Add @since on GHC.IO.Handle.Lock.hUnlockBen Gamari2019-10-231-0/+2
| | | | | | | | | | | | Unfortunately this was introduced in base-4.11.0 (GHC 8.4.1) whereas the other locking primitives were added in base-4.10.0 (GHC 8.2.1).
* | testsuite: Don't run T7653 in ghci and profiled waysBen Gamari2019-10-231-2/+2
| | | | | | | | | | Currently this routinely fails in the i386 job. See #7653.
* | Use an IORef for QSemNDavid Feuer2019-10-231-39/+51
| | | | | | | | | | | | | | Replace the outer `MVar` in `QSemN` with an `IORef`. This should probably be lighter, and it removes the need for `uninterruptibleMask`. Previously Differential Revision https://phabricator.haskell.org/D4896
* | Windows: Update tarballs to GCC 9.2 and remove MAX_PATH limit.Tamar Christina2019-10-201-1/+1
|/
* base: Document the fact that Typeable is automatically "derived"Ben Gamari2019-10-081-0/+4
| | | | This fixes #17060.
* Switch to cabal-version=3.0 in base.cabal and rts.cabalAndrey Mokhov2019-10-071-1/+1
|
* Add Monad instances to `(,,) a b` and `(,,,) a b c`Fumiaki Kinoshita2019-10-043-0/+31
|
* docs String, hyperlink to Data.ListJames Brock2019-10-031-0/+1
| | | | | | | | | | | Add a reference to the documentation for Data.List in the description for String. On the generated Haddock for Data.String, http://hackage.haskell.org/package/base-4.12.0.0/docs/Data-String.html there is curently no hyperlink to Data.List, which is where a reader will find most of the useful functions which can operate on Strings. I imagine this has confused beginners who came to this page looking for String operations.
* Do not rely on CUSKs in 'base'Vladislav Zavialov2019-09-302-3/+8
| | | | | Use standalone kind signatures instead of complete user-specified kinds in Data.Type.Equality and Data.Typeable
* Expand description of DataKinds to mention data constructors, and include ↵chris-martin2019-09-271-3/+8
| | | | mention of TypeError
* Clarify the purpose and status of the GHC.TypeLits modulechris-martin2019-09-271-3/+9
|
* base: Move Ix typeclass to GHC.IxBen Gamari2019-09-2510-332/+357
| | | | | The `Ix` class seems rather orthogonal to its original home in `GHC.Arr`.
* base: Add link to "A reflection on types"Ben Gamari2019-09-241-0/+1
| | | | Fixes #17181.
* base: add newtypes for socklen_t and ndfs_t to System.Posix.Types #16568Adam Sandberg Eriksson2019-09-235-6/+33
| | | | | | Metric Increase: haddock.base T4029
* Fix haddocks for marker events in Debug.TraceAlp Mestanogullari2019-09-211-1/+1
|
* Add predicates for testing if IOError is ResourceVanished.Andrew Martin2019-09-132-0/+29
| | | | | This adds isResourceVanished, resourceVanishedErrorType, and isResourceVanishedErrorType to System.IO.Error, resolving #14730.
* Windows: make openTempFile fully atomic.Tamar Christina2019-09-112-29/+47
|
* Use C99 Fixed width types to avoid hack in base's configureJohn Ericson2019-09-013-27/+22
| | | | Define MD5Context in terms of `uint*_t` and don't use `HsFFI.h`.
* base: Reintroduce fusion for scanrTDecki2019-08-222-1/+46
| | | | While avoiding #16943.
* Remove unused imports of the form 'import foo ()' (Fixes #17065)James Foster2019-08-151-1/+0
| | | | | | | | | | | These kinds of imports are necessary in some cases such as importing instances of typeclasses or intentionally creating dependencies in the build system, but '-Wunused-imports' can't detect when they are no longer needed. This commit removes the unused ones currently in the code base (not including test files or submodules), with the hope that doing so may increase parallelism in the build system by removing unnecessary dependencies.
* Fix binary distributionTamar Christina2019-08-131-1/+0
|
* Revert "Make scanr a good producer and consumer"Ben Gamari2019-08-072-18/+2
| | | | | | This reverts commit 4e1dfc3767167dddd0e151a2df8305b12aa0f49c. Due to #16943.
* testsuite: Add tests for #16943Ben Gamari2019-08-075-0/+23
|
* base: add Functor, Applicative, Monad, Alternative, MonadPlus, Generic and ↵Fumiaki Kinoshita2019-07-282-0/+46
| | | | Generic1 instances to Kleisli
* Do not ignore events deletion when events to be added are provided (#16916)Ivan Kasatenko2019-07-211-4/+4
| | | | | | | | | | | Kqueue/kevent implementation used to ignore events to be unsubscribed from when events to be subscribed to were provided. This resulted in a lost notification subscription, when GHC runtime didn't listen for any events, yet the kernel considered otherwise and kept waking up the IO manager thread. This commit fixes this issue by always adding and removing all of the provided subscriptions.
* Added do-notation examples for Functor, Applicative and Monad combinators.Baldur Blöndal2019-07-204-0/+179
|
* testsuite: Mark T4808 as broken in threaded2 wayBen Gamari2019-07-181-1/+1
| | | | As noted in #16909.
* testsuite: Mark hWaitForInput-accurate-stdin as broken in all threaded waysBen Gamari2019-07-181-1/+1
| | | | Previously it was not marked as broken in profthreaded
* Create {Int,Word}32RepJohn Ericson2019-07-171-0/+2
| | | | | | | This prepares the way for making Int32# and Word32# the actual size they claim to be. Updates binary submodule for (de)serializing the new runtime reps.
* rename type parameter in `instance Applicative ((->) a)`, fixing #16928xplorld2019-07-141-1/+1
|
* Expunge #ifdef and #ifndef from the codebaseJohn Ericson2019-07-142-6/+6
| | | | | | | | These are unexploded minds as far as the linter is concerned. I don't want to hit in my MRs by mistake! I did this with `sed`, and then rolled back some changes in the docs, config.guess, and the linter itself.
* Remove purely external primopsJohn Ericson2019-07-143-1/+5
| | | | | | | | | | | | The compiler doesn't create uses nor compiles the uses that exist specially. These are just plain C-- FFI. These `await*` ones are especially important to so convert because "true" primops are hard to make platform-specific currently. The other exports are part of this commit so this module always exports something, which avoids silly CPP elsewhere. More will be added later once `foreign import prim` is extended.
* base: Data.Fixed: make HasResolution poly-kinded (#10055, #15622)Ashley Yakeley2019-07-132-6/+17
|
* getExecutablePath: get path from sysctl on FreeBSDFraser Tweedale2019-06-271-0/+47
|
* ghci: Don't rely on resolution of System.IO to base moduleBen Gamari2019-06-222-0/+37
| | | | | | | | | Previously we would hackily evaluate a textual code snippet to compute actions to disable I/O buffering and flush the stdout/stderr handles. This broke in a number of ways (#15336, #16563). Instead we now ship a module (`GHC.GHCi.Helpers`) with `base` containing the needed actions. We can then easily refer to these via `Orig` names.
* Add more newtype-derived instances to Data.Ord.DownFumiaki Kinoshita2019-06-182-4/+26
| | | | | Metric Increase: haddock.base
* Data.Ord: give a field name getDown to DownFumiaki Kinoshita2019-06-183-4/+21
|
* base/Event/Poll: Drop POLLRDHUP enum itemBen Gamari2019-06-161-12/+0
| | | | | | Previously the Event enumeration produced by hsc2hs would sometimes include a currently-unused POLLRDHUP item. This unused binding would result in a build failure. Drop it.
* testsuite: Add assertions that way lists are in fact listsBen Gamari2019-06-152-2/+2
| | | | | | Previously there were a few cases where operations like `omit_ways` were incorrectly passed a single way (e.g. `omit_ways('threaded2')`). This won't work as the author expected.
* testsuite: Skip hDuplicateTo001 in concurrent waysBen Gamari2019-06-151-1/+2
| | | | As noted in #16819, this operation is racy under concurrent execution.
* Implement the -XUnliftedNewtypes extension.Andrew Martin2019-06-145-4/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | GHC Proposal: 0013-unlifted-newtypes.rst Discussion: https://github.com/ghc-proposals/ghc-proposals/pull/98 Issues: #15219, #1311, #13595, #15883 Implementation Details: Note [Implementation of UnliftedNewtypes] Note [Unifying data family kinds] Note [Compulsory newtype unfolding] This patch introduces the -XUnliftedNewtypes extension. When this extension is enabled, GHC drops the restriction that the field in a newtype must be of kind (TYPE 'LiftedRep). This allows types like Int# and ByteArray# to be used in a newtype. Additionally, coerce is made levity-polymorphic so that it can be used with newtypes over unlifted types. The bulk of the changes are in TcTyClsDecls.hs. With -XUnliftedNewtypes, getInitialKind is more liberal, introducing a unification variable to return the kind (TYPE r0) rather than just returning (TYPE 'LiftedRep). When kind-checking a data constructor with kcConDecl, we attempt to unify the kind of a newtype with the kind of its field's type. When typechecking a data declaration with tcTyClDecl, we again perform a unification. See the implementation note for more on this. Co-authored-by: Richard Eisenberg <rae@richarde.dev>
* testsuite: A more portable solution to #9399Ben Gamari2019-06-136-25/+23
| | | | | | | | Previously we used an awful hybrid batch script/Bourne shell script to allow this test to run both on Windows and Linux (fixing #9399). However, this breaks on some libc implementations (e.g. musl). Fix this. Fixes #16798.
* testsuite: Mark T13167 as fragile in threaded2Ben Gamari2019-06-121-1/+1
| | | | As noted in #16536.
* testsuite: Mark hWaitForInput-accurate-stdin as broken in threaded waysBen Gamari2019-06-121-1/+1
| | | | As noted in #16535.
* base: Mark CPUTime001 as fragileBen Gamari2019-06-101-1/+1
| | | | | | As noted in #16224, CPUTime001 has been quite problematic, reporting non-monotonic timestamps in CI. Unfortunately I've been unable to reproduce this locally.
* Introduce log1p and expm1 primopschessai2019-06-091-13/+9
| | | | | Previously log and exp were primitives yet log1p and expm1 were FFI calls. Fix this non-uniformity.
* Explain that 'mappend' and '(<>)' should be the same [skip ci]Alexandre Baldé2019-06-091-0/+3
|