simonmar [Wed, 1 Dec 1999 16:13:25 +0000 (16:13 +0000)]
[project @ 1999-12-01 16:13:25 by simonmar]
initialize the blocked_exceptions field of a TSO properly.
simonmar [Wed, 1 Dec 1999 15:07:00 +0000 (15:07 +0000)]
[project @ 1999-12-01 15:07:00 by simonmar]
Oops, forgot to scavenge the new fields in a TSO.
Common up no less than 3 copies of the TSO scavenging code in the
process, thus fixing a bug in one of the copies.
simonmar [Wed, 1 Dec 1999 14:58:09 +0000 (14:58 +0000)]
[project @ 1999-12-01 14:58:09 by simonmar]
Fix the case where we're killing a thread that is blocked on
delivering an exception.
simonmar [Wed, 1 Dec 1999 14:34:49 +0000 (14:34 +0000)]
[project @ 1999-12-01 14:34:38 by simonmar]
Support for blocking & unblocking asynchronous exceptions.
- new primops:
blockAsyncExceptions#, unblockAsyncExceptions# :: IO a -> IO a
- raiseInThread will block if the target thread is currently
blocking async exceptions.
- async exceptions are currently implicitly blocked inside
an exception handler. This decision might be reversed when
we have more experience with this stuff.
- Move exception-related stuff in the RTS into its own file,
Exception.{h,hc}.
simonmar [Wed, 1 Dec 1999 14:21:02 +0000 (14:21 +0000)]
[project @ 1999-12-01 14:21:02 by simonmar]
Remove empty sections for arch's supported in StgCRun.c.
simonmar [Wed, 1 Dec 1999 14:20:11 +0000 (14:20 +0000)]
[project @ 1999-12-01 14:20:11 by simonmar]
Alpha fixes.
simonmar [Wed, 1 Dec 1999 14:19:36 +0000 (14:19 +0000)]
[project @ 1999-12-01 14:19:36 by simonmar]
SMP comment
sewardj [Wed, 1 Dec 1999 12:02:48 +0000 (12:02 +0000)]
[project @ 1999-12-01 12:02:48 by sewardj]
Disable the Mark Jones optimisation for instance decls, since it is
incompatible with Hugs.
sewardj [Wed, 1 Dec 1999 11:50:34 +0000 (11:50 +0000)]
[project @ 1999-12-01 11:50:31 by sewardj]
Make <readline/history.h> a requirement for use of libreadline.
sewardj [Wed, 1 Dec 1999 10:56:25 +0000 (10:56 +0000)]
[project @ 1999-12-01 10:56:25 by sewardj]
Add rules so library sources can be obtained from fptools/hslibs.
sewardj [Wed, 1 Dec 1999 10:22:54 +0000 (10:22 +0000)]
[project @ 1999-12-01 10:22:53 by sewardj]
Fix bug in 'deriving Enum' reported by Ralf Hinze:
data T = A | B deriving Enum
failed, requiring instance Ord T, because code generated
for enumFromThen required Ord. We now derive just fromEnum
and toEnum, and let the Report's defaults do the rest.
lewie [Tue, 30 Nov 1999 16:12:14 +0000 (16:12 +0000)]
[project @ 1999-11-30 16:12:14 by lewie]
... and of course these files might come in handy ...
lewie [Tue, 30 Nov 1999 16:10:26 +0000 (16:10 +0000)]
[project @ 1999-11-30 16:10:07 by lewie]
First bits o' functional dependencies - just the syntax and related
datatypes, plus started moving some of the static checks from the
renamer (where we don't know about fundeps) to later in the typechecker.
simonmar [Tue, 30 Nov 1999 11:44:32 +0000 (11:44 +0000)]
[project @ 1999-11-30 11:44:32 by simonmar]
Eliminate warnings for uninitialised srt fields in constructors.
simonmar [Tue, 30 Nov 1999 11:43:26 +0000 (11:43 +0000)]
[project @ 1999-11-30 11:43:26 by simonmar]
Eliminate some warnings.
simonmar [Tue, 30 Nov 1999 10:22:57 +0000 (10:22 +0000)]
[project @ 1999-11-30 10:22:57 by simonmar]
Add hslibs to the default $(ProjectsTo{Install,Build})
simonpj [Tue, 30 Nov 1999 08:46:25 +0000 (08:46 +0000)]
[project @ 1999-11-30 08:46:25 by simonpj]
Allow a for-all type inside a usage annotation:
__u - (forall a. type)
[This actually simply inolved making rnHsType a bit more permissive.]
The particular way this shows up right now is a bug that Keith is working
on, but in general it should be legal.
sewardj [Mon, 29 Nov 1999 18:59:46 +0000 (18:59 +0000)]
[project @ 1999-11-29 18:59:23 by sewardj]
Make StgHugs use the same naming scheme as GHC does for class +
instance machinery.
Add machinery to do Z-encoding/decoding of names extracted from
interface files.
Make the ELF object loader work again. It seemed to have suffered
slight bitrot over the past couple of months. Fix various minor bugs.
Track a small change in interface file syntax.
Make Printer.c print tagged-unboxed stack sections in a decent way
now that Alastair-style stack tags have been abandoned.
sewardj [Mon, 29 Nov 1999 18:53:15 +0000 (18:53 +0000)]
[project @ 1999-11-29 18:53:14 by sewardj]
Implement foreign import dynamic.
simonpj [Mon, 29 Nov 1999 17:34:33 +0000 (17:34 +0000)]
[project @ 1999-11-29 17:34:14 by simonpj]
Make it so that a class decl generates default method decls
for every method, not just for the ones that the user supplies
default-methods for.
GHC will never call these default-default methods, because
when it finds an instance decl with no defn for a method,
*and* the class decl doesn't have a user-programmed default
method, it whips up a new default method for that instance
decl so that the error message is more informative than
the default-default method would be.
But Hugs isn't so smart, and wants to call something from
the class decl.
This change required fiddling with more than I expected. Sigh.
Simon
keithw [Mon, 29 Nov 1999 14:52:24 +0000 (14:52 +0000)]
[project @ 1999-11-29 14:52:24 by keithw]
error.h -> stgerror.h
sewardj [Mon, 29 Nov 1999 13:21:32 +0000 (13:21 +0000)]
[project @ 1999-11-29 13:21:32 by sewardj]
error.h --> stgerror.h
keithw [Mon, 29 Nov 1999 12:02:46 +0000 (12:02 +0000)]
[project @ 1999-11-29 12:02:42 by keithw]
This commit adds the new RTS option `-xc', which prints the current
cost-centre stack to stderr whenever an exception is raised. This is
intended to be a debugging tool, to help trace those "Prelude.head:
empty list" errors that are so frustrating to find.
`-xc' is only available for programs compiled with -prof, and you
probably want -auto as well to get useful information.
This is currently experimental; it would be better if it only
displayed the info for *uncaught* exceptions, but this is harder to
implement.
This commit also makes an OFTEL-inspired extension to the RTS option
space. Since we've almost run out of options, `-x' is now reserved
for `extended' options. `-xc' is the first of these, but that leaves
'-x[0-9A-Zabd-wyz]' still to be used! The prefix `-xx' is reserved
for future extension.
simonmar [Fri, 26 Nov 1999 16:29:44 +0000 (16:29 +0000)]
[project @ 1999-11-26 16:29:09 by simonmar]
GHC bits for new library organisation.
simonmar [Fri, 26 Nov 1999 16:26:32 +0000 (16:26 +0000)]
[project @ 1999-11-26 16:26:32 by simonmar]
rename error.h to stgerror.h
simonmar [Fri, 26 Nov 1999 16:25:57 +0000 (16:25 +0000)]
[project @ 1999-11-26 16:25:55 by simonmar]
Rename error.h to stgerror.h
simonmar [Fri, 26 Nov 1999 15:56:52 +0000 (15:56 +0000)]
[project @ 1999-11-26 15:56:52 by simonmar]
slight cleanup
sewardj [Thu, 25 Nov 1999 17:10:51 +0000 (17:10 +0000)]
[project @ 1999-11-25 17:10:51 by sewardj]
Pass flag -ltermcap as link option for test -lreadline.
simonmar [Thu, 25 Nov 1999 16:54:15 +0000 (16:54 +0000)]
[project @ 1999-11-25 16:54:14 by simonmar]
Incremental cleanups & improvements to the I/O subsystem
- Initial fix for problems caused by partial writes
to non-blocking file descriptors. To see this bug,
run ghc/tests/programs/life_space_leak through a pipe.
- remove FILEOBJ_FLUSH, it allegedly has the same meaning
as FILEOBJ_WRITE. This fixes a buf in openFd: it erroneously didn't
set FILEOBJ_FLUSH on writeable file descriptors.
- some ANSIfication
sewardj [Thu, 25 Nov 1999 12:21:19 +0000 (12:21 +0000)]
[project @ 1999-11-25 12:21:19 by sewardj]
import wibble for hugs
sewardj [Thu, 25 Nov 1999 12:12:25 +0000 (12:12 +0000)]
[project @ 1999-11-25 12:12:25 by sewardj]
Remove debugging printf in findQualifier().
sewardj [Thu, 25 Nov 1999 11:12:23 +0000 (11:12 +0000)]
[project @ 1999-11-25 11:12:23 by sewardj]
HUGS_VERSION ++
sewardj [Thu, 25 Nov 1999 11:10:17 +0000 (11:10 +0000)]
[project @ 1999-11-25 11:10:16 by sewardj]
Change STDCALL to STDKALL to avoid conflict with a header file.
simonpj [Thu, 25 Nov 1999 10:41:44 +0000 (10:41 +0000)]
[project @ 1999-11-25 10:41:44 by simonpj]
Simon's driver changes (should have committed these a while back)
* Add -no-rules to first simplifier pass
* Move CSE pass
simonpj [Thu, 25 Nov 1999 10:38:59 +0000 (10:38 +0000)]
[project @ 1999-11-25 10:38:59 by simonpj]
Missing dollar on USER_WAY_NAMES and OPTS
simonpj [Thu, 25 Nov 1999 10:37:12 +0000 (10:37 +0000)]
[project @ 1999-11-25 10:37:12 by simonpj]
Add a comment
simonpj [Thu, 25 Nov 1999 10:36:48 +0000 (10:36 +0000)]
[project @ 1999-11-25 10:36:48 by simonpj]
Express sequence in terms of foldr
simonpj [Thu, 25 Nov 1999 10:35:48 +0000 (10:35 +0000)]
[project @ 1999-11-25 10:35:47 by simonpj]
Better error message when trying to derive classes for
existentially-quantified data constructors.
And a general slight tidy up in TcDeriv
simonpj [Thu, 25 Nov 1999 10:34:53 +0000 (10:34 +0000)]
[project @ 1999-11-25 10:34:52 by simonpj]
Slight wibble on polytype syntax, going in the direction of allowing
for-alls in more places. This one lets you say
forall a. forall b. a->b
simonpj [Thu, 25 Nov 1999 10:33:23 +0000 (10:33 +0000)]
[project @ 1999-11-25 10:33:20 by simonpj]
Report decent error for top-level defn of a qualified name
simonpj [Thu, 25 Nov 1999 10:28:41 +0000 (10:28 +0000)]
[project @ 1999-11-25 10:28:41 by simonpj]
Add documentation on pattern guards
sewardj [Thu, 25 Nov 1999 10:19:17 +0000 (10:19 +0000)]
[project @ 1999-11-25 10:19:15 by sewardj]
Don't guess where the installation directory is. Instead,
read it from the STGHUGSDIR env var at startup.
sewardj [Wed, 24 Nov 1999 17:32:41 +0000 (17:32 +0000)]
[project @ 1999-11-24 17:32:41 by sewardj]
Disable debug printing in setDefaultLibDir.
sewardj [Wed, 24 Nov 1999 17:25:14 +0000 (17:25 +0000)]
[project @ 1999-11-24 17:25:14 by sewardj]
Add clean target, and change hugslib to all.
simonmar [Wed, 24 Nov 1999 16:39:33 +0000 (16:39 +0000)]
[project @ 1999-11-24 16:39:33 by simonmar]
Fix bug in threadDelay, where the delay ticks could end up negative.
andy [Wed, 24 Nov 1999 10:38:10 +0000 (10:38 +0000)]
[project @ 1999-11-24 10:38:10 by andy]
Fixing setDefaultLibDir to work with relative use of hugs binary.
andy [Wed, 24 Nov 1999 10:12:47 +0000 (10:12 +0000)]
[project @ 1999-11-24 10:12:47 by andy]
Adding method for packaging up binary distribution of Hugs.
simonmar [Wed, 24 Nov 1999 10:12:12 +0000 (10:12 +0000)]
[project @ 1999-11-24 10:12:12 by simonmar]
wibble
simonmar [Wed, 24 Nov 1999 10:03:32 +0000 (10:03 +0000)]
[project @ 1999-11-24 10:03:32 by simonmar]
- remove -dcore-lint
- add Happy-generated files to MAINTAINER_CLEAN
- replace $(GHC_DRIVER_DIR)/ghc with $(GHC)
andy [Wed, 24 Nov 1999 09:32:30 +0000 (09:32 +0000)]
[project @ 1999-11-24 09:32:30 by andy]
Fixes to allow compilation under cygwin and Win32.
sewardj [Tue, 23 Nov 1999 18:08:21 +0000 (18:08 +0000)]
[project @ 1999-11-23 18:08:17 by sewardj]
Bind namePmFromInteger, namePmSubtract, namePmLe to stuff in Prelude
so that n+k patterns work.
andy [Tue, 23 Nov 1999 15:26:56 +0000 (15:26 +0000)]
[project @ 1999-11-23 15:26:56 by andy]
Fixing incorrect definition of BlockBuffering in Hugs.
andy [Tue, 23 Nov 1999 15:12:10 +0000 (15:12 +0000)]
[project @ 1999-11-23 15:12:04 by andy]
Changing the top level evaluator so it runs things
of type IO a, not just IO <monomorphic-thing>.
simonmar [Tue, 23 Nov 1999 14:39:57 +0000 (14:39 +0000)]
[project @ 1999-11-23 14:39:57 by simonmar]
wibble
simonmar [Tue, 23 Nov 1999 14:38:40 +0000 (14:38 +0000)]
[project @ 1999-11-23 14:38:40 by simonmar]
ANSIfication
simonmar [Tue, 23 Nov 1999 14:38:22 +0000 (14:38 +0000)]
[project @ 1999-11-23 14:38:22 by simonmar]
oops, committed wrong file
simonmar [Tue, 23 Nov 1999 14:36:31 +0000 (14:36 +0000)]
[project @ 1999-11-23 14:36:31 by simonmar]
ANSIfication
simonmar [Tue, 23 Nov 1999 12:19:20 +0000 (12:19 +0000)]
[project @ 1999-11-23 12:19:20 by simonmar]
Use %Z instead of %z for timezone (%z is GNU extension to strftime)
simonmar [Tue, 23 Nov 1999 12:12:42 +0000 (12:12 +0000)]
[project @ 1999-11-23 12:12:42 by simonmar]
failure to commit important files is a jumping-out-of-the-window offence
andy [Tue, 23 Nov 1999 11:52:08 +0000 (11:52 +0000)]
[project @ 1999-11-23 11:52:08 by andy]
Updating dll export function list to include
new functions in nHandle.c
simonpj [Tue, 23 Nov 1999 11:43:25 +0000 (11:43 +0000)]
[project @ 1999-11-23 11:43:25 by simonpj]
Add test for top-level qualified defns
simonpj [Tue, 23 Nov 1999 11:37:23 +0000 (11:37 +0000)]
[project @ 1999-11-23 11:37:23 by simonpj]
Print module names un-encoded in user style
simonpj [Tue, 23 Nov 1999 11:25:47 +0000 (11:25 +0000)]
[project @ 1999-11-23 11:25:47 by simonpj]
Add documentation about separate compilation
sewardj [Tue, 23 Nov 1999 10:32:37 +0000 (10:32 +0000)]
[project @ 1999-11-23 10:32:37 by sewardj]
Fix typo in exitWith.
sewardj [Tue, 23 Nov 1999 10:03:41 +0000 (10:03 +0000)]
[project @ 1999-11-23 10:03:41 by sewardj]
wibble
sewardj [Tue, 23 Nov 1999 09:59:40 +0000 (09:59 +0000)]
[project @ 1999-11-23 09:59:38 by sewardj]
Update version number.
sewardj [Tue, 23 Nov 1999 09:48:46 +0000 (09:48 +0000)]
[project @ 1999-11-23 09:48:46 by sewardj]
Zap irrelevant ifdefs.
sewardj [Mon, 22 Nov 1999 18:11:00 +0000 (18:11 +0000)]
[project @ 1999-11-22 18:11:00 by sewardj]
cgAlts(): Don't test constructor tag if the scrutinee is known
to come from a product (single-constructor) type.
sewardj [Mon, 22 Nov 1999 17:18:02 +0000 (17:18 +0000)]
[project @ 1999-11-22 17:18:02 by sewardj]
When generating wrapper code for primops/callouts with return type
IO (), don't allocate a unit to return. Instead, return the address
of the unit closure.
sewardj [Mon, 22 Nov 1999 16:44:34 +0000 (16:44 +0000)]
[project @ 1999-11-22 16:44:30 by sewardj]
Nuke DEBUG_EXTRA once and for all, and make Hugs use the same stack
tags as GHC.
sewardj [Mon, 22 Nov 1999 16:16:35 +0000 (16:16 +0000)]
[project @ 1999-11-22 16:16:35 by sewardj]
Convert some DEBUG_EXTRAs into DEBUGs.
sewardj [Mon, 22 Nov 1999 16:02:53 +0000 (16:02 +0000)]
[project @ 1999-11-22 16:02:53 by sewardj]
Include path wibbles.
sewardj [Mon, 22 Nov 1999 16:00:26 +0000 (16:00 +0000)]
[project @ 1999-11-22 16:00:21 by sewardj]
Enforce multiple reader, single writer semantics for Handles.
simonmar [Mon, 22 Nov 1999 15:55:53 +0000 (15:55 +0000)]
[project @ 1999-11-22 15:55:49 by simonmar]
Reduce the number of orphan-instance modules. There are a few left,
but these can't be removed without significant reorganisation due to
recursive dependencies.
sewardj [Mon, 22 Nov 1999 14:39:43 +0000 (14:39 +0000)]
[project @ 1999-11-22 14:39:43 by sewardj]
evalExp(): print a better message if Deadlock is returned
sewardj [Mon, 22 Nov 1999 12:12:09 +0000 (12:12 +0000)]
[project @ 1999-11-22 12:12:09 by sewardj]
Implement Random.setStdGen and Random.getStdGen for Hugs.
simonmar [Mon, 22 Nov 1999 11:54:36 +0000 (11:54 +0000)]
[project @ 1999-11-22 11:54:36 by simonmar]
add libexecdir to SCRIPT_SUBST_VARS.
sewardj [Mon, 22 Nov 1999 11:46:25 +0000 (11:46 +0000)]
[project @ 1999-11-22 11:46:25 by sewardj]
Add comment about Hugs (non-)compliance.
sewardj [Mon, 22 Nov 1999 11:34:11 +0000 (11:34 +0000)]
[project @ 1999-11-22 11:34:09 by sewardj]
Implement CPUTime.getCPUTime, CPUTime.cpuTimePrecision.
sewardj [Mon, 22 Nov 1999 10:56:05 +0000 (10:56 +0000)]
[project @ 1999-11-22 10:56:03 by sewardj]
Implement System.system, System.exitWith for Hugs.
simonmar [Mon, 22 Nov 1999 10:53:51 +0000 (10:53 +0000)]
[project @ 1999-11-22 10:53:51 by simonmar]
eqForeignObj can be an unsafe ccall.
simonmar [Mon, 22 Nov 1999 10:53:11 +0000 (10:53 +0000)]
[project @ 1999-11-22 10:53:11 by simonmar]
remove some irrelevant code
sewardj [Mon, 22 Nov 1999 10:13:00 +0000 (10:13 +0000)]
[project @ 1999-11-22 10:13:00 by sewardj]
Set GHC_INTERPRETER_DIR, and add target rtsclean in interpreter/Makefile.
sewardj [Fri, 19 Nov 1999 16:43:54 +0000 (16:43 +0000)]
[project @ 1999-11-19 16:43:52 by sewardj]
Implement more of IO std library. Buffering settings,
seekery and some error-handling stuff is still missing, but the
rest is done.
sewardj [Fri, 19 Nov 1999 15:42:12 +0000 (15:42 +0000)]
[project @ 1999-11-19 15:42:07 by sewardj]
Duh. Reinstate type variable for state token in Ref type.
Also rename to STRef since that's GHC's name for it.
andy [Fri, 19 Nov 1999 15:36:55 +0000 (15:36 +0000)]
[project @ 1999-11-19 15:36:55 by andy]
General cleanup of Makefile for STG Hugs.
library building has been moved to its own directory.
andy [Fri, 19 Nov 1999 15:33:34 +0000 (15:33 +0000)]
[project @ 1999-11-19 15:33:34 by andy]
Adding Makefile for Hugs lib directory.
sewardj [Fri, 19 Nov 1999 13:54:53 +0000 (13:54 +0000)]
[project @ 1999-11-19 13:54:49 by sewardj]
Make Ref only be parameterised by the type of the mutable value,
rather than by that *and* the type of the state token.
simonmar [Fri, 19 Nov 1999 12:39:49 +0000 (12:39 +0000)]
[project @ 1999-11-19 12:39:49 by simonmar]
Initialize the cost-centre in the header of a new TSO.
kglynn [Fri, 19 Nov 1999 03:44:07 +0000 (03:44 +0000)]
[project @ 1999-11-19 03:44:07 by kglynn]
Removed fix for -ve MUT times, Simon has put fix in rts/Stats.c,
which is where it should be.
sewardj [Thu, 18 Nov 1999 17:32:38 +0000 (17:32 +0000)]
[project @ 1999-11-18 17:32:38 by sewardj]
Export Ref, newRef, readRef, writeRef from the Prelude.
sewardj [Thu, 18 Nov 1999 16:02:21 +0000 (16:02 +0000)]
[project @ 1999-11-18 16:02:17 by sewardj]
Minor bugfixes for concurrency support in Hugs.
Evaluator.c: correctly handle case of entering a black hole.
Prelude.hs: better exception catching in forkIO and primRunIO
GC.c: (revert_dead_CAFs): don't ASSERT(0) on a dead CAF
(I don't know why this assert was there)
sewardj [Thu, 18 Nov 1999 12:10:29 +0000 (12:10 +0000)]
[project @ 1999-11-18 12:10:17 by sewardj]
In hugs, implement ThreadId(..), instance Eq/Ord ThreadId,
and forkIO. Add deleteAllThreads() to scheduler so Hugs can
clean up after evaluation.
andy [Wed, 17 Nov 1999 16:58:43 +0000 (16:58 +0000)]
[project @ 1999-11-17 16:58:43 by andy]
A version of the Prelude with some extra (primitive) functions
exported for use by various system libraries.
andy [Wed, 17 Nov 1999 16:57:51 +0000 (16:57 +0000)]
[project @ 1999-11-17 16:57:38 by andy]
Merging in the various changes between Sep99 Hugs and Nov99 Hugs.
sewardj [Wed, 17 Nov 1999 13:19:36 +0000 (13:19 +0000)]
[project @ 1999-11-17 13:19:36 by sewardj]
cacheprof-related nano-wibble
simonmar [Wed, 17 Nov 1999 11:25:01 +0000 (11:25 +0000)]
[project @ 1999-11-17 11:25:01 by simonmar]
Remove unused FiniteSet stuff.
sewardj [Tue, 16 Nov 1999 17:39:10 +0000 (17:39 +0000)]
[project @ 1999-11-16 17:38:54 by sewardj]
Added basic support for MVars: data MVar, and newMVar, putMVar and
getMVar.
simonmar [Tue, 16 Nov 1999 11:41:39 +0000 (11:41 +0000)]
[project @ 1999-11-16 11:40:32 by simonmar]
sync output
simonmar [Tue, 16 Nov 1999 11:36:15 +0000 (11:36 +0000)]
[project @ 1999-11-16 11:36:15 by simonmar]
sync output