summaryrefslogtreecommitdiff
path: root/.gitmodules
Commit message (Collapse)AuthorAgeFilesLines
* Implement -jsem: parallelism controlled by semaphoressheaf2023-04-201-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | See https://github.com/ghc-proposals/ghc-proposals/pull/540/ for a complete description for the motivation for this feature. The `-jsem` option allows a build tool to pass a semaphore to GHC which GHC can use in order to control how much parallelism it requests. GHC itself acts as a client in the GHC jobserver protocol. ``` GHC Jobserver Protocol ~~~~~~~~~~~~~~~~~~~~~~ This proposal introduces the GHC Jobserver Protocol. This protocol allows a server to dynamically invoke many instances of a client process, while restricting all of those instances to use no more than <n> capabilities. This is achieved by coordination over a system semaphore (either a POSIX semaphore [6]_ in the case of Linux and Darwin, or a Win32 semaphore [7]_ in the case of Windows platforms). There are two kinds of participants in the GHC Jobserver protocol: - The *jobserver* creates a system semaphore with a certain number of available tokens. Each time the jobserver wants to spawn a new jobclient subprocess, it **must** first acquire a single token from the semaphore, before spawning the subprocess. This token **must** be released once the subprocess terminates. Once work is finished, the jobserver **must** destroy the semaphore it created. - A *jobclient* is a subprocess spawned by the jobserver or another jobclient. Each jobclient starts with one available token (its *implicit token*, which was acquired by the parent which spawned it), and can request more tokens through the Jobserver Protocol by waiting on the semaphore. Each time a jobclient wants to spawn a new jobclient subprocess, it **must** pass on a single token to the child jobclient. This token can either be the jobclient's implicit token, or another token which the jobclient acquired from the semaphore. Each jobclient **must** release exactly as many tokens as it has acquired from the semaphore (this does not include the implicit tokens). ``` Build tools such as cabal act as jobservers in the protocol and are responsibile for correctly creating, cleaning up and managing the semaphore. Adds a new submodule (semaphore-compat) for managing and interacting with semaphores in a cross-platform way. Fixes #19349
* Add git submodule for utils/hpcDavid Binder2023-03-081-0/+3
|
* ghc-bignum librarySylvain Henry2020-06-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ghc-bignum is a newer package that aims to replace the legacy integer-simple and integer-gmp packages. * it supports several backends. In particular GMP is still supported and most of the code from integer-gmp has been merged in the "gmp" backend. * the pure Haskell "native" backend is new and is much faster than the previous pure Haskell implementation provided by integer-simple * new backends are easier to write because they only have to provide a few well defined functions. All the other code is common to all backends. In particular they all share the efficient small/big number distinction previously used only in integer-gmp. * backends can all be tested against the "native" backend with a simple Cabal flag. Backends are only allowed to differ in performance, their results should be the same. * Add `integer-gmp` compat package: provide some pattern synonyms and function aliases for those in `ghc-bignum`. It is intended to avoid breaking packages that depend on `integer-gmp` internals. Update submodules: text, bytestring Metric Decrease: Conversions ManyAlternatives ManyConstructors Naperian T10359 T10547 T10678 T12150 T12227 T12234 T12425 T13035 T13719 T14936 T1969 T4801 T4830 T5237 T5549 T5837 T8766 T9020 parsing001 space_leak_001 T16190 haddock.base On ARM and i386, T17499 regresses (+6% > 5%). On x86_64 unregistered, T13701 sometimes regresses (+2.2% > 2%). Metric Increase: T17499 T13701
* .gitmodules: tweak 'exception' URL to avoid redirection warningsSergei Trofimovich2019-11-271-1/+1
| | | | | | | | | | | Avoid initial close warning of form: ``` Cloning into 'exceptions'... warning: redirecting to https://gitlab.haskell.org/ghc/packages/exceptions.git/ ``` Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* Bump Haskeline and add exceptions as boot libraryBen Gamari2019-11-131-0/+3
| | | | Haskeline now depends upon exceptions. See #16752.
* Make Haddock submodule remote point to gitlab mirrorJohn Ericson2019-10-031-1/+1
| | | | This makes it match the others
* Make all submodules have absolute URLsArtem Pelenitsyn2019-07-051-27/+27
| | | | | | | | | | | | | The relative URLs were a workaround to let most contributors fork from Github due to a weakness in the haskell.org server. This workaround is no longer needed. And relative submodule URLs are an impediment to forking which makes contributions harder than they should be. The URLs are chosen to clone from https, because this makes sure that anybody, even not a registered Gitlab user, can clone a fork recursively.
* Remove arc scriptsÖmer Sinan Ağacan2019-02-191-3/+0
|
* Remove `parallel` as a submoduleAlec Theriault2019-02-161-4/+0
| | | | | | | | | | | `parallel` is used in exactly one place in the GHC tree: the T2317 test. It seems almost by accident that it is a submodule; libraries needed only for tests should net be included as submodules (see `QuickCheck`, `async`, `haskell98`, `regex-compat`, `utf8-string`, `vector` and more for examples). T2317 will now get run only when `parallel` is installed instead of `parallel` being required for the testsuite to run.
* Update unix submoduleHerbert Valerio Riedel2019-01-311-0/+1
|
* Remove Hadrian submoduleBen Gamari2018-10-231-3/+0
|
* Remove dph, vector, primitive and random from .gitmodulesChaitanya Koparkar2018-08-271-16/+0
| | | | | | | | | | | | | | Summary: These packages were removed from the GHC source tree in Phab:D4761 and 0905fec089b3270f540c7ee33959cbf8ecfcb4d7. Reviewers: RyanGlScott, bgamari Reviewed By: RyanGlScott Subscribers: rwbarton, carter Differential Revision: https://phabricator.haskell.org/D5095
* Revert inadvertant changes to .gitmodulesBen Gamari2018-06-141-2/+2
|
* Embrace -XTypeInType, add -XStarIsTypeVladislav Zavialov2018-06-141-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Implement the "Embrace Type :: Type" GHC proposal, .../ghc-proposals/blob/master/proposals/0020-no-type-in-type.rst GHC 8.0 included a major change to GHC's type system: the Type :: Type axiom. Though casual users were protected from this by hiding its features behind the -XTypeInType extension, all programs written in GHC 8+ have the axiom behind the scenes. In order to preserve backward compatibility, various legacy features were left unchanged. For example, with -XDataKinds but not -XTypeInType, GADTs could not be used in types. Now these restrictions are lifted and -XTypeInType becomes a redundant flag that will be eventually deprecated. * Incorporate the features currently in -XTypeInType into the -XPolyKinds and -XDataKinds extensions. * Introduce a new extension -XStarIsType to control how to parse * in code and whether to print it in error messages. Test Plan: Validate Reviewers: goldfire, hvr, bgamari, alanz, simonpj Reviewed By: goldfire, simonpj Subscribers: rwbarton, thomie, mpickering, carter GHC Trac Issues: #15195 Differential Revision: https://phabricator.haskell.org/D4748
* Add hadrian as a submoduleBen Gamari2017-12-081-0/+3
| | | | | It will remain a submodule until we are ready to merge Hadrian into the tree.
* Ignore untracked in text, parsec and mtl submodules [skip ci]Tamar Christina2017-09-151-16/+16
| | | | | | | | | | | | | | ignore all untracked changes in all submodules from the top level. This matches the older settings for the other submodules and stops litering `git status` output with files created by ./boot and make. Reviewers: austin, bgamari Reviewed By: bgamari Subscribers: hvr, rwbarton, thomie Differential Revision: https://phabricator.haskell.org/D3899
* Add .gitmodules entries for text, parsec, mtl submodulesBen Gamari2017-08-011-0/+12
|
* gitmodules: Delete entry for dead hoopl submoduleBen Gamari2017-07-281-4/+0
|
* Revert "libffi via submodule"Moritz Angermann2017-05-111-3/+4
| | | | This reverts commit 8d4bce42de7929b0dec7e7d68e66bcfc4d266322.
* libffi via submoduleMoritz Angermann2017-05-111-4/+3
| | | | | | | | | | | | | | | | | | | This is rather annoying. I'd prefer to have a stable release to use. However libffi-3.2.1 has been released November 12, 2014, and libffi-4 is TBD. See also https://github.com/libffi/libffi/issues/296 The core reason for this change is that llvm changed the supported assembly to unified syntax, which libffi-3.2.1 does not use, and hence fails to compile for arm with llvm. For refence, see the following issue: https://github.com/libffi/libffi/issues/191 Reviewers: austin, bgamari Reviewed By: bgamari Subscribers: rwbarton, thomie, snowleopard Differential Revision: https://phabricator.haskell.org/D3349
* Turn libraries/integer-gmp/gmp/tarball into a submoduleReid Barton2017-01-301-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | The submodule repository contains the latest version of the GMP source distribution (6.1.2) with the doc/ subdirectory removed, as described in gmp/ghc.mk. Rather than applying the old patch from gmp/tarball/patch I moved its contents into gmp/gmpsrc.patch, canceling a patch related to memory management there. Experimentally, the PIC-related patch for OS X is still necessary. The upgrade to GMP 6.1.2 fixes #7655. Test Plan: Built on OS X with in-tree gmp and tested that the command `ghc -e 'length (show (2^(5*10^6) :: Integer))'` no longer segfaults. Reviewers: mpickering, hvr, austin, bgamari Reviewed By: bgamari Subscribers: mpickering, thomie Differential Revision: https://phabricator.haskell.org/D3044 GHC Trac Issues: #7655
* Ignore untracked in nofibSimon Marlow2016-02-111-1/+1
|
* Revert .gitmodules changes from 6746549772c5Austin Seipp2015-12-111-29/+29
| | | | Signed-off-by: Austin Seipp <austin@well-typed.com>
* Add kind equalities to GHC.Richard Eisenberg2015-12-111-29/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This implements the ideas originally put forward in "System FC with Explicit Kind Equality" (ICFP'13). There are several noteworthy changes with this patch: * We now have casts in types. These change the kind of a type. See new constructor `CastTy`. * All types and all constructors can be promoted. This includes GADT constructors. GADT pattern matches take place in type family equations. In Core, types can now be applied to coercions via the `CoercionTy` constructor. * Coercions can now be heterogeneous, relating types of different kinds. A coercion proving `t1 :: k1 ~ t2 :: k2` proves both that `t1` and `t2` are the same and also that `k1` and `k2` are the same. * The `Coercion` type has been significantly enhanced. The documentation in `docs/core-spec/core-spec.pdf` reflects the new reality. * The type of `*` is now `*`. No more `BOX`. * Users can write explicit kind variables in their code, anywhere they can write type variables. For backward compatibility, automatic inference of kind-variable binding is still permitted. * The new extension `TypeInType` turns on the new user-facing features. * Type families and synonyms are now promoted to kinds. This causes trouble with parsing `*`, leading to the somewhat awkward new `HsAppsTy` constructor for `HsType`. This is dispatched with in the renamer, where the kind `*` can be told apart from a type-level multiplication operator. Without `-XTypeInType` the old behavior persists. With `-XTypeInType`, you need to import `Data.Kind` to get `*`, also known as `Type`. * The kind-checking algorithms in TcHsType have been significantly rewritten to allow for enhanced kinds. * The new features are still quite experimental and may be in flux. * TODO: Several open tickets: #11195, #11196, #11197, #11198, #11203. * TODO: Update user manual. Tickets addressed: #9017, #9173, #7961, #10524, #8566, #11142. Updates Haddock submodule.
* Use git.h.o copy of arcanist-external-json-linterHerbert Valerio Riedel2015-12-051-1/+1
| | | | | | | | | | | | It shouldn't have been possible to reference an external Git submodule not hosted on git.haskell.org as we can't otherwise ensure gitlink integrity. But it turns out the validation hook scripts in place didn't reject 020375d1e723339a95b86d0d3b8a8214b1cc144a, so here we are... This commit changes ghc.git to use our own fork/copy of https://github.com/bgamari/arcanist-external-json-linter hosted on git.haskell.org
* Add linter to check for binaries accidentally added to repositoryBen Gamari2015-12-041-0/+3
| | | | | | | | | | | | | | | | This should catch mistakes like a703fbce20969e6f02e74fee76c0a9e22b513426. Adds an arcanist-external-json-linter submodule, which should eventually be mirrored on haskell.org resources. Test Plan: Validate Reviewers: thomie, hvr, austin Reviewed By: austin Differential Revision: https://phabricator.haskell.org/D1515
* Delete old-{time,locale} and haskell{98,2010}Austin Seipp2014-11-201-16/+0
| | | | | | | | | | | | | | | | | | Summary: Depends on D510. This is the final blow and removes them from the tree completely. Signed-off-by: Austin Seipp <austin@well-typed.com> Test Plan: I looked really hard but didn't see them. Reviewers: hvr, ekmett Subscribers: thomie, carter Differential Revision: https://phabricator.haskell.org/D511 GHC Trac Issues: #9590
* Declare `ghc-head` to be haddock's upstream branchHerbert Valerio Riedel2014-08-141-0/+1
| | | | | | | | This will affect commands such as git submodule update --remote utils/haddock to use `ghc-head` instead of the default `master` branch
* Add testsuite-related .gitignore filesHerbert Valerio Riedel2014-06-271-0/+19
| | | | | | | | Also set `submodule.<name>.ignore=none` explicitly for the recently converted submodules, as those are not supposed to have untracked/unignored files lying around. Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
* Convert loose sub-repos into proper submodules (re #8545)Herbert Valerio Riedel2014-06-251-0/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Specifically, the following sub-repos/modules are converted: - libffi-tarballs - libraries/array - libraries/deepseq - libraries/directory - libraries/dph - libraries/filepath - libraries/haskell2010 - libraries/haskell98 - libraries/hoopl - libraries/hpc - libraries/old-locale - libraries/old-time - libraries/parallel - libraries/process - libraries/stm - libraries/unix - nofib - utils/hsc2hs N.B. ghc-tarballs is not converted as it will probably be handled differently in the future. Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
* Convert haddock into a proper submodule (re #8545)Herbert Valerio Riedel2014-03-231-0/+3
| | | | | | | | This should help contribute content to https://ghc.haskell.org/trac/ghc/wiki/WorkingConventions/Git/Submodules Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
* Switch to relative URLs in .gitmodulesHerbert Valerio Riedel2014-02-061-14/+14
| | | | | | | | | | | | | | | | Previously, the `http://`-protocol part was hardcoded in the URLs, causing the initial clone process to fall back to `http://` even when the ghc.git repo was cloned via one of the other 3 supported transport protocols. This is slightly related to #8545, as it will make it possible to e.g. git clone --recursive git://git.haskell.org/ghc and clone ghc.git including all submodules in one go (i.e. w/o `sync-all`), and w/o falling back to a different (hardwired) Git transport protocol for the submodules. Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
* Ignore untracked contents in submodulesJoachim Breitner2013-11-221-0/+14
| | | | | | | The GHC build creates files there that are not part of the project’s .gitignore, and clutter up "git status" in ghc/. With this patch, these changes are ignored; modifications to existing files in the submodule repositories are still reported.
* Replace occurences of darcs.haskell.org by git.haskell.orgHerbert Valerio Riedel2013-08-191-14/+14
| | | | | ...as the new `git.haskell.org` CNAME has been activated (see also GitolitePlan and #8121 for more details)
* Normalize urls for Git submodulesHerbert Valerio Riedel2013-08-091-14/+14
| | | | | | | | This changes the `/libraries/<name>.git/` suffix in the urls to `/packages/<name>.git`. This is a minor preparation step helping the Gitolite transition (see #8121). See also http://permalink.gmane.org/gmane.comp.lang.haskell.ghc.devel/1713
* random is a submoduleIan Lynagh2013-02-031-0/+3
| | | | Looks like I forgot to make it one in the original conversion
* Use a submodule for the time packageIan Lynagh2012-12-021-0/+3
| | | | | This bring the time package into line with how we handle other packages.
* Use submodules for repositories with upstreamsIan Lynagh2012-11-251-0/+36