- Jan 03, 2013
-
-
Ian Lynagh authored
This reverts commit 5ea49271.
-
- Dec 14, 2012
-
-
Signed-off-by:
Jose Pedro Magalhaes <jpm@cs.ox.ac.uk>
-
-
Ian Lynagh authored
commit f184d9ca Author: Simon Marlow <marlowsd@gmail.com> Date: Mon Dec 10 12:00:54 2012 +0000 Fix a bug in the handling of nested orElse Exposed by the following snippet, courtesy of Bas van Dijk and Patrick Palka on libraries@haskell.org: import Control.Concurrent.STM main = do x <- atomically $ do t <- newTVar 1 writeTVar t 2 ((readTVar t >> retry) `orElse` return ()) `orElse` return () readTVar t print x
-
- Dec 07, 2012
-
-
Simon Peyton Jones authored
Without -O, we previously tried to make interface files smaller by not including the data constructors of data types. But there are a lot of exceptions, notably when Template Haskell is involved or, more recently, DataKinds. However Trac #7445 shows that even without TemplateHaskell, using the Data class and invoking Language.Haskell.TH.Quote.dataToExpQ is enough to require us to expose the data constructors. So I've given up on this "optimisation" -- it's probably not important anyway. Now I'm simply not attempting to trim off the data constructors. The gain in simplicity is worth the modest cost in interface file growth, which is limited to the bits reqd to describe those data constructors. Conflicts: compiler/main/TidyPgm.lhs
-
Ian Lynagh authored
-
-
-
Simon Peyton Jones authored
Thanks to Richard Eisenberg for writing this.
-
Simon Peyton Jones authored
This reverts the change in Trac #7347, which prevented promotion of existential data constructors. Ones with constraints in their types, or kind polymorphism, still can't be promoted.
-
Ian Lynagh authored
-
Ian Lynagh authored
-
- Dec 03, 2012
-
-
Simon Peyton Jones authored
This patch fixes a quite egregious bug. runTcS was intialising the 'untouchables' to NoUntouchables, which is quite wrong for the invocation in TcSimplify.simplifyInfer. Result: missed skolem-escape check and seg-fault city. All this is done differently, and better, in HEAD, so this patch is needed only on the branch.
-
- Dec 02, 2012
-
-
Ian Lynagh authored
This is a kludge, and means that ghc/haddock won't be able to use more than 2G of RAM. But it'll make sure that ghci works in the short term while we work on a proper fix.
-
- Nov 29, 2012
-
-
Simon Peyton Jones authored
Trac #7410 pointed out a terrible error message, which is much improved by this patch. Conflicts: compiler/typecheck/TcHsType.lhs
-
Simon Peyton Jones authored
Fixes Trac #7451. See Note [Kind Constraint and kind *] in Kind.lhs. Conflicts: compiler/types/Kind.lhs compiler/types/Type.lhs
-
-
Simon Peyton Jones authored
-
Simon Peyton Jones authored
I don't konw how this was left out before; Trac #7347. In fixing this I did the usual round of refactoring. In particular, I cached the fact that a DataCon can be promoted in the DataCon itself (the dcPromoted field).
-
Ian Lynagh authored
commit 2c207b6f Author: Simon Peyton Jones <simonpj@microsoft.com> Date: Tue Oct 2 18:11:08 2012 +0100 Compare the kinds of type variables when comparing types This is just a bug that's been around since we introduced polymorphic kinds. The roots are in Type.cmpTypeX, but there was a variant in TcRnDriver.checkBootTyCon, which is where it came up. Fixes Trac #7272
-
Ian Lynagh authored
commit 419af69c Author: Simon Peyton Jones <simonpj@microsoft.com> Date: Tue Oct 2 17:39:46 2012 +0100 Give PrimOps a NOINLINE pragma, to suppress silly warnings from dsRule See Trac #7287
-
Simon Peyton Jones authored
Make sure that we check for type errors strictly in a Template Haskell splice, even if -fdefer-type-errors is on We're going to run this code, so there's no point in deferring type errors. Worse, TcSplice uses unsafeCoerce (for vevy good reasons), so splicing a type into a place where an expression is expected would yield a seg-fault if we plough on regardless. Fixes Trac #7276
-
Simon Peyton Jones authored
Fixes Trac #7438
-
Simon Peyton Jones authored
This bug caused Trac #7386, because in the (rather tricky) "type inference" (aka run time type reconstruction) done by the GHCi debugger, we were failing to instantiate a data type family correctly. When that code was written we didn't *have* data families. I wrote Note [Constructor arg types] to explain the new scheme.
-
Simon Peyton Jones authored
-
Simon Peyton Jones authored
Fixes Trac #7338
-
Simon Peyton Jones authored
We should be lazy when type-checking the equality-contraint part of a data constructor's type, to make the knot-tying work out right. The fact that it's always worked before is a fluke: no one else wrote a GADT whose type index mentions itself data T a wher MkT :: T (T Int)
-
Ian Lynagh authored
-
Simon Peyton Jones authored
The issue here was with a function type written prefix (->) a b where we were not generating a FunTy, which blew the invariant that function types are always FunTys. We can't look at the TyCon directly because it may be knot-tied, so we look at the name instead.
-
Was getting an ocassional hang or segfault when building GHC in a Qemu user space emulation of ARM. Turned out that the ITIMER_SIGNAL was being delivered *after* the call to timer_delete(). Setting the signal to SIG_IGN before deleting the timer solves the problem.
-
Simon Peyton Jones authored
This is the right fix to Trac #7276 (part 2), which makes the interaction with -fdefer-type-errors and TH work properly.
-
-
Ian Lynagh authored
commit 9ef4d48e Author: Ian Lynagh <ian@well-typed.com> Date: Fri Nov 23 16:54:15 2012 +0000 Fix building on Sparc/Solaris with non-GNU linker; fixes #5407 Patch from maeder.
-
- Nov 17, 2012
-
-
Ian Lynagh authored
-
- Nov 16, 2012
-
-
Ian Lynagh authored
Conflicts: rts/sm/Sanity.c
-
Ian Lynagh authored
-
Ian Lynagh authored
-
- Nov 06, 2012
-
-
pcapriotti authored
-
MERGED from commit 598ee1ad
-
pcapriotti authored
Based on: commit 5bae803a Author: Simon Peyton Jones <simonpj@microsoft.com> Date: Sat Sep 15 23:09:25 2012 +0100 Fix UNPACK with -fomit-interface-pragmas. We were missing a case, so that you could expose a constructor with UNPACKed fields, but the field tpye was trimmed, and hence can't be expanded. Fixes Trac #5252 (revived)
-