simonmar [Mon, 6 Mar 2000 12:02:37 +0000 (12:02 +0000)]
[project @ 2000-03-06 12:02:37 by simonmar]
Add extra-closing-brace test.
simonmar [Mon, 6 Mar 2000 11:58:28 +0000 (11:58 +0000)]
[project @ 2000-03-06 11:58:27 by simonmar]
Turn the panic in Lex.popContext into a parse error.
sewardj [Mon, 6 Mar 2000 10:12:57 +0000 (10:12 +0000)]
[project @ 2000-03-06 10:12:57 by sewardj]
typeInstDefn(), the bit which invents GHC compatible instance names:
handle multiparam type classes. This enables Hugs standalone to deal
multiparam type classes, but there's a fudge:
class Foo s m where { }
instance Foo s () where { }
GHC calls the instance $fFoos. But Hugs records type vars as offsets,
and loses the name "s" in the instance head; all it knows about
are tyvar numbers (offsets), starting from zero. So it can never
generate $fFoos here, only $fFoo0 (zero). The resulting code works
in standalone mode but will not interwork with GHC. In general tho,
multiparam type classes are not (yet) supported in combined mode;
interface.c certainly can't handle them.
It might be simplest in this case to change GHC's instance naming
defn to be the same as Hugs'.
andy [Mon, 6 Mar 2000 08:42:56 +0000 (08:42 +0000)]
[project @ 2000-03-06 08:42:56 by andy]
Adding prelude changes require for the new libs, include IOExts.
Reintroducing ptr equality into HugsSTG.
andy [Mon, 6 Mar 2000 08:38:05 +0000 (08:38 +0000)]
[project @ 2000-03-06 08:38:04 by andy]
Adding the Feb00 changed from Classic Hugs into STG Hugs.
andy [Mon, 6 Mar 2000 08:01:01 +0000 (08:01 +0000)]
[project @ 2000-03-06 08:01:01 by andy]
Removing debugging printf code from hClose.
sewardj [Fri, 3 Mar 2000 17:13:15 +0000 (17:13 +0000)]
[project @ 2000-03-03 17:13:15 by sewardj]
Implement ocVerifyImage and ocGetNames for Microsoft PE object format.
They compile but do not work yet. ocResolve has yet to be done.
simonmar [Fri, 3 Mar 2000 10:49:43 +0000 (10:49 +0000)]
[project @ 2000-03-03 10:49:43 by simonmar]
- add Happy as a pre-supposed tool.
- clean up, removed gratuitous white-space
lewie [Thu, 2 Mar 2000 22:51:30 +0000 (22:51 +0000)]
[project @ 2000-03-02 22:51:30 by lewie]
Further refine and fix how `with' partitions the LIE. Also moved the
partitioning function from Inst to TcSimplify. Fixed layout bug with
`with'. Fixed another wibble w/ importing defs w/ implicit params.
Make 4-tuples outputable (a convenience in debugging measure).
panne [Thu, 2 Mar 2000 15:53:26 +0000 (15:53 +0000)]
[project @ 2000-03-02 15:53:26 by panne]
Small improvement in warning message
panne [Thu, 2 Mar 2000 15:36:52 +0000 (15:36 +0000)]
[project @ 2000-03-02 15:36:46 by panne]
More steps towards class/type/constructor deprecation
panne [Thu, 2 Mar 2000 14:20:28 +0000 (14:20 +0000)]
[project @ 2000-03-02 14:20:28 by panne]
Deprecation warnings have a useful source location now.
keithw [Thu, 2 Mar 2000 11:39:45 +0000 (11:39 +0000)]
[project @ 2000-03-02 11:39:45 by keithw]
Move `Average' line back to bottom of table to save confusion.
sewardj [Thu, 2 Mar 2000 10:32:17 +0000 (10:32 +0000)]
[project @ 2000-03-02 10:32:17 by sewardj]
Remove debug printing accidentally left in.
sewardj [Thu, 2 Mar 2000 10:11:50 +0000 (10:11 +0000)]
[project @ 2000-03-02 10:11:50 by sewardj]
comment spelling typo wurble
sewardj [Thu, 2 Mar 2000 10:10:34 +0000 (10:10 +0000)]
[project @ 2000-03-02 10:10:33 by sewardj]
Changes needed to support foreign export (dynamic) in combined mode.
keithw [Wed, 1 Mar 2000 18:38:45 +0000 (18:38 +0000)]
[project @ 2000-03-01 18:38:45 by keithw]
Display (overall) averages for per-module statistics as well as for
per-program statistics.
Also, with `-d' (default; `-n' to turn off) compute geometric standard
deviations and display +/- 1 s.d. points as well as average. Note that
since these are *geometric*, the lower point will appear closer to the
average than the upper. This is correct behaviour.
lewie [Wed, 1 Mar 2000 18:10:44 +0000 (18:10 +0000)]
[project @ 2000-03-01 18:10:43 by lewie]
Filled in some missing support for importing defs w/ implicit params.
Fixed bug in improvement w/ implicit params.
sewardj [Wed, 1 Mar 2000 16:57:57 +0000 (16:57 +0000)]
[project @ 2000-03-01 16:57:57 by sewardj]
forceIO_ret_entry, when #ifndef REG_R1: remember to load Node.
panne [Wed, 1 Mar 2000 15:21:01 +0000 (15:21 +0000)]
[project @ 2000-03-01 15:20:54 by panne]
Because of the previous HaXml-"improvement" :-}, syslib text now
depends on syslib data.
sewardj [Wed, 1 Mar 2000 12:31:22 +0000 (12:31 +0000)]
[project @ 2000-03-01 12:31:22 by sewardj]
Temporarily disable Stix inlining whilst we figure out how to fix
obscure bugs in the register allocator. With inlining off, everything
seems to work, and the compiler can boot itself, but when enabled,
inlining exposes a register allocation bug which causes
ghc/compiler/utils/FastString.lhs to be miscompiled on Linux (the big
arithmetic expressions for computing hash values).
simonmar [Wed, 1 Mar 2000 11:09:05 +0000 (11:09 +0000)]
[project @ 2000-03-01 11:09:05 by simonmar]
oops, remove assigment to non-existent "emitted" field in a CCS.
sof [Tue, 29 Feb 2000 19:59:38 +0000 (19:59 +0000)]
[project @ 2000-02-29 19:59:38 by sof]
Added removeIndirections() and make use of it in lookupStableName() -- increases
the possibilities of StableName sharing.
simonmar [Tue, 29 Feb 2000 16:58:09 +0000 (16:58 +0000)]
[project @ 2000-02-29 16:58:08 by simonmar]
Change the behaviour of the cost-centre stack profiler for recursive
sccs. Before, we used to remove the old copy of the CC from the stack
and push the new one on. Now, we record back-edges in the graph when
a recursive scc is detected.
This should give saner-looking cost-centre stacks for heavily
recursive code. Indeed, it reduces the number of stacks in the
profile for some examples considerably.
simonmar [Tue, 29 Feb 2000 14:38:19 +0000 (14:38 +0000)]
[project @ 2000-02-29 14:38:19 by simonmar]
Ctrl-C now interrupts the RTS safely. Previously it called
shutdownHaskellAndExit() from the signal handler directly, which isn't
safe because we may have been interrupted during GC or whatever. Now
we set the interrupted flag and wait for the RTS to shut down by
itself.
sewardj [Tue, 29 Feb 2000 12:54:52 +0000 (12:54 +0000)]
[project @ 2000-02-29 12:54:51 by sewardj]
Make foreign import work in combined mode:
-- Allow interpreter to do ccall primops even in combined mode
-- Implement hugsprimMkIO in combined mode, so as to wrap up a
an IO value created by Hugs in a form compatible with GHC's IO
representation.
sewardj [Tue, 29 Feb 2000 12:27:35 +0000 (12:27 +0000)]
[project @ 2000-02-29 12:27:35 by sewardj]
The GHC Prelude doesn't seem to export Addr. Make it do so in combined
mode for compatibility with standalone mode.
simonmar [Tue, 29 Feb 2000 12:08:55 +0000 (12:08 +0000)]
[project @ 2000-02-29 12:08:55 by simonmar]
Fix boundary cases for quotInteger, remInteger & a few others. These
changes somehow escaped 4.06 and have been sitting in my tree for a
while.
sewardj [Tue, 29 Feb 2000 11:36:46 +0000 (11:36 +0000)]
[project @ 2000-02-29 11:36:46 by sewardj]
Update sparc-specific parts of NCG to use new infrastructure, so they
will at least compile under Solaris. Won't work (yet) tho.
lewie [Mon, 28 Feb 2000 21:59:33 +0000 (21:59 +0000)]
[project @ 2000-02-28 21:59:32 by lewie]
Fix signatures w/ implicit parameter types in them (in particular,
correctly handle the case where there are no type variables). Also
made a few more things Outputable. Nuke outdated comment in Parser.y.
simonmar [Mon, 28 Feb 2000 16:55:07 +0000 (16:55 +0000)]
[project @ 2000-02-28 16:54:29 by simonmar]
Add haxml/lib to imports for -syslib text.
simonmar [Mon, 28 Feb 2000 13:59:43 +0000 (13:59 +0000)]
[project @ 2000-02-28 13:59:43 by simonmar]
Only fill in the ARG_TAG when DEBUG is on, for unregisterised.
sewardj [Mon, 28 Feb 2000 12:02:32 +0000 (12:02 +0000)]
[project @ 2000-02-28 12:02:31 by sewardj]
Many changes to improve the quality and correctness of generated code,
both for x86 and all-platforms. The intent is that the x86 NCG will
now be good enough for general use.
-- Add an almost-trivial Stix (generic) peephole optimiser, whose sole
purpose is elide assignments to temporaries used only once, in the
very next tree. This generates substantially better code for
conditionals on all platforms. Enhance Stix constant folding to
take advantage of the inlining.
The inlining presents subsequent insn selection phases with more
complex trees than would have previously been used to. This has
shown up several bugs in the x86 insn selectors, now fixed.
(assumptions that data size is Word, when could be Byte,
assumptions that an operand will always be in a temp reg, etc)
-- x86: Use the FLDZ and FLD1 insns.
-- x86: spill FP registers with 80-bit loads/stores so that
Intel's extra 16 bits of accuracy are not lost. If this isn't
done, FP spills are not suitably transparent. Increase the
number of spill words available to 2048.
-- x86: give the register allocator more flexibility in choosing
spill temporaries.
-- x86, RegAllocInfo.regUsage: fix error for GST, and rewrite to
make it clearer.
-- Correctly track movements in the C stack pointer, and generate
correct spill code for archs which spill against the stack pointer
even when the stack pointer moves. Redo the x86 ccall mechanism
to push args on the C stack in the normal way. Rather than have
the spiller have to analyse code sequences to determine the current
stack offset, the insn selectors communicate the current offset
whenever it changes by inserting a DELTA pseudo-insn. Then the
spiller only has to spot DELTAs.
This means having a new native-code-generator monad (Stix.NatM)
which carries both a UniqSupply and the current stack offset.
-- Remove the asmPar/asmSeq ways of grouping insns together.
In the presence of fixed registers, it is hard to demonstrate
that insn selectors using asmPar always give correct code, and
the extra complication doesn't help any.
Also, directly construct code sequences using tree-based ordered
lists (utils/OrdList.lhs) for linear-time appends, rather than
the bizarrely complex method using fns and fn composition.
-- Inline some hcats in printing of x86 address modes.
-- Document more of the hidden assumptions which insn selection relies
on, particular wrt addressing modes.
simonmar [Mon, 28 Feb 2000 11:53:44 +0000 (11:53 +0000)]
[project @ 2000-02-28 11:53:44 by simonmar]
oops, back out local patch that accidentally got committed with rev. 1.139.
simonmar [Mon, 28 Feb 2000 10:57:44 +0000 (10:57 +0000)]
[project @ 2000-02-28 10:57:44 by simonmar]
fix = vs. == in conditional
simonmar [Mon, 28 Feb 2000 10:14:27 +0000 (10:14 +0000)]
[project @ 2000-02-28 10:14:27 by simonmar]
document the -recomp option explicitly.
simonmar [Mon, 28 Feb 2000 09:17:54 +0000 (09:17 +0000)]
[project @ 2000-02-28 09:17:54 by simonmar]
'IPVARID :: type' moved from btype to type, to reduce conflicts.
andy [Fri, 25 Feb 2000 22:41:41 +0000 (22:41 +0000)]
[project @ 2000-02-25 22:41:41 by andy]
Wibble.
(#ifdef incorrectly nested inside begin-end code)
sewardj [Fri, 25 Feb 2000 17:35:11 +0000 (17:35 +0000)]
[project @ 2000-02-25 17:35:11 by sewardj]
Use createIOThread and not createGenThread, even for the interpreter.
simonmar [Fri, 25 Feb 2000 15:20:33 +0000 (15:20 +0000)]
[project @ 2000-02-25 15:20:33 by simonmar]
Add simple mkWeakPtr/addFinalizer test.
simonmar [Fri, 25 Feb 2000 15:07:09 +0000 (15:07 +0000)]
[project @ 2000-02-25 15:07:09 by simonmar]
The finalizer passed to mkWeak# might be NULL, so we'd better not
claim it's always pointer if we need to GC. Another bug squashed...
panne [Fri, 25 Feb 2000 15:06:30 +0000 (15:06 +0000)]
[project @ 2000-02-25 15:06:30 by panne]
*ahem* Re-enable -fwarn-unused-binds and -fwarn-unused-imports... :-}
panne [Fri, 25 Feb 2000 14:55:54 +0000 (14:55 +0000)]
[project @ 2000-02-25 14:55:31 by panne]
Deprecations of variables now works, although the source location is
not yet reported correctly and the code needs some cleanup. Added a
new flag -fwarn-deprecations to the set of standard warnings. The
syntax of deprecations has been extended to deprecate types, classes,
or even constructors, although this does not work yet.
simonmar [Fri, 25 Feb 2000 14:00:32 +0000 (14:00 +0000)]
[project @ 2000-02-25 14:00:32 by simonmar]
add -ltermcap when looking for -lreadline.
From: Michael Weber.
sewardj [Fri, 25 Feb 2000 10:53:54 +0000 (10:53 +0000)]
[project @ 2000-02-25 10:53:53 by sewardj]
Nuke PTR_ON_HEAP and all associated ifdeffery; we always need it.
simonmar [Fri, 25 Feb 2000 10:49:30 +0000 (10:49 +0000)]
[project @ 2000-02-25 10:49:30 by simonmar]
Make the desugarer a little more liberal about the class of case
expressions which get the special unboxed tuple treatment.
simonmar [Fri, 25 Feb 2000 10:26:44 +0000 (10:26 +0000)]
[project @ 2000-02-25 10:26:44 by simonmar]
silence linker warnings on HP/UX.
From: Eric Schweitz <schweitz@nortelnetworks.com>
simonmar [Thu, 24 Feb 2000 17:45:53 +0000 (17:45 +0000)]
[project @ 2000-02-24 17:45:53 by simonmar]
update for format changes in cacheprof.out.summary.
sewardj [Thu, 24 Feb 2000 17:26:12 +0000 (17:26 +0000)]
[project @ 2000-02-24 17:26:12 by sewardj]
primUnpackString --> hugsprimUnpackString
simonmar [Thu, 24 Feb 2000 17:20:46 +0000 (17:20 +0000)]
[project @ 2000-02-24 17:20:46 by simonmar]
Correct [un]blockAsyncExceptionszh_ret in the #ifndef REG_R1 case.
sewardj [Thu, 24 Feb 2000 14:40:38 +0000 (14:40 +0000)]
[project @ 2000-02-24 14:40:38 by sewardj]
Don't always use GMP from ghc/rts; instead consult HaveLibGmp first.
sewardj [Thu, 24 Feb 2000 14:09:14 +0000 (14:09 +0000)]
[project @ 2000-02-24 14:09:14 by sewardj]
Remove debugging junk accidentally left in :-(
sewardj [Thu, 24 Feb 2000 14:05:55 +0000 (14:05 +0000)]
[project @ 2000-02-24 14:05:55 by sewardj]
Wibbles for Win32 standalone compilation of Hugs:
-- Turn off debugging miniinterpreter
-- Change SIZEOF_INTP (which no longer exists) into SIZEOF_VOID_P
sewardj [Thu, 24 Feb 2000 13:58:56 +0000 (13:58 +0000)]
[project @ 2000-02-24 13:58:56 by sewardj]
Use the GMP library built in ghc/rts, not the system-supplied one,
since that doesn't exist on Cygwin.
sewardj [Thu, 24 Feb 2000 12:34:19 +0000 (12:34 +0000)]
[project @ 2000-02-24 12:34:18 by sewardj]
#ifdef wurbles to aid Win32 compilation.
lewie [Wed, 23 Feb 2000 19:41:51 +0000 (19:41 +0000)]
[project @ 2000-02-23 19:41:50 by lewie]
Handle `with' more cleverly. I was generating partially applied methods
for the case where the `with' expression was also overloaded, but this
was buggy, and completely unnecessary. Instead, simply force the method
binding at the point of the `with' expression (we reap no benefits from
pushing the sharing further out anyway), and release the remainder of
the method's context into the LIE.
panne [Tue, 22 Feb 2000 15:48:03 +0000 (15:48 +0000)]
[project @ 2000-02-22 15:47:56 by panne]
Load deprecations from interface files into a deprecation environment
which maps Names to RenamedDeprecations. This map is not used yet, but
very soon it will...
This commit fixes a bug related to implicit parameters, too:
Previously, an interface file containing the name "with" could not be
read by the interface parser. This broke Malcolm's HaXml 0.9 (released
today). Remember Sven's glaexts-commandment (Jeffrey? :-) : Always
keep Lex.lhs's ghcExtensionKeywordsFM and ParseIface.y's var_fs
production in synch!
panne [Tue, 22 Feb 2000 12:45:30 +0000 (12:45 +0000)]
[project @ 2000-02-22 12:45:30 by panne]
Space leak paranoia: Don't keep whole InterfaceDetails alive
throughout the middle part of the compiler
simonmar [Tue, 22 Feb 2000 12:09:24 +0000 (12:09 +0000)]
[project @ 2000-02-22 12:09:23 by simonmar]
Ignore SIGPIPE, since our I/O library handles EPIPE properly and
SIGPIPE tends to cause the Haskell program to exit silently and
mysteriously.
Found-by: furiously pressing the refresh button in a browser connected
to my Haskell web server :-)
panne [Mon, 21 Feb 2000 19:06:11 +0000 (19:06 +0000)]
[project @ 2000-02-21 19:06:11 by panne]
Extended interface mangler with deprecations handling.
NOTE: Whoever wrote this part of the driver without adding a HUGE
warning in MkIface.lhs to keep both files in synch deserves the most
severe punishment imaginable (huge stick, etc.)! >:-( The seemingly
magical random rearrangement of the interface file outside Haskell's
realm can drive you mad if you forget this...
panne [Mon, 21 Feb 2000 18:56:02 +0000 (18:56 +0000)]
[project @ 2000-02-21 18:56:02 by panne]
Fixed typo in deprecations parsing
panne [Mon, 21 Feb 2000 18:55:19 +0000 (18:55 +0000)]
[project @ 2000-02-21 18:55:19 by panne]
Write deprecations into interface files.
panne [Sun, 20 Feb 2000 17:51:58 +0000 (17:51 +0000)]
[project @ 2000-02-20 17:51:30 by panne]
Get deprecation info out of the renamer again
panne [Fri, 18 Feb 2000 15:36:48 +0000 (15:36 +0000)]
[project @ 2000-02-18 15:36:48 by panne]
Now deprecations can be read from interface files. To avoid a
lookahead of 2, the syntax for interface files has been liberated
slightly: They can end in as many freely mixed rule pragmas or
deprecation pragmas as you like.
Note: Parsing the deprecation pragma uses the same Lazy Technology (tm)
as the one for rules. Don't know if this makes sense, but it is
convenient here.
simonmar [Fri, 18 Feb 2000 10:46:27 +0000 (10:46 +0000)]
[project @ 2000-02-18 10:46:27 by simonmar]
put SRTs in the text section.
simonmar [Fri, 18 Feb 2000 10:26:19 +0000 (10:26 +0000)]
[project @ 2000-02-18 10:26:19 by simonmar]
Add copyright & Id
simonmar [Fri, 18 Feb 2000 10:25:53 +0000 (10:25 +0000)]
[project @ 2000-02-18 10:25:53 by simonmar]
Module size wasn't taking into account the data section.
simonmar [Thu, 17 Feb 2000 17:19:42 +0000 (17:19 +0000)]
[project @ 2000-02-17 17:19:42 by simonmar]
Fitst cut at XML-style profiling logs. Time/allocation profiling only
for now, and the new flag '+RTS -px' enables the new log file format.
panne [Thu, 17 Feb 2000 14:47:32 +0000 (14:47 +0000)]
[project @ 2000-02-17 14:47:21 by panne]
Result of my daily DEPRECATED-hour: Now it's possible to use the
pragma without harm, but nothing spectacular happens yet, only the
usual renamer checks (duplication, var in scope).
simonmar [Thu, 17 Feb 2000 14:15:10 +0000 (14:15 +0000)]
[project @ 2000-02-17 14:15:10 by simonmar]
clean up: some parallel stuff had escaped from #ifdef PAR (Hans???)
simonmar [Thu, 17 Feb 2000 12:20:04 +0000 (12:20 +0000)]
[project @ 2000-02-17 12:20:04 by simonmar]
sync with reality slightly.
panne [Wed, 16 Feb 2000 12:57:39 +0000 (12:57 +0000)]
[project @ 2000-02-16 12:57:39 by panne]
Fixed pretty printing of DEPRECATED
panne [Wed, 16 Feb 2000 12:56:22 +0000 (12:56 +0000)]
[project @ 2000-02-16 12:56:22 by panne]
Fixed pretty printing of RULES
panne [Tue, 15 Feb 2000 22:18:54 +0000 (22:18 +0000)]
[project @ 2000-02-15 22:18:16 by panne]
First steps towards DEPRECATED before Rosebank (12yrs) takes its toll.
Nothing very functional yet, but at least hsc can be compiled and it
still compiles the Prelude.
Parsing the pragma turned out to be a little bit more complicated than
expected, here the comment from Parser.y:
The place for module deprecation is really too restrictive, but if it
was allowed at its natural place just before 'module', we get an ugly
s/r conflict with the second alternative. Another solution would be the
introduction of a new pragma DEPRECATED_MODULE, but this is not very nice,
either, and DEPRECATED is only expected to be used by people who really
know what they are doing. :-)
Net result: Module deprecation is allowed exactly behind the module's
name and nowhere else. I probably have to think a little bit more
about this some day...
sewardj [Tue, 15 Feb 2000 15:14:09 +0000 (15:14 +0000)]
[project @ 2000-02-15 15:14:09 by sewardj]
Implement CONST_INT_big and CONST_ADDR_big.
sewardj [Tue, 15 Feb 2000 13:16:20 +0000 (13:16 +0000)]
[project @ 2000-02-15 13:16:19 by sewardj]
Backend interop fixes:
-- Make Hugs use the same constructor tag numbering as GHC, viz, starting
at zero.
-- Evaluator.c: when unwinding the stack on entering a constructor,
return to the scheduler if a RET_{VEC_}{SMALL|BIG} is found on the
stack.
sewardj [Tue, 15 Feb 2000 11:24:20 +0000 (11:24 +0000)]
[project @ 2000-02-15 11:24:20 by sewardj]
In hugsprimRunIO_toplevel, use catchException instead of catch.
At least exceptions can then be caught, although Hugs then goes on
to die with an assertion failure in unblockAsyncExceptionszh_ret_entry,
probably caused by wrongly entering it twice in immediate succession.
sewardj [Mon, 14 Feb 2000 11:59:27 +0000 (11:59 +0000)]
[project @ 2000-02-14 11:59:27 by sewardj]
Build parser/ctypes.o with $(HC), not $(CC).
sewardj [Mon, 14 Feb 2000 11:15:09 +0000 (11:15 +0000)]
[project @ 2000-02-14 11:15:09 by sewardj]
wibble
sewardj [Mon, 14 Feb 2000 11:13:11 +0000 (11:13 +0000)]
[project @ 2000-02-14 11:13:11 by sewardj]
cosmetic wibbles
sewardj [Mon, 14 Feb 2000 11:12:29 +0000 (11:12 +0000)]
[project @ 2000-02-14 11:12:29 by sewardj]
Remove fromDouble from class Fractional, and make it standalone.
This matches GHC. I don't think this is strictly necessary, but
Hugs refers to fromDouble during desugaring and I prefer to avoid
possible mishaps.
sewardj [Mon, 14 Feb 2000 11:04:58 +0000 (11:04 +0000)]
[project @ 2000-02-14 11:04:58 by sewardj]
Paranoia: barf if enterBCO_primop1 or enterBCO_primop2 are called
in combined mode (since GHC should handle all primops in that case).
sewardj [Mon, 14 Feb 2000 11:01:27 +0000 (11:01 +0000)]
[project @ 2000-02-14 11:01:27 by sewardj]
Add a debugging version of the mini-interpreter for Hugs.
sewardj [Mon, 14 Feb 2000 10:59:30 +0000 (10:59 +0000)]
[project @ 2000-02-14 10:59:30 by sewardj]
Tart up printStackChunk a bit./
sewardj [Mon, 14 Feb 2000 10:58:05 +0000 (10:58 +0000)]
[project @ 2000-02-14 10:58:05 by sewardj]
initStorage: remove #ifdef COMPILER around call to mp_set_memory_functions.
sewardj [Mon, 14 Feb 2000 10:56:47 +0000 (10:56 +0000)]
[project @ 2000-02-14 10:56:47 by sewardj]
PUSH_N for 0 regs available: also push stack tag to aid debugging
simonpj [Fri, 11 Feb 2000 13:07:25 +0000 (13:07 +0000)]
[project @ 2000-02-11 13:07:25 by simonpj]
Add pprFSInCStyle
simonpj [Fri, 11 Feb 2000 13:06:39 +0000 (13:06 +0000)]
[project @ 2000-02-11 13:06:39 by simonpj]
Add a few functions to Outputable
lewie [Thu, 10 Feb 2000 18:39:51 +0000 (18:39 +0000)]
[project @ 2000-02-10 18:39:51 by lewie]
Fix a couple of Implicit Param wibbles.
simonpj [Thu, 10 Feb 2000 15:39:39 +0000 (15:39 +0000)]
[project @ 2000-02-10 15:39:39 by simonpj]
A few comments about RnIfaces.lookupFixity
lewie [Wed, 9 Feb 2000 18:32:10 +0000 (18:32 +0000)]
[project @ 2000-02-09 18:32:09 by lewie]
Misc. fixes to implicit parameters support.
sewardj [Wed, 9 Feb 2000 14:50:21 +0000 (14:50 +0000)]
[project @ 2000-02-09 14:50:19 by sewardj]
More bug fixes resulting from trying to load small programs into Hugs
using the GHC Prelude:
-- Better handling of kinds on class method types. It's still a kludge
(I reckon) but works well enough to correctly handle methods in
Monad and Functor. See comment in startGHCClass() in interface.c.
-- Add hugsprimReadField and hugsprimShowField.
-- Make error be exported from the Prelude. For some reason, PrelErr.hi
doesn't give a signature for error, so we have to fake it by copying
that of hugsprimError.
-- Handle fixity declarations read from interfaces.
-- Set nameListMonad so that list comprehensions can be translated.
sewardj [Tue, 8 Feb 2000 17:50:46 +0000 (17:50 +0000)]
[project @ 2000-02-08 17:50:46 by sewardj]
-- finishGHCClass(): fill in the .number fields for members in the
correct order.
-- Let nullary constructors be called via their _closure labels so they
don't get heap-allocated.
sewardj [Tue, 8 Feb 2000 15:34:36 +0000 (15:34 +0000)]
[project @ 2000-02-08 15:34:36 by sewardj]
Add hugsprimError, hugsprimCompAux.
sewardj [Tue, 8 Feb 2000 15:32:31 +0000 (15:32 +0000)]
[project @ 2000-02-08 15:32:29 by sewardj]
Many bug fixes for object loading:
-- create class symbol table entries more correctly
-- find GHC-created info tables for names which are constructors
-- add debugging machinery: :d <entity> and symbol-table printers
simonmar [Mon, 7 Feb 2000 20:57:58 +0000 (20:57 +0000)]
[project @ 2000-02-07 20:57:58 by simonmar]
I'm utterly bemused, but it seems that someone called simonpj disabled
the virtual timer in rev 1.25:
+ #if 0 /* tmp--SDM */
initialize_virtual_timer(TICK_MILLISECS);
+ #endif
and tried to blame it on me by putting my name in the comment :-)
(Simon - perhaps you copied this file out of my working tree and
committed it by mistake or something?)
sewardj [Fri, 4 Feb 2000 17:29:24 +0000 (17:29 +0000)]
[project @ 2000-02-04 17:29:24 by sewardj]
Remove various -fvia-Cs, leaving the minimal required set (4 of them).
sewardj [Fri, 4 Feb 2000 17:26:58 +0000 (17:26 +0000)]
[project @ 2000-02-04 17:26:58 by sewardj]
GSQRT, GSIN, GCOS, GTAN: if result size is float (as opposed to double),
truncate the result to that length by writing it into memory and
getting it back again (duh!), since that's what gcc does.
lewie [Fri, 4 Feb 2000 17:02:12 +0000 (17:02 +0000)]
[project @ 2000-02-04 17:02:11 by lewie]
Fix a subtle bug in overlapping instances where a generic instance is sometimes
chosen rather than a more specific one. See discussion at top of InstEnv
for details.
sewardj [Fri, 4 Feb 2000 13:41:00 +0000 (13:41 +0000)]
[project @ 2000-02-04 13:41:00 by sewardj]
startGHCClass(): set the .dsels (superclass dsels) field.