FW: Haskell 98 lexical syntax again

Ian Lynagh igloo@earth.li
Fri, 1 Mar 2002 19:42:40 +0000


On Thu, Feb 28, 2002 at 07:13:32PM -0800, Ashley Yakeley wrote:
> At 2002-02-28 07:18, Simon Peyton-Jones wrote:
> 
> >  whitechar -> newline | vertab | space | tab | uniWhite
> >  newline   -> return linefeed | return | linefeed | formfeed
> >  return    -> a carriage return
> >  linefeed  -> a line feed
> >
> >This means that CR, LF, or CRLF, are all valid 'newline' separators,
> >and the same sequence of characters should therefore work on any
> >Haskell implementation.
> 
> Good.
> 
> While you're fiddling with it, I recommend this:
> 
>   newline    -> return linefeed | return | linefeed | formfeed | 
> uniLineSep | uniParaSep
>   uniLineSep -> any char of General Category Zl
>   uniParaSep -> any char of General Category Zp

If this happens then

  * The characters newline, return, linefeed, and formfeed, all start a
    new line.

in "B.3  Layout" should also be updated. In fact I think it should be
changed to

  * The token newline starts a new line

regardless, although that kind of reminds me the "May contain nuts"
warning on nut packets.


Ian