Skip to content
Snippets Groups Projects
Forked from Glasgow Haskell Compiler / GHC
63743 commits behind the upstream repository.
Hans-Wolfgang Loidl's avatar
hwloidl authored
Numerous changes in the RTS to get GUM-4.06 working (currently works with
parfib-ish programs). Most changes are isolated in the rts/parallel dir.

rts/parallel/:
  The most important changes are a rewrite of the (un-)packing code (Pack.c)
  and changes in LAGA, GALA table operations (Global.c) expecially in
  rebuilding the tables during GC.

rts/:
  Minor changes in Schedule.c, GC.c (interface to par specific root marking
  and evacuation), and lots of additions to Sanity.c (surprise ;-)
  Main.c change for startup: I use a new function rts_evalNothing to
  start non-main-PEs in a PAR || SMP setup (RtsAPI.c)

includes/:
  Updated GranSim macros in PrimOps.h.

lib/std:
  Few changes in PrelHandle.c etc replacing ForeignObj by Addr in a PAR
  setup (we still don't support ForeignObjs or WeakPtrs in GUM).
  Typically use
    #define FILE_OBJECT	    Addr
  when dealing with files.

hslibs/lang/:
  Same as above (in Foreign(Obj).lhs, Weak.lhs, IOExts.lhs etc).

-- HWL
dd4c28a9
History
This is the root directory for functional-programming tools
distributed by the Computing Science Department at Glasgow University.
Simon Peyton Jones <simonpj@microsoft.com> is the ringleader of this
effort.  The tools are:

    ghc		the Glasgow Haskell compilation system
    hslibs	collection of Haskell libraries
    haggis	the Haggis GUI toolkit
    happy	the Happy Haskell parser generator
    hdirect     Haskell interop tool
    green-card	a foreign function interface pre-processor for Haskell.
    nofib	the NoFib Haskell benchmarking suite
    literate	the Glasgow "literate programming" system
    glafp-utils shared utility programs
    mk	        GNU make setup used by all of fptools
    docs        documentation on the installing and using
                the fptools suite.

Components which are always part of a distribution (never stand-alone)
are "glafp-utils" and "mk" (a configuration system).

Quick start:  the following is *supposed* to work

	$ ./configure
	$ make boot
	$ make
	$ make install

where 'make' is whatever GNU make is called on your system.  The
configuration script is a standard GNU autoconf script which accepts
all the normal arguments, eg. --prefix=<blah> to install the package
somewhere other than /usr/local.  Try ./configure --help to get a full
list of the options.

There is usually an ANNOUNCE* file with any distribution.  Please
consult that, or the <piece>/README file, to find out how to proceed.