- Feb 08, 2024
-
-
Introduces `os-string` submodule. This will be necessary for `filepath-1.5`.
-
- Apr 20, 2023
-
-
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
-
- Mar 08, 2023
-
-
- Jun 17, 2020
-
-
Sylvain Henry authored
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
-
- Nov 28, 2019
-
-
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>
-
- Nov 13, 2019
-
-
Ben Gamari authored
Haskeline now depends upon exceptions. See #16752.
-
- Oct 03, 2019
-
-
This makes it match the others
-
- Jul 05, 2019
-
-
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.
-
- Feb 19, 2019
-
-
- Feb 16, 2019
-
-
`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.
-
- Jan 31, 2019
-
-
- Oct 23, 2018
-
-
Ben Gamari authored
-
- Aug 27, 2018
-
-
Summary: These packages were removed from the GHC source tree in Phab:D4761 and 0905fec0. Reviewers: RyanGlScott, bgamari Reviewed By: RyanGlScott Subscribers: rwbarton, carter Differential Revision: https://phabricator.haskell.org/D5095
-
- Jun 14, 2018
-
-
Ben Gamari authored
-
Vladislav Zavialov authored
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
-
- Dec 08, 2017
-
-
Ben Gamari authored
It will remain a submodule until we are ready to merge Hadrian into the tree.
-
- Sep 15, 2017
-
-
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
-
- Aug 01, 2017
-
-
Ben Gamari authored
-
- Jul 28, 2017
-
-
Ben Gamari authored
-
- May 11, 2017
-
-
Moritz Angermann authored
This reverts commit 8d4bce42.
-
Moritz Angermann authored
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
-
- Jan 30, 2017
-
-
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
-
- Feb 11, 2016
-
-
Simon Marlow authored
-
- Dec 11, 2015
-
-
Austin Seipp authored
Signed-off-by:
Austin Seipp <austin@well-typed.com>
-
Richard Eisenberg authored
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.
-
- Dec 05, 2015
-
-
Herbert Valerio Riedel authored
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 020375d1, 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
-
- Dec 04, 2015
-
-
This should catch mistakes like a703fbce. 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
-
- Aug 19, 2015
-
-
Andrey Mokhov authored
-
- Dec 24, 2014
-
-
Andrey Mokhov authored
-
- Nov 21, 2014
-
-
Austin Seipp authored
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
-
- Aug 14, 2014
-
-
Herbert Valerio Riedel authored
This will affect commands such as git submodule update --remote utils/haddock to use `ghc-head` instead of the default `master` branch
-
- Jun 26, 2014
-
-
Herbert Valerio Riedel authored
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>
-
- Jun 25, 2014
-
-
Herbert Valerio Riedel authored
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>
-
- Mar 23, 2014
-
-
Herbert Valerio Riedel authored
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>
-
- Feb 06, 2014
-
-
Herbert Valerio Riedel authored
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>
-
- Nov 22, 2013
-
-
Joachim Breitner authored
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.
-
- Aug 19, 2013
-
-
Herbert Valerio Riedel authored
...as the new `git.haskell.org` CNAME has been activated (see also GitolitePlan and #8121 for more details)
-
- Aug 09, 2013
-
-
Herbert Valerio Riedel authored
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
-
- Feb 03, 2013
-
-
Ian Lynagh authored
Looks like I forgot to make it one in the original conversion
-
- Dec 02, 2012
-
-
Ian Lynagh authored
This bring the time package into line with how we handle other packages.
-