- 29 Apr, 2003 1 commit
-
-
simonmar authored
update aLL_NON_PTRS for the new RET_DYN stack frame layout.
-
- 25 Apr, 2003 1 commit
-
-
panne authored
Unbreak 2nd stage
-
- 23 Apr, 2003 1 commit
-
-
simonmar authored
Make a leading '~' expand to $HOME in commands that load source files (:load, :add) in addition to :cd which already had this behaviour.
-
- 22 Apr, 2003 3 commits
-
-
igloo authored
Order declarations in reifications in order of source line number. The bugs still there but it bites less often now... Also remove the type parameterisation and do some type renaming as discussed on the template-haskell list.
-
simonpj authored
Fix the context for derived Typeable instances
-
simonpj authored
Stage-2 wibbles to the Expected type changes
-
- 17 Apr, 2003 4 commits
-
-
simonpj authored
---------------------------------- Implement Typeable properly ---------------------------------- 1. Add 'deriving' for Typeable class. So you can say data T a b = .... deriving( Typeable ) At the moment you only get this if you ask for it. If you say nothing you get nothing. 2. Implement Typeable better, with proper O(1) comparison of type representations 3. Add the 'cast' operation described in 'Scrap your boilerplate' and use it. 4. Consequence: need to move the definition of IOArray from Data.Array.IO.Internals to GHC.IOBase, where it joins IORef. This is necssary so that HashTable can be low down in the compilation hierarchy, and hence so can Dynamic. WARNING: I'm not certain the imports in HashTable and Dynamic will all be right for Hugs and NHC. I hope you can fix them up.
-
simonpj authored
Comments
-
simonpj authored
Comments
-
simonpj authored
Update hi-boot files
-
- 16 Apr, 2003 1 commit
-
-
simonpj authored
---------------------------------- Use the Infer/Check idea for typechecking higher-rank types ---------------------------------- The main idea is that data Expected ty = Infer (TcRef ty) | Check ty tcMonoExpr :: Expr -> Expected TcRhoType -> TcM Expra This "Expected" type tells tcMonoExpr whether it's doing inference or checking. It replaces the "HoleTv" flavour of type variable. This actually leads to slightly more lines of code, but it's much clearer, and the new type distinctions showed up several subtle bugs in the previous implementation. It all arose out of writing the prototype implementation for the paper. Error messages wibble around a little bit. I'm not quite certain why! But the changes look like improvements to me.
-
- 12 Apr, 2003 2 commits
- 11 Apr, 2003 3 commits
-
-
simonmar authored
The Id for a foreign import should be a LocalId, not a GlobalId. Making it a GlobalId violates the invariant that all Ids defined in the current module should be LocalIds until CoreTidy.
-
simonmar authored
Add an ASSERT to confirm an invariant: all Ids defined in this module should be LocalIds until the CoreTidy phase.
-
simonpj authored
More simplifier wibbles to do with the arity transfer stuff
-
- 10 Apr, 2003 6 commits
-
-
simonpj authored
Wibble to arity fix
-
simonpj authored
A subtle type checker bug, which showed up in rebindable1 test
-
simonpj authored
Handle Int literals in TH
-
simonpj authored
---------------------------------- Fix a long-standing eta-reduction bug ---------------------------------- Consider the stupid definition f = \x -> f x We were erroneously eta-reducing this to f = f (unsound because they'd be distinguishable by `seq`) The reason was that simplLazyBind was exposing the arity of a recursive function to its own RHS, when all it was really trying to do was expose the *rules* for the function. Easily fixed. This fixes some "Bad eta expand" warnings. Good all round. In particular, fixes rn006.
-
simonpj authored
comments
-
simonpj authored
Comments
-
- 09 Apr, 2003 2 commits
-
-
simonpj authored
------------------------------------- Fix a functional-dependency-related bug in tcSimpifyRestricted ------------------------------------- MERGE TO STABLE if it goes over conveniently (but I rather think it may not) tcSimplifyRestricted works by (a) simplifying brutall to find out what the constrained type variables are, and (b) simplifying more gently, knowing the constrained type varaibles. The bug is that in step (b) we were not doing the check-for-improvement-and-loop part, thinking that step (a) had alrady done all the improvement. But not so, as an example in the code now shows. Simple to fix. I rather think we could tidy up these various loops.
-
simonpj authored
Comments
-
- 08 Apr, 2003 5 commits
-
-
simonpj authored
---------------------------------- Try swapping order of inference for applications ---------------------------------- For a long time we've inferred the argument types of a function call before using information from the expected type passed in. This commit swaps the order. See comments with tcApp for an example where this makes a real difference. I don't think any error messages get signficantly worse, but yell if you find any.
-
simonpj authored
Better error messages
-
simonpj authored
ToDo comments
-
simonpj authored
Improve error messages on newtype deriving
-
simonpj authored
Fix unbox-strict-fields deriving bug; MERGE TO STABLE
-
- 06 Apr, 2003 1 commit
-
-
igloo authored
Typecheck type reification brackets [t| ... |]
-
- 01 Apr, 2003 2 commits
-
-
sof authored
Have Literal.Literal support the representation of NULL pointers only, and not arbitrary pointer values. (MachAddr <some-pointer-value-as-an-Integer>) wasn't being used, except to handle nullAddr#. It (MachAddr) is a potential source of problems should the compiler start doing constant folding or other interesting operations over MachAddrs (think: interface files + cross-compilation), so we might as well scale back the representation of raw pointer values.
-
simonmar authored
Don't constant-fold (negateFloat# 0.0#), because the compiler's internal representation of floating-point literals (Rational) can't represent -0.0. This means that main = print (-0.0) now gives the same results with -O as it does without. Fixes test arith005.
-
- 31 Mar, 2003 1 commit
-
-
simonmar authored
Comments only Submitted by: Urban Boquist <boquist@crt.se>
-
- 28 Mar, 2003 1 commit
-
-
sof authored
Off-by-one tidyup. ALLOC_AP, ALLOC_PAP and MKAP were all being constructed with size arguments equal to (1+number of args/FVs) in ByteCodeGen.schemeE, only for Interpreter.c to subtract 1 when fishing out the payloads. This commit drops the up-and-downery. Simplification spotted by Andy Moran
-
- 27 Mar, 2003 5 commits
-
-
sof authored
NCG support for f.e.d. stdcall -- Literal.MachLabels now optionally carry the size (in bytes) of the stack frame it expects, if known. That just so happens to match what stdcall labels need to be annotated with when emitting them in the NCG..
-
simonpj authored
------------------------------------- Fix a wibble in default-type setting for TH ------------------------------------- When a bunch of declarations contains no 'default' declaration, we were setting 'defaultDefaultTys' as appropriate default types. This isn't right for Template Haskell, which may have more than one bunch of top-level decls. (The bunches are separated by top-level declaration splices.) Instead, if there is no 'default' declaration we should do nothing.
-
simonpj authored
------------------------------------- Respect SPECIALISE pragmas in instance decls ------------------------------------- For some time now we have simply been discarding SPECIALISE pragmas in instance declarations. I think this was my fault, at some point when I was re-plumbing TcClassDcl.lhs, but it's been this way for some time. The only uses of this facility in the Prelude are in GHC/Float.lhs and GHC/Real.lhs, which affected the efficiency of the Float and Double instance of properFraction, floor, ceiling, etc. Ah well, it's fixed now.
-
simonpj authored
Reduce tctrace verbosity
-
simonpj authored
Import wibbles
-
- 25 Mar, 2003 1 commit
-
-
simonmar authored
Update the out-of-memory error message: the request size isn't known any more.
-