Commits

Show all
Author Commit Message Labels Comments Date
Simon Peyton Jones
Simplify simplifyInfer quite a lot Work in progress, on branch
Branches
ghc-spj
Simon Peyton Jones
Make simplifyInfer generalise only over simple class constraints So we never infer f :: Eq (Tree a) => blah when there isn't an instance for Eq (Tree a). This fixes Trac #6022. It does represent a change in behaviour: certain (bizarre) programs will be rejected that were previously accepted. Specifically, if you have module A where f x = ...somethign needing (C T)... moudule B where import A instance C T test = f True Here the (C T) in…
Branches
ghc-spj
Simon Peyton Jones
Tiny refactoring; no change in behaviour
Simon Peyton Jones
Respect kind-variable scoping when instantiating dfuns Fixes Trac #6020
Simon Peyton Jones
Empty data types should not be "trimmed" by TidyPgm That in turn means that you can derive Show etc in other modules, fixing Trac #6031
Manuel M T Chakravarty
OS X: disable bootstrapping info for 'ar' Xcode 4.3 installs the command line tools in a different location as earlier versions of Xcode. With the bootstrapping info, the build fails if the bootstrap compiler was built with an older version of Xcode.
Simon Peyton Jones
Merge branch 'master' of http://darcs.haskell.org/ghc
Simon Peyton Jones
Move free-var info from InstDecl to FamInstDecl
Simon Peyton Jones
Merge branch 'master' of http://darcs.haskell.org/ghc
Simon Peyton Jones
Merge branch 'master' of http://darcs.haskell.org/ghc
Simon Peyton Jones
Comments only
Simon Peyton Jones
Merge branch 'master' of http://darcs.haskell.org//ghc
Simon Peyton Jones
Do SCC on instance declarations (fixes Trac #5715) The trouble here is that given {-# LANGUAGE DataKinds, TypeFamilies #-} data instance Foo a = Bar (Bar a) we want to get a sensible message that we can't use the promoted 'Bar' constructor until after its definition; it's a staging error. Bud the staging mechanism that we use for vanilla data declarations don't work here. Solution is to perform strongly-connected component analysis on …
Manuel M T Chakravarty
Adding -ddump-avoid-vect option for vectorisation avoidance diagnostics
José Pedro Magalhães
Add newline to the end of file
Paolo Capriotti
Fix operand expansion function.
Simon Peyton Jones
Simplify the typechecking of RULES Not only does this fix Trac #5853, but it also eliminate the horrid SimplEqsOnly part of the constraint simplifier. The new plan is described in TcRules Note [Simplifying RULE constraints]
Simon Peyton Jones
Simplify construction of equality predicates There was an ASSERT which does not hold during type checking (and should not) which is later checked by Core Lint
Paolo Capriotti
Implemented word-sized addressing of pointers and literals.
Paolo Capriotti
Bytecode assembler refactoring. Use a free monad to specify the assembling procedure, so that it can be run multiple times without producing side effects. This paves the way for a more general implementation of variable-sized instructions, since we need to dry-run the bytecode assembler to determine the size of the operands for some instructions.
Paolo Capriotti
Export State monad transformer from ByteCodeItbls.
Paolo Capriotti
Support large SLIDE instructions. The bytecode generator used to keep track of the stack depth with a 16-bit counter, which could overflow for very large BCOs, resulting in incorrect bytecode. This commit switches to a word-sized counter, and eagerly panics whenever an operand is too big, instead of truncating the result. This allows us to work around the 16-bit limitation in the case of SLIDE instructions, since we can simply f…
Paolo Capriotti
Use monotonic time function for darwin (#5865)
Paolo Capriotti
Use monotonic clock in Select.c (#5865)
Simon Peyton Jones
Merge branch 'master' of http://darcs.haskell.org//ghc
Simon Peyton Jones
Allow kind-variable binders in type signatures This is the last major addition to the kind-polymorphism story, by allowing (Trac #5938) type family F a -- F :: forall k. k -> * data T a -- T :: forall k. k -> * type instance F (T (a :: Maybe k)) = Char The new thing is the explicit 'k' in the type signature on 'a', which itself is inside a type pattern for F. Main changes are: * HsTypes.HsBSig now has a *pair* (kvs, tvs) of b…
Simon Peyton Jones
Fix worker/wrapper for CPR functions A long-standing and egregious bug in the worker/wrapper code meant that some functions with the CPR property weren't getting a CPR w/w. And that had the effect of making a tail-recursive function not tail recursive. As well as increasing allocation. Fixes Trac #5920, and #5997. Nofib results (highlights): Program Size Allocs Runtime Elapsed TotalMem ------------------…
Simon Peyton Jones
Allow overlaps when -XIncoherentInstances is in force This change allows a top-level instance to be used even if there is a (potentially) overlapping local given. Which isn't fab, but it is what IncoherentInstances is *for*. This fixes the bug part of Trac #6002.
Simon Peyton Jones
Untabify HsTypes
Simon Peyton Jones
Revert "Added ':runmonad' command to GHCi" Two problems, for now at any rate a) Breaks the build with lots of errors like No instance for (Show (IO ())) arising from a use of `print' b) Discussion of the approache hasn't converged yet (Simon M had a number of suggestions) This reverts commit eecd7c98c1f079c14d99ed831dff33a48ee45e67.
  1. Prev
  2. Next