Language-c patches (trivial)

Joe Thornber joe.thornber at gmail.com
Mon Jan 26 10:29:55 EST 2009


Hi Benedikt,

Here's an updated version of this mornings changes.

- Joe

2009/1/26 Benedikt Huber <benedikt.huber at gmail.com>:
> On 26.01.2009, at 11:52, Joe Thornber wrote:
>>
>> Hi Benedikt,
>>
>> I did some tinkering this morning.  Nothing radical, so I wont take
>> offense if you don't merge it :)
>
> Thank you, Joe !
> Could you please pull the latest change (adds adjustPos to Data.Position)
> and send the
> patches again - I had a conflict when trying to apply the patch.
> The patches also need some small adjustments, I'll comment below.
> Btw, Ive set up a mailing list
> (http://projects.haskell.org/cgi-bin/mailman/listinfo/language-c), so please
> CC
> it, even if no one's listening but me ;)
>
> benedikt
>
> Comments to the patches:
>
> [Position] Use a summation type for the various position types.
> [Position] Use record syntax when defining Position
>
> Yes, I was concerned about memory usage (Data.Position is used quite a lot),
> but I think you're right, it
> won't make a big difference and its much clearer that way. Thanks !
>
> [Ident] Replace an UNBOXED pragma with UNPACK
>
> Oh, thanks for spotting this one. In 6.8 it is already called UNPACK, but
> the original code I'm using here
> is from 1997 or so :)
>
> [TravMonad] Remove deprecated PatternSignatures language option
> No, I want to stay compatible with 6.8 for now.
>
> [Position] documentation
> [Position, Lexer] Don't export any constructors for Position
>
> Ok fine, but I'm not so happy with incRow - rather use adjustPos.
> There is an mistake in the lexer:
>
> -alexMove pos '\r' = incRow pos
>
> should be replaced by
>
> Lexer.x:
>  alexMove pos '\r' = incOffset pos 1
> Position.hs:
>  {-# INLINE incOffset #-}
>  -- | advanced offset in the input stream, without changing line or column
>  incOffset :: Position -> Int -> Position
>  incOffset (Position offs fname row col) x = Position (offs + x) fname row
> col
>  incOffset p _ = p
>
>
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: lc_bundle
Type: application/octet-stream
Size: 34521 bytes
Desc: not available
Url : http://projects.haskell.org/pipermail/language-c/attachments/20090126/d207f597/attachment-0001.obj 


More information about the Language-c mailing list