ghc-hetmet.git
25 years ago[project @ 1999-05-17 14:48:30 by simonm]
simonm [Mon, 17 May 1999 14:48:30 +0000 (14:48 +0000)]
[project @ 1999-05-17 14:48:30 by simonm]
Workarond apparent bug in FreeBSD 'sh'.

25 years ago[project @ 1999-05-14 19:49:22 by sof]
sof [Fri, 14 May 1999 19:49:23 +0000 (19:49 +0000)]
[project @ 1999-05-14 19:49:22 by sof]
Added (yield :: IO ()) - the underlying bits were already there, really.

25 years ago[project @ 1999-05-14 11:23:47 by simonm]
simonm [Fri, 14 May 1999 11:23:47 +0000 (11:23 +0000)]
[project @ 1999-05-14 11:23:47 by simonm]
Tmp fix: compile HsBasic with -fno-prune-tydecls.

25 years ago[project @ 1999-05-13 17:30:50 by simonm]
simonm [Thu, 13 May 1999 17:31:14 +0000 (17:31 +0000)]
[project @ 1999-05-13 17:30:50 by simonm]
Support for "unregisterised" builds.  An unregisterised build doesn't
use the assembly mangler, doesn't do tail jumping (uses the
mini-interpreter), and doesn't use global register variables.

Plenty of cleanups and bugfixes in the process.

Add way 'u' to GhcLibWays to get unregisterised libs & RTS.

[ note: not *quite* working fully yet... there's still a bug or two
  lurking ]

25 years ago[project @ 1999-05-13 13:08:24 by sof]
sof [Thu, 13 May 1999 13:08:24 +0000 (13:08 +0000)]
[project @ 1999-05-13 13:08:24 by sof]
Added documentation for (yield :: IO ())

25 years ago[project @ 1999-05-13 11:03:10 by sof]
sof [Thu, 13 May 1999 11:03:11 +0000 (11:03 +0000)]
[project @ 1999-05-13 11:03:10 by sof]
Testing the Random library (not complete).

25 years ago[project @ 1999-05-13 11:00:07 by sof]
sof [Thu, 13 May 1999 11:00:07 +0000 (11:00 +0000)]
[project @ 1999-05-13 11:00:07 by sof]
randomIvalInteger: The difference between '1' and 'l' is rather slight
at the level of pixels. At the level of Haskell programs however, the
difference is rather more pronounced :)

25 years ago[project @ 1999-05-13 10:52:55 by sof]
sof [Thu, 13 May 1999 10:52:55 +0000 (10:52 +0000)]
[project @ 1999-05-13 10:52:55 by sof]
wibble

25 years ago[project @ 1999-05-13 10:45:03 by sof]
sof [Thu, 13 May 1999 10:45:05 +0000 (10:45 +0000)]
[project @ 1999-05-13 10:45:03 by sof]
Fised & improved lexing of escaped numeric character literals + a regression
test.

25 years ago[project @ 1999-05-12 12:23:53 by keithw]
keithw [Wed, 12 May 1999 12:24:16 +0000 (12:24 +0000)]
[project @ 1999-05-12 12:23:53 by keithw]
Fix some tests, mainly to deal with new dictionary format in interface files.

25 years ago[project @ 1999-05-11 17:05:43 by keithw]
keithw [Tue, 11 May 1999 17:05:49 +0000 (17:05 +0000)]
[project @ 1999-05-11 17:05:43 by keithw]
Remove some comments left in by mistake.

25 years ago[project @ 1999-05-11 16:49:44 by keithw]
keithw [Tue, 11 May 1999 16:49:44 +0000 (16:49 +0000)]
[project @ 1999-05-11 16:49:44 by keithw]
Whoops, forgot to mention the following change:

  Various ticky counters have changed:
    - TICK_ALLOC_THK is now TICK_ALLOC_{UP,SE}_THK (updatable versus
      single-entry).
    - TICK_UPD_{NEW,OLD}_IND is now TICK_UPD_{NEW,OLD}_{,PERM_}IND.
    - UPD_{CAF_,}BH_{UPDATABLE,SINGLE_ENTRY}_ctr added, counting the
      creation of various flavours of black holes.
    - ENT_PERM_IND, UPD_{NEW,OLD}_PERM_IND are only dumped if update
      squeezing is off; see comment in Ticky.c

  Some documentation for ticky-ticky has been added to the user guide.

25 years ago[project @ 1999-05-11 16:47:39 by keithw]
keithw [Tue, 11 May 1999 16:48:00 +0000 (16:48 +0000)]
[project @ 1999-05-11 16:47:39 by keithw]
(this is number 9 of 9 commits to be applied together)

  Usage verification changes / ticky-ticky changes:

  We want to verify that SingleEntry thunks are indeed entered at most
  once.  In order to do this, -ticky / -DTICKY_TICKY turns on eager
  blackholing.  We blackhole with new blackholes: SE_BLACKHOLE and
  SE_CAF_BLACKHOLE.  We will enter one of these if we attempt to enter
  a SingleEntry thunk twice.  Note that CAFs are dealt with in by
  codeGen, and ordinary thunks by the RTS.

  We also want to see how many times we enter each Updatable thunk.
  To this end, we have modified -ticky.  When -ticky is on, we update
  with a permanent indirection, and arrange that when we enter a
  permanent indirection we count the entry and then convert the
  indirection to a normal indirection.  This gives us a means of
  counting the number of thunks entered again after the first entry.
  Obviously this screws up profiling, and so you can't build a ticky
  and profiling compiler any more.

  Also a few other changes that didn't make it into the previous 8
  commits, but form a part of this set.

25 years ago[project @ 1999-05-11 16:46:20 by keithw]
keithw [Tue, 11 May 1999 16:46:20 +0000 (16:46 +0000)]
[project @ 1999-05-11 16:46:20 by keithw]
(this is number 8 of 9 commits to be applied together)

  The CPP flag LAZY_BLACKHOLING has been moved up from options.h into
  Stg.h, so GHC can see it as well as the interpreter, and
  EAGER_BLACKHOLING has been added.  The default is still
  LAZY_BLACKHOLING && !EAGER_BLACKHOLING.

25 years ago[project @ 1999-05-11 16:44:02 by keithw]
keithw [Tue, 11 May 1999 16:44:07 +0000 (16:44 +0000)]
[project @ 1999-05-11 16:44:02 by keithw]
(this is number 7 of 9 commits to be applied together)

  The code generator now incorporates the update avoidance
  optimisation: a thunk of __o type is now made SingleEntry rather
  than Updatable.

  We want to verify that SingleEntry thunks are indeed entered at most
  once.  In order to do this, -ticky turns on eager blackholing.
  Ordinary thunks will be dealt with by the RTS, but CAFs are
  blackholed by the code generator.  We blackhole with new blackholes:
  SE_CAF_BLACKHOLE.  We will enter one of these if we attempt to enter
  a SingleEntry thunk twice.

25 years ago[project @ 1999-05-11 16:42:54 by keithw]
keithw [Tue, 11 May 1999 16:42:54 +0000 (16:42 +0000)]
[project @ 1999-05-11 16:42:54 by keithw]
(this is number 6 of 9 commits to be applied together)

  It is useful to know the usage of a lambda outside the usage
  inference (specifically, in the simplifier); thus as a temporary
  hack to make this information available without undue modification
  to the rest of the compiler, the information is copied into the
  IdInfo field of the binder.

  The new information is LBVarInfo, which can be either NoLBVarInfo or
  IsOneShotLambda, corresponding to __m/no info and __o respectively.
  LBVarInfo is not intended to be printed in interface files; to
  enforce this ppLBVarInfo is defined to print nothing.

25 years ago[project @ 1999-05-11 16:42:29 by keithw]
keithw [Tue, 11 May 1999 16:42:32 +0000 (16:42 +0000)]
[project @ 1999-05-11 16:42:29 by keithw]
(this is number 5b of 9 commits to be applied together)

  The major purpose of this commit is to introduce usage information
  and usage analysis into the compiler, per the paper _Once Upon a
  Polymorphic Type_ (Keith Wansbrough and Simon Peyton Jones, POPL'99,
  and Glasgow TR-1998-19).

  An analysis is provided that annotates a Core program with optimal
  usage annotations.  This analysis is performed by -fusagesp
  (=CoreDoUSPInf), and requires -fusagesp-on (=opt_UsageSPOn).  This
  latter performs an analysis in tidyCorePgm, immediately before
  CoreToStg is done.  The driver flag -fusagesp currently provides hsc
  with -fusagesp-on, and if -O is on does a single -fusagesp early on
  in the Core-to-Core sequence.  Please change this as desired.

  *NB*: For now, -fusagesp with -O requires -fno-specialise.  Sorry.

  The flags -ddump-usagesp (=opt_D_dump_usagesp) and -dusagesp-lint
  (=opt_DoUSPLinting) (also -dnousagesp-lint to the driver) have been
  added and are documented in the User Guide.

25 years ago[project @ 1999-05-11 16:41:56 by keithw]
keithw [Tue, 11 May 1999 16:41:59 +0000 (16:41 +0000)]
[project @ 1999-05-11 16:41:56 by keithw]
(this is number 5a of 9 commits to be applied together)

  The major purpose of this commit is to introduce usage information
  and usage analysis into the compiler, per the paper _Once Upon a
  Polymorphic Type_ (Keith Wansbrough and Simon Peyton Jones, POPL'99,
  and Glasgow TR-1998-19).

  An analysis is provided that annotates a Core program with optimal
  usage annotations.  This analysis is performed by -fusagesp
  (=CoreDoUSPInf), and requires -fusagesp-on (=opt_UsageSPOn).  This
  latter performs an analysis in tidyCorePgm, immediately before
  CoreToStg is done.  The driver flag -fusagesp currently provides hsc
  with -fusagesp-on, and if -O is on does a single -fusagesp early on
  in the Core-to-Core sequence.  Please change this as desired.

  *NB*: For now, -fusagesp with -O requires -fno-specialise.  Sorry.

  The flags -ddump-usagesp (=opt_D_dump_usagesp) and -dusagesp-lint
  (=opt_DoUSPLinting) (also -dnousagesp-lint to the driver) have been
  added and are documented in the User Guide.

25 years ago[project @ 1999-05-11 16:37:29 by keithw]
keithw [Tue, 11 May 1999 16:38:04 +0000 (16:38 +0000)]
[project @ 1999-05-11 16:37:29 by keithw]
(this is number 4 of 9 commits to be applied together)

  The major purpose of this commit is to introduce usage information
  and usage analysis into the compiler, per the paper _Once Upon a
  Polymorphic Type_ (Keith Wansbrough and Simon Peyton Jones, POPL'99,
  and Glasgow TR-1998-19).

  Usage information has been added to types, in the form of a new kind
  of NoteTy: (UsgNote UsageAnn(UsOnce|UsMany|UsVar UVar)).  Usages
  print as __o (once), __m (many, usually omitted), or (not in
  interface files) __uvxxxx.  Usage annotations should only appear at
  certain places in a type (see the paper).  The `default' annotation
  is __m, and so an omitted annotation implies __m.  Utility functions
  for handling usage annotations are provided in Type.

  If the compiler is built with -DUSMANY (a flag intended for use in
  debugging by KSW only), __m are *required* and may not be omitted.

  The major constraint is that type arguments (eg to mkAppTy) must be
  unannotated on top.  To maintain this invariant, many functions
  required the insertion of Type.unUsgTy (removing annot from top of a
  type) or UsageSPUtils.unannotTy (removing all annotations from a
  type).  A function returning usage-annotated types for primops has
  been added to PrimOp.

  A new kind of Note, (TermUsg UsageAnn), has been added to annotate
  Terms.  This note is *not* printed in interface files, and for the
  present does not escape the internals of the usage inference engine.

25 years ago[project @ 1999-05-11 16:33:35 by keithw]
keithw [Tue, 11 May 1999 16:33:35 +0000 (16:33 +0000)]
[project @ 1999-05-11 16:33:35 by keithw]
(this is number 3 of 9 commits to be applied together)

  Following Haskell 98, if the module declaration is omitted it now
  defaults to "module Main(main) where", rather than the previous
  default of exporting everything.

  Furthermore, "module Main where" also defaults to exporting just
  Main.main rather than everything in the module (modules other than
  Main behave as normal).  This permits the usage inference to give
  better results for the Main module, since exported functions get
  worse types than nonexported functions.

25 years ago[project @ 1999-05-11 16:33:06 by keithw]
keithw [Tue, 11 May 1999 16:33:11 +0000 (16:33 +0000)]
[project @ 1999-05-11 16:33:06 by keithw]
(this is number 2 of 9 commits to be applied together)

  Type constructors now carry information on the variance (positive
  and/or negative) of each of their type arguments (tyConArgVrcs).
  This information is provided for primitive types and computed for
  others.  If a tycon has been imported abstractly and this variance
  information is subsequently demanded, we make a pessimistic
  assumption and warn that -fno-prune-tydecls should be used.

25 years ago[project @ 1999-05-11 16:31:33 by keithw]
keithw [Tue, 11 May 1999 16:31:33 +0000 (16:31 +0000)]
[project @ 1999-05-11 16:31:33 by keithw]
(this is number 1 of 9 commits to be applied together)

  Dictionaries now appear in interface files explicitly, rather than
  as contexts: __forall [a] => {Show a} -> ... rather than __forall
  [a] {Show a} => ... .

25 years ago[project @ 1999-05-11 14:38:47 by sof]
sof [Tue, 11 May 1999 14:38:47 +0000 (14:38 +0000)]
[project @ 1999-05-11 14:38:47 by sof]
myThreadId doc'ed

25 years ago[project @ 1999-05-11 09:15:19 by sof]
sof [Tue, 11 May 1999 09:15:19 +0000 (09:15 +0000)]
[project @ 1999-05-11 09:15:19 by sof]
couple of fixes (courtesy of MPJ)

25 years ago[project @ 1999-05-10 19:49:15 by sof]
sof [Mon, 10 May 1999 19:49:16 +0000 (19:49 +0000)]
[project @ 1999-05-10 19:49:15 by sof]
minor updates

25 years ago[project @ 1999-05-10 17:53:59 by sof]
sof [Mon, 10 May 1999 17:54:00 +0000 (17:54 +0000)]
[project @ 1999-05-10 17:53:59 by sof]
Assuming that the TC sometime in the future will want to start looking
at infix decls (right, Simon?), the renamer currently passes them on
rather than filter.

Couple of TC tweaks to have it non-burpingly handle such FixSigs
inside class decls.

25 years ago[project @ 1999-05-10 16:55:43 by sof]
sof [Mon, 10 May 1999 16:55:43 +0000 (16:55 +0000)]
[project @ 1999-05-10 16:55:43 by sof]
The implementation of hGetLine, as given in the report, doesn't handle
partial lines on unbuffered handles that well (not at all, as it turns
out). Fixed.

25 years ago[project @ 1999-05-10 16:52:10 by sof]
sof [Mon, 10 May 1999 16:52:11 +0000 (16:52 +0000)]
[project @ 1999-05-10 16:52:10 by sof]
PrelHandle.withHandle: don't catch IO exceptions.

25 years ago[project @ 1999-05-10 13:13:18 by sof]
sof [Mon, 10 May 1999 13:13:18 +0000 (13:13 +0000)]
[project @ 1999-05-10 13:13:18 by sof]
yet another bugfix to the 'deriving Read' code

25 years ago[project @ 1999-05-10 10:12:25 by simonm]
simonm [Mon, 10 May 1999 10:12:28 +0000 (10:12 +0000)]
[project @ 1999-05-10 10:12:25 by simonm]
Test fixes.

25 years ago[project @ 1999-05-10 10:06:24 by sof]
sof [Mon, 10 May 1999 10:06:24 +0000 (10:06 +0000)]
[project @ 1999-05-10 10:06:24 by sof]
oops, args to startupHaskell() wrong way around

25 years ago[project @ 1999-05-10 09:56:50 by sof]
sof [Mon, 10 May 1999 09:56:50 +0000 (09:56 +0000)]
[project @ 1999-05-10 09:56:50 by sof]
extend cleanup to integer2Word#

25 years ago[project @ 1999-05-10 09:50:49 by simonm]
simonm [Mon, 10 May 1999 09:50:49 +0000 (09:50 +0000)]
[project @ 1999-05-10 09:50:49 by simonm]
integer2Int# take 4: cleaned up a little.

25 years ago[project @ 1999-05-10 09:26:41 by sof]
sof [Mon, 10 May 1999 09:26:41 +0000 (09:26 +0000)]
[project @ 1999-05-10 09:26:41 by sof]
integer2Int#, take 3

25 years ago[project @ 1999-05-10 08:23:55 by sof]
sof [Mon, 10 May 1999 08:23:57 +0000 (08:23 +0000)]
[project @ 1999-05-10 08:23:55 by sof]
Added a DllMain() which starts up RTS upon DLL load.

25 years ago[project @ 1999-05-07 15:42:49 by sof]
sof [Fri, 7 May 1999 15:42:49 +0000 (15:42 +0000)]
[project @ 1999-05-07 15:42:49 by sof]
integer2Int# again: don't flip sign unless outside [minInt,maxInt]

25 years ago[project @ 1999-05-07 14:52:49 by simonm]
simonm [Fri, 7 May 1999 14:52:53 +0000 (14:52 +0000)]
[project @ 1999-05-07 14:52:49 by simonm]
some test updates

25 years ago[project @ 1999-05-07 13:44:00 by simonm]
simonm [Fri, 7 May 1999 13:44:00 +0000 (13:44 +0000)]
[project @ 1999-05-07 13:44:00 by simonm]
Fix bug in tagToEnum#: if the amode of the tag overlapped with node,
bogus code would be generated.  Now load the tag into a temporary
before doing the table lookup.

25 years ago[project @ 1999-05-07 13:41:14 by sof]
sof [Fri, 7 May 1999 13:41:14 +0000 (13:41 +0000)]
[project @ 1999-05-07 13:41:14 by sof]
Fixed two showstopping bugs in 'deriving Read' code (mea culpa).

25 years ago[project @ 1999-05-07 11:31:12 by simonm]
simonm [Fri, 7 May 1999 11:31:12 +0000 (11:31 +0000)]
[project @ 1999-05-07 11:31:12 by simonm]
Don't try to make a tag2con function if we're deriving Ix on a
single-constructor datatype (it isn't needed, and will probably be
type-incorrect anyway).

25 years ago[project @ 1999-05-07 11:16:37 by simonm]
simonm [Fri, 7 May 1999 11:16:37 +0000 (11:16 +0000)]
[project @ 1999-05-07 11:16:37 by simonm]
Ignore exceptions in the spawned threads.

25 years ago[project @ 1999-05-07 11:10:45 by simonm]
simonm [Fri, 7 May 1999 11:10:45 +0000 (11:10 +0000)]
[project @ 1999-05-07 11:10:45 by simonm]
Don't test for CLOSURE_SHOULD_SPARK in forkzh, because forkzh's argument
is an IO action and we're about to apply it to the state anyway.

25 years ago[project @ 1999-05-06 08:41:10 by simonm]
simonm [Thu, 6 May 1999 08:41:10 +0000 (08:41 +0000)]
[project @ 1999-05-06 08:41:10 by simonm]
s/finalis/finaliz/g

25 years ago[project @ 1999-05-06 08:32:51 by sof]
sof [Thu, 6 May 1999 08:32:51 +0000 (08:32 +0000)]
[project @ 1999-05-06 08:32:51 by sof]
Add -lwsock32 to linker command line, if needs be

25 years ago[project @ 1999-05-05 11:39:09 by keithw]
keithw [Wed, 5 May 1999 11:39:09 +0000 (11:39 +0000)]
[project @ 1999-05-05 11:39:09 by keithw]
Add a space to panic message from zipWith*Equal.

25 years ago[project @ 1999-05-05 10:48:03 by sof]
sof [Wed, 5 May 1999 10:48:06 +0000 (10:48 +0000)]
[project @ 1999-05-05 10:48:03 by sof]
DLL config added

25 years ago[project @ 1999-05-05 10:39:25 by sof]
sof [Wed, 5 May 1999 10:39:25 +0000 (10:39 +0000)]
[project @ 1999-05-05 10:39:25 by sof]
Improved the splitting of the std. generator

25 years ago[project @ 1999-05-05 10:36:29 by sof]
sof [Wed, 5 May 1999 10:36:31 +0000 (10:36 +0000)]
[project @ 1999-05-05 10:36:29 by sof]
switch over to using Winsock on the _WIN32 side

25 years ago[project @ 1999-05-05 10:34:53 by sof]
sof [Wed, 5 May 1999 10:34:55 +0000 (10:34 +0000)]
[project @ 1999-05-05 10:34:53 by sof]
stubs for starting & stopping Winsock

25 years ago[project @ 1999-05-05 10:33:13 by sof]
sof [Wed, 5 May 1999 10:33:17 +0000 (10:33 +0000)]
[project @ 1999-05-05 10:33:13 by sof]
Winsock support

25 years ago[project @ 1999-05-05 08:35:02 by sof]
sof [Wed, 5 May 1999 08:35:02 +0000 (08:35 +0000)]
[project @ 1999-05-05 08:35:02 by sof]
Empty rec pattern test

25 years ago[project @ 1999-05-05 08:31:00 by sof]
sof [Wed, 5 May 1999 08:31:00 +0000 (08:31 +0000)]
[project @ 1999-05-05 08:31:00 by sof]
Allow record pattern "F{}" on any old constructor, not just with those
that have labelled fields.

25 years ago[project @ 1999-05-04 19:31:51 by sof]
sof [Tue, 4 May 1999 19:31:53 +0000 (19:31 +0000)]
[project @ 1999-05-04 19:31:51 by sof]
Check for presence of winsock.h

25 years ago[project @ 1999-05-04 10:19:14 by sof]
sof [Tue, 4 May 1999 10:19:19 +0000 (10:19 +0000)]
[project @ 1999-05-04 10:19:14 by sof]
Misc tweaks to Win32 DLL setup

25 years ago[project @ 1999-05-04 10:16:51 by sof]
sof [Tue, 4 May 1999 10:16:51 +0000 (10:16 +0000)]
[project @ 1999-05-04 10:16:51 by sof]
Module defn files for RTS + the bits that the RTS need from the Prelude

25 years ago[project @ 1999-05-04 08:58:18 by sof]
sof [Tue, 4 May 1999 08:58:18 +0000 (08:58 +0000)]
[project @ 1999-05-04 08:58:18 by sof]
integer2Int# isn't sign preserving any longer, but modulo maxBound

25 years ago[project @ 1999-05-04 08:52:22 by sof]
sof [Tue, 4 May 1999 08:52:23 +0000 (08:52 +0000)]
[project @ 1999-05-04 08:52:22 by sof]
Moved DLL-related macros out of Stg.h and into separate .h file

25 years ago[project @ 1999-05-04 08:50:43 by sof]
sof [Tue, 4 May 1999 08:50:43 +0000 (08:50 +0000)]
[project @ 1999-05-04 08:50:43 by sof]
Removed last vestiges of PrelBase_Bool_closure_tbl (yes\!)

25 years ago[project @ 1999-05-04 08:47:32 by sof]
sof [Tue, 4 May 1999 08:47:32 +0000 (08:47 +0000)]
[project @ 1999-05-04 08:47:32 by sof]
* Added option --mk-dll (and -optdll<foo>) to ease the creation of DLLs containing
  ghc-compiled code (see docs for details).
* Fixed bug which caused non-std ways to pick up the std way's interface files
  when compiling the prelude.

25 years ago[project @ 1999-05-04 08:40:07 by sof]
sof [Tue, 4 May 1999 08:40:07 +0000 (08:40 +0000)]
[project @ 1999-05-04 08:40:07 by sof]
a rule or two for building DLLs

25 years ago[project @ 1999-05-04 08:38:53 by sof]
sof [Tue, 4 May 1999 08:38:53 +0000 (08:38 +0000)]
[project @ 1999-05-04 08:38:53 by sof]
Added support for dllwrap options

25 years ago[project @ 1999-05-04 08:37:55 by sof]
sof [Tue, 4 May 1999 08:37:55 +0000 (08:37 +0000)]
[project @ 1999-05-04 08:37:55 by sof]
added a new way (dll) to use when building Prelude DLLs

25 years ago[project @ 1999-05-04 08:36:29 by sof]
sof [Tue, 4 May 1999 08:36:30 +0000 (08:36 +0000)]
[project @ 1999-05-04 08:36:29 by sof]
added HAVE_WIN32_DLL_SUPPORT

25 years ago[project @ 1999-05-04 08:35:12 by sof]
sof [Tue, 4 May 1999 08:35:12 +0000 (08:35 +0000)]
[project @ 1999-05-04 08:35:12 by sof]
New option: --enable-win32-dlls

25 years ago[project @ 1999-05-04 08:31:51 by sof]
sof [Tue, 4 May 1999 08:31:53 +0000 (08:31 +0000)]
[project @ 1999-05-04 08:31:51 by sof]
Updated _casm_ example

25 years ago[project @ 1999-05-04 08:30:44 by sof]
sof [Tue, 4 May 1999 08:30:44 +0000 (08:30 +0000)]
[project @ 1999-05-04 08:30:44 by sof]
a howto on Win32 DLLs

25 years ago[project @ 1999-05-03 13:22:29 by sof]
sof [Mon, 3 May 1999 13:22:29 +0000 (13:22 +0000)]
[project @ 1999-05-03 13:22:29 by sof]
Win32'ified

25 years ago[project @ 1999-04-29 12:21:50 by simonpj]
simonpj [Thu, 29 Apr 1999 12:21:50 +0000 (12:21 +0000)]
[project @ 1999-04-29 12:21:50 by simonpj]
Document Olaf Chitils point about pattern matching against a polymoprhic argument

25 years ago[project @ 1999-04-29 11:53:12 by simonpj]
simonpj [Thu, 29 Apr 1999 11:53:34 +0000 (11:53 +0000)]
[project @ 1999-04-29 11:53:12 by simonpj]
Minor fixes to tests

25 years ago[project @ 1999-04-29 10:38:33 by simonm]
simonm [Thu, 29 Apr 1999 10:38:33 +0000 (10:38 +0000)]
[project @ 1999-04-29 10:38:33 by simonm]
indexArray# fix.

25 years ago[project @ 1999-04-28 12:59:51 by sewardj]
sewardj [Wed, 28 Apr 1999 12:59:51 +0000 (12:59 +0000)]
[project @ 1999-04-28 12:59:51 by sewardj]
Nano-fixes to make it work on sparc-solaris.

25 years ago[project @ 1999-04-28 12:42:45 by sewardj]
sewardj [Wed, 28 Apr 1999 12:42:45 +0000 (12:42 +0000)]
[project @ 1999-04-28 12:42:45 by sewardj]
Change PK_DBL and ASSIGN_DBL macros for sparc so they only reference their
arguments once.

25 years ago[project @ 1999-04-28 08:30:58 by simonm]
simonm [Wed, 28 Apr 1999 08:30:58 +0000 (08:30 +0000)]
[project @ 1999-04-28 08:30:58 by simonm]
merge --> mergeIO

25 years ago[project @ 1999-04-27 18:30:26 by sof]
sof [Tue, 27 Apr 1999 18:30:26 +0000 (18:30 +0000)]
[project @ 1999-04-27 18:30:26 by sof]
When installing, append  to entries in PACKAGE_BINS list

25 years ago[project @ 1999-04-27 17:44:26 by sof]
sof [Tue, 27 Apr 1999 17:44:27 +0000 (17:44 +0000)]
[project @ 1999-04-27 17:44:26 by sof]
For a forkIO'ed process, report uncaught exceptions on stderr.

25 years ago[project @ 1999-04-27 17:41:17 by sof]
sof [Tue, 27 Apr 1999 17:41:20 +0000 (17:41 +0000)]
[project @ 1999-04-27 17:41:17 by sof]
* Added toplevel exception handler:

    topHandler :: Bool -- bomb on exception caught
               -> Exception
       -> IO ()

   for PrelMain.mainIO and Concurrent.forkIO to use

 * moved forkIO out of PrelConc and into Concurrent.

25 years ago[project @ 1999-04-27 17:33:49 by sof]
sof [Tue, 27 Apr 1999 17:34:00 +0000 (17:34 +0000)]
[project @ 1999-04-27 17:33:49 by sof]
Renamer changes:

 - for a toplevel type signature

f :: ty

   the name 'f' refers to a local definition of 'f' - i.e., don't
   report 'f' as clashing with any imported 'f's.

 - tidied up the handling of fixity declarations - misplaced fixity
   declarations inside class decls, e.g.,

      class F a where
       infix 9 `f`
       g :: a -> Int

   are now caught and reported as errors. Robustified the renaming
   of class decls.

25 years ago[project @ 1999-04-27 17:26:09 by keithw]
keithw [Tue, 27 Apr 1999 17:26:15 +0000 (17:26 +0000)]
[project @ 1999-04-27 17:26:09 by keithw]
glasgow-haskell-{bugs,users} has moved.

25 years ago[project @ 1999-04-27 15:50:07 by simonm]
simonm [Tue, 27 Apr 1999 15:50:07 +0000 (15:50 +0000)]
[project @ 1999-04-27 15:50:07 by simonm]
unboxed 1-tuples are legal.

25 years ago[project @ 1999-04-27 15:23:29 by simonm]
simonm [Tue, 27 Apr 1999 15:23:29 +0000 (15:23 +0000)]
[project @ 1999-04-27 15:23:29 by simonm]
Mark PrimOp arguments as lazy.  This stops the simplifier throwing
away cases, and is consistent with the way applications work.  We
could probably do better by using the information from
primOpStrictness.

25 years ago[project @ 1999-04-27 15:21:32 by simonm]
simonm [Tue, 27 Apr 1999 15:21:32 +0000 (15:21 +0000)]
[project @ 1999-04-27 15:21:32 by simonm]
off-by-one in folding of tagToEnum#.

25 years ago[project @ 1999-04-27 15:20:20 by simonm]
simonm [Tue, 27 Apr 1999 15:20:22 +0000 (15:20 +0000)]
[project @ 1999-04-27 15:20:20 by simonm]
deriving fixes.

25 years ago[project @ 1999-04-27 15:03:20 by simonm]
simonm [Tue, 27 Apr 1999 15:03:20 +0000 (15:03 +0000)]
[project @ 1999-04-27 15:03:20 by simonm]
indexArray# changes.

25 years ago[project @ 1999-04-27 14:35:25 by simonm]
simonm [Tue, 27 Apr 1999 14:35:25 +0000 (14:35 +0000)]
[project @ 1999-04-27 14:35:25 by simonm]
indexArray# now returns an unboxed 1-tuple.

25 years ago[project @ 1999-04-27 14:13:01 by sewardj]
sewardj [Tue, 27 Apr 1999 14:13:01 +0000 (14:13 +0000)]
[project @ 1999-04-27 14:13:01 by sewardj]
Firstified a few common fns for a modest performance gain,
ie,   elem = any . (==)     ===>    directly recursive version.

25 years ago[project @ 1999-04-27 14:07:53 by sewardj]
sewardj [Tue, 27 Apr 1999 14:07:55 +0000 (14:07 +0000)]
[project @ 1999-04-27 14:07:53 by sewardj]
Further fixes to make -DDEBUG work right from mk/build.mk.

25 years ago[project @ 1999-04-27 12:34:49 by simonm]
simonm [Tue, 27 Apr 1999 12:34:59 +0000 (12:34 +0000)]
[project @ 1999-04-27 12:34:49 by simonm]
- Fix the tagToEnum# support in the code generator

- Make isDeadBinder work on case binders

- Fix compiling of

case x `op` y of z {
True  -> ... z ...
False -> ... z ...

- Clean up CgCase a little.

- Don't generate specialised tag2con functions for derived Enum/Ix
  instances; use tagToEnum# instead.

25 years ago[project @ 1999-04-27 12:32:15 by simonm]
simonm [Tue, 27 Apr 1999 12:32:15 +0000 (12:32 +0000)]
[project @ 1999-04-27 12:32:15 by simonm]
Remove declaration of PrelBase_Bool_closure_tbl.

25 years ago[project @ 1999-04-27 12:31:40 by simonm]
simonm [Tue, 27 Apr 1999 12:31:40 +0000 (12:31 +0000)]
[project @ 1999-04-27 12:31:40 by simonm]
Add macros for declaring closure tables.

25 years ago[project @ 1999-04-27 12:30:26 by simonm]
simonm [Tue, 27 Apr 1999 12:30:26 +0000 (12:30 +0000)]
[project @ 1999-04-27 12:30:26 by simonm]
Remove PrelBase_Bool_closure_tbl; this is now generated automatically.

25 years ago[project @ 1999-04-27 12:27:49 by sewardj]
sewardj [Tue, 27 Apr 1999 12:27:56 +0000 (12:27 +0000)]
[project @ 1999-04-27 12:27:49 by sewardj]
Correctify usage of -DDEBUG and -DDEBUG_EXTRA.

25 years ago[project @ 1999-04-27 12:25:58 by keithw]
keithw [Tue, 27 Apr 1999 12:25:58 +0000 (12:25 +0000)]
[project @ 1999-04-27 12:25:58 by keithw]
Documentation added for RegexString.

25 years ago[project @ 1999-04-27 12:25:23 by simonm]
simonm [Tue, 27 Apr 1999 12:25:23 +0000 (12:25 +0000)]
[project @ 1999-04-27 12:25:23 by simonm]
Add CLOSURE_TBL() macro for building closure tables.

25 years ago[project @ 1999-04-27 10:59:29 by sewardj]
sewardj [Tue, 27 Apr 1999 10:59:31 +0000 (10:59 +0000)]
[project @ 1999-04-27 10:59:29 by sewardj]
Minor mods to make STG Hugs compile out-of-the-box.

25 years ago[project @ 1999-04-27 10:06:47 by sewardj]
sewardj [Tue, 27 Apr 1999 10:07:25 +0000 (10:07 +0000)]
[project @ 1999-04-27 10:06:47 by sewardj]
Changes to improve runtime performance of STG Hugs.
-- Reorganisation of the evaluator (Evaluator.c).
-- Changes to code emission (Assembler.c) to support peephole opts
-- An experimental simplifier (optimise.c).
-- Many supporting bug fixes and minor changes.
-- Experimental implementation of integer for standalone hugs (sainteger.c).

25 years ago[project @ 1999-04-27 09:37:04 by simonm]
simonm [Tue, 27 Apr 1999 09:37:04 +0000 (09:37 +0000)]
[project @ 1999-04-27 09:37:04 by simonm]
- Don't add -DCOMPILING_RTS twice

- *set* SRC_CC_OPTS rather than appending to it: we're using ghc as
  the C compiler, so normal gcc flags probably won't work.  eg. if
  you put SRC_CC_OPTS += -g in your build.mk, it'll fall over here.

25 years ago[project @ 1999-04-26 16:08:12 by simonm]
simonm [Mon, 26 Apr 1999 16:08:12 +0000 (16:08 +0000)]
[project @ 1999-04-26 16:08:12 by simonm]
add getTag#

25 years ago[project @ 1999-04-26 16:06:27 by simonm]
simonm [Mon, 26 Apr 1999 16:06:37 +0000 (16:06 +0000)]
[project @ 1999-04-26 16:06:27 by simonm]
- New Wired-in Id: getTag# :: a -> Int#
for a data type, returns the tag of the constructor.
for a function, returns a spurious number probably.
dataToTag# is the name of the underlying primitive which
pulls out the tag (its argument is assumed to be
evaluated).

- Generate constructor tables for enumerated types, so we
  can do tagToEnum#.

- Remove hacks in CoreToStg for dataToTag#.

25 years ago[project @ 1999-04-26 15:19:28 by simonm]
simonm [Mon, 26 Apr 1999 15:19:28 +0000 (15:19 +0000)]
[project @ 1999-04-26 15:19:28 by simonm]
Add simple high-level interface to Regex (snaffled from my nofib log
analyser).

25 years ago[project @ 1999-04-26 11:09:48 by simonm]
simonm [Mon, 26 Apr 1999 11:09:48 +0000 (11:09 +0000)]
[project @ 1999-04-26 11:09:48 by simonm]
oops, forgot to add dataToTag#.