[cvs-nhc98] cvs commit: nhc98/src/compiler98 Extra.hs

olaf at haskell.org olaf at haskell.org
Thu Sep 2 13:51:28 EDT 2004


olaf        2004/09/02 10:51:25 PDT

  Modified files:
    src/compiler98       Extra.hs 
  Log:
  Corrected mergePos in module extra to correct the attached bug.
  Also made some more progress with hat-source.
  
  ------------------------ Bug report:
  
  I just checked out the latest Hat sources from the CVS.  After
  successful compilation and installation, I think I have a bug
  at hand, in the treatment of left section expressions, e.g. (2+).
  
  A very simple program that generates the bug (let's call the
  file hattest.hs):
  
     generator = ("Hello " ++) . ("world!" ++)
     main        = putStrLn (generator "")
  
  Here's what I get:
  
     formal:~/foo> hmake -hat hattest
     hat-trans  hattest.hs
  
     Fail: mergePos 1:23-1:24 1:14-1:21
  
  As I understand it, (1:23-1:24) is the first "++" and 1:14-1:21
  is the string "Hello ".  The left section is (correctly) converted
  to the application:
  
     (++) "Hello "
  
  but then possitions of the two subexpressions come the wrong way
  and mergePos complains.
  
  I know it can be fixed by writing the expression above instead of
  the left section, but (as this occurs in all Show instances several
  times) I think it is not an acceptable solution.
  
  Am I missing something?  If not, could somebody fix it?
  
  Thank you in advance,
  Nikos.
  
  Revision  Changes    Path
  1.17      +4 -6      nhc98/src/compiler98/Extra.hs


More information about the Cvs-nhc98 mailing list