1. 15 May, 2014 1 commit
  2. 14 May, 2014 1 commit
  3. 08 Apr, 2014 1 commit
  4. 05 Mar, 2014 1 commit
  5. 20 Feb, 2014 1 commit
  6. 18 Feb, 2014 2 commits
  7. 17 Feb, 2014 2 commits
    • Austin Seipp's avatar
      Add comments explaining #8754 · b626c3d4
      Austin Seipp authored
      
      Signed-off-by: default avatarAustin Seipp <austin@well-typed.com>
      b626c3d4
    • Austin Seipp's avatar
      Fix #8754 in a round-about way. · 5023c917
      Austin Seipp authored
      
      
      For some reason on OS X, it seems like -Bsymbolic (which we use for
      hooks into the RTS) isn't working, which results in #8754, where stats
      don't work because defaultHooks doesn't initialize the stats flag. This
      seems to work on Linux static/dynamically, but only on OS X statically.
      
      After talking with Simon, really, the entire hooks thing is a bit
      fragile. For now, we just work around it (since GHCi is dynamically
      linked) by calling into the defaultHooks ourselves when GHC starts.
      Signed-off-by: default avatarAustin Seipp <austin@well-typed.com>
      5023c917
  8. 27 Aug, 2013 1 commit
    • parcs's avatar
      Make stdout and stderr line-buffered · e8d0dc7e
      parcs authored
      An unbuffered handle is very slow to output to and there doesn't seem to
      be any reason to have these handles unbuffered.
      e8d0dc7e
  9. 30 Jul, 2013 1 commit
  10. 13 Jun, 2013 1 commit
  11. 06 Jun, 2013 1 commit
  12. 21 May, 2013 1 commit
  13. 26 Apr, 2013 1 commit
  14. 16 Mar, 2013 2 commits
  15. 15 Mar, 2013 1 commit
  16. 29 Jan, 2013 1 commit
  17. 11 Jan, 2013 1 commit
  18. 29 Nov, 2012 1 commit
  19. 29 Oct, 2012 1 commit
    • Simon Peyton Jones's avatar
      Do not treat a constructor in a *pattern* as a *use* of that constructor · 910a6422
      Simon Peyton Jones authored
      Occurrences in terms are uses, in patterns they are not.
      In this way we get unused-constructor warnings from modules like this
      
         module M( f, g, T ) where
           data T = T1 | T2 Bool
      
           f x = T2 x
      
           g T1 = True
           g (T2 x) = x
      
      Here a T1 value cannot be constructed, so we can warn. The use
      in a pattern doesn't count.  See Note [Patterns are not uses]
      in RnPat.
      
      Interestingly this change exposed three module in GHC itself
      that had unused constructors, which I duly removed:
        * ghc/Main.hs
        * compiler/ghci/ByteCodeAsm
        * compiler/nativeGen/PPC/RegInfo
      Their changes are in this patch.
      910a6422
  20. 25 Oct, 2012 1 commit
  21. 16 Oct, 2012 1 commit
    • ian@well-typed.com's avatar
      Some alpha renaming · cd33eefd
      ian@well-typed.com authored
      Mostly d -> g (matching DynFlag -> GeneralFlag).
      Also renamed if* to when*, matching the Haskell if/when names
      cd33eefd
  22. 03 Sep, 2012 2 commits
  23. 13 Aug, 2012 1 commit
  24. 07 Aug, 2012 1 commit
  25. 14 Jul, 2012 1 commit
    • Ian Lynagh's avatar
      Add a separate FastZString type · 509d2ad2
      Ian Lynagh authored
      FastStrings are now always UTF8-encoded.
      
      There's no StringTable for FastZString, but I don't think one is needed.
      We only ever make a FastZString by running zEncodeFS on a FastString,
      and the FastStrings are shared via the FastString StringTable, so we get
      the same FastZString from the IORef.
      509d2ad2
  26. 10 Jul, 2012 1 commit
  27. 19 Jun, 2012 1 commit
  28. 18 Jun, 2012 1 commit
  29. 12 Jun, 2012 1 commit
  30. 11 Jun, 2012 3 commits
    • Ian Lynagh's avatar
      Pass DynFlags to the LogAction · 5716a2f8
      Ian Lynagh authored
      A side-effect is that we can no longer use the LogAction in
      defaultErrorHandler, as we don't have DynFlags at that point.
      But all that defaultErrorHandler did is to print Strings as
      SevFatal, so now it takes a 'FatalMessager' instead.
      5716a2f8
    • Ian Lynagh's avatar
      Pass DynFlags to prettyPrintGhcErrors · 65152943
      Ian Lynagh authored
      We don't use it yet
      65152943
    • Ian Lynagh's avatar
      Change how pprPanic works · fa362ab5
      Ian Lynagh authored
      We now include the String and the SDoc in the exception, and don't
      flatten them into a String until near the top-level
      fa362ab5
  31. 13 Mar, 2012 1 commit
  32. 01 Mar, 2012 1 commit
    • Simon Marlow's avatar
      GHCi: add :seti, for options that apply only at the prompt (#3217) · 2e55760b
      Simon Marlow authored
      GHCi now maintains two DynFlags: one that applies to whole modules
      loaded with :load, and one that applies to things typed at the prompt
      (expressions, statements, declarations, commands).
      
        The :set command modifies both DynFlags.  This is for backwards
        compatibility: users won't notice any difference.
      
        The :seti command applies only to the interactive DynFlags.
      
      Additionally, I made a few changes to ":set" (with no arguments):
      
        * Now it only prints out options that differ from the defaults,
          rather than the whole list.
      
        * There is a new variant, ":set -a" to print out all options (the
          old behaviour).
      
        * It also prints out language options.
      
      e.g.
      
      Prelude> :set
      options currently set: none.
      base language is: Haskell2010
      with the following modifiers:
        -XNoDatatypeContexts
        -XNondecreasingIndentation
      GHCi-specific dynamic flag settings:
      other dynamic, non-language, flag settings:
        -fimplicit-import-qualified
      warning settings:
      
      ":seti" (with no arguments) does the same as ":set", but for the
      interactive options.  It also has the "-a" option.
      
      The interactive DynFlags are kept in the InteractiveContext, and
      copied into the HscEnv at the appropriate points (all in HscMain).
      
      There are some new GHC API operations:
      
      -- | Set the 'DynFlags' used to evaluate interactive expressions.
      setInteractiveDynFlags :: GhcMonad m => DynFlags -> m ()
      
      -- | Get the 'DynFlags' used to evaluate interactive expressions.
      getInteractiveDynFlags :: GhcMonad m => m DynFlags
      
      -- | Sets the program 'DynFlags'.
      setProgramDynFlags :: GhcMonad m => DynFlags -> m [PackageId]
      
      -- | Returns the program 'DynFlags'.
      getProgramDynFlags :: GhcMonad m => m DynFlags
      
      Note I have not completed the whole of the plan outlined in #3217 yet:
      when in the context of a loaded module we don't take the interactive
      DynFlags from that module.  That needs some more refactoring and
      thinking about, because we'll need to save and restore the original
      interactive DynFlags.
      
      This solves the immediate problem that people are having with the new
      flag checking in 7.4.1, because now it is possible to set language
      options in ~/.ghci that do not affect loaded modules and thereby cause
      recompilation.
      2e55760b
  33. 24 Feb, 2012 1 commit
  34. 07 Feb, 2012 1 commit