ghc-hetmet.git
24 years ago[project @ 1999-10-31 15:35:32 by sof]
sof [Sun, 31 Oct 1999 15:35:32 +0000 (15:35 +0000)]
[project @ 1999-10-31 15:35:32 by sof]
To workaround gcc/egcs bugs re: handling of non-toplevel "extern" decls,
lift them out to the top. i.e., extend mechanism by which "typedefs"
are lifted out to the toplevel (for the same reasons) to also encompass
"extern"s.

Note: the default is not to emit an "extern" decl for every _ccall_,
as this runs the chance of (trivially) conflicting with header file
includes. So, to enable, use -optC-femit-extern-decls.

24 years ago[project @ 1999-10-29 14:34:25 by sewardj]
sewardj [Fri, 29 Oct 1999 14:34:25 +0000 (14:34 +0000)]
[project @ 1999-10-29 14:34:25 by sewardj]
#include wibble

24 years ago[project @ 1999-10-29 14:33:57 by sewardj]
sewardj [Fri, 29 Oct 1999 14:33:57 +0000 (14:33 +0000)]
[project @ 1999-10-29 14:33:57 by sewardj]
portability wibble

24 years ago[project @ 1999-10-29 14:18:20 by sewardj]
sewardj [Fri, 29 Oct 1999 14:18:21 +0000 (14:18 +0000)]
[project @ 1999-10-29 14:18:20 by sewardj]
Minor efficiency improvements to Prelude I/O functions.

24 years ago[project @ 1999-10-29 14:01:53 by sof]
sof [Fri, 29 Oct 1999 14:01:53 +0000 (14:01 +0000)]
[project @ 1999-10-29 14:01:53 by sof]
Pure Win32 builds doesn't support non-blocking IO

24 years ago[project @ 1999-10-29 13:59:52 by sof]
sof [Fri, 29 Oct 1999 13:59:52 +0000 (13:59 +0000)]
[project @ 1999-10-29 13:59:52 by sof]
wibble

24 years ago[project @ 1999-10-29 13:55:40 by sof]
sof [Fri, 29 Oct 1999 13:57:53 +0000 (13:57 +0000)]
[project @ 1999-10-29 13:55:40 by sof]
attach version info

24 years ago[project @ 1999-10-29 13:54:42 by sof]
sof [Fri, 29 Oct 1999 13:54:42 +0000 (13:54 +0000)]
[project @ 1999-10-29 13:54:42 by sof]
s/TargetPlatform/TARGETPLATFORM/g

24 years ago[project @ 1999-10-29 13:53:37 by sof]
sof [Fri, 29 Oct 1999 13:53:37 +0000 (13:53 +0000)]
[project @ 1999-10-29 13:53:37 by sof]
Support for baking version info into the gen'ed Prelude DLL

24 years ago[project @ 1999-10-29 13:52:30 by sof]
sof [Fri, 29 Oct 1999 13:52:30 +0000 (13:52 +0000)]
[project @ 1999-10-29 13:52:30 by sof]
cbits/ is now also built in a DLL way, if needs be.

24 years ago[project @ 1999-10-29 13:50:16 by sof]
sof [Fri, 29 Oct 1999 13:50:16 +0000 (13:50 +0000)]
[project @ 1999-10-29 13:50:16 by sof]
INSTALL_* tweaks

24 years ago[project @ 1999-10-29 13:41:23 by sewardj]
sewardj [Fri, 29 Oct 1999 13:41:29 +0000 (13:41 +0000)]
[project @ 1999-10-29 13:41:23 by sewardj]
Make foreign import and thus the Prelude work on cygwin.

24 years ago[project @ 1999-10-29 11:41:04 by sewardj]
sewardj [Fri, 29 Oct 1999 11:41:12 +0000 (11:41 +0000)]
[project @ 1999-10-29 11:41:04 by sewardj]
Basic #ifdeffery to make StgHugs compile out of the box on cygwin.

24 years ago[project @ 1999-10-29 01:16:48 by andy]
andy [Fri, 29 Oct 1999 01:16:50 +0000 (01:16 +0000)]
[project @ 1999-10-29 01:16:48 by andy]
Adding in the modified versions of the Standard Haskell 98 libraries.
These should compile under both Hugs and GHC.

use the flags  -D__HUGS__ -DUSE_REPORT_PRELUDE to extract the Hugs src.

24 years ago[project @ 1999-10-29 00:53:25 by andy]
andy [Fri, 29 Oct 1999 00:53:25 +0000 (00:53 +0000)]
[project @ 1999-10-29 00:53:25 by andy]
Fixing bug with derived Read/Show of labeled fields.
(showField and readField were undefined).

24 years ago[project @ 1999-10-28 22:37:27 by andy]
andy [Thu, 28 Oct 1999 22:37:27 +0000 (22:37 +0000)]
[project @ 1999-10-28 22:37:27 by andy]
Wibble in printing of type contexts.

24 years ago[project @ 1999-10-28 18:11:05 by sof]
sof [Thu, 28 Oct 1999 18:11:05 +0000 (18:11 +0000)]
[project @ 1999-10-28 18:11:05 by sof]
When generating C stubs, honour -osuf <x> option

24 years ago[project @ 1999-10-28 16:41:39 by sof]
sof [Thu, 28 Oct 1999 16:41:39 +0000 (16:41 +0000)]
[project @ 1999-10-28 16:41:39 by sof]
More {-# OPTIONS .. #-} tweaks: handle -#include "..." (where
'handle' == 'ignore'.)

24 years ago[project @ 1999-10-28 14:32:06 by sewardj]
sewardj [Thu, 28 Oct 1999 14:32:08 +0000 (14:32 +0000)]
[project @ 1999-10-28 14:32:06 by sewardj]
Make platform-specific dynamic loaders add ".so", ".dll" etc to
library names, so that f-i decls can be written without them.
Modify Prelude accordingly.

Remove unused functionality in dynamic.c and make err msgs a bit
better.

24 years ago[project @ 1999-10-28 08:21:15 by sof]
sof [Thu, 28 Oct 1999 08:21:15 +0000 (08:21 +0000)]
[project @ 1999-10-28 08:21:15 by sof]
Don't warn user of unrecognised options when processing
{-# OPTIONS .. #-} pragmas.

24 years ago[project @ 1999-10-28 07:53:13 by simonpj]
simonpj [Thu, 28 Oct 1999 07:53:13 +0000 (07:53 +0000)]
[project @ 1999-10-28 07:53:13 by simonpj]
More RULES documentation

24 years ago[project @ 1999-10-27 15:29:37 by simonmar]
simonmar [Wed, 27 Oct 1999 15:29:37 +0000 (15:29 +0000)]
[project @ 1999-10-27 15:29:37 by simonmar]
Use C-style comments instead of assembler comments - the '#' confuses
cpp when mkdependC'ing.

24 years ago[project @ 1999-10-27 14:05:27 by sof]
sof [Wed, 27 Oct 1999 14:05:27 +0000 (14:05 +0000)]
[project @ 1999-10-27 14:05:27 by sof]
Support for "{-# OPTIONS <opts> #-}" in headers of (de-litted)
source files. Currently, only -syslib <foo> and "-fglasgow-exts"
settings are picked up from within <opts>.

Mildly tested; give it a twirl.

24 years ago[project @ 1999-10-27 11:57:32 by sewardj]
sewardj [Wed, 27 Oct 1999 11:57:32 +0000 (11:57 +0000)]
[project @ 1999-10-27 11:57:32 by sewardj]
remove debug printing -- wibble

24 years ago[project @ 1999-10-27 11:55:51 by sewardj]
sewardj [Wed, 27 Oct 1999 11:55:51 +0000 (11:55 +0000)]
[project @ 1999-10-27 11:55:51 by sewardj]
Dot-ify local labels.

24 years ago[project @ 1999-10-27 11:11:11 by sewardj]
sewardj [Wed, 27 Oct 1999 11:11:11 +0000 (11:11 +0000)]
[project @ 1999-10-27 11:11:11 by sewardj]
universal_call_c_x86_stdcall: assume *I* have been ccall'd, not
stdcall'd, so don't clear my own args on return.

24 years ago[project @ 1999-10-27 09:58:36 by simonmar]
simonmar [Wed, 27 Oct 1999 09:58:36 +0000 (09:58 +0000)]
[project @ 1999-10-27 09:58:36 by simonmar]
reduce block size to 4k

24 years ago[project @ 1999-10-27 09:57:48 by simonmar]
simonmar [Wed, 27 Oct 1999 09:57:48 +0000 (09:57 +0000)]
[project @ 1999-10-27 09:57:48 by simonmar]
small cleanup; reduce amount of conditionally-compiled stuff

24 years ago[project @ 1999-10-27 09:45:49 by simonmar]
simonmar [Wed, 27 Oct 1999 09:45:50 +0000 (09:45 +0000)]
[project @ 1999-10-27 09:45:49 by simonmar]
Add way 's', for SMP/PThreads

24 years ago[project @ 1999-10-27 09:43:25 by simonmar]
simonmar [Wed, 27 Oct 1999 09:43:25 +0000 (09:43 +0000)]
[project @ 1999-10-27 09:43:25 by simonmar]
Junk removal

24 years ago[project @ 1999-10-27 08:54:16 by simonmar]
simonmar [Wed, 27 Oct 1999 08:54:16 +0000 (08:54 +0000)]
[project @ 1999-10-27 08:54:16 by simonmar]
Fix crashes in re_search.  Several other functions in this file need
fixing too.

24 years ago[project @ 1999-10-26 17:27:25 by sewardj]
sewardj [Tue, 26 Oct 1999 17:27:54 +0000 (17:27 +0000)]
[project @ 1999-10-26 17:27:25 by sewardj]
Add foreign import/export implementations for x86 stdcall convention.

Make parser notice calling conventions on f-i and f-x declarations,
check they are supported on the platform Hugs is compiled on.  Pass
them all the way through the code generator to the interpreter.

Allow f-i/f-x decls to omit the calling convention, in which case
ccall is used.  Remove calling convention from all such decls
in the Prelude so it will work on any platform.

24 years ago[project @ 1999-10-26 17:15:39 by sewardj]
sewardj [Tue, 26 Oct 1999 17:15:39 +0000 (17:15 +0000)]
[project @ 1999-10-26 17:15:39 by sewardj]
markStablePtrTable: correctly handle case when one stable ptr refers
to an indirection to an item referred to directly by a second
stable ptr (I think!).

24 years ago[project @ 1999-10-26 09:34:09 by sof]
sof [Tue, 26 Oct 1999 09:34:09 +0000 (09:34 +0000)]
[project @ 1999-10-26 09:34:09 by sof]
wibble

24 years ago[project @ 1999-10-26 08:41:54 by sof]
sof [Tue, 26 Oct 1999 08:41:54 +0000 (08:41 +0000)]
[project @ 1999-10-26 08:41:54 by sof]
Foreign imports that use ByteArrays now need to be marked as being 'unsafe.'

24 years ago[project @ 1999-10-26 08:30:31 by simonmar]
simonmar [Tue, 26 Oct 1999 08:30:31 +0000 (08:30 +0000)]
[project @ 1999-10-26 08:30:31 by simonmar]
Fix documentation installing in a binary dist.

24 years ago[project @ 1999-10-25 13:20:57 by sof]
sof [Mon, 25 Oct 1999 13:21:16 +0000 (13:21 +0000)]
[project @ 1999-10-25 13:20:57 by sof]
FFI wibble:

* disallow the use of {Mutable}ByteArrays in 'safe' foreign imports.
* ensure that ForeignObjs live across a _ccall_GC_.

24 years ago[project @ 1999-10-25 05:19:22 by andy]
andy [Mon, 25 Oct 1999 05:19:22 +0000 (05:19 +0000)]
[project @ 1999-10-25 05:19:22 by andy]
Adding a axiomatic testing framework library to help test Hugs and GHC
libraries.

Here is the example for the test of concat.

test_concat = testRules "concat" [
do (xss :: [[ALPHA]]) <- var "xss"
   concat xss <==> foldr (++) [] xss
]

xss here ranges over various rendering of list of list,
including bottom and lists containing bottom.

<==> uses a small piece of compiler/interpreter specifics to
allow testing for

error "" ... <==> ... error "" ===> Pass

24 years ago[project @ 1999-10-22 15:58:21 by sewardj]
sewardj [Fri, 22 Oct 1999 15:58:26 +0000 (15:58 +0000)]
[project @ 1999-10-22 15:58:21 by sewardj]
* Completion of foreign import and foreign export for x86 ccall
  convention.  f-i's and f-x's can pass and return
  Char Int Word Addr StablePtr Float and Double.

* Significant cleanups and infrastructure improvements.
  Characterise functions by (instruction set, calling convention)
  pair where necessary, since that's what counts.

  Moved foreign export code into rts/ForeignCall.c.
  Should now be in a good position to implement x86 stdcall
  convention.

24 years ago[project @ 1999-10-22 10:00:19 by sewardj]
sewardj [Fri, 22 Oct 1999 10:00:19 +0000 (10:00 +0000)]
[project @ 1999-10-22 10:00:19 by sewardj]
wibble

24 years ago[project @ 1999-10-22 09:59:28 by sewardj]
sewardj [Fri, 22 Oct 1999 09:59:34 +0000 (09:59 +0000)]
[project @ 1999-10-22 09:59:28 by sewardj]
Cleanup of the foreign import code.  Also allow StablePtrs
to be passed back and forth.

24 years ago[project @ 1999-10-22 08:47:39 by sof]
sof [Fri, 22 Oct 1999 08:47:39 +0000 (08:47 +0000)]
[project @ 1999-10-22 08:47:39 by sof]
made writeErrString__ f.i. unsafe

24 years ago[project @ 1999-10-22 08:40:25 by sof]
sof [Fri, 22 Oct 1999 08:40:25 +0000 (08:40 +0000)]
[project @ 1999-10-22 08:40:25 by sof]
Dotted the i's

24 years ago[project @ 1999-10-21 09:18:02 by simonmar]
simonmar [Thu, 21 Oct 1999 09:18:02 +0000 (09:18 +0000)]
[project @ 1999-10-21 09:18:02 by simonmar]
Add some missing ticky macros.

24 years ago[project @ 1999-10-21 08:23:56 by simonmar]
simonmar [Thu, 21 Oct 1999 08:23:56 +0000 (08:23 +0000)]
[project @ 1999-10-21 08:23:56 by simonmar]
Eliminate those annoying "unexpected lazy BHing required" messages
during ticky-ticky profiling.

24 years ago[project @ 1999-10-20 10:14:47 by simonmar]
simonmar [Wed, 20 Oct 1999 10:14:47 +0000 (10:14 +0000)]
[project @ 1999-10-20 10:14:47 by simonmar]
Micro-optimisation: don't need to test for an empty queue in a
BLACKHOLE_BQ, now that we're distinguishing BLACKHOLE and
BLACKHOLE_BQ.  Shortens the update code by a couple of instructions.

24 years ago[project @ 1999-10-20 10:08:33 by sof]
sof [Wed, 20 Oct 1999 10:08:33 +0000 (10:08 +0000)]
[project @ 1999-10-20 10:08:33 by sof]
Back out prev. commit which POSIXified getClockTime() - non-POSIX calls
really are superior (better resolution.)

24 years ago[project @ 1999-10-20 02:15:56 by andy]
andy [Wed, 20 Oct 1999 02:16:05 +0000 (02:16 +0000)]
[project @ 1999-10-20 02:15:56 by andy]
Adding final diffs between Hugs98 (Jan99) and Hugs98 (Sep99)
manually to STG Hugs.

24 years ago[project @ 1999-10-19 23:51:57 by andy]
andy [Tue, 19 Oct 1999 23:52:02 +0000 (23:52 +0000)]
[project @ 1999-10-19 23:51:57 by andy]
Adding a generic version of universal call that
only works for specific argument patterns.

It allows ports to work on the Hugs Prelude immeduately,
even if univeral_call_c_<os/specific> is not ported.

Also, commented out (longstanding?) bug with incorrect call
to setCurrModule.

24 years ago[project @ 1999-10-19 15:41:18 by simonmar]
simonmar [Tue, 19 Oct 1999 15:41:18 +0000 (15:41 +0000)]
[project @ 1999-10-19 15:41:18 by simonmar]
use PUSH_ON_RUN_QUEUE macro instead of (slightly less efficient)
inline version.

24 years ago[project @ 1999-10-19 15:39:08 by simonmar]
simonmar [Tue, 19 Oct 1999 15:39:08 +0000 (15:39 +0000)]
[project @ 1999-10-19 15:39:08 by simonmar]
ASSERT that the tso link field is empty before pushing it on the end
of a queue.

24 years ago[project @ 1999-10-19 15:11:31 by sewardj]
sewardj [Tue, 19 Oct 1999 15:11:31 +0000 (15:11 +0000)]
[project @ 1999-10-19 15:11:31 by sewardj]
Increase default cutoff limit from 16 to 60.  nofib/real/anna
won't compile even with this value set to 50.  Presumably the
same problem afflicts Hugs98-Sept98 ?

24 years ago[project @ 1999-10-19 15:09:40 by sewardj]
sewardj [Tue, 19 Oct 1999 15:09:40 +0000 (15:09 +0000)]
[project @ 1999-10-19 15:09:40 by sewardj]
Remove debugging export of ST(..), which causes failures in nofib.

24 years ago[project @ 1999-10-19 12:11:05 by sewardj]
sewardj [Tue, 19 Oct 1999 12:11:05 +0000 (12:11 +0000)]
[project @ 1999-10-19 12:11:05 by sewardj]
Wibble.

24 years ago[project @ 1999-10-19 12:05:27 by sewardj]
sewardj [Tue, 19 Oct 1999 12:05:27 +0000 (12:05 +0000)]
[project @ 1999-10-19 12:05:27 by sewardj]
Make typeVarsIn non-static since interface.c needs to see it.

24 years ago[project @ 1999-10-19 11:41:35 by sewardj]
sewardj [Tue, 19 Oct 1999 11:41:35 +0000 (11:41 +0000)]
[project @ 1999-10-19 11:41:35 by sewardj]
Change CFunDescriptor to match new foreign import implementation.

24 years ago[project @ 1999-10-19 11:01:24 by sewardj]
sewardj [Tue, 19 Oct 1999 11:03:39 +0000 (11:03 +0000)]
[project @ 1999-10-19 11:01:24 by sewardj]
Reimplement back-end for foreign import (calling out).

Return to a cleaned-up version of Alastair's callfun.S,
wherein an architecture and calling-convention specific
piece of assembly code is used to construct arguments and
then call the specified function, under the direction of
a type descriptor string.

Defined an interface to this function (universal_call_c)
which I hope will work regardless of 32-or-64 bitness,
endianness and calling convention.

Current implementation is for x86-linux only.

24 years ago[project @ 1999-10-18 11:49:47 by sof]
sof [Mon, 18 Oct 1999 11:49:47 +0000 (11:49 +0000)]
[project @ 1999-10-18 11:49:47 by sof]
* Time.CalendarTime.ctMonth's type should be Month (was Int.)
* fixed Time.addToClockTime - the original implementation was
  completely wrong (thanks to George Russell for indirectly
  reporting the bug.)
* Added the non-std Time.noTimeDiff, handy when you want to do
  calendar calculations, e.g.,

            ct <- getClockTime
            print (toUTCTime (addToClockTime noTimeDiff{tdMonth=1} ct))

* many 'foreign import' decls were not marked as unsafe, even though they
  were passing out MutableByteArray and ByteArray vals. Fixed.

24 years ago[project @ 1999-10-18 11:44:20 by kglynn]
kglynn [Mon, 18 Oct 1999 11:44:20 +0000 (11:44 +0000)]
[project @ 1999-10-18 11:44:20 by kglynn]
The fix to ignore error() cases when doing CPR analysis exposed a
problem with the Void type.  A function that always constructs a void
result was converted to w/w, but the worker was producing an unboxed
tuple with 0 components.  Not good.

Fixed so that constructing a void gives CPR value Top.  This is OK
because we won't really be constructing a void each time, we will be
returning a pointer to a shared void cell.

24 years ago[project @ 1999-10-16 02:17:25 by andy]
andy [Sat, 16 Oct 1999 02:17:32 +0000 (02:17 +0000)]
[project @ 1999-10-16 02:17:25 by andy]
Adding diffs between Hugs98 (Jan99) and Hugs98 (Sep99)
manually to STG Hugs.

Brings in large change to typechecking sub-system.

24 years ago[project @ 1999-10-15 23:52:00 by andy]
andy [Fri, 15 Oct 1999 23:52:01 +0000 (23:52 +0000)]
[project @ 1999-10-15 23:52:00 by andy]
Adding diffs between Hugs98 (Jan99) and Hugs98 (Sep99)
manually to STG Hugs.

These are the changes to input.c, with minor tweeks to
connect.h and parser.y to make this work.

24 years ago[project @ 1999-10-15 22:35:04 by andy]
andy [Fri, 15 Oct 1999 22:35:05 +0000 (22:35 +0000)]
[project @ 1999-10-15 22:35:04 by andy]
Adding diffs between Hugs98 (Jan99) and Hugs98 (Sep99) manually to STG Hugs.

24 years ago[project @ 1999-10-15 21:40:49 by andy]
andy [Fri, 15 Oct 1999 21:41:05 +0000 (21:41 +0000)]
[project @ 1999-10-15 21:40:49 by andy]
Updating all copyright messages to the same as Hugs98.

24 years ago[project @ 1999-10-15 19:11:54 by andy]
andy [Fri, 15 Oct 1999 19:11:55 +0000 (19:11 +0000)]
[project @ 1999-10-15 19:11:54 by andy]
Changing order of check for use of DLL for dynamic linking.
(Under cygwin, we still want to use DLL's).

24 years ago[project @ 1999-10-15 11:02:06 by sewardj]
sewardj [Fri, 15 Oct 1999 11:03:10 +0000 (11:03 +0000)]
[project @ 1999-10-15 11:02:06 by sewardj]
Added basic support for foreign export dynamic.

Many aspects of it are still broken:
* Only supports x86-linux.
* The range of allowable types is small: Char Int Float Double
  Addr and Word.
* Adjustor thunks are never freed.
* Returning Doubles or Floats doesn't work at all.

I expect to fix some of these shortly.  foreign import also
needs redoing, so it can accept any number of arguments of
any type.

Also:
* Fixed setRtsFlags in Evaluator.c to make it endian-independent.
* Fixed raisePrim in Evaluator.c so things like division by zero,
  array index errors, etc, throw an exception instead of
  terminating StgHugs.  raisePrim is renamed makeErrorCall.

24 years ago[project @ 1999-10-15 09:50:22 by simonmar]
simonmar [Fri, 15 Oct 1999 09:50:22 +0000 (09:50 +0000)]
[project @ 1999-10-15 09:50:22 by simonmar]
Add macros for two-register call/return convention, for experimentation.

24 years ago[project @ 1999-10-15 08:56:46 by simonmar]
simonmar [Fri, 15 Oct 1999 08:56:46 +0000 (08:56 +0000)]
[project @ 1999-10-15 08:56:46 by simonmar]
set $(HC) to the inplace ghc driver script.

24 years ago[project @ 1999-10-14 13:44:55 by simonpj]
simonpj [Thu, 14 Oct 1999 13:44:55 +0000 (13:44 +0000)]
[project @ 1999-10-14 13:44:55 by simonpj]
Swap ticky column order

24 years ago[project @ 1999-10-14 13:33:19 by simonmar]
simonmar [Thu, 14 Oct 1999 13:33:19 +0000 (13:33 +0000)]
[project @ 1999-10-14 13:33:19 by simonmar]
Allow unboxed tuples with zero components in unfoldings, CPR seems to
generate them occasionally (perhaps it shouldn't - there is very
little difference between returning () and (# #)).

24 years ago[project @ 1999-10-14 13:12:22 by simonmar]
simonmar [Thu, 14 Oct 1999 13:12:22 +0000 (13:12 +0000)]
[project @ 1999-10-14 13:12:22 by simonmar]
oops: unbreak non-ticky compiles

24 years ago[project @ 1999-10-14 07:23:10 by simonpj]
simonpj [Thu, 14 Oct 1999 07:23:10 +0000 (07:23 +0000)]
[project @ 1999-10-14 07:23:10 by simonpj]
Add a test for scoped type variables

24 years ago[project @ 1999-10-13 16:39:10 by simonmar]
simonmar [Wed, 13 Oct 1999 16:39:24 +0000 (16:39 +0000)]
[project @ 1999-10-13 16:39:10 by simonmar]
Crude allocation-counting extension to ticky-ticky profiling.

Allocations are counted against the closest lexically enclosing
function closure, so you need to map the output back to the STG code.

24 years ago[project @ 1999-10-13 10:43:15 by simonmar]
simonmar [Wed, 13 Oct 1999 10:43:15 +0000 (10:43 +0000)]
[project @ 1999-10-13 10:43:15 by simonmar]
typo

24 years ago[project @ 1999-10-13 10:09:03 by simonmar]
simonmar [Wed, 13 Oct 1999 10:13:15 +0000 (10:13 +0000)]
[project @ 1999-10-13 10:09:03 by simonmar]
#ifdefs for bootstrapping

24 years ago[project @ 1999-10-13 09:59:36 by simonmar]
simonmar [Wed, 13 Oct 1999 09:59:36 +0000 (09:59 +0000)]
[project @ 1999-10-13 09:59:36 by simonmar]
add a bunch of #ifdefs so we can bootstrap again

24 years ago[project @ 1999-10-13 09:25:59 by simonmar]
simonmar [Wed, 13 Oct 1999 09:25:59 +0000 (09:25 +0000)]
[project @ 1999-10-13 09:25:59 by simonmar]
Don't use variables beginning with underscore, 3.02 doesn't grok them.

24 years ago[project @ 1999-10-12 14:50:07 by simonmar]
simonmar [Tue, 12 Oct 1999 14:50:07 +0000 (14:50 +0000)]
[project @ 1999-10-12 14:50:07 by simonmar]
typo

24 years ago[project @ 1999-10-12 13:00:52 by sof]
sof [Tue, 12 Oct 1999 13:00:52 +0000 (13:00 +0000)]
[project @ 1999-10-12 13:00:52 by sof]
install (INSTALL_PROGS): a ; too many

24 years ago[project @ 1999-10-11 12:22:58 by sewardj]
sewardj [Mon, 11 Oct 1999 12:22:58 +0000 (12:22 +0000)]
[project @ 1999-10-11 12:22:58 by sewardj]
Disable object loading until Hugs/GHC class/instance sync is done.

24 years ago[project @ 1999-10-11 12:16:16 by sewardj]
sewardj [Mon, 11 Oct 1999 12:16:16 +0000 (12:16 +0000)]
[project @ 1999-10-11 12:16:16 by sewardj]
Minor library handling mods to make nofib work again.

24 years ago[project @ 1999-10-11 12:15:12 by sewardj]
sewardj [Mon, 11 Oct 1999 12:15:13 +0000 (12:15 +0000)]
[project @ 1999-10-11 12:15:12 by sewardj]
Try and make finding of Prelude libraries for hugs a bit saner.
Guess (badly) the absolute pathname to the hugs executable, and
use that to derive the location of the default library.

24 years ago[project @ 1999-10-11 09:29:12 by simonmar]
simonmar [Mon, 11 Oct 1999 09:29:12 +0000 (09:29 +0000)]
[project @ 1999-10-11 09:29:12 by simonmar]
use $(GHC), not $(HC)

24 years ago[project @ 1999-10-11 08:49:06 by simonmar]
simonmar [Mon, 11 Oct 1999 08:49:06 +0000 (08:49 +0000)]
[project @ 1999-10-11 08:49:06 by simonmar]
use $(GHC), not $(HC)

24 years ago[project @ 1999-10-11 08:38:25 by simonmar]
simonmar [Mon, 11 Oct 1999 08:38:25 +0000 (08:38 +0000)]
[project @ 1999-10-11 08:38:25 by simonmar]
use $(GHC), not $(HC)

24 years ago[project @ 1999-10-10 18:38:52 by sof]
sof [Sun, 10 Oct 1999 18:38:53 +0000 (18:38 +0000)]
[project @ 1999-10-10 18:38:52 by sof]
Added the {index,read,write}{PrimTy}OffForeignObj ops to Foreign's
export list + upd. the docs on same a little.

24 years ago[project @ 1999-10-08 15:20:32 by sof]
sof [Fri, 8 Oct 1999 15:20:32 +0000 (15:20 +0000)]
[project @ 1999-10-08 15:20:32 by sof]
Incorporate some fixes for Hugs

24 years ago[project @ 1999-10-08 15:17:00 by simonmar]
simonmar [Fri, 8 Oct 1999 15:17:00 +0000 (15:17 +0000)]
[project @ 1999-10-08 15:17:00 by simonmar]
While fiddling around with concurrency & exceptions this afternoon, I
realised an important property of raiseInThread: it is synchronous.
The exception is raised immediately, and doesn't sit in some queue
somewhere waiting to be raised at a later date.

This is important if you have eg. two threads that can kill each
other.  We can guarantee that only one of the threads gets to kill the
other, under no circumstances can there be two killThreads fired in
opposite directions at the same time.

Documented this.

24 years ago[project @ 1999-10-08 14:16:15 by simonmar]
simonmar [Fri, 8 Oct 1999 14:16:15 +0000 (14:16 +0000)]
[project @ 1999-10-08 14:16:15 by simonmar]
Change that slipped through the net in the recent build system changes.

24 years ago[project @ 1999-10-08 11:00:16 by sof]
sof [Fri, 8 Oct 1999 11:00:16 +0000 (11:00 +0000)]
[project @ 1999-10-08 11:00:16 by sof]
Improved on the install rules for libexecs and bins a little
(at least from a Win32 pov - you can now install "happy.bin"
without trouble.)

24 years ago[project @ 1999-10-07 13:31:49 by sof]
sof [Thu, 7 Oct 1999 13:31:49 +0000 (13:31 +0000)]
[project @ 1999-10-07 13:31:49 by sof]
Support for generating a VERSIONINFO resource that can be pinned
onto generated DLLs and EXEs (Win32 specific.)

24 years ago[project @ 1999-10-07 13:09:48 by sof]
sof [Thu, 7 Oct 1999 13:09:48 +0000 (13:09 +0000)]
[project @ 1999-10-07 13:09:48 by sof]
Delay shutting down WinSock until exit() time

24 years ago[project @ 1999-10-06 12:25:18 by simonmar]
simonmar [Wed, 6 Oct 1999 12:25:18 +0000 (12:25 +0000)]
[project @ 1999-10-06 12:25:18 by simonmar]
Always prepend `#! $(INTERP)' to a script, even if we're BIN_DISTing.
It doesn't do any harm, and means that we can execute the BIN_DIST
version of a script from the build tree, provided it doesn't depend on
any global paths.

24 years ago[project @ 1999-10-05 11:36:27 by simonmar]
simonmar [Tue, 5 Oct 1999 11:36:28 +0000 (11:36 +0000)]
[project @ 1999-10-05 11:36:27 by simonmar]
GHC versions are now of the form AA.BB.C, where AA is the major
version, BB is the minor version, and C is the patchlevel.

Part of this commit accidentally ended up in an earlier commit to
fptools/ghc/mk/version.mk, which contains some comments on the version
rationale.  Excerpt:

# ProjectVersionInt does *not* contain the patchlevel (rationale: this
# figure is used for conditional compilations, and library interfaces
# etc. are not supposed to change between patchlevels).

i.e. a patchlevel is for bugfixes only, no new features or
interface-changing changes.  Unfortunately, we made this mistake in
4.04pl1, and won't be making it again.

24 years ago[project @ 1999-10-05 10:30:26 by simonmar]
simonmar [Tue, 5 Oct 1999 10:30:35 +0000 (10:30 +0000)]
[project @ 1999-10-05 10:30:26 by simonmar]
Build System Cleanup
--------------------

This commit is intended to clear the way for automatic RPM building.
In particular, the idea is that 'make install' doesn't build anything,
so you can do

make install prefix=/some/tmp/prefix

to install everything in /some/tmp/prefix, but leave the hardwired-in
install directories the same.

For scripts that depend on the install dir (currently just the GHC
driver and mkdependHS), we now build two versions: <script>-inplace,
which is used for running the script from the build tree, and
<script>, which is the to-be-installed version.

NOTE: binary distributions are now a little bit trickier to build.
You *must* include the line "BIN_DIST=1" in your build.mk if you
intend to make a binary distribution from the current build tree.
This is because certain scripts have to be built differently, and we
don't rebuild them when doing 'make binary-dist' anymore (since 'make
binary-dist' just does a 'make install' with a re-targetted prefix,
just like the RPM builder).

Other changes

- the binary-dist machinery is now all in fptools/Makefile
- removed a gratuitous $(package)-$(version) level of
  directories from the binary distribution.
- binary distributions are now placed under the package
  name, rather than fptools/fptools.
- various other minor cleanups.

24 years ago[project @ 1999-10-05 10:22:40 by simonmar]
simonmar [Tue, 5 Oct 1999 10:22:42 +0000 (10:22 +0000)]
[project @ 1999-10-05 10:22:40 by simonmar]
--with-ghc-hc is now --with-hc (to be used as the "locally installed
Haskell compiler" for all projects).

24 years ago[project @ 1999-10-05 09:58:13 by simonmar]
simonmar [Tue, 5 Oct 1999 09:58:13 +0000 (09:58 +0000)]
[project @ 1999-10-05 09:58:13 by simonmar]
Remove hstags for now.

24 years ago[project @ 1999-10-05 09:04:30 by kglynn]
kglynn [Tue, 5 Oct 1999 09:04:30 +0000 (09:04 +0000)]
[project @ 1999-10-05 09:04:30 by kglynn]
(keving)

Much simplified and beautified CPR analysis code.  (And also much
shorter, we'd better write this up before it disappears).

Added (constant) functions to the abstract domain. Note that
Fun^n Bot (n >= 1) == Bot and likewise for Top

Treats divergent computations as Bot (rather than Top as previous) so
non-divergent paths dominate which allows us to generate more accurate
CPR info (see e.g. chr).

We use the result of strictness analysis to tell us if an Id is
divergent (when applied to sufficient args), therefore we should run
after the strictness analysis pass.

24 years ago[project @ 1999-10-05 09:02:30 by simonmar]
simonmar [Tue, 5 Oct 1999 09:02:39 +0000 (09:02 +0000)]
[project @ 1999-10-05 09:02:30 by simonmar]
Flatten out the tuple of bounds in the Array, MutableArray and
ByteArray datatypes.  This improves performance of heavy array
manipulations quite significantly.

24 years ago[project @ 1999-10-04 16:14:34 by simonmar]
simonmar [Mon, 4 Oct 1999 16:14:34 +0000 (16:14 +0000)]
[project @ 1999-10-04 16:14:34 by simonmar]
Service signal handlers if we get an EINTR from select(2).

24 years ago[project @ 1999-10-04 16:13:18 by simonmar]
simonmar [Mon, 4 Oct 1999 16:13:18 +0000 (16:13 +0000)]
[project @ 1999-10-04 16:13:18 by simonmar]
allow raising exceptions in threads blocked on I/O or time delays