- 18 Jun, 2012 7 commits
-
-
Ian Lynagh authored
-
Ian Lynagh authored
It isn't really an option at all
-
Ian Lynagh authored
-
Ian Lynagh authored
-
Ian Lynagh authored
-
Ian Lynagh authored
-
Ian Lynagh authored
-
- 17 Jun, 2012 3 commits
-
-
Ian Lynagh authored
-
http://darcs.haskell.org//ghcIan Lynagh authored
-
pcapriotti authored
Patch by Samuel Thibault. See http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=659530.
-
- 16 Jun, 2012 7 commits
-
-
http://darcs.haskell.org//ghcIan Lynagh authored
-
http://darcs.haskell.org//ghcIan Lynagh authored
-
Ian Lynagh authored
-
Ian Lynagh authored
-
Ian Lynagh authored
-
Ian Lynagh authored
-
Ian Lynagh authored
-
- 15 Jun, 2012 4 commits
-
-
Simon Marlow authored
There was also a bug caused by INLINEs getting SCCs, but unfortunately I have lost the test case. The Note in the code describes the problem though.
-
Simon Marlow authored
-
Simon Marlow authored
-
Ross Paterson authored
-
- 14 Jun, 2012 9 commits
-
-
Ian Lynagh authored
We were pointlessly going from String to SDoc and back again
-
Ian Lynagh authored
-
Ian Lynagh authored
-
Ian Lynagh authored
-
Ian Lynagh authored
This is safe now that the tracingDynFlags is not just a call to panic. Not sure if it was causing a problem as it was, but this change should help make sure we don't get a chain of thunks built up inside SDocs.
-
Ian Lynagh authored
-
Ian Lynagh authored
-
Ian Lynagh authored
The record field was confusingly using the same name that the value normally uses.
-
Ian Lynagh authored
-
- 13 Jun, 2012 10 commits
-
-
Ian Lynagh authored
-
Ian Lynagh authored
Means we can stop passing platform around as much.
-
Ian Lynagh authored
-
Ian Lynagh authored
-
-
Simon Peyton Jones authored
This patch re-implements implicit parameters via a class with a functional dependency: class IP (n::Symbol) a | n -> a where ip :: a This definition is in the library module GHC.IP. Notice how it use a type-literal, so we can have constraints like IP "x" Int Now all the functional dependency machinery works right to make implicit parameters behave as they should. Much special-case processing for implicit parameters can be removed entirely. One particularly nice thing is not having a dedicated "original-name cache" for implicit parameters (the nsNames field of NameCache). But many other cases disappear: * BasicTypes.IPName * IPTyCon constructor in Tycon.TyCon * CIPCan constructor in TcRnTypes.Ct * IPPred constructor in Types.PredTree Implicit parameters remain special in a few ways: * Special syntax. Eg the constraint (IP "x" Int) is parsed and printed as (?x::Int). And we still have local bindings for implicit parameters, and occurrences thereof. * A implicit-parameter binding (let ?x = True in e) amounts to a local instance declaration, which we have not had before. It just generates an implication contraint (easy), but when going under it we must purge any existing bindings for ?x in the inert set. See Note [Shadowing of Implicit Parameters] in TcSimplify * TcMType.sizePred classifies implicit parameter constraints as size-0, as before the change There are accompanying patches to libraries 'base' and 'haddock' All the work was done by Iavor Diatchki
-
Ian Lynagh authored
-
Ian Lynagh authored
-
Ian Lynagh authored
-
Ian Lynagh authored
-