- 26 Mar, 2008 4 commits
-
-
Ian Lynagh authored
-
Ian Lynagh authored
-
Ian Lynagh authored
-
Ian Lynagh authored
-
- 25 Mar, 2008 10 commits
-
-
Ian Lynagh authored
-
Ian Lynagh authored
-
Ian Lynagh authored
-
Ian Lynagh authored
-
Ian Lynagh authored
-
Ian Lynagh authored
-
Ian Lynagh authored
-
Ian Lynagh authored
-
chevalier@alum.wellesley.edu authored
The way that newtype declarations were printed in External Core files was incomplete, since there was no declaration for the coercion introduced by a newtype. For example, the Haskell source: newtype T a = MkT (a -> a) foo (MkT x) = x got printed out in External Core as (roughly): %newtype T a = a -> a; foo :: %forall t . T t -> t -> t = %cast (\ @ t -> a1 @ t) (%forall t . T t -> ZCCoT t); There is no declaration anywhere in the External Core program for :CoT, so that's bad. I changed the newtype decl syntax so as to include the declaration for the coercion axiom introduced by the newtype. Now, it looks like: %newtype T a ^ (ZCCoT :: ((T a) :=: (a -> a))) = a -> a; And an external typechecker could conceivably typecheck code that uses this. The major changes are to MkExternalCore and PprExternalCore (as well as ExternalCore, to change the External Core AST.) I also corrected some typos in comments in other files. Documentation and external tool changes to follow.
-
Ian Lynagh authored
For some reason this causes build failures for me in my 32-bit chroot,
-
- 24 Mar, 2008 4 commits
-
-
Ian Lynagh authored
-
Ian Lynagh authored
-
chevalier@alum.wellesley.edu authored
My earlier changes broke printing of function types in .hcr files. In other words: the z-encoding must die.
-
chevalier@alum.wellesley.edu authored
My earlier changes broke printing of function types in .hcr files. In other words: the z-encoding must die.
-
- 23 Mar, 2008 1 commit
-
-
Ian Lynagh authored
Integer, Bool and Unit/Inl/Inr are now in new packages integer and ghc-prim.
-
- 20 Mar, 2008 1 commit
-
-
Ian Lynagh authored
-
- 22 Mar, 2008 1 commit
-
-
Ian Lynagh authored
-
- 20 Mar, 2008 2 commits
-
-
Ian Lynagh authored
-
chevalier@alum.wellesley.edu authored
I updated the parser to handle hierarchical module names (with package names) the way GHC is currently printing them out in External Core. Beware kludgy use of z-encoding and gratutious copy-pasta from GHC. You can now use the stand-alone Core parser to parse a very simple GHC-generated .hcr file (progress!) but not to typecheck or interpret it (the typechecker/interpreter don't snarf in the right libraries yet, among other things.) And, the parser is still incomplete in that it doesn't handle programs with newtypes/GADTs/etc. whose syntax has changed since 2003. In other words: probably don't try to use this yet.
-
- 19 Mar, 2008 2 commits
-
-
chevalier@alum.wellesley.edu authored
It's easier for the External Core parser if MkExternalCore prints module names like: base:GHCziBase rather than like: base:GHC.Base (which it was doing before.) So now we z-encode the hierarchical module-name part of a module name, but don't z-encode the ':'. I also removed some old comments that don't seem relevant anymore.
-
chevalier@alum.wellesley.edu authored
There was a (suppressed) warning about an incomplete pattern match in make_alt. This was because the DEFAULT alt never has variable bindings. I thought it would be better to check that case and panic if it happens than to have an incomplete pattern. It's still not great, but at least now we don't have to suppress any warnings in this file.
-
- 17 Mar, 2008 4 commits
-
-
Ian Lynagh authored
-
Ian Lynagh authored
-
Ian Lynagh authored
Very little parameter passing is needed without it, so there was no real benefit to it.
-
Ian Lynagh authored
-
- 16 Mar, 2008 1 commit
-
-
Ian Lynagh authored
-
- 17 Mar, 2008 2 commits
-
-
rl@cse.unsw.edu.au authored
-
keller@cse.unsw.edu.au authored
-
- 11 Mar, 2008 1 commit
-
-
keller@cse.unsw.edu.au authored
-
- 16 Mar, 2008 1 commit
-
-
Ian Lynagh authored
This fixes part of trac #856
-
- 15 Mar, 2008 1 commit
-
-
Ian Lynagh authored
Otherwise "$(A) $(B)" will not be equal to "" even if A and B are empty. Trac #856.
-
- 16 Mar, 2008 2 commits
-
-
Ian Lynagh authored
We were doing lots of cons'ing and tail'ing without forcing the tails, so were building up lots of thunks.
-
Ian Lynagh authored
Fixes trac #1893, based on a patch from Daniel Franke.
-
- 15 Mar, 2008 2 commits
-
-
Ian Lynagh authored
-
Ian Lynagh authored
This optimisation actually make things a bit slower on average, as measured by nofib. The example in #1136 in particular suffers from high memory usage. Therefore we no longer do the optimisation.
-
- 13 Mar, 2008 1 commit
-
-
Simon Marlow authored
-