1. 10 Jan, 2002 1 commit
  2. 09 Jan, 2002 3 commits
    • simonmar's avatar
      [project @ 2002-01-09 12:41:45 by simonmar] · f587e76c
      simonmar authored
      First cut at enhancing the facilities for manipulating the scope in
      GHCi.  The scope now consists of
      
        1. the full top-level scope of zero or more interpreted modules
        2. the exports from zero or more modules
        3. the temporary bindings
      
      The sets 1 & 2 are manipulated using an extended :m command: eg :m +A
      will add module A to either set 1 or two depending on whether A is
      interpreted, and :m -A will remove it.  The user interface may change,
      pending feedback from the punters on the mailing list.
      
      'Prelude' is automatically added to the scope if set 1 is empty and
      set 2 doesn't already contain it.
      
      We now cache the GlobalRdrEnv for the current scope between
      evaluations in the InteractiveContext, and also the current
      PrintUnqualified setting (which also depends on the scope).
      
      Cvs: ----------------------------------------------------------------------
      f587e76c
    • simonmar's avatar
      [project @ 2002-01-09 10:29:32 by simonmar] · 1c424fdb
      simonmar authored
      Back out previous fix, I've hacked it in a different place which is at
      least closer to the source of the problem.
      1c424fdb
    • simonmar's avatar
      [project @ 2002-01-09 10:27:41 by simonmar] · fc7496ec
      simonmar authored
      Don't add -package-name if $(PACKAGE) == "rts".  THis is a HACK and we
      need to fix the mess in ghc/rts/Makefile properly.
      fc7496ec
  3. 08 Jan, 2002 10 commits
  4. 07 Jan, 2002 10 commits
  5. 05 Jan, 2002 1 commit
  6. 04 Jan, 2002 13 commits
    • sof's avatar
      [project @ 2002-01-04 23:21:18 by sof] · 8d62f021
      sof authored
      prel_readdir: tidied
      8d62f021
    • simonmar's avatar
      [project @ 2002-01-04 16:02:03 by simonmar] · 6f57245b
      simonmar authored
      Some driver cleanups; in particular -fno-code should work in a more
      reasonable way (it is now a "mode flag" like -C, -c, --make etc.).
      6f57245b
    • simonpj's avatar
      [project @ 2002-01-04 11:39:00 by simonpj] · ce26c4b7
      simonpj authored
      -----------------------------
      	Fix a too-vigorous export bug
      	-----------------------------
      
      	MERGE TO STABLE
      
      	[this is the Ian Lynagh -O2 bug]
      
      
      CoreTidy didn't filter the rules that it exports, so it
      exported some that mentioned Ids on the *left* hand side
      that are not exported.  So an importing module fell over.
      
      The fix is simple: filter the exposed rules.   On the way
      I tidied up CoreFVs a little.
      ce26c4b7
    • simonpj's avatar
      [project @ 2002-01-04 11:35:47 by simonpj] · 13a428ca
      simonpj authored
      Comments only
      13a428ca
    • simonpj's avatar
      [project @ 2002-01-04 11:35:22 by simonpj] · 6346938c
      simonpj authored
      ----------------------------------------
      	Be a bit less gung ho about let-floating
      	----------------------------------------
      
      Sometimes it's a bad idea to float cheap expressions
      outwards, even if they escape a value lambda.
      
      	  -- Even if it escapes a value lambda, we only
      	  -- float if it's not cheap (unless it'll get all the
      	  -- way to the top).  I've seen cases where we
      	  -- float dozens of tiny free expressions, which cost
      	  -- more to allocate than to evaluate.
      	  -- NB: exprIsCheap is also true of bottom expressions, which
      	  --     is good; we don't want to share them
      	  --
      	  -- It's only Really Bad to float a cheap expression out of a
      	  -- strict context, because that builds a thunk that otherwise
      	  -- would never be built.  So another alternative would be to
      	  -- add
      	  -- 	|| (strict_ctxt && not (exprIsBottom expr))
      	  -- to the condition above. We should really try this out.
      
      The relevant function is lvlMFE, which has been subject to a lot
      of fiddling over the years.  Probably this isn't the last time.
      
      This all actually showed up when I was compiling IA.lhs from Ian Lynagh.
      6346938c
    • simonmar's avatar
      [project @ 2002-01-04 11:35:13 by simonmar] · 4d2d47a5
      simonmar authored
      - rename CompManager.cmLoadModule to cmLoadModules and make it take
        a DynFlags argument to be consistent with the rest of the
        CompManager interface.
      
      - split cmLoadModule into two parts: cmDepAnal which takes a list of
        filenames and returns a ModuleGraph, and cmLoadModules which takes
        the ModuleGraph and does the rest.  This lets the consumer know
        whether the dependency analysis step fails before unloading any
        existing modules - i.e. if you :reload and a module is missing, you
        don't lose the modules that are already loaded (bug reported by
        MIchael Weber some time ago).
      4d2d47a5
    • sof's avatar
      [project @ 2002-01-04 10:56:09 by sof] · 0479b0cf
      sof authored
      getDirectoryContents: use the re-entrant readdir_r() to get at directory
      entries, if available.
      0479b0cf
    • sof's avatar
      [project @ 2002-01-04 10:54:20 by sof] · 1005a187
      sof authored
      add feature test for readdir_r()
      1005a187
    • simonmar's avatar
      [project @ 2002-01-04 10:44:16 by simonmar] · edf50325
      simonmar authored
      update the rather dated usage message
      edf50325
    • simonpj's avatar
      [project @ 2002-01-04 10:25:33 by simonpj] · dad9aa43
      simonpj authored
      Warn, dont crash, when isIn gets a big list
      dad9aa43
    • simonmar's avatar
      [project @ 2002-01-04 10:18:58 by simonmar] · ec655d31
      simonmar authored
      Replace all instances of '--' with '––' since '--' gets
      interpreted by JadeTeX to mean a single dash.
      ec655d31
    • simonmar's avatar
      [project @ 2002-01-04 10:04:44 by simonmar] · b716195d
      simonmar authored
      replace -- with —
      b716195d
    • simonmar's avatar
      [project @ 2002-01-04 09:35:42 by simonmar] · 5ad7caa5
      simonmar authored
      oops, unb??rk the export list in the non-GHCI case.
      5ad7caa5
  7. 03 Jan, 2002 2 commits
    • simonmar's avatar
      [project @ 2002-01-03 17:09:13 by simonmar] · 224131a7
      simonmar authored
      - change the mi_globals field of ModIface to be (Maybe GlobalRdrEnv)
        from GlobalRdrEnv.  The idea is that modules which we have
        compiled from source will have a complete GlobalRdrEnv in this field
        containing their top-level environments, whereas modules which we
        have loaded from object files (package modules and pre-compiled home
        modules) will have Nothing and we'll create a fake GlobalRdrEnv on
        demand from the export list.
      
        Previously we used to create the fake env all the time, but this way
        highlights the fact that we don't really have a proper GlobalRdrEnv
        for these modules (something we'd like to address at some point).
      
      - rename CompManager.cmLoadModule to cmLoadModules and make it take
        a DynFlags argument to be consistent with the rest of the
        CompManager interface.
      
      - split cmLoadModule into two parts: cmDepAnal which takes a list of
        filenames and returns a ModuleGraph, and cmLoadModules which takes
        the ModuleGraph and does the rest.  This lets the consumer know
        whether the dependency analysis step fails before unloading any
        existing modules - i.e. if you :reload and a module is missing, you
        don't lose the modules that are already loaded (bug reported by
        MIchael Weber some time ago).
      224131a7
    • sewardj's avatar
      [project @ 2002-01-03 17:05:50 by sewardj] · 432c5756
      sewardj authored
      If addDLL returns an error message, actually show it to the user :)
      
      Fixes: Sourceforge [ #482594 ] dlopen() errors reported badly
      
      MERGE TO STABLE
      432c5756