ghc-hetmet.git
22 years ago[project @ 2001-06-27 06:17:22 by sof]
sof [Wed, 27 Jun 2001 06:17:22 +0000 (06:17 +0000)]
[project @ 2001-06-27 06:17:22 by sof]
try to get rid off a special case for mingw, where CC_OPTS was forced to always contain '-mno-cygwin -mwin32'

22 years ago[project @ 2001-06-26 23:22:37 by sof]
sof [Tue, 26 Jun 2001 23:22:37 +0000 (23:22 +0000)]
[project @ 2001-06-26 23:22:37 by sof]
wibble

22 years ago[project @ 2001-06-26 23:12:19 by sof]
sof [Tue, 26 Jun 2001 23:12:19 +0000 (23:12 +0000)]
[project @ 2001-06-26 23:12:19 by sof]
Test whether $(CC) supports -mwin32 + have configure script set SRC_CC_OPTS

22 years ago[project @ 2001-06-26 16:32:03 by rrt]
rrt [Tue, 26 Jun 2001 16:32:03 +0000 (16:32 +0000)]
[project @ 2001-06-26 16:32:03 by rrt]
Get rid of quotes around arguments to -D and -U. These get stripped by the
Unix shell, but not by Windows's system, which upsets gcc.

22 years ago[project @ 2001-06-26 16:31:07 by rrt]
rrt [Tue, 26 Jun 2001 16:31:07 +0000 (16:31 +0000)]
[project @ 2001-06-26 16:31:07 by rrt]
Make system.c get compiled properly

22 years ago[project @ 2001-06-26 16:30:50 by rrt]
rrt [Tue, 26 Jun 2001 16:30:50 +0000 (16:30 +0000)]
[project @ 2001-06-26 16:30:50 by rrt]
Fix typos

22 years ago[project @ 2001-06-26 15:51:55 by rrt]
rrt [Tue, 26 Jun 2001 15:51:55 +0000 (15:51 +0000)]
[project @ 2001-06-26 15:51:55 by rrt]
Make stage two getExecDir for Windows work again. Where did it go before?

22 years ago[project @ 2001-06-26 11:07:55 by simonpj]
simonpj [Tue, 26 Jun 2001 11:07:55 +0000 (11:07 +0000)]
[project @ 2001-06-26 11:07:55 by simonpj]
Add #include for SysTools

22 years ago[project @ 2001-06-26 11:07:42 by simonpj]
simonpj [Tue, 26 Jun 2001 11:07:42 +0000 (11:07 +0000)]
[project @ 2001-06-26 11:07:42 by simonpj]
Add comments

22 years ago[project @ 2001-06-26 08:13:04 by reid]
reid [Tue, 26 Jun 2001 08:13:05 +0000 (08:13 +0000)]
[project @ 2001-06-26 08:13:04 by reid]
NOTE: new configure.in - remember to autoconf and reconfig

I'm moving X.gc and Xlib.gc from hslibs/graphics/lib/x11 to
hslibs/xlib and integrating them into the hslibs maketree.  This lib
now lives at the same place in the hierarchy as win32 - probably not
perfect for the new library story but good enough for the old hslibs I
think.

I'm not converting them from GreenCard to hsc2hs but I think that
would be a good medium term goal.  I'd like to do it myself because
I'd like to try using hsc2hs but I can't imagine when I'll get the
time so if someone feels like doing it, go right ahead.  (The HGL
(hslibs/graphics/lib/x11) is probably the only code that depends on
the Xlib interface - so mild changes to the Xlib API would be fairly
easy to fix up.)

It all seems to build and compile (not sure about linking yet) but,
for the life of me, I can't figure out what part of the makefile calls
ghc-pkg -a so that isn't quite working yet.  (I _think_ the makefile
does this - but could be wrong.)

If someone could either point me at the relevant part of the makefile
docs or just fix it for me, I could move onto getting the graphics lib
integrated into the hslibs maketree - which would leave me with just
the Hugs part of the HGL distribution to fix before the next Hugs
release.  (If I was a good Haggis, I'd beat up on Hugs' ffi too - but
I'm a very overworked Haggis at the moment so I'm not sure I'll get
that far.)

22 years ago[project @ 2001-06-25 21:08:01 by sof]
sof [Mon, 25 Jun 2001 21:08:01 +0000 (21:08 +0000)]
[project @ 2001-06-25 21:08:01 by sof]
sorry - prev. commit didn't take into account that the ghc version scheme isn't just a.bb[.c], but also a.bb[.yyyymmdd]. This broke the nightly build, my bad

22 years ago[project @ 2001-06-25 17:28:30 by sof]
sof [Mon, 25 Jun 2001 17:28:30 +0000 (17:28 +0000)]
[project @ 2001-06-25 17:28:30 by sof]
Replace GHC version testing with something a bit more sturdy

22 years ago[project @ 2001-06-25 14:50:22 by simonpj]
simonpj [Mon, 25 Jun 2001 14:50:22 +0000 (14:50 +0000)]
[project @ 2001-06-25 14:50:22 by simonpj]
Keep pgm paths in native format

22 years ago[project @ 2001-06-25 14:36:04 by simonpj]
simonpj [Mon, 25 Jun 2001 14:36:06 +0000 (14:36 +0000)]
[project @ 2001-06-25 14:36:04 by simonpj]
Import wibbles

22 years ago[project @ 2001-06-25 13:13:58 by simonpj]
simonpj [Mon, 25 Jun 2001 13:13:58 +0000 (13:13 +0000)]
[project @ 2001-06-25 13:13:58 by simonpj]
In nubBy, put argument to eq in the standard order

22 years ago[project @ 2001-06-25 11:11:16 by rrt]
rrt [Mon, 25 Jun 2001 11:11:16 +0000 (11:11 +0000)]
[project @ 2001-06-25 11:11:16 by rrt]
Fix so that it compiles on both pre and post 5.00 series compilers.

22 years ago[project @ 2001-06-25 09:49:59 by rrt]
rrt [Mon, 25 Jun 2001 09:49:59 +0000 (09:49 +0000)]
[project @ 2001-06-25 09:49:59 by rrt]
Comment out an uncomfortable ASSERT for now.

22 years ago[project @ 2001-06-25 09:44:10 by rrt]
rrt [Mon, 25 Jun 2001 09:44:10 +0000 (09:44 +0000)]
[project @ 2001-06-25 09:44:10 by rrt]
Add more symbols for mingwin version to get it to work. This still needs
tidying up.

22 years ago[project @ 2001-06-25 09:34:11 by rrt]
rrt [Mon, 25 Jun 2001 09:34:11 +0000 (09:34 +0000)]
[project @ 2001-06-25 09:34:11 by rrt]
Remove hacked-in definition of system for mingwin; instead we now just link
against the new version of systemCmd from lib/std/cbits/system.c.

22 years ago[project @ 2001-06-25 08:09:57 by simonpj]
simonpj [Mon, 25 Jun 2001 08:10:03 +0000 (08:10 +0000)]
[project @ 2001-06-25 08:09:57 by simonpj]
----------------
Squash newtypes
----------------

This commit squashes newtypes and their coerces, from the typechecker
onwards.  The original idea was that the coerces would not get in the
way of optimising transformations, but despite much effort they continue
to do so.   There's no very good reason to retain newtype information
beyond the typechecker, so now we don't.

Main points:

* The post-typechecker suite of Type-manipulating functions is in
types/Type.lhs, as before.   But now there's a new suite in types/TcType.lhs.
The difference is that in the former, newtype are transparent, while in
the latter they are opaque.  The typechecker should only import TcType,
not Type.

* The operations in TcType are all non-monadic, and most of them start with
"tc" (e.g. tcSplitTyConApp).  All the monadic operations (used exclusively
by the typechecker) are in a new module, typecheck/TcMType.lhs

* I've grouped newtypes with predicate types, thus:
data Type = TyVarTy Tyvar | ....
  | SourceTy SourceType

data SourceType = NType TyCon [Type]
| ClassP Class [Type]
| IParam Type

[SourceType was called PredType.]  This is a little wierd in some ways,
because NTypes can't occur in qualified types.   However, the idea is that
a SourceType is a type that is opaque to the type checker, but transparent
to the rest of the compiler, and newtypes fit that as do implicit parameters
and dictionaries.

* Recursive newtypes still retain their coreces, exactly as before. If
they were transparent we'd get a recursive type, and that would make
various bits of the compiler diverge (e.g. things which do type comparison).

* I've removed types/Unify.lhs (non-monadic type unifier and matcher),
merging it into TcType.

Ditto typecheck/TcUnify.lhs (monadic unifier), merging it into TcMType.

22 years ago[project @ 2001-06-25 08:08:32 by simonpj]
simonpj [Mon, 25 Jun 2001 08:08:32 +0000 (08:08 +0000)]
[project @ 2001-06-25 08:08:32 by simonpj]
---------------------------
Add a new case optimisation
---------------------------

I found that lib/std/PrelCError had a case-expression that was
generating terrible code.   Something like this

x | p `is` 1 -> e1
  | p `is` 2 -> e2
...etc...

where @is@ was something like

p `is` n = p /= (-1) && p == n

This gave rise to a horrible sequence of cases

case p of
  (-1) -> $j p
  1    -> e1
  DEFAULT -> $j p

and similarly in cascade for all the join points!

Solution: add the following transformation:

case e of =====>     case e of
  C _ -> <expr>      D v -> ....v....
  D v -> ....v....      DEFAULT -> <expr>
  DEFAULT -> <expr>

The point is that we merge common RHSs, at least for the DEFAULT case.
[One could do something more elaborate but I've never seen it needed.]

This transformation is implemented in SimplUtils.mkCase

*** WARNING ***
To make this transformation easy, I have switched the convention
for DEFAULT clauses.  They must now occur FIRST in the list of
alternatives for a Core case expression.  (The semantics is
unchanged: they still are a catch-all case.)

The reason is that DEFAULT clauses sometimes need special treatment,
and it's a lot easier to find them at the front.

The easiest way to be insensitive to this change is to use
CoreUtils.findDefault to pull the default clause out.

I've made the (surprisingly few) changes consequent on this changed
of convention, but they aren't in this commit.  Instead they are part
of the big commit on newtypes I'm doing at the same time.

22 years ago[project @ 2001-06-25 08:01:16 by simonpj]
simonpj [Mon, 25 Jun 2001 08:01:16 +0000 (08:01 +0000)]
[project @ 2001-06-25 08:01:16 by simonpj]
----------------------------------
Fix a predicate-simplification bug
----------------------------------

Fixes a bug pointed out by Marcin

    data R = R {f :: Int}
    foo:: (?x :: Int) => R -> R
    foo r = r {f = ?x}

    Test.hs:4:
Could not deduce `?x :: Int' from the context ()
arising from use of implicit parameter `?x' at Test.hs:4
In the record update: r {f = ?x}
In the definition of `foo': r {f = ?x}

The predicate simplifier was declining to 'inherit' an
implicit parameter.  This is right for a let-binding, but
wrong for an expression binding.  For example, a simple
expression type signature:

(?x + 1) :: Int

This was rejected because the ?x constraint could not be
floated out -- but that's wrong for expressions.

22 years ago[project @ 2001-06-25 05:25:31 by sof]
sof [Mon, 25 Jun 2001 05:25:31 +0000 (05:25 +0000)]
[project @ 2001-06-25 05:25:31 by sof]
One RCS  will do

22 years ago[project @ 2001-06-25 01:35:07 by sof]
sof [Mon, 25 Jun 2001 01:35:07 +0000 (01:35 +0000)]
[project @ 2001-06-25 01:35:07 by sof]
With -no-hs-main, don't force PrelMain.o to be linked (=> Main.o)

22 years ago[project @ 2001-06-23 12:54:18 by panne]
panne [Sat, 23 Jun 2001 12:54:18 +0000 (12:54 +0000)]
[project @ 2001-06-23 12:54:18 by panne]
Use libexecdir in scripts, not libdir
Note: hsc2hs has to be changed, too...

22 years ago[project @ 2001-06-23 10:54:07 by panne]
panne [Sat, 23 Jun 2001 10:54:07 +0000 (10:54 +0000)]
[project @ 2001-06-23 10:54:07 by panne]
Resurrect non-M$ compilation

22 years ago[project @ 2001-06-22 13:32:45 by rrt]
rrt [Fri, 22 Jun 2001 13:32:45 +0000 (13:32 +0000)]
[project @ 2001-06-22 13:32:45 by rrt]
Add some extra tests and correct some error messages. This file is no longer
used for its original purpose, but is a useful example of how to start and
manage processes under Windows.

22 years ago[project @ 2001-06-22 13:31:29 by rrt]
rrt [Fri, 22 Jun 2001 13:31:29 +0000 (13:31 +0000)]
[project @ 2001-06-22 13:31:29 by rrt]
Add machinery to copy system.c to main/ from lib/std/cbits/ when building
GHC on Windows with GHC<5.01, so that the new implementation of system can
be used rather than the old.

22 years ago[project @ 2001-06-22 13:30:18 by rrt]
rrt [Fri, 22 Jun 2001 13:30:18 +0000 (13:30 +0000)]
[project @ 2001-06-22 13:30:18 by rrt]
Instead of using the old kludgedSystem on Windows, use the new system. This
makes the use of DOS built-ins such as copy work, which they didn't when the
command was run under sh (as the old kludgedSystem did).

22 years ago[project @ 2001-06-22 13:28:44 by rrt]
rrt [Fri, 22 Jun 2001 13:28:44 +0000 (13:28 +0000)]
[project @ 2001-06-22 13:28:44 by rrt]
Move include of config.h to top so it works for mkdependC.

22 years ago[project @ 2001-06-22 12:37:54 by rrt]
rrt [Fri, 22 Jun 2001 12:37:54 +0000 (12:37 +0000)]
[project @ 2001-06-22 12:37:54 by rrt]
Correct path to NCG.h

22 years ago[project @ 2001-06-22 12:37:11 by rrt]
rrt [Fri, 22 Jun 2001 12:37:11 +0000 (12:37 +0000)]
[project @ 2001-06-22 12:37:11 by rrt]
Add wsock32 to list of libraries needed for rts under Windows.

22 years ago[project @ 2001-06-22 12:36:33 by rrt]
rrt [Fri, 22 Jun 2001 12:36:34 +0000 (12:36 +0000)]
[project @ 2001-06-22 12:36:33 by rrt]
Fix paths to HsStd.h.

22 years ago[project @ 2001-06-22 12:35:28 by rrt]
rrt [Fri, 22 Jun 2001 12:35:28 +0000 (12:35 +0000)]
[project @ 2001-06-22 12:35:28 by rrt]
Fix typo.

22 years ago[project @ 2001-06-18 21:45:49 by sof]
sof [Mon, 18 Jun 2001 21:45:49 +0000 (21:45 +0000)]
[project @ 2001-06-18 21:45:49 by sof]
For GHCen < 5.00, assume that Exception.throwTo is Exception.raiseInThread

22 years ago[project @ 2001-06-18 09:09:28 by simonmar]
simonmar [Mon, 18 Jun 2001 09:09:28 +0000 (09:09 +0000)]
[project @ 2001-06-18 09:09:28 by simonmar]
Forced commit to note that the previous commit also adds flushing of
stdout/stderr before printing an exception.  This fixes the problem
reported by Leon Smith last week.

22 years ago[project @ 2001-06-18 08:56:09 by simonpj]
simonpj [Mon, 18 Jun 2001 08:56:09 +0000 (08:56 +0000)]
[project @ 2001-06-18 08:56:09 by simonpj]
Fix Unix imports

22 years ago[project @ 2001-06-18 03:45:23 by chak]
chak [Mon, 18 Jun 2001 03:45:23 +0000 (03:45 +0000)]
[project @ 2001-06-18 03:45:23 by chak]
Adapted to changes in build system

22 years ago[project @ 2001-06-15 22:00:11 by sof]
sof [Fri, 15 Jun 2001 22:00:11 +0000 (22:00 +0000)]
[project @ 2001-06-15 22:00:11 by sof]
Make it compile

22 years ago[project @ 2001-06-15 15:55:05 by simonpj]
simonpj [Fri, 15 Jun 2001 15:55:05 +0000 (15:55 +0000)]
[project @ 2001-06-15 15:55:05 by simonpj]
More windows wibbles

22 years ago[project @ 2001-06-15 15:20:20 by simonpj]
simonpj [Fri, 15 Jun 2001 15:20:20 +0000 (15:20 +0000)]
[project @ 2001-06-15 15:20:20 by simonpj]
* Restore SysTools.system, which implements a kludged version
  of system for reasons that are explained at length in the comments
  [overlong command-lines fail if compiling GHC with pre-5.02 GHCs]

* Wibble in Makefile

22 years ago[project @ 2001-06-15 15:15:33 by simonmar]
simonmar [Fri, 15 Jun 2001 15:15:33 +0000 (15:15 +0000)]
[project @ 2001-06-15 15:15:33 by simonmar]
Restore an #ifdef mingw32_TARGET_OS that shouldn't have been removed
(but do it better this time and don't use an arch-specific #ifdef).

22 years ago[project @ 2001-06-15 12:07:03 by simonmar]
simonmar [Fri, 15 Jun 2001 12:07:03 +0000 (12:07 +0000)]
[project @ 2001-06-15 12:07:03 by simonmar]
- separate location installed binaries from non-binaries (previously
  installed package.conf was in $(libdir)/extra-bin).

- remove v_Path_Perl so that we don't accidentally wire-in the location of
  perl on Unix systems.  It wasn't actually used anywhere.

- minor non-functional cleanups and comment fixups.

- We still look for package.conf twice; I haven't done anything about
  this yet.

22 years ago[project @ 2001-06-15 11:40:29 by simonmar]
simonmar [Fri, 15 Jun 2001 11:40:29 +0000 (11:40 +0000)]
[project @ 2001-06-15 11:40:29 by simonmar]
import Packages

22 years ago[project @ 2001-06-15 11:29:47 by simonmar]
simonmar [Fri, 15 Jun 2001 11:29:47 +0000 (11:29 +0000)]
[project @ 2001-06-15 11:29:47 by simonmar]
override $(libexecdir) to be $(libdir)/bin (the installation machinery
will have to catch up with this too).

22 years ago[project @ 2001-06-15 08:29:57 by simonpj]
simonpj [Fri, 15 Jun 2001 08:29:58 +0000 (08:29 +0000)]
[project @ 2001-06-15 08:29:57 by simonpj]
Some tidying up

* Remove CmStaticInfo
   - GhciMode moves to HscTypes
   - The package stuff moves to new module main/Packages.lhs

[put any package-related stuff in the new module]

* Add Outputable.docToSDoc

22 years ago[project @ 2001-06-14 16:41:46 by rrt]
rrt [Thu, 14 Jun 2001 16:41:46 +0000 (16:41 +0000)]
[project @ 2001-06-14 16:41:46 by rrt]
Add getExecDir to return current directory of executable on Windows (to find
config information).

22 years ago[project @ 2001-06-14 15:42:35 by simonpj]
simonpj [Thu, 14 Jun 2001 15:42:35 +0000 (15:42 +0000)]
[project @ 2001-06-14 15:42:35 by simonpj]
Windows wibbles

22 years ago[project @ 2001-06-14 14:14:53 by simonmar]
simonmar [Thu, 14 Jun 2001 14:14:53 +0000 (14:14 +0000)]
[project @ 2001-06-14 14:14:53 by simonmar]
- CURRENT_DIR isn't used any more
- TmpFiles doesn't exist

22 years ago[project @ 2001-06-14 13:29:30 by simonmar]
simonmar [Thu, 14 Jun 2001 13:29:30 +0000 (13:29 +0000)]
[project @ 2001-06-14 13:29:30 by simonmar]
fix typo in Simon's commit (cGHC_RAWCPP ==> GHC_RAWCPP)

22 years ago[project @ 2001-06-14 12:50:05 by simonpj]
simonpj [Thu, 14 Jun 2001 12:50:07 +0000 (12:50 +0000)]
[project @ 2001-06-14 12:50:05 by simonpj]
----------------------
Installation packaging
----------------------

GHC runs various system programs like
cp, touch
gcc, as, ld etc

On Windows we plan to deliver these programs along with GHC,
so we have to be careful about where to find them.

This commit isolates all these dependencies in a single module

main/SysTools.lhs

Most of the #ifdefery for mingw has moved into this module.
There's some documentation in SysTools.lhs

Along the way I did lots of other cleanups.  In particular

  * There is no more 'globbing' needed when calling runSomething
  * All file removal goes via the standard Directory.removeFile
  * TmpFiles.hs has gone; absorbed into SysTools
  * Some DynFlag stuff has moved from DriverFlags to CmdLineOpts

Still to do:

  ** I'm a bit concerned that calling removeFile one at a time
when deleting masses of split-object files is going to be
rather slow

  ** GHC now expects to find split,mangle,unlit in
libdir/extra-bin
instead of just
libdir

So something needs to change in the Unix installation scripts

  **    The "ineffective C preprocessor" is a perversion and should die

22 years ago[project @ 2001-06-14 11:46:55 by simonmar]
simonmar [Thu, 14 Jun 2001 11:46:55 +0000 (11:46 +0000)]
[project @ 2001-06-14 11:46:55 by simonmar]
just move some code around.

22 years ago[project @ 2001-06-14 09:47:37 by simonmar]
simonmar [Thu, 14 Jun 2001 09:47:37 +0000 (09:47 +0000)]
[project @ 2001-06-14 09:47:37 by simonmar]
comment fixes

22 years ago[project @ 2001-06-13 17:13:15 by rrt]
rrt [Wed, 13 Jun 2001 17:13:15 +0000 (17:13 +0000)]
[project @ 2001-06-13 17:13:15 by rrt]
Make some paths work.

22 years ago[project @ 2001-06-13 17:12:21 by rrt]
rrt [Wed, 13 Jun 2001 17:12:21 +0000 (17:12 +0000)]
[project @ 2001-06-13 17:12:21 by rrt]
Remove redundant and wrong ILX lines.

22 years ago[project @ 2001-06-13 17:01:37 by rrt]
rrt [Wed, 13 Jun 2001 17:01:37 +0000 (17:01 +0000)]
[project @ 2001-06-13 17:01:37 by rrt]
Remove confusing out-of-date comment.

22 years ago[project @ 2001-06-13 15:50:57 by rrt]
rrt [Wed, 13 Jun 2001 15:50:58 +0000 (15:50 +0000)]
[project @ 2001-06-13 15:50:57 by rrt]
Add an ext_name string to foreign dotnet types.

22 years ago[project @ 2001-06-13 15:50:25 by rrt]
rrt [Wed, 13 Jun 2001 15:50:25 +0000 (15:50 +0000)]
[project @ 2001-06-13 15:50:25 by rrt]
Stop using kludgedSystem; the new Windows implementation of system works
instead.

22 years ago[project @ 2001-06-13 10:25:37 by simonmar]
simonmar [Wed, 13 Jun 2001 10:25:37 +0000 (10:25 +0000)]
[project @ 2001-06-13 10:25:37 by simonmar]
correct a comment (the -B option is mandatory).

22 years ago[project @ 2001-06-13 10:23:23 by simonmar]
simonmar [Wed, 13 Jun 2001 10:23:23 +0000 (10:23 +0000)]
[project @ 2001-06-13 10:23:23 by simonmar]
re-do package path munging that I b?rked yesterday

22 years ago[project @ 2001-06-12 17:19:34 by rrt]
rrt [Tue, 12 Jun 2001 17:19:34 +0000 (17:19 +0000)]
[project @ 2001-06-12 17:19:34 by rrt]
Reimplement system() properly on Windows. This avoids two problems with
Windows system(): first, the maximum command-line length, and secondly, the
fact that system() returns before the command has completed, and sleep() was
used to hack around this.

This doesn't affect the use of kludgedSystem, which needs to be removed for
GHC not to need a shell at all.

22 years ago[project @ 2001-06-12 17:09:33 by simonmar]
simonmar [Tue, 12 Jun 2001 17:09:33 +0000 (17:09 +0000)]
[project @ 2001-06-12 17:09:33 by simonmar]
good riddance

22 years ago[project @ 2001-06-12 17:08:11 by simonmar]
simonmar [Tue, 12 Jun 2001 17:08:11 +0000 (17:08 +0000)]
[project @ 2001-06-12 17:08:11 by simonmar]
Don't install the pkgconf binary in a BIN_DIST any more.

22 years ago[project @ 2001-06-12 17:07:23 by simonmar]
simonmar [Tue, 12 Jun 2001 17:07:23 +0000 (17:07 +0000)]
[project @ 2001-06-12 17:07:23 by simonmar]
Allow paths in package.conf to begin with the string "$libdir" which
is magically replaced by the compiler with either

  (a) the argument to the -B<dir> option, if one is present, or
  (b) the wired-in libdir otherwise.

This means that the standard package.conf file is independent of the
install location and we don't need the post-install-script hack any
more (Julian - could you update the install machinery when the time
comes? thanks.)

22 years ago[project @ 2001-06-12 12:02:48 by simonpj]
simonpj [Tue, 12 Jun 2001 12:02:48 +0000 (12:02 +0000)]
[project @ 2001-06-12 12:02:48 by simonpj]
Make CoreTidy clone all top-level names

22 years ago[project @ 2001-06-12 11:15:45 by simonpj]
simonpj [Tue, 12 Jun 2001 11:15:45 +0000 (11:15 +0000)]
[project @ 2001-06-12 11:15:45 by simonpj]
wibble

22 years ago[project @ 2001-06-11 16:49:23 by sewardj]
sewardj [Mon, 11 Jun 2001 16:49:23 +0000 (16:49 +0000)]
[project @ 2001-06-11 16:49:23 by sewardj]
Ensure the boilerplate rule still applies for building HSstd_cbits.o.

22 years ago[project @ 2001-06-11 14:15:32 by simonpj]
simonpj [Mon, 11 Jun 2001 14:15:32 +0000 (14:15 +0000)]
[project @ 2001-06-11 14:15:32 by simonpj]
document data types with no constructors

22 years ago[project @ 2001-06-11 13:39:16 by simonpj]
simonpj [Mon, 11 Jun 2001 13:39:16 +0000 (13:39 +0000)]
[project @ 2001-06-11 13:39:16 by simonpj]
Changes to build HSstd1.o and HSstd2.o for GHCi in lib/std

22 years ago[project @ 2001-06-11 13:31:49 by dsyme]
dsyme [Mon, 11 Jun 2001 13:31:49 +0000 (13:31 +0000)]
[project @ 2001-06-11 13:31:49 by dsyme]
Modifications for GHC.NET (the ILX backend)

22 years ago[project @ 2001-06-11 13:15:10 by dsyme]
dsyme [Mon, 11 Jun 2001 13:15:10 +0000 (13:15 +0000)]
[project @ 2001-06-11 13:15:10 by dsyme]
Modifications to lib/std/Makefile for GHC.NET (ILX backend)

22 years ago[project @ 2001-06-11 12:24:51 by simonpj]
simonpj [Mon, 11 Jun 2001 12:24:53 +0000 (12:24 +0000)]
[project @ 2001-06-11 12:24:51 by simonpj]
--------------------------------------
Tidy up and improve "pattern contexts"
--------------------------------------

In various places (renamer, typechecker, desugarer) we need to know
what the context of a pattern match is (case expression, function defn,
let binding, etc).  This commit tidies up the story quite a bit.  I
think it represents a net decrease in code, and certainly it improves the
error messages from:

f x x = 3

Prevsiously we got a message like "Conflicting bindings for x in a pattern match",
but not it says "..in a defn of function f".

WARNING: the tidy up had a more global effect than I originally expected,
so it's possible that some other error messages look a bit peculiar.  They
should be easy to fix, but tell us!

22 years ago[project @ 2001-06-11 12:21:17 by simonpj]
simonpj [Mon, 11 Jun 2001 12:21:17 +0000 (12:21 +0000)]
[project @ 2001-06-11 12:21:17 by simonpj]
--------------------------
Allow data type declarations
to have zero constructors
--------------------------

This allows

data T a

as a data type declaration; i.e. allows zero constructors.
If there is an '=' sign there must be at least one constructor.

* Parser.y: parse the declaration
* HsDecls: print out the data type declaration right
* TyCon: don't ASSERT that the constructors are non-empty

22 years ago[project @ 2001-06-11 08:58:21 by malcolm]
malcolm [Mon, 11 Jun 2001 08:58:21 +0000 (08:58 +0000)]
[project @ 2001-06-11 08:58:21 by malcolm]
Mention __NHC__ alongside __HUGS__ and __HBC__ in the description
of the cpp symbol __GLASGOW_HASKELL__.

22 years ago[project @ 2001-06-09 07:06:05 by qrczak]
qrczak [Sat, 9 Jun 2001 07:06:05 +0000 (07:06 +0000)]
[project @ 2001-06-09 07:06:05 by qrczak]
Fix hSetPosn type in the export comment.

22 years ago[project @ 2001-06-08 20:09:43 by sof]
sof [Fri, 8 Jun 2001 20:09:43 +0000 (20:09 +0000)]
[project @ 2001-06-08 20:09:43 by sof]
When checking to see whether the .o is up-to-date, use the -o .o (if given)

22 years ago[project @ 2001-06-08 18:59:11 by sof]
sof [Fri, 8 Jun 2001 18:59:11 +0000 (18:59 +0000)]
[project @ 2001-06-08 18:59:11 by sof]
findOnPackagePath: return file-path not directory

22 years ago[project @ 2001-06-07 16:00:18 by sewardj]
sewardj [Thu, 7 Jun 2001 16:00:18 +0000 (16:00 +0000)]
[project @ 2001-06-07 16:00:18 by sewardj]
Allow underscores in module names presented to the :module command.

22 years ago[project @ 2001-06-07 14:15:22 by simonmar]
simonmar [Thu, 7 Jun 2001 14:15:22 +0000 (14:15 +0000)]
[project @ 2001-06-07 14:15:22 by simonmar]
Don't force a module's {-# SOURCE #-} imports to have object linkables
in order for the current module's object linkable to be considered
valid (fixes some unnecessary recompilation with recursive modules).

22 years ago[project @ 2001-06-07 11:07:51 by sewardj]
sewardj [Thu, 7 Jun 2001 11:07:51 +0000 (11:07 +0000)]
[project @ 2001-06-07 11:07:51 by sewardj]
Fix Unix world breakage.

22 years ago[project @ 2001-06-07 11:03:07 by simonmar]
simonmar [Thu, 7 Jun 2001 11:03:08 +0000 (11:03 +0000)]
[project @ 2001-06-07 11:03:07 by simonmar]
First part of support for hierarchical module names:

   - the Finder now searches all possible paths when looking for
     a source file or .hi file.  I've removed the caching because
     now we have to search in subdirectories of each path option,
     and it was dubious whether the cache was actually helping.

   - the compilation manager now outputs a warning if it can't find
     the source for a given module, only the .hi file.  Previously
     this caused a cryptic error message when we attempted to call
     getModificationTime on the non-existent source file.

22 years ago[project @ 2001-06-07 10:45:30 by sewardj]
sewardj [Thu, 7 Jun 2001 10:45:30 +0000 (10:45 +0000)]
[project @ 2001-06-07 10:45:30 by sewardj]
Track current changes in the text-mode-seek-on-Windows saga.

22 years ago[project @ 2001-06-07 10:44:47 by sewardj]
sewardj [Thu, 7 Jun 2001 10:44:47 +0000 (10:44 +0000)]
[project @ 2001-06-07 10:44:47 by sewardj]
Try to improve matters in the text-mode-seek swamp.  Only disallow
text-mode-seeks on Win32, rather than on all platforms.  That means
that seeks in text mode on Unix platforms should work as originally
(which was the correct H98 behaviour), whilst Win32 generates
exceptions if you do seeks in text mode.

22 years ago[project @ 2001-06-06 14:41:45 by simonmar]
simonmar [Wed, 6 Jun 2001 14:41:45 +0000 (14:41 +0000)]
[project @ 2001-06-06 14:41:45 by simonmar]
yet more wibbles

22 years ago[project @ 2001-06-06 14:38:35 by simonmar]
simonmar [Wed, 6 Jun 2001 14:38:35 +0000 (14:38 +0000)]
[project @ 2001-06-06 14:38:35 by simonmar]
wibbles

22 years ago[project @ 2001-06-06 14:33:13 by sewardj]
sewardj [Wed, 6 Jun 2001 14:33:13 +0000 (14:33 +0000)]
[project @ 2001-06-06 14:33:13 by sewardj]
Another -L<dir> for ghci wibble.

22 years ago[project @ 2001-06-06 14:03:41 by sewardj]
sewardj [Wed, 6 Jun 2001 14:03:41 +0000 (14:03 +0000)]
[project @ 2001-06-06 14:03:41 by sewardj]
RTS-side stuff for making -L<dir> work on the ghci command line.

22 years ago[project @ 2001-06-06 14:02:50 by sewardj]
sewardj [Wed, 6 Jun 2001 14:02:50 +0000 (14:02 +0000)]
[project @ 2001-06-06 14:02:50 by sewardj]
Haskell-side stuff for making -L<dir> work on the ghci command line.

22 years ago[project @ 2001-06-06 12:24:00 by simonmar]
simonmar [Wed, 6 Jun 2001 12:24:00 +0000 (12:24 +0000)]
[project @ 2001-06-06 12:24:00 by simonmar]
wibbles

22 years ago[project @ 2001-06-06 12:04:46 by simonmar]
simonmar [Wed, 6 Jun 2001 12:04:46 +0000 (12:04 +0000)]
[project @ 2001-06-06 12:04:46 by simonmar]
Further improve the $(SRCS) story, allowing you to exclude certain
sources (and all of their derived components) by setting
$(EXCLUDED_SRCS).

22 years ago[project @ 2001-06-06 11:03:48 by simonmar]
simonmar [Wed, 6 Jun 2001 11:03:48 +0000 (11:03 +0000)]
[project @ 2001-06-06 11:03:48 by simonmar]
Add prototype for inputReady().

22 years ago[project @ 2001-06-06 10:44:26 by rrt]
rrt [Wed, 6 Jun 2001 10:44:26 +0000 (10:44 +0000)]
[project @ 2001-06-06 10:44:26 by rrt]
Update with more instructions on getting the IS setup working and notes on
why some of the less obvious binaries are included in the Windows dist.

22 years ago[project @ 2001-06-06 10:35:39 by rrt]
rrt [Wed, 6 Jun 2001 10:35:39 +0000 (10:35 +0000)]
[project @ 2001-06-06 10:35:39 by rrt]
Add comment about why gmp is configured differently on Windows.

22 years ago[project @ 2001-06-06 10:33:35 by rrt]
rrt [Wed, 6 Jun 2001 10:33:35 +0000 (10:33 +0000)]
[project @ 2001-06-06 10:33:35 by rrt]
Say that building packages as DLLs is now no longer supported, but may still
work.

22 years ago[project @ 2001-06-06 09:36:02 by simonmar]
simonmar [Wed, 6 Jun 2001 09:36:02 +0000 (09:36 +0000)]
[project @ 2001-06-06 09:36:02 by simonmar]
Note in the documentation for :load that you can't load a package
module, and describe how we decide what the context is set to after a
:load.

22 years ago[project @ 2001-06-05 16:45:57 by simonmar]
simonmar [Tue, 5 Jun 2001 16:45:57 +0000 (16:45 +0000)]
[project @ 2001-06-05 16:45:57 by simonmar]
Clean up the SRCS story.  This still won't fix the problem with
GhcLibsWithReadline=NO, but it's headed in the right direction.

22 years ago[project @ 2001-06-05 16:21:25 by sewardj]
sewardj [Tue, 5 Jun 2001 16:21:25 +0000 (16:21 +0000)]
[project @ 2001-06-05 16:21:25 by sewardj]
Make c_read visible on Win32.

22 years ago[project @ 2001-06-05 14:09:45 by sewardj]
sewardj [Tue, 5 Jun 2001 14:09:45 +0000 (14:09 +0000)]
[project @ 2001-06-05 14:09:45 by sewardj]
Updates for 5.01.

22 years ago[project @ 2001-06-05 10:53:36 by sewardj]
sewardj [Tue, 5 Jun 2001 10:53:36 +0000 (10:53 +0000)]
[project @ 2001-06-05 10:53:36 by sewardj]
Calculate the correct set of modules to link in the case of upsweep
partial failure.

MERGE INTO 5.00.2

22 years ago[project @ 2001-06-05 10:31:57 by sewardj]
sewardj [Tue, 5 Jun 2001 10:31:57 +0000 (10:31 +0000)]
[project @ 2001-06-05 10:31:57 by sewardj]
Improve instance Outputable Linkable (purely cosmetic).