{"push_id":2031243676,"size":15,"distinct_size":15,"ref":"refs/heads/master","head":"7109fa8157f3258912c947f28dab7617b5e5d281","before":"cb767542307b41c91061e743a4a4f448949b34cf","commits":[{"sha":"a02039c7dcb4300b0aca80a994466a8f3039a3fc","author":{"name":"Ryan Scott","email":"0e631eeb70608b016b9ff47eab78d82f06c2dddc@gmail.com"},"message":"Add regression test for #9725\n\nKind equalities saves the day!","distinct":true,"url":"https://api.github.com/repos/iamrecursion/ghc/commits/a02039c7dcb4300b0aca80a994466a8f3039a3fc"},{"sha":"a36eea1af4faabdf8fcf0a68dbd4f9946bf6d65a","author":{"name":"Joachim Breitner","email":"3b8e10480754ba93523db5dc4626a5f001e54bb7@joachim-breitner.de"},"message":"Revert installing texinfo in CI systems\n\nThis reverts commit 00ff02352f07bff7d422e4e48e4e5df9a0b63d83.\nThis reverts commit 11a59de25d49f999eed0ea55df29d916a66ecd91.","distinct":true,"url":"https://api.github.com/repos/iamrecursion/ghc/commits/a36eea1af4faabdf8fcf0a68dbd4f9946bf6d65a"},{"sha":"55001c0c9934de2cf94d3879cea20c0faf73695c","author":{"name":"Herbert Valerio Riedel","email":"cd0433cd53818d3212d5dd6752f1a697096e3614@gnu.org"},"message":"Sync base/changelog.md\n\nThis updates the base-4.10.0.0 entry heading which has diverged from\n\n http://hackage.haskell.org/package/base-4.10.0.0/src/changelog.md\n\nand while at it also sets the GHC version for the base-4.11 entry to\navoid confusion about what GHC 8.2.2's base is going to include.\n\n[skip ci]","distinct":true,"url":"https://api.github.com/repos/iamrecursion/ghc/commits/55001c0c9934de2cf94d3879cea20c0faf73695c"},{"sha":"ec9ac20d0964c9f1323105b5a2df24f50d4fe3ef","author":{"name":"Tamar Christina","email":"4b827d11497ddfb9a060ba3bcf83d2df7404274e@zhox.com"},"message":"Add ability to produce crash dumps on Windows\n\nIt's often hard to debug things like segfaults on Windows,\nmostly because gdb isn't always of use and users don't know\nhow to effectively use it.\n\nThis patch provides a way to create a crash drump by passing\n\n`+RTS --generate-crash-dumps` as an option. If any unhandled\nexception is triggered a dump is made that contains enough\ninformation to be able to diagnose things successfully.\n\nCurrently the created dumps are a bit big because I include\nall registers, code and threads information.\n\nThis looks like\n\n```\n$ testsuite/tests/rts/derefnull.run/derefnull.exe +RTS\n--generate-crash-dumps\n\nAccess violation in generated code when reading 0000000000000000\nCrash dump created. Dump written to:\n        E:\\msys64\\tmp\\ghc-20170901-220250-11216-16628.dmp\n```\n\nTest Plan: ./validate\n\nReviewers: austin, hvr, bgamari, erikd, simonmar\n\nReviewed By: bgamari, simonmar\n\nSubscribers: rwbarton, thomie\n\nDifferential Revision: https://phabricator.haskell.org/D3912","distinct":true,"url":"https://api.github.com/repos/iamrecursion/ghc/commits/ec9ac20d0964c9f1323105b5a2df24f50d4fe3ef"},{"sha":"8d647450655713e035091349d5163a1a28be18f4","author":{"name":"Tamar Christina","email":"4b827d11497ddfb9a060ba3bcf83d2df7404274e@zhox.com"},"message":"Optimize linker by minimizing calls to tryGCC to avoid fork/exec overhead.\n\nOn Windows process creations are fairly expensive. As such calling them in\nwhat's essentially a hot loop is also fairly expensive.\n\nEach time we make a call to `tryGCC` the following fork/exec/wait happen\n\n```\ngcc -> realgcc -> cc1\n```\n\nThis is very problematic, because according to the profiler about 20% of the\ntime is spent on just process creation and spin time.\n\nThe goal of the patch is to mitigate this by asking GCC once for it's search\ndirectories, caching these (because it's very hard to change these at all\nafter the process started since GCC's base dirs don't change unless with\nextra supplied `-B` flags.).\n\nWe also do the same for the `findSysDll` function, since this computes\nthe search path every time by registery accesses etc.\n\nThese changes and D3909 drop GHC on Windows startup time from 2-3s to 0.5s.\n\nThe remaining issue is a 1.5s wait lock on `CONIN$` which can be addressed\nwith the new I/O manager code. But this makes GHCi as responsive on Windows as\nGHC 7.8 was.\n\nTest Plan: ./validate\n\nReviewers: austin, hvr, bgamari, erikd\n\nReviewed By: bgamari\n\nSubscribers: rwbarton, thomie\n\nDifferential Revision: https://phabricator.haskell.org/D3910","distinct":true,"url":"https://api.github.com/repos/iamrecursion/ghc/commits/8d647450655713e035091349d5163a1a28be18f4"},{"sha":"ef26182e2014b0a2a029ae466a4b121bf235e4e4","author":{"name":"Ryan Scott","email":"0e631eeb70608b016b9ff47eab78d82f06c2dddc@gmail.com"},"message":"Track the order of user-written tyvars in DataCon\n\nAfter typechecking a data constructor's type signature, its type\nvariables are partitioned into two distinct groups: the universally\nquantified type variables and the existentially quantified type\nvariables. Then, when prompted for the type of the data constructor,\nGHC gives this:\n\n```lang=haskell\nMkT :: forall <univs> <exis>. (...)\n```\n\nFor H98-style datatypes, this is a fine thing to do. But for GADTs,\nthis can sometimes produce undesired results with respect to\n`TypeApplications`. For instance, consider this datatype:\n\n```lang=haskell\ndata T a where\n  MkT :: forall b a. b -> T a\n```\n\nHere, the user clearly intended to have `b` be available for visible\ntype application before `a`. That is, the user would expect\n`MkT @Int @Char` to be of type `Int -> T Char`, //not//\n`Char -> T Int`. But alas, up until now that was not how GHC\noperated—regardless of the order in which the user actually wrote\nthe tyvars, GHC would give `MkT` the type:\n\n```lang=haskell\nMkT :: forall a b. b -> T a\n```\n\nSince `a` is universal and `b` is existential. This makes predicting\nwhat order to use for `TypeApplications` quite annoying, as\ndemonstrated in #11721 and #13848.\n\nThis patch cures the problem by tracking more carefully the order in\nwhich a user writes type variables in data constructor type\nsignatures, either explicitly (with a `forall`) or implicitly\n(without a `forall`, in which case the order is inferred). This is\naccomplished by adding a new field `dcUserTyVars` to `DataCon`, which\nis a subset of `dcUnivTyVars` and `dcExTyVars` that is permuted to\nthe order in which the user wrote them. For more details, refer to\n`Note [DataCon user type variables]` in `DataCon.hs`.\n\nAn interesting consequence of this design is that more data\nconstructors require wrappers. This is because the workers always\nexpect the first arguments to be the universal tyvars followed by the\nexistential tyvars, so when the user writes the tyvars in a different\norder, a wrapper type is needed to swizzle the tyvars around to match\nthe order that the worker expects. For more details, refer to\n`Note [Data con wrappers and GADT syntax]` in `MkId.hs`.\n\nTest Plan: ./validate\n\nReviewers: austin, goldfire, bgamari, simonpj\n\nReviewed By: goldfire, simonpj\n\nSubscribers: ezyang, goldfire, rwbarton, thomie\n\nGHC Trac Issues: #11721, #13848\n\nDifferential Revision: https://phabricator.haskell.org/D3687","distinct":true,"url":"https://api.github.com/repos/iamrecursion/ghc/commits/ef26182e2014b0a2a029ae466a4b121bf235e4e4"},{"sha":"fa8035e3ee83aff5a20fc5e7e2697bac1686d6a6","author":{"name":"Iavor Diatchki","email":"9cd4a7de9938b3cb054764904a70bba54b8a5a99@gmail.com"},"message":"Implement Div, Mod, and Log for type-level nats.\n\nReviewers: austin, hvr, bgamari\n\nReviewed By: bgamari\n\nSubscribers: RyanGlScott, dfeuer, adamgundry, rwbarton, thomie\n\nDifferential Revision: https://phabricator.haskell.org/D4002","distinct":true,"url":"https://api.github.com/repos/iamrecursion/ghc/commits/fa8035e3ee83aff5a20fc5e7e2697bac1686d6a6"},{"sha":"377d5a262ba7e065dc6fb4683a8053f0e5e1379c","author":{"name":"Ben Gamari","email":"9c85637c38b80821c7bd8a03bde7b59da81ab77d@smart-cactus.org"},"message":"base: Add missing @since annotations in GHC.TypeNats\n\n[skip ci]","distinct":true,"url":"https://api.github.com/repos/iamrecursion/ghc/commits/377d5a262ba7e065dc6fb4683a8053f0e5e1379c"},{"sha":"de1b802b651de5397bb3c42cdf0189fdc41a8f82","author":{"name":"Moritz Angermann","email":"c8622b4525b97559cc3762213690c0e0828e55b6@gmail.com"},"message":"genapply: Explicitly specify arguments\n\nWe seem to not be feeding either live registers or the arguments when\ngenerating the fast call in genapply.  This results in strange signature\nmissmatches between the callee (expecting no registers) and the call\nsite, expecting to pass registers.\n\nTest Plan: validate\n\nReviewers: bgamari, simonmar, austin\n\nReviewed By: simonmar\n\nSubscribers: rwbarton, thomie\n\nDifferential Revision: https://phabricator.haskell.org/D4029","distinct":true,"url":"https://api.github.com/repos/iamrecursion/ghc/commits/de1b802b651de5397bb3c42cdf0189fdc41a8f82"},{"sha":"f3f624aeb1360c1f902930b3cc62346d2e5201c0","author":{"name":"Edward Z. Yang","email":"dd4e0b78926d6a78f28b6daee68e765330ffb0f6@cs.stanford.edu"},"message":"Include libraries which fill holes as deps when linking.\n\nFixes the issue reported at https://github.com/haskell/cabal/issues/4755\nand fixes #14304 in the GHC tracker.\n\nSigned-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>\n\nTest Plan: validate\n\nReviewers: bgamari, austin, goldfire\n\nReviewed By: bgamari\n\nSubscribers: rwbarton, thomie\n\nGHC Trac Issues: #14304\n\nDifferential Revision: https://phabricator.haskell.org/D4057","distinct":true,"url":"https://api.github.com/repos/iamrecursion/ghc/commits/f3f624aeb1360c1f902930b3cc62346d2e5201c0"},{"sha":"4899a86b69a3cf8b487329d5db8bb205152950ce","author":{"name":"Douglas Wilson","email":"093e30e98358d2588825eb473705843b72d42e13@gmail.com"},"message":"Don't pass HscEnv to functions in the Hsc monad\n\n`Hsc` is a reader monad in `HscEnv`. Several functions in HscMain were\ntaking parameters of type `HscEnv` or `DynFlags`, and returning values\nof type `Hsc a`. This patch removes those parameters in favour of asking\nthem from the context.\n\nThis removes a source of confusion and should make refactoring a bit\neasier.\n\nTest Plan: ./validate\n\nReviewers: austin, bgamari\n\nReviewed By: bgamari\n\nSubscribers: rwbarton, thomie\n\nDifferential Revision: https://phabricator.haskell.org/D4061","distinct":true,"url":"https://api.github.com/repos/iamrecursion/ghc/commits/4899a86b69a3cf8b487329d5db8bb205152950ce"},{"sha":"361af6280d7025ac3e24d79c209b465db6f231f8","author":{"name":"Ben Gamari","email":"38bba16f36047cd11ea03f28d409215538b379f3@gmail.com"},"message":"base: Remove deprecated Chan combinators\n\nRemoves isEmptyChan and unGetChan, which have been deprecated for a very\nlong time. See #13561.\n\nTest Plan: Validate\n\nReviewers: austin, hvr\n\nSubscribers: rwbarton, thomie\n\nGHC Trac Issues: #13561\n\nDifferential Revision: https://phabricator.haskell.org/D4060","distinct":true,"url":"https://api.github.com/repos/iamrecursion/ghc/commits/361af6280d7025ac3e24d79c209b465db6f231f8"},{"sha":"3201d85f48e47ea10a49d4222ca0570824aa81d8","author":{"name":"Ben Gamari","email":"38bba16f36047cd11ea03f28d409215538b379f3@gmail.com"},"message":"user-guide: Mention COMPLETE pragma in release notes\n\nReviewers: austin\n\nSubscribers: rwbarton, thomie\n\nGHC Trac Issues: #14305\n\nDifferential Revision: https://phabricator.haskell.org/D4059","distinct":true,"url":"https://api.github.com/repos/iamrecursion/ghc/commits/3201d85f48e47ea10a49d4222ca0570824aa81d8"},{"sha":"3030eee24c9d538f7ae2c854fd86129563b6ddf3","author":{"name":"Ben Gamari","email":"9c85637c38b80821c7bd8a03bde7b59da81ab77d@smart-cactus.org"},"message":"rts: Print newline after \"Stack trace:\" on barf\n\n[skip ci]","distinct":true,"url":"https://api.github.com/repos/iamrecursion/ghc/commits/3030eee24c9d538f7ae2c854fd86129563b6ddf3"},{"sha":"7109fa8157f3258912c947f28dab7617b5e5d281","author":{"name":"Ben Gamari","email":"9c85637c38b80821c7bd8a03bde7b59da81ab77d@smart-cactus.org"},"message":"configure: Accept *-msys as a Windows OS in a triple","distinct":true,"url":"https://api.github.com/repos/iamrecursion/ghc/commits/7109fa8157f3258912c947f28dab7617b5e5d281"}]}
{"actor":{"display_login":"iamrecursion"}}