sewardj [Wed, 10 Jan 2001 17:21:18 +0000 (17:21 +0000)]
[project @ 2001-01-10 17:19:01 by sewardj]
Today's interpreter bug fixes: FP stuff, and unpacking constrs onto stack.
qrczak [Wed, 10 Jan 2001 16:28:15 +0000 (16:28 +0000)]
[project @ 2001-01-10 16:28:15 by qrczak]
Remove CError.throwCError. Export the new function errnoToIOError.
Add a missing colon in a string inside IOException formed from
the error-specific part and optional filename. The IOException
representation has not changed yet, but IMHO the filename should
be kept separate.
Correctly handle user errors in IO.ioeGet* functions like other
IO errors.
Let fail :: String -> IO a throw a user error instead of invoking error
(Haskell98 is ambiguous about that and IMHO it should be this way;
this is also what nhc does).
rrt [Wed, 10 Jan 2001 11:50:43 +0000 (11:50 +0000)]
[project @ 2001-01-10 11:50:43 by rrt]
Improved Windows installation instructions, thanks to a test drive by Andrew
Tolmach.
rrt [Tue, 9 Jan 2001 17:43:57 +0000 (17:43 +0000)]
[project @ 2001-01-09 17:43:57 by rrt]
Add cMkDLL for --mk-dll switch.
sewardj [Tue, 9 Jan 2001 17:36:41 +0000 (17:36 +0000)]
[project @ 2001-01-09 17:36:21 by sewardj]
Various bug fixes for the interpreter/byte-code-gen combination.
rrt [Tue, 9 Jan 2001 17:16:36 +0000 (17:16 +0000)]
[project @ 2001-01-09 17:16:35 by rrt]
Add --mk-dll.
chak [Tue, 9 Jan 2001 02:04:25 +0000 (02:04 +0000)]
[project @ 2001-01-09 02:04:25 by chak]
Due to problems with the pcl-cvs mode, I missed checking in these files, which
made my last commit break the build. Sorry about that.
(Is anybody else using pcl-cvs v2.9.9 and getting strange parse errors when
updating from cvs.haskell.org?)
chak [Mon, 8 Jan 2001 12:58:45 +0000 (12:58 +0000)]
[project @ 2001-01-08 12:58:45 by chak]
Revision of Marcin's QError module
* I think, there was a rough consensus that Marcin's module provides the
right kind of interface for handling "errno"s
* Malcolm preferred an enumeration, but Marcin made a convincing argument
that this doesn't go well with architecture-dependent variations of "errno"
* Recoded the hsc magic into autoconf magic
* In hsc files, errno constants can be accessed directly; to provide access
for ordinary Haskell programmer, constants for a range of common symbols are
provided (their values are determined by configure)
* Introduced an `Errno' newtype to increase type safety
* renamed the throwIfXXX functions to throwErrnoIfXXX to have the original
names available in the language independent MarshalError
* FIXME: We need a thread local getErrno in the RTS!
(It all compiles, but is still to be tested.)
rrt [Mon, 8 Jan 2001 12:31:34 +0000 (12:31 +0000)]
[project @ 2001-01-08 12:31:34 by rrt]
Add -dynamic and make -static always the default.
panne [Sat, 6 Jan 2001 12:52:58 +0000 (12:52 +0000)]
[project @ 2001-01-06 12:52:58 by panne]
* Tab -> spaces
* Moved test for 4.11 to the correct place and revert Reuben's last fix.
panne [Sat, 6 Jan 2001 12:45:13 +0000 (12:45 +0000)]
[project @ 2001-01-06 12:45:13 by panne]
Make ghc/hslibs instead of happy the default projects to build/install
again.
rrt [Fri, 5 Jan 2001 17:57:07 +0000 (17:57 +0000)]
[project @ 2001-01-05 17:57:07 by rrt]
Added some -Ks to keep 4.08 happy when compiling the compiler.
rrt [Fri, 5 Jan 2001 17:56:23 +0000 (17:56 +0000)]
[project @ 2001-01-05 17:56:23 by rrt]
Windows fixes.
simonmar [Fri, 5 Jan 2001 16:06:01 +0000 (16:06 +0000)]
[project @ 2001-01-05 16:06:01 by simonmar]
Add some constraints to the tryRhsTyLam transformation to prevent it
floating out expressions of unlifted type.
sewardj [Fri, 5 Jan 2001 15:24:28 +0000 (15:24 +0000)]
[project @ 2001-01-05 15:24:28 by sewardj]
Various bug fixes.
sewardj [Fri, 5 Jan 2001 15:23:32 +0000 (15:23 +0000)]
[project @ 2001-01-05 15:23:32 by sewardj]
Various bug fixes, and implementation of string literals.
qrczak [Thu, 4 Jan 2001 19:43:07 +0000 (19:43 +0000)]
[project @ 2001-01-04 19:43:07 by qrczak]
Added --version parameter.
(QForeign must known whether to replace ghc's hsc2hs with its own.)
simonmar [Thu, 4 Jan 2001 16:22:55 +0000 (16:22 +0000)]
[project @ 2001-01-04 16:22:55 by simonmar]
add suffix rule for hsc2hs
simonmar [Thu, 4 Jan 2001 16:22:01 +0000 (16:22 +0000)]
[project @ 2001-01-04 16:22:01 by simonmar]
Add path to hsc2hs
simonmar [Thu, 4 Jan 2001 13:18:14 +0000 (13:18 +0000)]
[project @ 2001-01-04 13:18:14 by simonmar]
exit(1) in the case of a parse error.
qrczak [Thu, 4 Jan 2001 11:05:54 +0000 (11:05 +0000)]
[project @ 2001-01-04 11:05:54 by qrczak]
Fix bogus extra_libraries for rts (s/\[ "" \]/[]/).
simonmar [Thu, 4 Jan 2001 10:48:46 +0000 (10:48 +0000)]
[project @ 2001-01-04 10:48:46 by simonmar]
Fix the test for epilogue junk, and change it into a warning.
simonpj [Thu, 4 Jan 2001 08:42:21 +0000 (08:42 +0000)]
[project @ 2001-01-04 08:42:21 by simonpj]
Allow rules to apply for loop-breakers.
This backs out the previous (bogus) change.
There's a comment in Simplify.completeCall that explains.
sewardj [Wed, 3 Jan 2001 16:45:04 +0000 (16:45 +0000)]
[project @ 2001-01-03 16:45:04 by sewardj]
Updates to track bug fixes in the bytecode interpreter.
sewardj [Wed, 3 Jan 2001 16:44:30 +0000 (16:44 +0000)]
[project @ 2001-01-03 16:44:29 by sewardj]
Start getting the bytecode interpreter to work. A matching commit to
compiler/ghci/ByteCodeGen.lhs follows ...
simonmar [Wed, 3 Jan 2001 16:04:16 +0000 (16:04 +0000)]
[project @ 2001-01-03 16:04:16 by simonmar]
Remove -ldl for now.
Current story: you don't get any GHCi stuff by default. To build
GHCi:
(a) build a compiler with GhcRtsHcOpts+=-optc-DGHCI in build.mk
(b) use this compiler to bootstrap another compiler, with
GhcWithInterpreter=YES and GhcHcOpts+=-ldl in build.mk
simonmar [Wed, 3 Jan 2001 15:39:32 +0000 (15:39 +0000)]
[project @ 2001-01-03 15:39:32 by simonmar]
Don't filter the contents of the package directories. It was wrong
when the hi suffix was anything other than ".hi".
simonmar [Wed, 3 Jan 2001 15:30:48 +0000 (15:30 +0000)]
[project @ 2001-01-03 15:30:48 by simonmar]
make it compile with PROFILING turned on
simonmar [Wed, 3 Jan 2001 14:47:18 +0000 (14:47 +0000)]
[project @ 2001-01-03 14:47:18 by simonmar]
Correct more accidental abuse of the type system.
simonmar [Wed, 3 Jan 2001 14:38:08 +0000 (14:38 +0000)]
[project @ 2001-01-03 14:38:08 by simonmar]
When looking for an hi-boot file, look for "M.hi-boot" regardless of
which way we're compiling, rather than "M.<hi-suf>-boot" as it was
before.
Now the libs are hapily compiling for profiling.
simonmar [Wed, 3 Jan 2001 14:28:26 +0000 (14:28 +0000)]
[project @ 2001-01-03 14:28:26 by simonmar]
unbreak mkdependHS
simonpj [Wed, 3 Jan 2001 11:50:23 +0000 (11:50 +0000)]
[project @ 2001-01-03 11:50:23 by simonpj]
Add tc111
simonmar [Wed, 3 Jan 2001 11:48:06 +0000 (11:48 +0000)]
[project @ 2001-01-03 11:48:06 by simonmar]
don't try to preprocess non-haskellish source files.
simonpj [Wed, 3 Jan 2001 11:40:04 +0000 (11:40 +0000)]
[project @ 2001-01-03 11:40:04 by simonpj]
Dont quantify over monomorphic type variables
simonmar [Wed, 3 Jan 2001 11:32:33 +0000 (11:32 +0000)]
[project @ 2001-01-03 11:32:33 by simonmar]
Add a test for mixing unlifted types w/ polymorphic functions.
simonmar [Wed, 3 Jan 2001 11:18:53 +0000 (11:18 +0000)]
[project @ 2001-01-03 11:18:51 by simonmar]
s/boxed/lifted/
The typechecker's notion of "boxed" versus "unboxed" kind should
really have been "unlifted" versus "lifted" instead. It is illegal to
unify an unlifted (but boxed) type with a polymorphic type variable,
since an unlifted/boxed type is always assumed to be a pointer to the
object itself, never a thunk or indirection.
This commit removes isUnboxedType, and renames a bunch of things that
were previously boxed/unboxed to unlifted/lifted.
simonmar [Wed, 3 Jan 2001 11:13:43 +0000 (11:13 +0000)]
[project @ 2001-01-03 11:13:43 by simonmar]
Hopefully fix the driver problems I introduced yesterday.
simonpj [Wed, 3 Jan 2001 10:57:41 +0000 (10:57 +0000)]
[project @ 2001-01-03 10:57:41 by simonpj]
Dont apply rules for a loop breaker
simonpj [Wed, 3 Jan 2001 08:34:32 +0000 (08:34 +0000)]
[project @ 2001-01-03 08:34:32 by simonpj]
Remove bogus zonkInst
chak [Wed, 3 Jan 2001 03:10:32 +0000 (03:10 +0000)]
[project @ 2001-01-03 03:10:32 by chak]
* Deprecated `Addr' and `freeHaskellFunctionPtr'
I deprecated them only in the comments and docu. Using a DEPRECATED pragma
on the `Addr' functions doesn't make sense, because `Ptr' internally is
build on top of `Addr'.
* Added `HsPtr' and `HsFunPtr' to `HsFFI.h'; deprecated `HsAddr'
* Updated the docu to reflect these changes
simonpj [Tue, 2 Jan 2001 16:42:10 +0000 (16:42 +0000)]
[project @ 2001-01-02 16:42:10 by simonpj]
Add a necessary isUnliftedType to completeBinding (coerce case)
simonmar [Tue, 2 Jan 2001 16:13:11 +0000 (16:13 +0000)]
[project @ 2001-01-02 16:13:11 by simonmar]
Remove redundant flag test
simonmar [Tue, 2 Jan 2001 15:30:57 +0000 (15:30 +0000)]
[project @ 2001-01-02 15:30:57 by simonmar]
Split the compilation pipeline into two stages, preprocessing and
compilation, so that OPTIONS pragmas which may affect the pipeline
work properly. (now {-# OPTIONS -fvia-C #-} does the right thing in
one-shot mode as well as ghc --make mode).
simonmar [Tue, 2 Jan 2001 14:02:16 +0000 (14:02 +0000)]
[project @ 2001-01-02 14:02:16 by simonmar]
Be a bit stricter about what we treat as a #line pragma.
simonmar [Tue, 2 Jan 2001 12:31:25 +0000 (12:31 +0000)]
[project @ 2001-01-02 12:30:51 by simonmar]
revert last commit: don't import PprCore
simonmar [Tue, 2 Jan 2001 12:20:52 +0000 (12:20 +0000)]
[project @ 2001-01-02 12:20:52 by simonmar]
Update the comment next to the (disabled) epilogue junk test to
reflect the real reason this test should be disabled.
simonmar [Tue, 2 Jan 2001 11:20:35 +0000 (11:20 +0000)]
[project @ 2001-01-02 11:20:35 by simonmar]
GhcWithInterpreter defaults to NO for the time being. (enable by hand
in build.mk to turn it on).
panne [Sun, 31 Dec 2000 16:58:05 +0000 (16:58 +0000)]
[project @ 2000-12-31 16:58:05 by panne]
Automagically add a GHC #define. These are the final changes to get a
bootstrapping GHC without a build.mk, thus enabling people (like me :-)
who forget obscure options quite often to build GHC painlessly.
Happy New Year!
panne [Sat, 30 Dec 2000 20:42:03 +0000 (20:42 +0000)]
[project @ 2000-12-30 20:42:03 by panne]
Don't install genprimopcode, it's not *that* interesting for the
average user... :-)
panne [Sat, 30 Dec 2000 20:35:37 +0000 (20:35 +0000)]
[project @ 2000-12-30 20:35:37 by panne]
- Only build interpreter with version >= 4.11, not 4.09. The latter
doesn't work because of some BCO# trouble. This shouldn't make a
real difference to (sane) compiler people, who always do at least
a two-stage bootstrap.
- Nuke some -K2m options when building with GHC >= 4.11, because it's
not understood (yet) and doesn't seem to be necessary anymore.
qrczak [Sat, 30 Dec 2000 20:06:00 +0000 (20:06 +0000)]
[project @ 2000-12-30 20:06:00 by qrczak]
Add -I and --include options.
Small corrections and clarifications in the documentation.
qrczak [Thu, 28 Dec 2000 10:34:56 +0000 (10:34 +0000)]
[project @ 2000-12-28 10:34:56 by qrczak]
Implemented #undef, #error, and #let (macros to be applied to the
Haskell source, although using somewhat ugly stringified syntax).
s/hs2c/hsc2hs/
Fixed some bugs (user-supplied --cc option, macros with parameters).
qrczak [Mon, 25 Dec 2000 23:45:30 +0000 (23:45 +0000)]
[project @ 2000-12-25 23:45:30 by qrczak]
s/moduleNameString/moduleNameUserString/ to correctly handle modules
with 'z' in their names which come from packages.
The function Module.moduleNameString is no longer used. Perhaps it
should be removed so nobody tries to introduce such bug again :-)
If the letter 'e' was chosen for escape instead of 'z', such bugs
would be more quickly spotted :-)
qrczak [Sat, 23 Dec 2000 17:45:03 +0000 (17:45 +0000)]
[project @ 2000-12-23 17:45:03 by qrczak]
Don't include HsData.h and HsConcurrent.h
qrczak [Fri, 22 Dec 2000 19:51:09 +0000 (19:51 +0000)]
[project @ 2000-12-22 19:51:09 by qrczak]
Make hsc2hs dependent on mk/config.mk.
Pass --cc=$(bindir)/ghc-$(ProjectVersion) in the driver.
simonmar [Fri, 22 Dec 2000 13:29:29 +0000 (13:29 +0000)]
[project @ 2000-12-22 13:29:29 by simonmar]
Recent versions of gcc seem to output strings as sequences of .bytes,
which the splitter didn't recognise. The result was that constant
strings were being duplicated in all the split .o files (again... this
is a particularly fragile "optimisation" and breaks on a regular basis).
simonmar [Fri, 22 Dec 2000 12:21:35 +0000 (12:21 +0000)]
[project @ 2000-12-22 12:21:35 by simonmar]
add %.hs : %.y suffix rule
qrczak [Wed, 20 Dec 2000 18:32:00 +0000 (18:32 +0000)]
[project @ 2000-12-20 18:32:00 by qrczak]
import PprCore
qrczak [Wed, 20 Dec 2000 18:25:59 +0000 (18:25 +0000)]
[project @ 2000-12-20 18:25:59 by qrczak]
Correct typos in code in a comment.
sewardj [Wed, 20 Dec 2000 16:42:28 +0000 (16:42 +0000)]
[project @ 2000-12-20 16:42:28 by sewardj]
Put string literals in read-only data segments on platforms which
understand that.
simonmar [Wed, 20 Dec 2000 15:58:35 +0000 (15:58 +0000)]
[project @ 2000-12-20 15:58:35 by simonmar]
Don't duplicate strings semi-willy-nilly. Literal strings now have a
size dependent on their length.
rrt [Wed, 20 Dec 2000 15:54:51 +0000 (15:54 +0000)]
[project @ 2000-12-20 15:54:51 by rrt]
Added -K2M for ParserIface and Parser, which don't build with 4.08.1 under
Windows otherwise.
rrt [Wed, 20 Dec 2000 15:45:10 +0000 (15:45 +0000)]
[project @ 2000-12-20 15:45:10 by rrt]
Add GreenCard and correct win32 details.
rrt [Wed, 20 Dec 2000 15:44:29 +0000 (15:44 +0000)]
[project @ 2000-12-20 15:44:29 by rrt]
#include config.hs so that tests of mingw32_TARGET_OS work.
rrt [Wed, 20 Dec 2000 15:44:01 +0000 (15:44 +0000)]
[project @ 2000-12-20 15:44:01 by rrt]
Allow multiple OPTIONS pragmas for GreenCard's benefit.
rrt [Wed, 20 Dec 2000 15:26:50 +0000 (15:26 +0000)]
[project @ 2000-12-20 15:26:50 by rrt]
#ifdef declaration of stg_BCO on GHCI (because otherwise it's not defined)
rrt [Wed, 20 Dec 2000 15:18:47 +0000 (15:18 +0000)]
[project @ 2000-12-20 15:18:47 by rrt]
Seems to need -monly-3-regs
rrt [Wed, 20 Dec 2000 15:17:55 +0000 (15:17 +0000)]
[project @ 2000-12-20 15:17:55 by rrt]
newBCOzh_fast ifdefed on GHCI (as it is only defined in that case).
rrt [Wed, 20 Dec 2000 15:00:01 +0000 (15:00 +0000)]
[project @ 2000-12-20 15:00:01 by rrt]
Fixed GreenCard rules and flags (from GreenCard source).
sewardj [Wed, 20 Dec 2000 14:47:22 +0000 (14:47 +0000)]
[project @ 2000-12-20 14:47:22 by sewardj]
First shot at the new interpreter and disassembler.
sewardj [Wed, 20 Dec 2000 14:44:31 +0000 (14:44 +0000)]
[project @ 2000-12-20 14:44:31 by sewardj]
sync with immediately following ghc/rts/Interpreter.c commit
simonmar [Wed, 20 Dec 2000 13:40:08 +0000 (13:40 +0000)]
[project @ 2000-12-20 13:40:08 by simonmar]
on second thoughts, -Rghc-timing should really go in config.mk.in.
simonmar [Wed, 20 Dec 2000 13:33:00 +0000 (13:33 +0000)]
[project @ 2000-12-20 13:33:00 by simonmar]
add back -Rghc-timing
simonmar [Wed, 20 Dec 2000 13:18:37 +0000 (13:18 +0000)]
[project @ 2000-12-20 13:18:37 by simonmar]
Comment out definition of i_LABEL, which referred to non-existent bci_LABEL.
simonmar [Wed, 20 Dec 2000 11:44:01 +0000 (11:44 +0000)]
[project @ 2000-12-20 11:44:01 by simonmar]
Sigh. We have to duplicate isDllConApp here to detect those top-level
constructor applications which we're not going to compile into static
ConApps.
simonpj [Wed, 20 Dec 2000 11:10:17 +0000 (11:10 +0000)]
[project @ 2000-12-20 11:10:17 by simonpj]
Remove redundant seq
simonpj [Wed, 20 Dec 2000 11:02:17 +0000 (11:02 +0000)]
[project @ 2000-12-20 11:02:17 by simonpj]
Add comments and tidy
simonpj [Wed, 20 Dec 2000 11:00:15 +0000 (11:00 +0000)]
[project @ 2000-12-20 11:00:15 by simonpj]
Fix -ddump-types
simonmar [Wed, 20 Dec 2000 11:00:08 +0000 (11:00 +0000)]
[project @ 2000-12-20 11:00:08 by simonmar]
exprIsValue wasn't quite the right thing. Use our own version.
simonmar [Wed, 20 Dec 2000 10:46:12 +0000 (10:46 +0000)]
[project @ 2000-12-20 10:46:12 by simonmar]
GC empty _HC_OPTS lines.
simonmar [Wed, 20 Dec 2000 10:44:17 +0000 (10:44 +0000)]
[project @ 2000-12-20 10:44:17 by simonmar]
wibble
simonmar [Wed, 20 Dec 2000 10:43:47 +0000 (10:43 +0000)]
[project @ 2000-12-20 10:43:47 by simonmar]
GHC_STATS is unused.
simonmar [Wed, 20 Dec 2000 10:43:17 +0000 (10:43 +0000)]
[project @ 2000-12-20 10:43:17 by simonmar]
remove unused GHC_STATS
simonmar [Wed, 20 Dec 2000 10:42:54 +0000 (10:42 +0000)]
[project @ 2000-12-20 10:42:54 by simonmar]
Remove now-unused stats script.
simonmar [Wed, 20 Dec 2000 10:38:18 +0000 (10:38 +0000)]
[project @ 2000-12-20 10:38:18 by simonmar]
Simon's renamer fixes from yesterday.
simonmar [Wed, 20 Dec 2000 10:37:38 +0000 (10:37 +0000)]
[project @ 2000-12-20 10:37:38 by simonmar]
use `mayHaveCafRefs'.
simonmar [Wed, 20 Dec 2000 10:36:55 +0000 (10:36 +0000)]
[project @ 2000-12-20 10:36:55 by simonmar]
simplify the test for a CAF, using exprIsValue.
simonmar [Wed, 20 Dec 2000 10:36:23 +0000 (10:36 +0000)]
[project @ 2000-12-20 10:36:23 by simonmar]
add predicate on CafInfo: mayHaveCafRefs :: CafInfo -> Bool
simonmar [Wed, 20 Dec 2000 10:35:33 +0000 (10:35 +0000)]
[project @ 2000-12-20 10:35:33 by simonmar]
ASSERT that thunks have the right CafInfo.
simonmar [Wed, 20 Dec 2000 10:33:25 +0000 (10:33 +0000)]
[project @ 2000-12-20 10:33:25 by simonmar]
oops, better exit(1) if we bomb out with an uncaught exception.
simonmar [Wed, 20 Dec 2000 09:56:26 +0000 (09:56 +0000)]
[project @ 2000-12-20 09:56:26 by simonmar]
#include "HsFFI.h" for ghc-4.08.1
simonpj [Tue, 19 Dec 2000 17:44:26 +0000 (17:44 +0000)]
[project @ 2000-12-19 17:44:26 by simonpj]
Remove extra tracing
simonpj [Tue, 19 Dec 2000 17:42:13 +0000 (17:42 +0000)]
[project @ 2000-12-19 17:42:13 by simonpj]
Fix the tcAddImportedIdInfo problem
simonpj [Tue, 19 Dec 2000 17:32:45 +0000 (17:32 +0000)]
[project @ 2000-12-19 17:32:44 by simonpj]
Mainly rename rnDecl to rnSourceDecl; and add more tracing to renamer
sewardj [Tue, 19 Dec 2000 16:48:58 +0000 (16:48 +0000)]
[project @ 2000-12-19 16:48:58 by sewardj]
Try to get the repo includes into a buildable state.
sewardj [Tue, 19 Dec 2000 16:48:35 +0000 (16:48 +0000)]
[project @ 2000-12-19 16:48:35 by sewardj]
Try to get the repo rts into a buildable state.
sewardj [Tue, 19 Dec 2000 16:38:15 +0000 (16:38 +0000)]
[project @ 2000-12-19 16:38:15 by sewardj]
Evaluator.h ---> Interpreter.h
simonmar [Tue, 19 Dec 2000 14:30:58 +0000 (14:30 +0000)]
[project @ 2000-12-19 14:30:58 by simonmar]
match changes in the Stats API
simonmar [Tue, 19 Dec 2000 14:30:39 +0000 (14:30 +0000)]
[project @ 2000-12-19 14:30:39 by simonmar]
cleanups
simonmar [Tue, 19 Dec 2000 14:30:17 +0000 (14:30 +0000)]
[project @ 2000-12-19 14:30:17 by simonmar]
- implement +RTS -t (one-line GC stats)
- clean up: use integer variables (counting ticks) rather than doubles
to store time values, and only call times() once on entry & exit
from GC instead of twice. Carry on using times() rather than
gettimeofday(), since we don't really need the increased accuracy.