- 15 Sep, 2008 4 commits
-
-
simonpj@microsoft.com authored
-
simonpj@microsoft.com authored
-
simonpj@microsoft.com authored
This is just a tidy-up. Previously we were calling occurAnalyse twice on each LHS which was silly and a bit unclean too. This patch should have no overall effect, though.
-
simonpj@microsoft.com authored
Max has some more heuristics to add, and is meanwhile worried that having SAT on by default will make some highly-tuned array programs worse. So it's off by default. Use -fstatic-argument-transformation to switch it on.
-
- 14 Sep, 2008 3 commits
-
-
simonpj@microsoft.com authored
-
simonpj@microsoft.com authored
GHC allows a non-recursive let for type varaibles let a = TYPE ty in ... But the free-variable finder had not caught up with this fact. This patch catches up.
-
simonpj@microsoft.com authored
A type let shouldn't really occur in SetLevels, but if it does, this patch makes sure it is left alone.
-
- 15 Sep, 2008 5 commits
-
-
Thomas Schilling authored
-
Thomas Schilling authored
-
Thomas Schilling authored
-
Thomas Schilling authored
-
Thomas Schilling authored
-
- 14 Sep, 2008 21 commits
-
-
Thomas Schilling authored
-
Thomas Schilling authored
-
Thomas Schilling authored
I'm not sure I covered all the ways of throwing errors in the code. Some functions throw ProgramErrors, some error messages. It's still quite a mess, but we're getting closer. The missing cases are mostly errors that cannot be fixed by the API client either or are a result of wrong usage, so are in any case fatal. One function, 'getModuleInfo', still returns a 'Maybe', but the documentation suggests it should always succeed. So I may change that soon. The spit-up of of 'checkModule' has pros and cons. The various forms of 'checkModule*' now become: checkAndLoadModule ms False ~~> loadModule =<< typecheckModule =<< parseModule (ms_mod_name ms) checkAndLoadModule ms True ~~> loadModule =<< desugarModule =<< typecheckModule =<< parseModule (ms_mod_name ms) checkModule mn False ~~> typecheckModule =<< parseModule mn checkModule mn True ~~> desugarModule =<< typecheckModule =<< parseModule mn The old APIs cannot easily be provided, since the result type would be different depending on the second argument. However, a more convenient API can be modelled on top of these four functions ({parse,typecheck,desugar,load}Module).
-
Thomas Schilling authored
-
Thomas Schilling authored
-
Thomas Schilling authored
-
Thomas Schilling authored
-
Thomas Schilling authored
-
Thomas Schilling authored
-
Thomas Schilling authored
-
Thomas Schilling authored
-
Thomas Schilling authored
This monad will be required by most public API calls.
-
Thomas Schilling authored
-
Thomas Schilling authored
printing them.
-
Thomas Schilling authored
-
Thomas Schilling authored
-
Thomas Schilling authored
This monad provides variants of 'catch', 'bracket', and 'finally', so exceptions can be handled in monads that wrap IO. The latter two methods need to be part of the class definition, because GHC uses 'block' and 'unblock' which are used in the definition of those two methods for the IO monad. A perhaps better class interface would consist of 'gcatch', 'gblock', and 'gunblock' and let the latter two default to 'id' like is done for non-GHC implementations of 'bracket' and 'finally'.
-
Thomas Schilling authored
-
Thomas Schilling authored
-
Thomas Schilling authored
-
Thomas Schilling authored
-
- 15 Sep, 2008 1 commit
-
-
chevalier@alum.wellesley.edu authored
-
- 14 Sep, 2008 1 commit
-
-
chevalier@alum.wellesley.edu authored
-
- 13 Sep, 2008 2 commits
-
-
Ian Lynagh authored
-
Ian Lynagh authored
-
- 10 Sep, 2008 1 commit
-
-
simonpj@microsoft.com authored
This suspicious function had just one call, in BuildTyCl.mkNewTyConRhs. I've done it another way now, which is tidier.
-
- 09 Sep, 2008 1 commit
-
-
Ian Lynagh authored
-
- 10 Sep, 2008 1 commit
-
-
simonpj@microsoft.com authored
I did the wrong checkSigTyVars, which (happily) triggered an ASSERT failure. This should fix it.
-