1. 18 Jun, 2002 4 commits
    • simonpj's avatar
      [project @ 2002-06-18 13:58:53 by simonpj] · 7fc965c5
      simonpj authored
      typo
      7fc965c5
    • simonpj's avatar
      [project @ 2002-06-18 13:58:22 by simonpj] · 80e39963
      simonpj authored
      ---------------------------------------
      	    Rehash the handling of SeqOp
      	---------------------------------------
      
      See the comments in the commentary (Cunning Prelude Code).
      
      * Expunge SeqOp altogether
      
      * Add GHC.Base.lazy :: a -> a
        to GHC.Base
      
      * Add GHC.Base.lazy
        to basicTypes/MkId.  The idea is that this defn will over-ride
        the info from GHC.Base.hi, thereby hiding strictness and
        unfolding
      
      * Make stranal/WorkWrap do a "manual inlining" for GHC.Base.lazy
        This happens nicely after the strictness analyser has run.
      
      * Expunge the SeqOp/ParOp magic in CorePrep
      
      * Expunge the RULE for seq in PrelRules
      
      * Change the defns of pseq/par in GHC.Conc to:
      
      	{-# INLINE pseq  #-}
             	pseq :: a -> b -> b
             	pseq  x y = x `seq` lazy y
      
             	{-# INLINE par  #-}
             	par :: a -> b -> b
             	par  x y = case (par# x) of { _ -> lazy y }
      80e39963
    • simonpj's avatar
      [project @ 2002-06-18 12:43:42 by simonpj] · 8c4c38a1
      simonpj authored
      Notes about par/seq
      8c4c38a1
    • simonpj's avatar
      [project @ 2002-06-18 08:05:44 by simonpj] · 5451c866
      simonpj authored
      Wibble on printing outmost parens
      5451c866
  2. 17 Jun, 2002 3 commits
  3. 16 Jun, 2002 1 commit
    • panne's avatar
      [project @ 2002-06-16 16:10:29 by panne] · f179e855
      panne authored
      * Use the encoded module name for the C stub of "foreign import
        wrapper", so e.g. the '.' in hierarchical module names gets mangled.
      * Nuke unused parameter in mkFExportCBits
      f179e855
  4. 15 Jun, 2002 4 commits
  5. 14 Jun, 2002 5 commits
  6. 13 Jun, 2002 3 commits
  7. 12 Jun, 2002 3 commits
    • wolfgang's avatar
      [project @ 2002-06-12 22:29:43 by wolfgang] · f55855f2
      wolfgang authored
      Initial support for GHCi on MacOS X.
      The code still has problems with global variables in compiled C code, but
      it _seems_ to work OK for GHC-compiled code. Many error checks are still
      missing.
      f55855f2
    • wolfgang's avatar
      [project @ 2002-06-12 22:04:25 by wolfgang] · 643a2f70
      wolfgang authored
      Added support for Frameworks on MacOS X.
      *) On MacOS X, two additional command-line options are supported:
      -framework <FRAMEWORK>    link with framework, gets passed on to ld
      -framework-path <PATH>    gets passed on to ld as "-F<PATH>". (-F is already taken for GHC).
      *) Two corresponding additional options for package.conf files:
      framework_dirs
      extra_frameworks
      These options are allowed on any platform. They are ignored everywhere except on MacOS X.
      *) ghc-pkg no longer uses Read. Instead, it uses a Happy parser. ghc/utils/ghc-pkg/ParsePkgConfLite.y is basically a copy of ghc/compiler/main/ParsePkgConf.y. "Light" refers to the fact that it doesn't depend on other GHC modules and has less sophisticated error reporting.
      *) Frameworks will need some additional work for GHCi.
      643a2f70
    • wolfgang's avatar
      [project @ 2002-06-12 21:43:47 by wolfgang] · b02102f2
      wolfgang authored
      (powerpc-darwin) Add a missing newline to the prologue.
      b02102f2
  8. 11 Jun, 2002 1 commit
  9. 10 Jun, 2002 1 commit
  10. 09 Jun, 2002 6 commits
  11. 07 Jun, 2002 2 commits
    • matthewc's avatar
      [project @ 2002-06-07 09:40:05 by matthewc] · 400b162b
      matthewc authored
      STG to machine register mapping for IA64.
      400b162b
    • chak's avatar
      [project @ 2002-06-07 07:16:04 by chak] · 2205f0ce
      chak authored
      Fixed handling of infix operators in types:
      - Pretty printing didn't take nested infix operators into account
      - Explicit parenthesis were ignored in the fixity parser:
        * I added a constructor `HsParTy' to `HsType' (in the spirit of `HsPar' in
          `HsExpr'), which tracks the use of explicit parenthesis
        * Occurences of `HsParTy' in type-ish things that are not quite types (like
          context predicates) are removed in `ParseUtils'; all other occurences of
          `HsParTy' are removed during type checking (just as it works with `HsPar')
      2205f0ce
  12. 06 Jun, 2002 1 commit
  13. 05 Jun, 2002 4 commits
    • simonpj's avatar
      [project @ 2002-06-05 14:39:27 by simonpj] · b2f644fa
      simonpj authored
      ---------------------------------------
      	Add rebindable syntax for do-notation
      		(this time, on the HEAD)
      	---------------------------------------
      
      Make do-notation use rebindable syntax, so that -fno-implicit-prelude
      makes do-notation use whatever (>>=), (>>), return, fail are in scope,
      rather than the Prelude versions.
      
      On the way, combine HsDo and HsDoOut into one constructor in HsSyn,
      and tidy up type checking of HsDo.
      b2f644fa
    • simonpj's avatar
      [project @ 2002-06-05 14:08:23 by simonpj] · 2145e55a
      simonpj authored
      ------------------------------------------------
      	Fix the (new) lexer, and make the derived read
      	and show code work according to the new H98 report
      	------------------------------------------------
      
      
      The new lexer, based on Koen's cunning parser (Text.ParserCombinators.ReadP)
      wasn't quite right.  It's all very cool now.
      
      In particular:
      
      * The H98 "lex" function should return the exact string parsed, and it
      now does, aided by the new combinator ReadP.gather.
      
      * As a result the Text.Read.Lex Lexeme type is much simpler than before
          data Lexeme
            = Char   Char	-- Quotes removed,
            | String String	-- 	escapes interpreted
            | Punc   String 	-- Punctuation, eg "(", "::"
            | Ident  String	-- Haskell identifiers, e.g. foo, baz
            | Symbol String	-- Haskell symbols, e.g. >>, %
            | Int Integer
            | Rat Rational
            | EOF
           deriving (Eq,Show)
      
      * Multi-character punctuation, like "::" was getting lexed as a Symbol,
      but it should be a Punc.
      
      * Parsing numbers wasn't quite right.  "1..n" got it confused because it
      got committed to a decimal point and then found a second '.'.
      
      
      * The new H98 spec for Show is there, which ignores associativity.
      2145e55a
    • simonpj's avatar
      [project @ 2002-06-05 14:07:47 by simonpj] · 84e376bc
      simonpj authored
      Add comment
      84e376bc
    • simonpj's avatar
      [project @ 2002-06-05 13:30:52 by simonpj] · 0c66d79b
      simonpj authored
      Documentation for rebindable do-notation
      0c66d79b
  14. 04 Jun, 2002 2 commits