1. 27 Jun, 2001 4 commits
    • rrt's avatar
      [project @ 2001-06-27 10:14:13 by rrt] · 176b98e2
      rrt authored
      Close file after reading OPTIONS pragma
      176b98e2
    • reid's avatar
      [project @ 2001-06-27 06:52:16 by reid] · 70dac7c7
      reid authored
      [After fumbling around in the makefile forest for a while, Sigbjorn
      enlightened me as to where one registers new hslib packages.  Golly,
      never thought of looking over here.  I'd kinda expected that it would
      be in the makeforest since makefiles seem to contain all (or almost
      all) the information needed to install a package.  (Any chance this
      stuff could be moved into the makeforest in the new library
      infrastructure?)  It seems that'd be more effective since it'd be able
      to benefit from all that good information that autoconf spent so long
      figuring out about your X installation, your platform, your
      internationalisation library, etc.]
      
      Oh, yeah, the change... Added xlib to the package list.  Result looks
      plausible.
      70dac7c7
    • sof's avatar
      [project @ 2001-06-27 06:18:40 by sof] · 3fde0a65
      sof authored
      mingw: derive plat-specific HSC2HS_EXTRA settings from the default SRC_CC_OPTS
      3fde0a65
    • sof's avatar
      [project @ 2001-06-27 06:17:22 by sof] · 8bb04e45
      sof authored
      try to get rid off a special case for mingw, where CC_OPTS was forced to always contain '-mno-cygwin -mwin32'
      8bb04e45
  2. 26 Jun, 2001 9 commits
    • sof's avatar
      [project @ 2001-06-26 23:22:37 by sof] · 544eeafe
      sof authored
      wibble
      544eeafe
    • sof's avatar
      [project @ 2001-06-26 23:12:19 by sof] · d2f7d10f
      sof authored
      Test whether $(CC) supports -mwin32 + have configure script set SRC_CC_OPTS
      d2f7d10f
    • rrt's avatar
      [project @ 2001-06-26 16:32:03 by rrt] · 80b91584
      rrt authored
      Get rid of quotes around arguments to -D and -U. These get stripped by the
      Unix shell, but not by Windows's system, which upsets gcc.
      80b91584
    • rrt's avatar
      [project @ 2001-06-26 16:31:07 by rrt] · de27420c
      rrt authored
      Make system.c get compiled properly
      de27420c
    • rrt's avatar
      [project @ 2001-06-26 16:30:50 by rrt] · cfff5d21
      rrt authored
      Fix typos
      cfff5d21
    • rrt's avatar
      [project @ 2001-06-26 15:51:55 by rrt] · 3b8aa6ae
      rrt authored
      Make stage two getExecDir for Windows work again. Where did it go before?
      3b8aa6ae
    • simonpj's avatar
      [project @ 2001-06-26 11:07:55 by simonpj] · 38ca3fed
      simonpj authored
      Add #include for SysTools
      38ca3fed
    • simonpj's avatar
      [project @ 2001-06-26 11:07:42 by simonpj] · d1d60a15
      simonpj authored
      Add comments
      d1d60a15
    • reid's avatar
      [project @ 2001-06-26 08:13:04 by reid] · 39c84a7d
      reid authored
      NOTE: new configure.in - remember to autoconf and reconfig
      
      I'm moving X.gc and Xlib.gc from hslibs/graphics/lib/x11 to
      hslibs/xlib and integrating them into the hslibs maketree.  This lib
      now lives at the same place in the hierarchy as win32 - probably not
      perfect for the new library story but good enough for the old hslibs I
      think.
      
      I'm not converting them from GreenCard to hsc2hs but I think that
      would be a good medium term goal.  I'd like to do it myself because
      I'd like to try using hsc2hs but I can't imagine when I'll get the
      time so if someone feels like doing it, go right ahead.  (The HGL
      (hslibs/graphics/lib/x11) is probably the only code that depends on
      the Xlib interface - so mild changes to the Xlib API would be fairly
      easy to fix up.)
      
      It all seems to build and compile (not sure about linking yet) but,
      for the life of me, I can't figure out what part of the makefile calls
      ghc-pkg -a so that isn't quite working yet.  (I _think_ the makefile
      does this - but could be wrong.)
      
      If someone could either point me at the relevant part of the makefile
      docs or just fix it for me, I could move onto getting the graphics lib
      integrated into the hslibs maketree - which would leave me with just
      the Hugs part of the HGL distribution to fix before the next Hugs
      release.  (If I was a good Haggis, I'd beat up on Hugs' ffi too - but
      I'm a very overworked Haggis at the moment so I'm not sure I'll get
      that far.)
      39c84a7d
  3. 25 Jun, 2001 14 commits
    • sof's avatar
      [project @ 2001-06-25 21:08:01 by sof] · aea0a3d6
      sof authored
      sorry - prev. commit didn't take into account that the ghc version scheme isn't just a.bb[.c], but also a.bb[.yyyymmdd]. This broke the nightly build, my bad
      aea0a3d6
    • sof's avatar
      [project @ 2001-06-25 17:28:30 by sof] · 6b6f88da
      sof authored
      Replace GHC version testing with something a bit more sturdy
      6b6f88da
    • simonpj's avatar
      [project @ 2001-06-25 14:50:22 by simonpj] · 68ad4c6a
      simonpj authored
      Keep pgm paths in native format
      68ad4c6a
    • simonpj's avatar
      [project @ 2001-06-25 14:36:04 by simonpj] · a5ded1f8
      simonpj authored
      Import wibbles
      a5ded1f8
    • simonpj's avatar
      [project @ 2001-06-25 13:13:58 by simonpj] · f00281df
      simonpj authored
      In nubBy, put argument to eq in the standard order
      f00281df
    • rrt's avatar
      [project @ 2001-06-25 11:11:16 by rrt] · 0282f593
      rrt authored
      Fix so that it compiles on both pre and post 5.00 series compilers.
      0282f593
    • rrt's avatar
      [project @ 2001-06-25 09:49:59 by rrt] · 14e414ec
      rrt authored
      Comment out an uncomfortable ASSERT for now.
      14e414ec
    • rrt's avatar
      [project @ 2001-06-25 09:44:10 by rrt] · 265be40f
      rrt authored
      Add more symbols for mingwin version to get it to work. This still needs
      tidying up.
      265be40f
    • rrt's avatar
      [project @ 2001-06-25 09:34:11 by rrt] · d157569b
      rrt authored
      Remove hacked-in definition of system for mingwin; instead we now just link
      against the new version of systemCmd from lib/std/cbits/system.c.
      d157569b
    • simonpj's avatar
      [project @ 2001-06-25 08:09:57 by simonpj] · d069cec2
      simonpj authored
      ----------------
      	Squash newtypes
      	----------------
      
      This commit squashes newtypes and their coerces, from the typechecker
      onwards.  The original idea was that the coerces would not get in the
      way of optimising transformations, but despite much effort they continue
      to do so.   There's no very good reason to retain newtype information
      beyond the typechecker, so now we don't.
      
      Main points:
      
      * The post-typechecker suite of Type-manipulating functions is in
      types/Type.lhs, as before.   But now there's a new suite in types/TcType.lhs.
      The difference is that in the former, newtype are transparent, while in
      the latter they are opaque.  The typechecker should only import TcType,
      not Type.
      
      * The operations in TcType are all non-monadic, and most of them start with
      "tc" (e.g. tcSplitTyConApp).  All the monadic operations (used exclusively
      by the typechecker) are in a new module, typecheck/TcMType.lhs
      
      * I've grouped newtypes with predicate types, thus:
      	data Type = TyVarTy Tyvar | ....
      		  | SourceTy SourceType
      
      	data SourceType = NType TyCon [Type]
      			| ClassP Class [Type]
      			| IParam Type
      
      [SourceType was called PredType.]  This is a little wierd in some ways,
      because NTypes can't occur in qualified types.   However, the idea is that
      a SourceType is a type that is opaque to the type checker, but transparent
      to the rest of the compiler, and newtypes fit that as do implicit parameters
      and dictionaries.
      
      * Recursive newtypes still retain their coreces, exactly as before. If
      they were transparent we'd get a recursive type, and that would make
      various bits of the compiler diverge (e.g. things which do type comparison).
      
      * I've removed types/Unify.lhs (non-monadic type unifier and matcher),
      merging it into TcType.
      
      Ditto typecheck/TcUnify.lhs (monadic unifier), merging it into TcMType.
      d069cec2
    • simonpj's avatar
      [project @ 2001-06-25 08:08:32 by simonpj] · 3622a7de
      simonpj authored
      ---------------------------
      	Add a new case optimisation
      	---------------------------
      
      I found that lib/std/PrelCError had a case-expression that was
      generating terrible code.   Something like this
      
      	x | p `is` 1 -> e1
      	  | p `is` 2 -> e2
      	...etc...
      
      where @is@ was something like
      
      	p `is` n = p /= (-1) && p == n
      
      This gave rise to a horrible sequence of cases
      
      	case p of
      	  (-1) -> $j p
      	  1    -> e1
      	  DEFAULT -> $j p
      
      and similarly in cascade for all the join points!
      
      
      Solution: add the following transformation:
      
      	case e of		=====>     case e of
      	  C _ -> <expr>			     D v -> ....v....
      	  D v -> ....v....		     DEFAULT -> <expr>
      	  DEFAULT -> <expr>
      
      The point is that we merge common RHSs, at least for the DEFAULT case.
      [One could do something more elaborate but I've never seen it needed.]
      
      This transformation is implemented in SimplUtils.mkCase
      
      
      *** WARNING ***
      	To make this transformation easy, I have switched the convention
      	for DEFAULT clauses.  They must now occur FIRST in the list of
      	alternatives for a Core case expression.  (The semantics is
      	unchanged: they still are a catch-all case.)
      
      	The reason is that DEFAULT clauses sometimes need special treatment,
      	and it's a lot easier to find them at the front.
      
      	The easiest way to be insensitive to this change is to use
      	CoreUtils.findDefault to pull the default clause out.
      
      I've made the (surprisingly few) changes consequent on this changed
      of convention, but they aren't in this commit.  Instead they are part
      of the big commit on newtypes I'm doing at the same time.
      3622a7de
    • simonpj's avatar
      [project @ 2001-06-25 08:01:16 by simonpj] · a12bed53
      simonpj authored
      ----------------------------------
      	Fix a predicate-simplification bug
      	----------------------------------
      
      Fixes a bug pointed out by Marcin
      
          data R = R {f :: Int}
          foo:: (?x :: Int) => R -> R
          foo r = r {f = ?x}
      
          Test.hs:4:
      	Could not deduce `?x :: Int' from the context ()
      	arising from use of implicit parameter `?x' at Test.hs:4
      	In the record update: r {f = ?x}
      	In the definition of `foo': r {f = ?x}
      
      The predicate simplifier was declining to 'inherit' an
      implicit parameter.  This is right for a let-binding, but
      wrong for an expression binding.  For example, a simple
      expression type signature:
      
      		(?x + 1) :: Int
      
      This was rejected because the ?x constraint could not be
      floated out -- but that's wrong for expressions.
      a12bed53
    • sof's avatar
      [project @ 2001-06-25 05:25:31 by sof] · ef934bae
      sof authored
      One RCS  will do
      ef934bae
    • sof's avatar
      [project @ 2001-06-25 01:35:07 by sof] · 2917a645
      sof authored
      With -no-hs-main, don't force PrelMain.o to be linked (=> Main.o)
      2917a645
  4. 23 Jun, 2001 2 commits
  5. 22 Jun, 2001 8 commits
  6. 18 Jun, 2001 3 commits