1. 09 May, 2001 3 commits
    • simonmar's avatar
      [project @ 2001-05-09 09:55:41 by simonmar] · 57c3ca26
      simonmar authored
      Use -hcsuf to avoid clobbering .hc files when building several ways,
      and clean up the -osuf usage (put all the suffix-changing options in
      one place).
      57c3ca26
    • simonmar's avatar
      [project @ 2001-05-09 09:43:44 by simonmar] · bd6633a9
      simonmar authored
      Document -hcsuf option
      bd6633a9
    • simonmar's avatar
      [project @ 2001-05-09 09:38:18 by simonmar] · 02edb760
      simonmar authored
      Add a new option: -hcsuf <suffix> which renames the .hc suffix to
      <suffix> for this compilation, in the same way as -osuf and -hisuf.
      
      To even things up, remove partial support for '-ohi -', which
      allegedly dumped the .hi file to stdout but in reality never worked.
      It's a strange thing to want to do anyway, but in any case you could
      always say '-ohi /dev/stdout', or even 'ghc Foo.hs && cat Foo.hi'.
      02edb760
  2. 08 May, 2001 11 commits
    • qrczak's avatar
      [project @ 2001-05-08 17:33:57 by qrczak] · 3738f227
      qrczak authored
      Fix typo when times() is used.
      Move foreign imports inside appropriate #ifdefs.
      
      A small problem remained (besides Win32): For hpux getrusage is defined
      here as a macro, and foreign importing a macro relies on compilation
      via C. Should be wrapped in a function, but I'm not sure if it's safe
      to call it getrusage.
      3738f227
    • sewardj's avatar
      [project @ 2001-05-08 16:47:25 by sewardj] · 713af4d5
      sewardj authored
      Insert interim fix in the bytecode gen to ignore polymorphic case
      for the time being.  I can't see any way to fix it right in the
      timescale before 5.00.1 goes out.  This works well enough to
      make Sergei's DoCon thing run on the interpreter without segfaults.
      
         -- Nasty hack; treat
         --     case scrut::suspect of bndr { DEFAULT -> rhs }
         --     as
         --     let bndr = scrut in rhs
         --     when suspect is polymorphic or arrowtyped
         -- So the required strictness properties are not observed.
         -- At some point, must fix this properly.
      713af4d5
    • simonpj's avatar
      [project @ 2001-05-08 16:25:30 by simonpj] · ac60a2e4
      simonpj authored
      Fix braino
      ac60a2e4
    • rrt's avatar
      [project @ 2001-05-08 14:54:58 by rrt] · 8162c20d
      rrt authored
      fixdll.pl renamed decyg.pl, for greater justice.
      runexe.c added: it's a little Windows program which takes a command line and
      runs it, without any connection to the parent process. This allows cygwin
      binaries to be run against our patched cygwin1.dll (under a pseudonym),
      without any connection being made if the parent process is also Cygwinised.
      8162c20d
    • simonpj's avatar
      [project @ 2001-05-08 14:44:37 by simonpj] · 7c72bad5
      simonpj authored
      ****	MERGE WITH 5.00 BRANCH     ********
      
      	--------------------------------------
      	Make parallel list comprehensions work
      	--------------------------------------
      
      There were two bugs
      
      1.  The desugaring in DsListComp was generating code that failed Lint.
          I've restructured it quite a lot.
      
      2.  More seriously, in a ParStmt, the last 'stmt' may be a guard;
          but previously both guards and the result of a list comprehension
          were encoded as an ExprStmt (see HsExpr.Stmt), using the fact that
          the stmt was last in the list to make the difference between a guard
          and a result.  But in parallel list comp this isn't right:
      
      	[ e | x <- xs, guard | y <- ys ]
      
          Here 'guard' is last in its list, but isn't an overall result.
      
          The sensible fix is to properly distinguish
      	"here's the answer" 			 (ResultStmt)
      	"here's a guard or an imperative action" (ExprStmt)
      
          The fix is rather easy, but touched quite a lot of files.  On the
          way I tidied up the parser a little.
      7c72bad5
    • simonpj's avatar
      [project @ 2001-05-08 14:39:27 by simonpj] · 76573a24
      simonpj authored
      Add parallel list comp test
      76573a24
    • simonmar's avatar
      [project @ 2001-05-08 14:33:01 by simonmar] · 696708bc
      simonmar authored
      oops, backout accidentally committed changes
      696708bc
    • simonmar's avatar
      [project @ 2001-05-08 11:55:24 by simonmar] · 52bcee1f
      simonmar authored
      Fix setSrcLocP
      52bcee1f
    • simonmar's avatar
      [project @ 2001-05-08 11:07:30 by simonmar] · c7c6aea8
      simonmar authored
      oops, remove debugging output
      c7c6aea8
    • simonmar's avatar
      [project @ 2001-05-08 10:58:48 by simonmar] · b8b47abe
      simonmar authored
      Add
      
      	DriverPhases.haskellish_src_suffix :: String -> Bool
      	DriverPhases.haskellish_src_file   :: String -> Bool
      
      which return True for suffixes of Haskell source files only.  The
      existing haskellish_suffix and haskellish_file return True also for
      .raw_s and .hc files.
      
      We use these instead of haskellish_file in Main.main when deciding
      whether to preprocess a file.
      
      Fixes: compilation of .raw_s files, and potential bugs with
      compilation of .hc files.
      b8b47abe
    • simonmar's avatar
      [project @ 2001-05-08 08:55:17 by simonmar] · dc673bca
      simonmar authored
      Drop in CPUTime library replacement.  Still needs to be ported to
      Win32.
      dc673bca
  3. 07 May, 2001 6 commits
  4. 04 May, 2001 14 commits
    • simonmar's avatar
      [project @ 2001-05-04 16:36:38 by simonmar] · f3c0c257
      simonmar authored
      comment explaining why we check the perms on . before reading ./.ghci.
      f3c0c257
    • simonmar's avatar
      [project @ 2001-05-04 15:18:00 by simonmar] · dea9b472
      simonmar authored
      .raw_s is a haskellish_suffix.
      dea9b472
    • simonmar's avatar
      [project @ 2001-05-04 15:12:16 by simonmar] · 95faf8bf
      simonmar authored
      document :set -package
      95faf8bf
    • simonmar's avatar
      [project @ 2001-05-04 14:56:53 by simonmar] · dfbbfedc
      simonmar authored
      - only read ~/.ghci if it is owned by the current user and isn't
        writable by anyone else.
      
      - Only read ./.ghci if both . and ./.ghci are owned by the current
        user and aren't writable by anyone else.  I think this is
        sufficient: we don't need to check .. and ../.. etc. because "."
        always refers to the same directory while a process is running.
      
      - Don't load .so libraries in a package if that package is already
        linked with GHCi.  This stops us re-linking libm, libreadline etc.
      
      - Allow packages to be loaded from within GHCi using
      	:set -package <name>
        NOTE: this will unload all modules currently loaded into the
        interpreter.  I did this to be on the safe side - I think perhaps
        it isn't necessary, but I haven't thought it through fully yet.
      
      - fix CompManager.cmUnload in the process.  It was wrong in several
        ways.
      
      MERGE WITH 5.00
      dfbbfedc
    • simonpj's avatar
      [project @ 2001-05-04 14:53:44 by simonpj] · 42cbdbec
      simonpj authored
      Add mutual recursion between types test
      42cbdbec
    • simonpj's avatar
      [project @ 2001-05-04 14:44:07 by simonpj] · 0aca75a2
      simonpj authored
      Add more TC tracing
      0aca75a2
    • simonmar's avatar
      [project @ 2001-05-04 14:43:49 by simonmar] · 24475557
      simonmar authored
      touch# should be declared to have_side_effects.  This fixes the
      remaining problem with safe foreign imports and ForeignPtrs.
      24475557
    • simonpj's avatar
      [project @ 2001-05-04 14:43:26 by simonpj] · cb2d1981
      simonpj authored
      ****	MERGE WITH 5.00 BRANCH     ********
      
      	--------------------------------
      	Fix a black hole when type checking type decls
      	--------------------------------
      
      GHC was falling into a black hole when type checking a recursive
      group of type declarations including a chain of type synonyms.
      
        type PhraseFun = PMap -> Float
        type PMap      = () -> Player
        data Player    = P.MkT P.PhraseFun
      
      Reason: too much consistency checking in TcMonoType.
      Easily fixed using the existing wimp_out hack, but it's a mess.
      This commit fixes it for the 5.00 branch but I'll do something
      better in the head shortly.
      cb2d1981
    • simonpj's avatar
      [project @ 2001-05-04 14:40:42 by simonpj] · d6888704
      simonpj authored
      Comments only
      d6888704
    • rrt's avatar
      [project @ 2001-05-04 14:23:52 by rrt] · ed4dae3d
      rrt authored
      Script to change "cygwin1.dll" to something else, so that we can have our
      own version of the cygwin DLL that doesn't clash with any installed DLLs,
      for great justice.
      ed4dae3d
    • simonmar's avatar
      [project @ 2001-05-04 13:21:05 by simonmar] · 0d18f027
      simonmar authored
      add
      	flushPackageCache :: [PackageConfig] -> IO ()
      
      for modifying the list of available packages.
      0d18f027
    • qrczak's avatar
      [project @ 2001-05-04 09:37:13 by qrczak] · e0c787c1
      qrczak authored
      Since overlapping rules (when one is more specific than the other)
      seem to be handled well, add remaining fromIntegral rules to have
      optimal conversions in all cases (given available primops).
      e0c787c1
    • simonpj's avatar
      [project @ 2001-05-04 08:10:30 by simonpj] · cf158e40
      simonpj authored
      Comments only
      cf158e40
    • simonpj's avatar
      [project @ 2001-05-04 08:09:42 by simonpj] · 30c2423b
      simonpj authored
      ****	MERGE WITH 5.00 BRANCH     ********
      
      	--------------------------------
      	Make CPR work only for small products
      	--------------------------------
      
      GHC was barfing when doing CPR for programs involving very large
      products.  A one-line fix in MkId.mkDataCon makes it only do CPR for
      smaller products (I chose 10).  Comments
      
      -- We do not treat very big tuples as CPR-ish:
      --	a) for a start we get into trouble because there aren't
      --	   "enough" unboxed tuple types (a tiresome restriction,
      --	   but hard to fix),
      --	b) more importantly, big unboxed tuples get returned mainly
      --	   on the stack, and are often then allocated in the heap
      --	   by the caller.  So doing CPR for them may in fact make
      --	   things worse.
      
      This should fix the error
      	Failed to find interface decl for
      		PrelGHC.(#,,,,,,,,,,,,,,,,,,,,,,,,
      			  ,,,,,,,,,,,,,,,,,,,,,,,,,,,
      			  ,,,,,,,,,,,,,,,,,,,,,,,#)
      
      I hope.
      30c2423b
  5. 03 May, 2001 6 commits