Skip to content
Snippets Groups Projects
  1. Apr 12, 2004
  2. Apr 07, 2004
  3. Apr 06, 2004
  4. Apr 05, 2004
  5. Apr 02, 2004
    • Simon Peyton Jones's avatar
      [project @ 2004-04-02 16:54:02 by simonpj] · 76fcd85d
      Simon Peyton Jones authored
      Another stage-2 wibble to last commit
      76fcd85d
    • Simon Peyton Jones's avatar
      [project @ 2004-04-02 16:51:45 by simonpj] · c244ae2a
      Simon Peyton Jones authored
      Wibble to last commit
      c244ae2a
    • Simon Peyton Jones's avatar
      [project @ 2004-04-02 16:46:57 by simonpj] · 40888e1d
      Simon Peyton Jones authored
      Extend the "newtype deriving" feature a little bit more
      (at the request of Wolfgang Jeltsch)
      
      Here's the example:
          class C a b
          instance C [a] Char
          newtype T = T Char deriving( C [a] )
      
      Perfectly sensible, and no reason it should not work.
      Fixing this required me to generalise the abstract syntax of
      a 'deriving' item, hence the non-local effects.
      40888e1d
    • Simon Marlow's avatar
      [project @ 2004-04-02 14:28:57 by simonmar] · f216dd01
      Simon Marlow authored
      Some updates I've had sitting in my tree for a while:
      
        - when there are two logs only, print a summary table at the beginning
          of the output with columns for allocs, runtime, memory reads/writes, instrs.
      
        - handle multiple runs of each program, and average the results. (changes
          to nofib build system to follow).
      f216dd01
    • Simon Marlow's avatar
      [project @ 2004-04-02 14:22:30 by simonmar] · 8d0295c8
      Simon Marlow authored
      cachegrind: update command line syntax for recent versions of valgrind
      8d0295c8
    • Simon Peyton Jones's avatar
      [project @ 2004-04-02 13:38:44 by simonpj] · 7010f47b
      Simon Peyton Jones authored
      Document -fno-state-hack
      7010f47b
    • Simon Peyton Jones's avatar
      [project @ 2004-04-02 13:34:42 by simonpj] · 52276d81
      Simon Peyton Jones authored
      Add a flag -fno-state-hack, which switches off the "state hack".
      
      It's claims that every function over realWorldStatePrimTy is a
      one-shot function.  This is pretty true in practice, and makes a big
      difference.  For example, consider
      	a `thenST` \ r -> ...E...
      The early full laziness pass, if it doesn't know that r is one-shot
      will pull out E (let's say it doesn't mention r) to give
      	let lvl = E in a `thenST` \ r -> ...lvl...
      When `thenST` gets inlined, we end up with
      	let lvl = E in \s -> case a s of (r, s') -> ...lvl...
      and we don't re-inline E.
      52276d81
    • Simon Peyton Jones's avatar
      [project @ 2004-04-02 13:19:28 by simonpj] · fb30abb2
      Simon Peyton Jones authored
      Get rid of DiscardedInfo, and fix a Ghci bug at the same time.
      
      The new story is this:
      
      - We always read the whole interface file, as it exists on disk,
        not dropping pragmas or anything.
      
      - We compare that from-the-disk copy with the new version before
        writing the new interface file.
      
      - We drop the pragmas
        a) Before loading the interface payload into the declaration pools
        b) In the no-need-to-recompile case, before typechecking the
      	interface decls.  Omitting this was the previous bug.
      fb30abb2
    • Simon Peyton Jones's avatar
      [project @ 2004-04-02 13:16:07 by simonpj] · 2a0ee8e5
      Simon Peyton Jones authored
      * Improve error message for overlapping instances
      
      * Improve handling of type-variable-only constraints like (Foo a).
        Previously we never looked them up in the instance envt, *except* if
        -fallow-undecideable-instances was on, because that allows
      	instance (...) => Foo a
        But -fallow-undecideable-instances might be on in the module with the
        instance decl, but off in the importing module.  Also it's really a per-class
        thing.  So now we just record in the instance env whether there are any such
        strange instances, a kind of short-cut for the lookup.
      
      * Arrange that we are a bit more eager about resolving overloading in
        the case of existential pattern matching [George Russel suggestion]
        Here's the example (see comments in InstEnv)
      	-- The key_tys can contain skolem constants, and we can guarantee that those
      	-- are never going to be instantiated to anything, so we should not involve
      	-- them in the unification test.  Example:
      	--	class Foo a where { op :: a -> Int }
      	--	instance Foo a => Foo [a] 	-- NB overlap
      	--	instance Foo [Int]		-- NB overlap
      	-- 	data T = forall a. Foo a => MkT a
      	--	f :: T -> Int
      	--	f (MkT x) = op [x,x]
      	-- The op [x,x] means we need (Foo [a]).  Without the filterVarSet we'd
      	-- complain, saying that the choice of instance depended on the instantiation
      	-- of 'a'; but of course it isn't *going* to be instantiated.
      2a0ee8e5
    • Simon Peyton Jones's avatar
      [project @ 2004-04-02 13:10:00 by simonpj] · 68021ad9
      Simon Peyton Jones authored
      Fix erroneous hi-boot
      68021ad9
    • Simon Peyton Jones's avatar
      [project @ 2004-04-02 12:38:33 by simonpj] · bc7bd6e3
      Simon Peyton Jones authored
      A preliminary step towards being able to identify existential
      type variables separately.  That in turn helps when resolving
      overloading; I think we want to resolve overloading without
      worrying about what these type variables might instantiate to.
      bc7bd6e3
    • Simon Peyton Jones's avatar
      [project @ 2004-04-02 12:04:13 by simonpj] · 8bdc5d40
      Simon Peyton Jones authored
      wibble
      8bdc5d40
    • Simon Peyton Jones's avatar
      [project @ 2004-04-02 11:59:21 by simonpj] · a4a7fd63
      Simon Peyton Jones authored
      Comments mainly, plus use newTyConRhs
      a4a7fd63
    • Simon Peyton Jones's avatar
      [project @ 2004-04-02 11:57:49 by simonpj] · fe93680b
      Simon Peyton Jones authored
      Remove unused result from dropInline
      fe93680b
    • Simon Peyton Jones's avatar
      [project @ 2004-04-02 11:56:37 by simonpj] · 2151d685
      Simon Peyton Jones authored
      Comments
      2151d685
    • Simon Peyton Jones's avatar
      [project @ 2004-04-02 11:55:34 by simonpj] · f1915c2a
      Simon Peyton Jones authored
      Import wibbles
      f1915c2a
    • Ian Lynagh's avatar
      [project @ 2004-04-02 02:39:26 by igloo] · 427ce38d
      Ian Lynagh authored
      Add support for foreign imports inside quasi-quotes.
      Gave TH a few more uniques to play with and fixed a typo.
      427ce38d
  6. Mar 31, 2004
    • Simon Marlow's avatar
      [project @ 2004-03-31 15:23:16 by simonmar] · 17d537ba
      Simon Marlow authored
      ClosureInfo.might_be_a_function: this predicate wasn't taking into
      account abstract types, which might also hide functions underneath.
      
      Fixes broken compiler when compiled without -O.
      17d537ba
  7. Mar 30, 2004
  8. Mar 27, 2004
  9. Mar 24, 2004
Loading