ghc-hetmet.git
16 years agoFix bug in vectorisation of case expressions
Roman Leshchinskiy [Fri, 11 Apr 2008 04:53:07 +0000 (04:53 +0000)]
Fix bug in vectorisation of case expressions

16 years agoExtend genprimopcode to print primop types for ext-core
Tim Chevalier [Thu, 10 Apr 2008 18:58:10 +0000 (18:58 +0000)]
Extend genprimopcode to print primop types for ext-core

I added a new flag, --make-ext-core-source, to genprimopcode. It prints out the
type information for primops that the External Core typechecker needs. This
replaces the old mechanism where the ext-core tools had a hard-wired Prims
module that could get out of sync with the old primops.txt. Now, that won't happen.

16 years agoadd pointers to the wiki for the rules about C prototypes
Simon Marlow [Wed, 9 Apr 2008 20:41:43 +0000 (20:41 +0000)]
add pointers to the wiki for the rules about C prototypes

16 years agoavoid warnings from ffi.h when UseLibFFIForAdjustors=YES
Simon Marlow [Wed, 9 Apr 2008 20:40:48 +0000 (20:40 +0000)]
avoid warnings from ffi.h when UseLibFFIForAdjustors=YES

16 years agoFIX BUILD (bootstrap with -fvia-C): prototype fixes
Simon Marlow [Wed, 9 Apr 2008 20:37:24 +0000 (20:37 +0000)]
FIX BUILD (bootstrap with -fvia-C): prototype fixes

16 years agoAnother round of External Core fixes
Tim Chevalier [Thu, 10 Apr 2008 04:37:27 +0000 (04:37 +0000)]
Another round of External Core fixes

With this patch, GHC should now be printing External Core in a format
that a stand-alone program can parse and typecheck. Major bug fixes:

- The printer now handles qualified/unqualified declarations correctly
   (particularly data constructor declarations)
- It prints newtype declarations with enough information to
  typecheck code that uses the induced coercions (this required a
syntax change)
- It expands type synonyms correctly

Documentation and external tool patches will follow.

16 years agoAdding environment variable HPCTIXDIR, a directory to place tix results.
andy@galois.com [Tue, 8 Apr 2008 23:24:50 +0000 (23:24 +0000)]
Adding environment variable HPCTIXDIR, a directory to place tix results.

16 years agoFixing hpc combine and hpc map to use the correct help message
andy@galois.com [Tue, 8 Apr 2008 23:20:32 +0000 (23:20 +0000)]
Fixing hpc combine and hpc map to use the correct help message

16 years agoImport libffi-3.0.4, and use it to provide FFI support in GHCi
Simon Marlow [Tue, 8 Apr 2008 18:34:34 +0000 (18:34 +0000)]
Import libffi-3.0.4, and use it to provide FFI support in GHCi

This replaces the hand-rolled architecture-specific FFI support in
GHCi with the standard libffi as used in GCJ, Python and other
projects.  I've bundled the complete libffi-3.0.4 tarball in the
source tree in the same way as we do for GMP, the difference being
that we always build and install our own libffi regardless of whether
there's one on the system (it's small, and we don't want
dependency/versioning headaches).

In particular this means that unregisterised builds will now have a
fully working GHCi including FFI out of the box, provided libffi
supports the platform.

There is also code in the RTS to use libffi in place of
rts/Adjustor.c, but it is currently not enabled if we already have
support in Adjustor.c for the current platform.  We need to assess the
performance impact before using libffi here too (in GHCi we don't care
too much about performance).

16 years agoFIX BUILD on non-x86: add missing prototypes
Simon Marlow [Mon, 7 Apr 2008 21:37:48 +0000 (21:37 +0000)]
FIX BUILD on non-x86: add missing prototypes

16 years agoupdate a comment
Simon Marlow [Mon, 7 Apr 2008 21:24:37 +0000 (21:24 +0000)]
update a comment

16 years agoremove dead code
Simon Marlow [Thu, 3 Apr 2008 22:34:22 +0000 (22:34 +0000)]
remove dead code

16 years agoReplace one occurance of CVS with darcs in HACKING
Samuel Bronson [Mon, 7 Apr 2008 22:20:06 +0000 (22:20 +0000)]
Replace one occurance of CVS with darcs in HACKING

16 years agoRemove GADT refinements, part 5
Manuel M T Chakravarty [Mon, 7 Apr 2008 07:07:28 +0000 (07:07 +0000)]
Remove GADT refinements, part 5
- TcGadt RIP
- The non-side effecting unification code is now in types/Unify.lhs
  along with the refinement code needed for GADT record selectors.

16 years agoRemove GADT refinements, part 4
Manuel M T Chakravarty [Mon, 3 Mar 2008 06:33:47 +0000 (06:33 +0000)]
Remove GADT refinements, part 4
- MkId.mkRecordSelId only used a special case of refineGadt, which doesn't
  need full unification.  That special case is now implemented as
  TcGadt.matchRefine and TcGadt.refineGadt can finally go.

16 years agoImprove error message for malformed LANGUAGE pragma
Tim Chevalier [Sun, 6 Apr 2008 20:23:33 +0000 (20:23 +0000)]
Improve error message for malformed LANGUAGE pragma

I made the error (which previously said "cannot parse LANGUAGE
pragma") slightly more helpful by reminding the user that pragmas
should be comma-separated.

16 years agoImprove error message for non-matching file name
Tim Chevalier [Sun, 6 Apr 2008 19:38:21 +0000 (19:38 +0000)]
Improve error message for non-matching file name

I changed the "File name does not match module name" error message so
that it prints out both the declared module name and the expected
module name (before, it was only printing the declared module name.)

16 years agoVirtualize the cwd in GHCi
Pepe Iborra [Sat, 5 Apr 2008 14:51:36 +0000 (14:51 +0000)]
Virtualize the cwd in GHCi

This fixes the issue where :list would stop working if the
program being debugged side-effected the working directory,
and should prevent other similar issues

16 years agoFix rendering of references in :print under -fprint-evld-with-show flag
Pepe Iborra [Wed, 19 Dec 2007 17:44:31 +0000 (17:44 +0000)]
Fix rendering of references in :print under -fprint-evld-with-show flag

16 years agoFix Trac #2188: scoping in TH declarations quotes
simonpj@microsoft.com [Fri, 4 Apr 2008 20:55:56 +0000 (20:55 +0000)]
Fix Trac #2188: scoping in TH declarations quotes

This patch fixes a rather tiresome issue, namely the fact that
a TH declaration quote *shadows* bindings in outer scopes:

  f g = [d| f :: Int
            f = g
       g :: Int
            g = 4 |]

Here, the outer bindings for 'f' (top-level) and 'g' (local)
are shadowed, and the inner bindings for f,g should not be
reported as duplicates.  (Remember they are top-level bindings.)

The actual bug was that we'd forgotten to delete 'g' from the
LocalRdrEnv, so the type sig for 'g' was binding to the outer
'g' not the inner one.

16 years agoFix simplifier thrashing
simonpj@microsoft.com [Thu, 3 Apr 2008 22:38:19 +0000 (22:38 +0000)]
Fix simplifier thrashing

Another example of the simplifier thrashing, getting nowhere.
See SimplUtils, Note [Unsaturated functions]

There's a test at eyeball/inline4.hs

16 years agoFix Trac #2179: error message for main
simonpj@microsoft.com [Thu, 3 Apr 2008 17:37:46 +0000 (17:37 +0000)]
Fix Trac #2179: error message for main

A short-cut to generate the (runMainIO main) wrapper turned out
to make a bad error message.  This should fix it.

16 years agoFix Trac #2136: reporting of unused variables
simonpj@microsoft.com [Thu, 3 Apr 2008 11:02:50 +0000 (11:02 +0000)]
Fix Trac #2136: reporting of unused variables

There's a bit of a hack RnBinds.rnValBindsAndThen, documented
in Note [Unused binding hack].  But the hack was over brutal
before, and produced unnecssarily bad (absence of) warnings.
This patch does a bit of refactoring; and fixes the bug in
rnValBindsAndThen.

16 years agoFix Trac #2137: report correct location for shadowed binding
simonpj@microsoft.com [Wed, 2 Apr 2008 15:34:10 +0000 (15:34 +0000)]
Fix Trac #2137: report correct location for shadowed binding

The error message generation for a shadowed binding was
plain wrong, at least where the shadowed binding isn't
top-level.  Just a typo really -- the fix is trivial.

16 years agoFix Trac #2141: invalid record update
simonpj@microsoft.com [Wed, 2 Apr 2008 13:20:57 +0000 (13:20 +0000)]
Fix Trac #2141: invalid record update

See Note [Record field lookup] in TcEnv.  The fix here
is quite straightforward.

16 years agoDo not #include external header files when compiling via C
Simon Marlow [Wed, 2 Apr 2008 05:14:12 +0000 (05:14 +0000)]
Do not #include external header files when compiling via C

This has several advantages:

 - -fvia-C is consistent with -fasm with respect to FFI declarations:
   both bind to the ABI, not the API.

 - foreign calls can now be inlined freely across module boundaries, since
   a header file is not required when compiling the call.

 - bootstrapping via C will be more reliable, because this difference
   in behavour between the two backends has been removed.

There is one disadvantage:

 - we get no checking by the C compiler that the FFI declaration
   is correct.

So now, the c-includes field in a .cabal file is always ignored by
GHC, as are header files specified in an FFI declaration.  This was
previously the case only for -fasm compilations, now it is also the
case for -fvia-C too.

16 years agoDerive a valid Ix instance for data Foo = Foo Int Int
Ian Lynagh [Sun, 30 Mar 2008 18:28:13 +0000 (18:28 +0000)]
Derive a valid Ix instance for data Foo = Foo Int Int
The old one didn't satisfy the axioms. See trac #2158 for details.

16 years agoRevive External Core parser
Tim Chevalier [Sat, 29 Mar 2008 22:39:48 +0000 (22:39 +0000)]
Revive External Core parser

Huzzah, the External Core parser will now parse External Core generated by
the HEAD.

Most notably, I rewrote the parser in Parsec, but the old Happy version
remains in the repository.

I checked all the nofib benchmarks and most of the ghc-prim, base and integer
libraries to make sure they parsed; one known bug:
  - Strings like "\x0aE", in which a hex escape code is followed by a
    letter that could be a hex digit, aren't handled properly. I'm
    investigating whether this is a bug in Parsec or expected behavior.

The checker and interpreter still don't work, but should compile.

Please mess around with the parser, report bugs, improve my code, etc.,
if you're so inclined.

16 years agoFix big character literal printing in External Core
Tim Chevalier [Sat, 29 Mar 2008 22:11:09 +0000 (22:11 +0000)]
Fix big character literal printing in External Core

Characters bigger than '\xff' should be represented as int
literals in External Core. (This was originally fixed five years ago
and broken again four and a half years ago...)

16 years agoExternal Core: don't print superfluous parens in case types
Tim Chevalier [Sat, 29 Mar 2008 19:46:29 +0000 (19:46 +0000)]
External Core: don't print superfluous parens in case types

The External Core printer was parenthesizing the scrutinee type in case expressions. Since this type is required to be atomic, the parens aren't necessary.

16 years agoDon't import FastString in HsVersions.h
Ian Lynagh [Sat, 29 Mar 2008 18:50:43 +0000 (18:50 +0000)]
Don't import FastString in HsVersions.h
Modules that need it import it themselves instead.

16 years agoDEBUG removal
Ian Lynagh [Sat, 29 Mar 2008 17:11:35 +0000 (17:11 +0000)]
DEBUG removal

16 years agoDEBUG removal
Ian Lynagh [Sat, 29 Mar 2008 17:10:13 +0000 (17:10 +0000)]
DEBUG removal

16 years agoDEBUG removal
Ian Lynagh [Sat, 29 Mar 2008 17:09:35 +0000 (17:09 +0000)]
DEBUG removal

16 years agoDEBUG removal
Ian Lynagh [Sat, 29 Mar 2008 17:03:41 +0000 (17:03 +0000)]
DEBUG removal

16 years agoDEBUG removal
Ian Lynagh [Sat, 29 Mar 2008 17:02:27 +0000 (17:02 +0000)]
DEBUG removal

16 years agoDEBUG removal
Ian Lynagh [Sat, 29 Mar 2008 16:54:12 +0000 (16:54 +0000)]
DEBUG removal

16 years agoFix typo; spotted by Bdh in #ghc
Ian Lynagh [Sat, 29 Mar 2008 16:53:03 +0000 (16:53 +0000)]
Fix typo; spotted by Bdh in #ghc

16 years agoDEBUG removal
Ian Lynagh [Sat, 29 Mar 2008 16:48:49 +0000 (16:48 +0000)]
DEBUG removal

16 years agoDEBUG removal
Ian Lynagh [Sat, 29 Mar 2008 16:44:20 +0000 (16:44 +0000)]
DEBUG removal

16 years agoRemove a DEBUG use
Ian Lynagh [Sat, 29 Mar 2008 16:42:09 +0000 (16:42 +0000)]
Remove a DEBUG use

16 years agoRemove a DEBUG
Ian Lynagh [Sat, 29 Mar 2008 16:39:36 +0000 (16:39 +0000)]
Remove a DEBUG

16 years agoRemove more #ifdef DEBUGs
Ian Lynagh [Sat, 29 Mar 2008 14:57:16 +0000 (14:57 +0000)]
Remove more #ifdef DEBUGs

16 years agoRemove an #ifdef DEBUG
Ian Lynagh [Sat, 29 Mar 2008 14:55:08 +0000 (14:55 +0000)]
Remove an #ifdef DEBUG

16 years agoRemove an #ifdef DEBUG
Ian Lynagh [Sat, 29 Mar 2008 14:52:44 +0000 (14:52 +0000)]
Remove an #ifdef DEBUG

16 years agoRemove an #ifdef DEBUG
Ian Lynagh [Sat, 29 Mar 2008 14:48:44 +0000 (14:48 +0000)]
Remove an #ifdef DEBUG

16 years agoRemove a #ifdef DEBUG
Ian Lynagh [Sat, 29 Mar 2008 14:46:58 +0000 (14:46 +0000)]
Remove a #ifdef DEBUG

16 years agoRemove an #ifdef DEBUG
Ian Lynagh [Sat, 29 Mar 2008 14:45:44 +0000 (14:45 +0000)]
Remove an #ifdef DEBUG

16 years agoRemove some redundant code
Ian Lynagh [Sat, 29 Mar 2008 14:42:26 +0000 (14:42 +0000)]
Remove some redundant code

16 years agoprelude/PrimOp is now mostly warning-free
Ian Lynagh [Sat, 29 Mar 2008 14:39:14 +0000 (14:39 +0000)]
prelude/PrimOp is now mostly warning-free
commutableOp seems to be unused, so we're no 100% there yet.

16 years agoFix warnings from primops.txt.pp
Ian Lynagh [Sat, 29 Mar 2008 14:26:37 +0000 (14:26 +0000)]
Fix warnings from primops.txt.pp

16 years agoUse _ rather than "other" in generated code
Ian Lynagh [Sat, 29 Mar 2008 14:25:08 +0000 (14:25 +0000)]
Use _ rather than "other" in generated code

16 years agoFix some warnings
Ian Lynagh [Sat, 29 Mar 2008 14:22:19 +0000 (14:22 +0000)]
Fix some warnings

16 years agoRemove some redundant imports
Ian Lynagh [Sat, 29 Mar 2008 14:18:09 +0000 (14:18 +0000)]
Remove some redundant imports

16 years agoRemove an #ifdef DEBUG
Ian Lynagh [Sat, 29 Mar 2008 14:17:33 +0000 (14:17 +0000)]
Remove an #ifdef DEBUG

16 years agoRemove an #ifdef DEBUG
Ian Lynagh [Sat, 29 Mar 2008 14:16:29 +0000 (14:16 +0000)]
Remove an #ifdef DEBUG

16 years agoRemove some unnecessary imports
Ian Lynagh [Sat, 29 Mar 2008 14:11:45 +0000 (14:11 +0000)]
Remove some unnecessary imports

16 years agoRemove an unnecessary #ifdef DEBUG
Ian Lynagh [Sat, 29 Mar 2008 14:10:47 +0000 (14:10 +0000)]
Remove an unnecessary #ifdef DEBUG

16 years agoAnother debugIsOn use
Ian Lynagh [Sat, 29 Mar 2008 14:01:26 +0000 (14:01 +0000)]
Another debugIsOn use

16 years agoConvert some DEBUG uses to debugIsOn
Ian Lynagh [Sat, 29 Mar 2008 13:59:50 +0000 (13:59 +0000)]
Convert some DEBUG uses to debugIsOn

16 years agoPut debugIsOn in Util, rather than rely on it being CPPed in
Ian Lynagh [Sat, 29 Mar 2008 13:57:55 +0000 (13:57 +0000)]
Put debugIsOn in Util, rather than rely on it being CPPed in

16 years agoExternal Core: print function types correctly, improve newtype pretty-printing
Tim Chevalier [Fri, 28 Mar 2008 22:26:30 +0000 (22:26 +0000)]
External Core: print function types correctly, improve newtype pretty-printing

- In a previous patch I broke the printing of fully-applied arrow
types (e.g., "a -> b" was "(ghczmprim:GHCziPrim a b)") by z-encoding
package names and not updating the primitive module name as defined in
External Core accordingly. Fixed. (Mega sigh...)

- Make newtype decls print slightly more readably.

16 years agoPrint out rational literals correctly in External Core
Tim Chevalier [Fri, 28 Mar 2008 21:19:19 +0000 (21:19 +0000)]
Print out rational literals correctly in External Core

The External Core printer was printing out rational literals of the
form:
2.0e-2
when the External Core grammar doesn't allow this. (This
bug has apparently been there since the beginning...)

It's now printing rationals in the same form that (show (r::Rational))
does. This requires a parser change as well (soon to come.)

16 years agoChange syntax for qualified names in External Core
Tim Chevalier [Thu, 27 Mar 2008 18:54:36 +0000 (18:54 +0000)]
Change syntax for qualified names in External Core

Two changes that make the ext-core code uglier but the parser easier:

- Prefix qualified names with "^" so that we can more easily
distinguish a qualified name:
   ^a:Foo.Bar.quux
from an unqualified name:
   a

- z-encode package names ("ghc-prim" was the culprit.)

16 years agoMake use of the SDoc type synonym
Ian Lynagh [Wed, 26 Mar 2008 17:53:06 +0000 (17:53 +0000)]
Make use of the SDoc type synonym

16 years agoFix warnings in rename/RnTypes
Ian Lynagh [Wed, 26 Mar 2008 17:46:57 +0000 (17:46 +0000)]
Fix warnings in rename/RnTypes

16 years agoFix warnings in basicTypes/IdInfo
Ian Lynagh [Wed, 26 Mar 2008 17:00:14 +0000 (17:00 +0000)]
Fix warnings in basicTypes/IdInfo

16 years agoFix warnings in basicTypes/NameEnv
Ian Lynagh [Wed, 26 Mar 2008 16:51:39 +0000 (16:51 +0000)]
Fix warnings in basicTypes/NameEnv

16 years agoFix warnings in basicTypes/NameSet
Ian Lynagh [Wed, 26 Mar 2008 16:48:37 +0000 (16:48 +0000)]
Fix warnings in basicTypes/NameSet

16 years agoFix warning in basicTypes/NewDemand
Ian Lynagh [Wed, 26 Mar 2008 16:00:17 +0000 (16:00 +0000)]
Fix warning in basicTypes/NewDemand

16 years agoFix warnings in basicTypes/VarEnv
Ian Lynagh [Wed, 26 Mar 2008 15:54:12 +0000 (15:54 +0000)]
Fix warnings in basicTypes/VarEnv

16 years agoFix warnings in basicTypes/VarSet
Ian Lynagh [Wed, 26 Mar 2008 15:51:05 +0000 (15:51 +0000)]
Fix warnings in basicTypes/VarSet

16 years agomain/BreakArray has no warnings
Ian Lynagh [Wed, 26 Mar 2008 15:47:47 +0000 (15:47 +0000)]
main/BreakArray has no warnings

16 years agoIn validate settings, make -Werror easier to override
Ian Lynagh [Wed, 26 Mar 2008 14:10:30 +0000 (14:10 +0000)]
In validate settings, make -Werror easier to override

16 years agoRemove a redundant type sig
Ian Lynagh [Wed, 26 Mar 2008 00:49:32 +0000 (00:49 +0000)]
Remove a redundant type sig

16 years agoFix warnings in main/DriverPhases
Ian Lynagh [Tue, 25 Mar 2008 23:58:28 +0000 (23:58 +0000)]
Fix warnings in main/DriverPhases

16 years agoRemove redundant type sig
Ian Lynagh [Tue, 25 Mar 2008 23:58:01 +0000 (23:58 +0000)]
Remove redundant type sig

16 years agoFix warnings in main/HscStats
Ian Lynagh [Tue, 25 Mar 2008 23:41:10 +0000 (23:41 +0000)]
Fix warnings in main/HscStats

16 years agoFix warnings in main/Constants
Ian Lynagh [Tue, 25 Mar 2008 23:30:34 +0000 (23:30 +0000)]
Fix warnings in main/Constants

16 years agoFix warnings in main/InteractiveEval
Ian Lynagh [Tue, 25 Mar 2008 23:01:53 +0000 (23:01 +0000)]
Fix warnings in main/InteractiveEval

16 years agoFix warnings in main/Packages
Ian Lynagh [Tue, 25 Mar 2008 22:44:44 +0000 (22:44 +0000)]
Fix warnings in main/Packages

16 years agoFix warnings in main/PprTyThing
Ian Lynagh [Tue, 25 Mar 2008 22:31:04 +0000 (22:31 +0000)]
Fix warnings in main/PprTyThing

16 years agoFix warnings in main/StaticFlags
Ian Lynagh [Tue, 25 Mar 2008 22:16:32 +0000 (22:16 +0000)]
Fix warnings in main/StaticFlags

16 years agoChange syntax for newtypes in External Core
Tim Chevalier [Tue, 25 Mar 2008 17:02:18 +0000 (17:02 +0000)]
Change syntax for newtypes in External Core

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.

16 years agoFix warnings in the RTS
Ian Lynagh [Tue, 25 Mar 2008 16:03:14 +0000 (16:03 +0000)]
Fix warnings in the RTS
For some reason this causes build failures for me in my 32-bit chroot,

16 years agoAnother change for GHC.PrimopWrappers moving from base to ghc-prim
Ian Lynagh [Mon, 24 Mar 2008 22:40:06 +0000 (22:40 +0000)]
Another change for GHC.PrimopWrappers moving from base to ghc-prim

16 years agoUpdate darcs-boring
Ian Lynagh [Mon, 24 Mar 2008 21:23:19 +0000 (21:23 +0000)]
Update darcs-boring

16 years agoFix primMname in External Core printer
Tim Chevalier [Mon, 24 Mar 2008 01:43:11 +0000 (01:43 +0000)]
Fix primMname in External Core printer

 My earlier changes broke printing of function types in .hcr files.
  In other words: the z-encoding must die.

16 years agoFix primMname in External Core printer
Tim Chevalier [Mon, 24 Mar 2008 00:52:46 +0000 (00:52 +0000)]
Fix primMname in External Core printer

My earlier changes broke printing of function types in .hcr files.
In other words: the z-encoding must die.

16 years agoFollow library changes
Ian Lynagh [Sun, 23 Mar 2008 18:25:57 +0000 (18:25 +0000)]
Follow library changes
Integer, Bool and Unit/Inl/Inr are now in new packages integer
and ghc-prim.

16 years agoCgTicky now doesn't know about the Integer data constructors
Ian Lynagh [Thu, 20 Mar 2008 19:58:36 +0000 (19:58 +0000)]
CgTicky now doesn't know about the Integer data constructors

16 years ago-DDEBUG build fix
Ian Lynagh [Sat, 22 Mar 2008 14:06:41 +0000 (14:06 +0000)]
-DDEBUG build fix

16 years agoRename rebuild to remake, and define rebuild to "clean; build"
Ian Lynagh [Thu, 20 Mar 2008 22:19:15 +0000 (22:19 +0000)]
Rename rebuild to remake, and define rebuild to "clean; build"

16 years agoHandle hierarchical module names in External Core tools
Tim Chevalier [Thu, 20 Mar 2008 01:44:49 +0000 (01:44 +0000)]
Handle hierarchical module names in External Core tools

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.

16 years agoImprove hierarchical module name handling in MkExternalCore
Tim Chevalier [Wed, 19 Mar 2008 19:04:29 +0000 (19:04 +0000)]
Improve hierarchical module name handling in MkExternalCore

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.

16 years agoFixed remaining warning in coreSyn/MkExternalCore
Tim Chevalier [Wed, 19 Mar 2008 18:25:21 +0000 (18:25 +0000)]
Fixed remaining warning in coreSyn/MkExternalCore

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.

16 years agoRevert an accidental change
Ian Lynagh [Mon, 17 Mar 2008 20:01:30 +0000 (20:01 +0000)]
Revert an accidental change

16 years agoPrint some extra debugging info when doing --show-iface
Ian Lynagh [Mon, 17 Mar 2008 18:50:32 +0000 (18:50 +0000)]
Print some extra debugging info when doing --show-iface

16 years agoEliminate a global variable
Ian Lynagh [Mon, 17 Mar 2008 18:01:50 +0000 (18:01 +0000)]
Eliminate a global variable
Very little parameter passing is needed without it, so there was no real
benefit to it.

16 years agoFollow changes in editline
Ian Lynagh [Mon, 17 Mar 2008 10:36:17 +0000 (10:36 +0000)]
Follow changes in editline