1. 23 Mar, 2001 1 commit
  2. 22 Mar, 2001 5 commits
    • simonmar's avatar
      [project @ 2001-03-22 12:12:23 by simonmar] · 2947e534
      simonmar authored
      Move the bug reporting section earlier, and mention the SourceForge
      bug tracker.
      
      Update the release notes.
      
      I think I'm just about done in here...
      2947e534
    • simonpj's avatar
      [project @ 2001-03-22 11:20:36 by simonpj] · f4742cfc
      simonpj authored
      Improve error message for ambiguity
      f4742cfc
    • simonpj's avatar
      [project @ 2001-03-22 11:19:28 by simonpj] · c0c4923f
      simonpj authored
      Improve error reporting for signatures not in scope
      c0c4923f
    • simonpj's avatar
      [project @ 2001-03-22 11:00:54 by simonpj] · 2d4a0023
      simonpj authored
      Add a bit more info about -fno-implicit-prelude
      2d4a0023
    • hwloidl's avatar
      [project @ 2001-03-22 03:51:08 by hwloidl] · 20fc2f0c
      hwloidl authored
      -*- outline -*-
      Time-stamp: <Thu Mar 22 2001 03:50:16 Stardate: [-30]6365.79 hwloidl>
      
      This commit covers changes in GHC to get GUM (way=mp) and GUM/GdH (way=md)
      working. It is a merge of my working version of GUM, based on GHC 4.06,
      with GHC 4.11. Almost all changes are in the RTS (see below).
      
      GUM is reasonably stable, we used the 4.06 version in large-ish programs for
      recent papers. Couple of things I want to change, but nothing urgent.
      GUM/GdH has just been merged and needs more testing. Hope to do that in the
      next weeks. It works in our working build but needs tweaking to run.
      GranSim doesn't work yet (*sigh*). Most of the code should be in, but needs
      more debugging.
      
      ToDo: I still want to make the following minor modifications before the release
      - Better wrapper skript for parallel execution [ghc/compiler/main]
      - Update parallel docu: started on it but it's minimal [ghc/docs/users_guide]
      - Clean up [nofib/parallel]: it's a real mess right now (*sigh*)
      - Update visualisation tools (minor things only IIRC) [ghc/utils/parallel]
      - Add a Klingon-English glossary
      
      * RTS:
      
      Almost all changes are restricted to ghc/rts/parallel and should not
      interfere with the rest. I only comment on changes outside the parallel
      dir:
      
      - Several changes in Schedule.c (scheduling loop; createThreads etc);
        should only affect parallel code
      - Added ghc/rts/hooks/ShutdownEachPEHook.c
      - ghc/rts/Linker.[ch]: GUM doesn't know about Stable Names (ifdefs)!!
      - StgMiscClosures.h: END_TSO_QUEUE etc now defined here (from StgMiscClosures.hc)
                           END_ECAF_LIST was missing a leading stg_
      - SchedAPI.h: taskStart now defined in here; it's only a wrapper around
                    scheduleThread now, but might use some init, shutdown later
      - RtsAPI.h: I have nuked the def of rts_evalNothing
      
      * Compiler:
      
      - ghc/compiler/main/DriverState.hs
        added PVM-ish flags to the parallel way
        added new ways for parallel ticky profiling and distributed exec
      
      - ghc/compiler/main/DriverPipeline.hs
        added a fct run_phase_MoveBinary which is called with way=mp after linking;
        it moves the bin file into a PVM dir and produces a wrapper script for
        parallel execution
        maybe cleaner to add a MoveBinary phase in DriverPhases.hs but this way
        it's less intrusive and MoveBinary makes probably only sense for mp anyway
      
      * Nofib:
      
      - nofib/spectral/Makefile, nofib/real/Makefile, ghc/tests/programs/Makefile:
        modified to skip some tests if HWL_NOFIB_HACK is set; only tmp to record
        which test prgs cause problems in my working build right now
      20fc2f0c
  3. 21 Mar, 2001 6 commits
  4. 20 Mar, 2001 18 commits
  5. 19 Mar, 2001 10 commits
    • sewardj's avatar
      [project @ 2001-03-19 18:23:45 by sewardj] · 3f3e085e
      sewardj authored
      Don't create an installation-time Makefile (target binary-dist).
      3f3e085e
    • sewardj's avatar
      [project @ 2001-03-19 18:15:59 by sewardj] · 8102db86
      sewardj authored
      Basic support for the simplified installation story.
      8102db86
    • simonpj's avatar
      [project @ 2001-03-19 16:26:09 by simonpj] · e9c3ce32
      simonpj authored
      Comments only
      e9c3ce32
    • simonpj's avatar
      [project @ 2001-03-19 16:24:37 by simonpj] · 33aac1f9
      simonpj authored
      ---------------------------------------------
      	Be more eager to inline for an applied coerce
      	---------------------------------------------
      
      Given this:
      
      	(coerce T f) x y
      
      SimplUtils.interestingCallContext was returning False (uninteresting
      call context).  This is wrong: it's a very intersting context.  
      
      Darn those coerces!  They are scheduled for destruction, but meanwhile,
      this makes matters a bit better.
      33aac1f9
    • simonpj's avatar
      [project @ 2001-03-19 16:22:51 by simonpj] · a7dff32d
      simonpj authored
      -------------------------------------------------------
      	Be more careful about floating out from  INLINE pragmas
      	-------------------------------------------------------
      
      Given this:
      
      	x = __inline__ (f (g y))
      
      we were floating the (g y) out as a MFE, thus:
      
      	lvl = g y
      	x = __inline__ (f lvl)
      
      This is bad.  The (g y) redex gets outside the __inline__ envelope, 
      and may never get inlined. 
      
      The solution involved a bit of fiddling in SetLevels.
      a7dff32d
    • simonmar's avatar
      [project @ 2001-03-19 16:22:00 by simonmar] · dd4bc7ed
      simonmar authored
      Fix a problem with the 'it' variable in GHCi.  New bindings for 'it'
      were getting confused with old bindings, because we always used the
      same 'it' name.
      
      Now, we generate a new unique for 'it' each time around.
      
      Also, make sure that any existing variables shadowed by new
      command-line bindings are correctly removed from the environments to
      avoid space leaks.
      dd4bc7ed
    • simonpj's avatar
      [project @ 2001-03-19 16:20:44 by simonpj] · 4fb9c8aa
      simonpj authored
      ------------------------------------
      	Be more gung-ho about INLINE pragmas
      	------------------------------------
      
      When we see 
      
      	{-# INLINE f #-}
      	f = g $ h
      
      should we inline f inside a lambda?  Previously we said 'no'
      because f looks like a redex, but that's a great mistake sometimes.
      So this commit is more gung-ho: if you say INLINE that's what you get.
      
      The changes are to exprIsDupable and exprIsCheap.
      4fb9c8aa
    • simonmar's avatar
      [project @ 2001-03-19 16:17:44 by simonmar] · ff39a56b
      simonmar authored
      exprIsAtom shouldn't return True for an SCC.
      ff39a56b
    • simonpj's avatar
      [project @ 2001-03-19 16:17:27 by simonpj] · 82d808ba
      simonpj authored
      -------------------------------
      PS to:	Improve orphan-module resolution
      	-------------------------------
      
      {This comment got missed out of the previous commit.}
      
      I also moved mkFinalIface from HscMain to MkIface, where it is much tidier.
      (This is related, because it's mkFinalIface that now sets mi_orphan.)
      82d808ba
    • simonpj's avatar
      [project @ 2001-03-19 16:15:29 by simonpj] · eb29a057
      simonpj authored
      Reorder the calls to
      	tcSimplifyTop
      and
      	tcCheckMain
      
      in TcModule.  We must to tcCheckMain first, else we get a bogus 
      complaint when compiling
      
      	main = return ()
      
      (Something about ambiguous monad.)
      eb29a057