Skip to content
Snippets Groups Projects
  1. May 25, 2011
  2. May 21, 2011
  3. May 17, 2011
  4. May 11, 2011
  5. May 04, 2011
    • Simon Peyton Jones's avatar
      Final batch of monad-comprehension stuff · 3bb700d5
      Simon Peyton Jones authored
      * Do-notation in arrows is marked with HsStmtContext = ArrowExpr
      * tcMDoStmt (which was only used for arrows) is moved
        to TcArrows, and renamed tcArrDoStmt
      * Improved documentation in the user manual
      * Lots of other minor changes
      3bb700d5
  6. Apr 28, 2011
  7. Apr 27, 2011
  8. Apr 21, 2011
  9. Apr 16, 2011
  10. Apr 14, 2011
  11. Apr 12, 2011
    • Simon Marlow's avatar
      Change the way module initialisation is done (#3252, #4417) · a52ff761
      Simon Marlow authored
      Previously the code generator generated small code fragments labelled
      with __stginit_M for each module M, and these performed whatever
      initialisation was necessary for that module and recursively invoked
      the initialisation functions for imported modules.  This appraoch had
      drawbacks:
      
       - FFI users had to call hs_add_root() to ensure the correct
         initialisation routines were called.  This is a non-standard,
         and ugly, API.
      
       - unless we were using -split-objs, the __stginit dependencies would
         entail linking the whole transitive closure of modules imported,
         whether they were actually used or not.  In an extreme case (#4387,
         #4417), a module from GHC might be imported for use in Template
         Haskell or an annotation, and that would force the whole of GHC to
         be needlessly linked into the final executable.
      
      So now instead we do our initialisation with C functions marked with
      __attribute__((constructor)), which are automatically invoked at
      program startup time (or DSO load-time).  The C initialisers are
      emitted into the stub.c file.  This means that every time we compile
      with -prof or -hpc, we now get a stub file, but thanks to #3687 that
      is now invisible to the user.
      
      There are some refactorings in the RTS (particularly for HPC) to
      handle the fact that initialisers now get run earlier than they did
      before.
      
      The __stginit symbols are still generated, and the hs_add_root()
      function still exists (but does nothing), for backwards compatibility.
      a52ff761
  12. Apr 06, 2011
  13. Apr 04, 2011
  14. Mar 31, 2011
  15. Mar 29, 2011
  16. Mar 25, 2011
  17. Mar 23, 2011
  18. Mar 11, 2011
  19. Mar 06, 2011
  20. Feb 26, 2011
    • vivian's avatar
      :script file scripts in GHCi #1363 · eccb2d89
      vivian authored
      This patch adds the script command in GHCi
      
      A file is read and executed as a series of GHCi commands.
      
      Execution terminates on the first error.  The filename and
      line number are included in the error.
      eccb2d89
  21. Feb 20, 2011
    • chak@cse.unsw.edu.au.'s avatar
      Added a VECTORISE pragma · f2aaae97
      chak@cse.unsw.edu.au. authored
      - Added a pragma {-# VECTORISE var = exp #-} that prevents
        the vectoriser from vectorising the definition of 'var'.
        Instead it uses the binding '$v_var = exp' to vectorise
        'var'.  The vectoriser checks that the Core type of 'exp'
        matches the vectorised Core type of 'var'.  (It would be
        quite complicated to perform that check in the type checker
        as the vectorisation of a type needs the state of the VM
        monad.)
      - Added parts of a related VECTORISE SCALAR pragma
      - Documented -ddump-vect
      - Added -ddump-vt-trace
      - Some clean up
      f2aaae97
  22. Feb 07, 2011
  23. Feb 01, 2011
  24. Jan 28, 2011
  25. Jan 27, 2011
    • Simon Peyton Jones's avatar
      Refine incomplete-pattern checks (Trac #4905) · a0f6d307
      Simon Peyton Jones authored
      The changes are:
      
      * New flag -fwarn-incomplete-uni-patterns, which checks for
        incomplete patterns in (a) lambdas, (b) pattern bindings
      
      * New flag is not implied by -W or -Wall (too noisy; and many
        libraries use incomplete pattern bindings)
      
      * Actually do the incomplete-pattern check for pattern bindings
        (previously simply omitted)
      
      * Documentation for new flag
      a0f6d307
  26. Jan 17, 2011
  27. Jan 15, 2011
    • Ian Lynagh's avatar
      Build system improvements · a3be88fd
      Ian Lynagh authored
      We no longer use dummy-ghc; instead we don't configure most packages
      until the stage1 compiler is available.
        
      We also now use Cabal for building the ghc-bin package.
      
      There are a couple more sanity checks too.
      a3be88fd
  28. Jan 06, 2011
    • Ian Lynagh's avatar
      On Cygwin, use a Cygwin-style path for /bin/install's destination · 57e2a81c
      Ian Lynagh authored
      cygwin's /bin/install doesn't set file modes correctly if the
      destination path is a C: style path:
      
      $ /bin/install -c -m 644 foo /cygdrive/c/cygwin/home/ian/foo2
      $ /bin/install -c -m 644 foo c:/cygwin/home/ian/foo3
      $ ls -l foo*
      -rw-r--r-- 1 ian None 0 2011-01-06 18:28 foo
      -rw-r--r-- 1 ian None 0 2011-01-06 18:29 foo2
      -rwxrwxrwx 1 ian None 0 2011-01-06 18:29 foo3
      
      This causes problems for bindisttest/checkBinaries.sh which then
      thinks that e.g. the userguide HTML files are binaries.
      
      We therefore use a /cygdrive path if we are on cygwin
      57e2a81c
    • Ian Lynagh's avatar
      Fix mkUserGuidePart program name on Windows · af6b7e5d
      Ian Lynagh authored
      af6b7e5d
    • Simon Marlow's avatar
      fix markup · ab769387
      Simon Marlow authored
      ab769387
  29. Nov 05, 2010
    • vivian's avatar
      multiline commands in GHCi #4316 · 4edbeb14
      vivian authored
      This patch adds support for multiline commands in GHCi.
      
      The first line of input is lexed.  If there is an active
      layout context once the lexer reaches the end of file, the
      user is prompted for more input.
      
      Multiline input is exited by an empty line and can be escaped 
      with a user interrupt.
      
      Multiline mode is toggled with `:set +m`
      4edbeb14
  30. Dec 18, 2010
  31. Dec 17, 2010
  32. Dec 16, 2010
  33. Dec 09, 2010
Loading