1. 10 Feb, 2015 2 commits
  2. 09 Feb, 2015 1 commit
    • Herbert Valerio Riedel's avatar
      Provide default implementation of `Monad(return)` · a741e69a
      Herbert Valerio Riedel authored
      This was dropped last-minute from d94de872
      (re #4834) together with the default implementation for `(>>)`
      (see 65f887e1 for explanation).
      
      However, the risk of accidental mutually recursive definitions of
      `return`/`pure` is rather low as unlike with the `(>>) = (*>)` default,
      any cyclic definitions would necessarily wind up being new ones, rather
      than changing the semantics for old operations and introducing bottoms.
      
      On the other hand, not having the default method implementation in place
      in GHC 7.10 would complicate/delay any future attempt to clean-up the
      `Monad`-class.
      
      This finally allows (for `base >= 4.8`) to define a F/A/M instance-chain
      with the following minimal definitions (while ignoring that `return` is
      still a class-method in `Monad`)
      
        instance Functor M where
          fmap  = ...
      
        instance Applicative M where
          pure  = ...
          (<*>) = ...
      
        instance Monad M where
          (>>=) = ...
      
      Reviewed By: ekmett, austin
      
      Differential Revision: https://phabricator.haskell.org/D647
      a741e69a
  3. 06 Feb, 2015 7 commits
  4. 05 Feb, 2015 6 commits
  5. 04 Feb, 2015 1 commit
    • Simon Marlow's avatar
      Fix a profiling bug · daed18c3
      Simon Marlow authored
      Summary:
      We were erroneously discarding SCCs on function-typed variables.
      These can affect the call stack, so we have to retain them.  The bug
      was introduced during the recent SourceNote refactoring.
      
      This is an alternative to the fix proposed in D616.  I also added the
      scc005 test from that diff, which works with this change.
      
      While I was here, I also fixed up the other profiling tests, marking a
      few as expect_broken_for(10037) where the opt/unopt output differs in
      non-fatal ways.
      
      Test Plan: profiling tests
      
      Reviewers: scpmw, ezyang, austin
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D636
      
      GHC Trac Issues: #10007
      daed18c3
  6. 02 Feb, 2015 1 commit
    • AndreasVoellmy's avatar
      Fix #10017 · 92c93544
      AndreasVoellmy authored
      Summary:
      In the threaded RTS, a signal is delivered from the RTS to Haskell
      user code by writing to file that one of the IO managers watches (via
      an instance of GHC.Event.Control.Control). When the IO manager
      receives the signal, it calls GHC.Conc.Signal.runHandlers to invoke
      Haskell signal handler. In the move from a single IO manager to one IO
      manager per capability, the behavior was (wrongly) extended so that a
      signal is delivered to every event manager (see #9423), each of which
      invoke Haskell signal handlers, leading to multiple invocations of
      Haskell signal handlers for a single signal. This change fixes this
      problem by having the RTS (in generic_handler()) notify only the
      Control instance used by the TimerManager, rather than all the
      per-capability IO managers.
      
      Reviewers: austin, hvr, simonmar, Mikolaj
      
      Reviewed By: simonmar, Mikolaj
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D641
      92c93544
  7. 28 Jan, 2015 3 commits
  8. 27 Jan, 2015 2 commits
  9. 26 Jan, 2015 1 commit
  10. 23 Jan, 2015 3 commits
    • David Feuer's avatar
      Revert zipWith strictification (re #9949) · f44bbc83
      David Feuer authored
      Also remove foldr2/right rule to avoid possibly introducing
      bottoms with rules.
      
      This effectively reverts most of 488e95b4
      
      Reviewed By: nomeata
      
      Differential Revision: https://phabricator.haskell.org/D602
      f44bbc83
    • Herbert Valerio Riedel's avatar
      Revert "Update Haddock submodule" · febee92c
      Herbert Valerio Riedel authored
      This reverts commit 34d68d8e
      as it breaks the build:
      
        Configuring hsc2hs-0.67...
        Configuring ghc-cabal-0.1...
        Configuring parallel-3.2.0.6...
        Configuring hpc-bin-0.67...
        Configuring haddock-2.16.0...
        ghc-cabal: At least the following dependencies are missing:
        ghc >=7.9 && <7.11
        make[1]: *** [utils/haddock/dist/package-data.mk] Error 1
        make[1]: *** Waiting for unfinished jobs....
          GHC PKG libraries/parallel/dist-install/package-data.mk
        Reading package info from "libraries/parallel/dist-install/inplace-pkg-config" ... done.
        parallel-3.2.0.6: Warning: haddock-interfaces: /srv/builds/commits/rGHC/B3035-34d68d8e/libraries/parallel/dist-install/doc/html/parallel/parallel.haddock doesn't exist or isn't a file
        parallel-3.2.0.6: cannot find any of ["Control/Seq.hi","Control/Seq.p_hi","Control/Seq.dyn_hi"] (ignoring)
        parallel-3.2.0.6: cannot find any of ["Control/Parallel.hi","Control/Parallel.p_hi","Control/Parallel.dyn_hi"] (ignoring)
        parallel-3.2.0.6: cannot find any of ["Control/Parallel/Strategies.hi","Control/Parallel/Strategies.p_hi","Control/Parallel/Strategies.dyn_hi"] (ignoring)
        parallel-3.2.0.6: cannot find any of ["libHSparal_791B1zx5CJ25cUOFECtmw0.a","libHSparal_791B1zx5CJ25cUOFECtmw0.p_a","libHSparal_791B1zx5CJ25cUOFECtmw0-ghc7.11.20150123.so","libHSparal_791B1zx5CJ25cUOFECtmw0-ghc7.11.20150123.dylib","HSparal_791B1zx5CJ25cUOFECtmw0-ghc7.11.20150123.dll"] on library path (ignoring)
        make: *** [all] Error 2
      
      Moreover, utils/haddock is supposed to track the `ghc-head` branch
      (which is what `git submodule update --remote utils/haddock` helps with)
      febee92c
    • Mateusz Kowalczyk's avatar
      Update Haddock submodule · 34d68d8e
      Mateusz Kowalczyk authored
      34d68d8e
  11. 22 Jan, 2015 6 commits
  12. 21 Jan, 2015 3 commits
  13. 20 Jan, 2015 4 commits