1. 28 Apr, 2001 1 commit
  2. 27 Apr, 2001 15 commits
  3. 26 Apr, 2001 8 commits
  4. 25 Apr, 2001 2 commits
  5. 24 Apr, 2001 13 commits
  6. 23 Apr, 2001 1 commit
    • lewie's avatar
      [project @ 2001-04-23 19:34:57 by lewie] · b5f00004
      lewie authored
      Fix for infix decl w/ infix data constructor.
      GHC was rejecting this:
      
          infix 2 |-
          ps  |-  q:qs = undefined
      
      It parses the def as ((ps |- q) : qs), and doesn't have the fixity info
      around at the point where it decides what is being defined.  Lacking
      anything else to go on, it decides that `:' is being defined.
      
      Fortunately, we don't really need fixity info to parse this correctly,
      as a data constructor is always the wrong choice ;-)  The fix is to
      dive into the left-hand-side until we find a non-data constructor.
      
      This is naive - consider the case where `|-' has a high precedence.
      Fortunately, someone clever put in a static check later on, presumably
      at the point where we have all the fixity info, that rejects the definition
      as bogus.  Yeah!
      b5f00004