1. 04 Oct, 2001 2 commits
  2. 03 Oct, 2001 12 commits
    • simonpj's avatar
      [project @ 2001-10-03 16:20:57 by simonpj] · a1b59a18
      simonpj authored
      Add comments, and nuke strictness info in CoreTidy if totally boring
    • rrt's avatar
      [project @ 2001-10-03 15:30:57 by rrt] · d1bf2fc3
      rrt authored
      Dear Sigbjorn,
      next time you turn an
      into an
      remember to check the sense of the test. Sometimes, it needs to be reversed
      (there was in this case a hint in the surrounding code).
    • simonpj's avatar
      [project @ 2001-10-03 13:59:22 by simonpj] · ea00738b
      simonpj authored
      wibbles only
    • simonpj's avatar
      [project @ 2001-10-03 13:58:50 by simonpj] · f659cb97
      simonpj authored
      	Clear up infelicities
      	CorePrep, CoreUtils, SimplUtils
      	LiberateCase (wibbles only)
      * Previously CorePrep was floating LocalIds to top level, which
        breaks the invariant that after CorePrep all top level Ids are
        GlobalIds.  But it didn't really need to, and this pass makes it
        so.  It's much tidier now.
      * Make CorePrep do eta expansion on partial applications
      	x = foldr f y  ==>   x = \ys -> foldr f y ys
        (This used to be done in the simplifier, but now the
        simplifier only eta expands where there is at least one
        lambda already.)
      * Omit CoreUtils.etaReduce.  (Never called.)
      * Improve CoreUtils.etaExpand, so that it doesn't add gratuitous
        beta redexes.
    • simonpj's avatar
      [project @ 2001-10-03 13:58:13 by simonpj] · 4a1e12a1
      simonpj authored
      	Output curried functions for data constructors
      The idea here is to output code for the *curried* version of
      the worker of a data constructor, so that the worker can be
      treated as a first-class citizen elsewhere in the compiler.
      In particular, it doesn't need to be a "hasNoBinding" thing,
      which are the subject of a number of nasty hacks.
      These changes only do the business for the code gen route
      via AbstractC.  Remaining to do: the byte code generator.
      Idea: move the byte-code gen to STG code, and inject the
      curried data-constructor workers at the STG stage.
      	I hope the changes here won't make
      	anything stop working.  For now, constructor
      	workers remain "hasNoBinding" things.
      CgConTbls, CodeGen, CoreTidy, CoreToStg
    • simonmar's avatar
      [project @ 2001-10-03 13:57:42 by simonmar] · b4623557
      simonmar authored
      Tidy up ghc/includes/Constants and related things.
      Now all the constants that the compiler needs to know, such as header
      size, update frame size, info table size and so on are generated
      automatically into a header file, DeriviedConstants.h, by a small C
      program in the same way as NativeDefs.h.  The C code in the RTS is
      expected to use sizeof() directly (it already does).
      Also tidied up the constants in MachDeps.h - all the constants
      representing the sizes of various types are named SIZEOF_<foo>, to
      match the constants defined in config.h.  PrelStorable.lhs now doesn't
      contain any special knowledge about GHC's conventions as regards the
      size of certain types, this is all in MachDeps.h.
    • simonpj's avatar
      [project @ 2001-10-03 13:57:33 by simonpj] · e205a0ce
      simonpj authored
      	Don't bomb out on inlining big constructors
      The unfolder bombs out if the expression get too big; no point in
      computing its exact size when it's vast.  But for *constructors*
      applied to a lot of args, it's worth keeping going, because we
      get a big *disount* too
      	$fFooInt = :CFoo a1 a2 a3 ... a50
      We want to keep the inlining for $fFooInt in interface files, so
      that importing guys can do the selection.
      Solution: only bomb out when size-discount gets too big.
    • rrt's avatar
      [project @ 2001-10-03 10:18:31 by rrt] · 5e1f86a7
      rrt authored
      This file shouldn't be in the repository any more (there's a
      Why is it only me that notices these phantom leftovers? Why don't they cause
      problems for other people?
    • sewardj's avatar
      [project @ 2001-10-03 09:56:18 by sewardj] · 7693d3bd
      sewardj authored
      In the interactive FFI, handle f-i'd fns which return char.
    • rrt's avatar
      [project @ 2001-10-03 09:43:11 by rrt] · a3ccd83f
      rrt authored
      Remove import of unDosifyPath, and the comment saying that it is used.
    • simonmar's avatar
      [project @ 2001-10-03 09:20:20 by simonmar] · 28274f6a
      simonmar authored
      minor wibble: use Maybe.isJust rather than maybeToBool
    • simonmar's avatar
      [project @ 2001-10-03 08:16:49 by simonmar] · 2e9f2703
      simonmar authored
      Don't print the "compilation IS NOT required" in quiet mode (-v0).
  3. 02 Oct, 2001 5 commits
  4. 01 Oct, 2001 19 commits
  5. 28 Sep, 2001 2 commits
    • sof's avatar
      [project @ 2001-09-28 23:41:00 by sof] · 0f3a6bb6
      sof authored
      Rename 'doDiscard' to 'lexPragma', and make it EOF-resistant.
      As was, it would run off the end of a StringBuffer (and SIGSEGV,
      most likely) if a pragma wasn't properly closed.
    • sof's avatar
      [project @ 2001-09-28 23:36:50 by sof] · 53ededd0
      sof authored
      Provide finer-grained control for turning off mk/target.mk's
      'all', 'boot' and 'install' rules. i.e., instead of having
      the variable NO_ALL_TARGETS control the defnition of rules
      lets you individually control which ones you don't want.
      Sub-projects (GC and HDirect, for example) have the need
      to turn off the 'boot' rule, which is what motivated this