Bug in Parsec.Token

In Text.Parsec.Token, the list of reserved names is not necessarily sorted for case-insensitive languages. When the list of reserved names contains a string with capital letters, the 'identifier' combinator can accept identifiers that conflict with reserved names. Attached are patches for Parsec 2.1 and 3.0. Please let me know if there's anything else I can do to ensure this patch makes it to the next release of the Haskell Platform. Thanks, Greg

On Tue, Nov 24, 2009 at 09:35:13PM -0800, Greg Fitzgerald wrote:
In Text.Parsec.Token, the list of reserved names is not necessarily sorted for case-insensitive languages. When the list of reserved names contains a string with capital letters, the 'identifier' combinator can accept identifiers that conflict with reserved names. Attached are patches for Parsec 2.1 and 3.0.
I've applied the 2.1 patch to http://darcs.haskell.org/old-from-monk/parsec/ but I think that is unmaintained now. Thanks Ian

I've applied the 2.1 patch to http://darcs.haskell.org/old-from-monk/parsec/ but I think that is unmaintained now.
Thanks Ian! Unmaintained, eh? Are people migrating to Parsec 3.0? Last discussion I heard about that (many months ago), Parsec 3.0 had some performance issues when used as a drop-in replacement for 2.1. I notice that Haskell Platform ships with 2.1 and that the RWH chapter stays within the subset of 2.1. Anyone know if the Haskell Platform is changing to 3.0 in the next release? Thanks, Greg

garious:
I've applied the 2.1 patch to http://darcs.haskell.org/old-from-monk/parsec/ but I think that is unmaintained now.
Thanks Ian!
Unmaintained, eh? Are people migrating to Parsec 3.0? Last discussion I heard about that (many months ago), Parsec 3.0 had some performance issues when used as a drop-in replacement for 2.1. I notice that Haskell Platform ships with 2.1 and that the RWH chapter stays within the subset of 2.1. Anyone know if the Haskell Platform is changing to 3.0 in the next release?
The gitit team *won't move to parsec 3 because it is too slow*. I vote the HP doesn't move either. In fact, parsec-3.x should be the parsec3 package, and out of the business of breaking our dependency chains.

On Tue, Feb 16, 2010 at 05:04:05PM -0800, Don Stewart wrote:
The gitit team *won't move to parsec 3 because it is too slow*.
I vote the HP doesn't move either.
In fact, parsec-3.x should be the parsec3 package, and out of the business of breaking our dependency chains.
How about moving parsec-3 to a new name, and bumping parsec-2 to version 4?

ross:
On Tue, Feb 16, 2010 at 05:04:05PM -0800, Don Stewart wrote:
The gitit team *won't move to parsec 3 because it is too slow*.
I vote the HP doesn't move either.
In fact, parsec-3.x should be the parsec3 package, and out of the business of breaking our dependency chains.
How about moving parsec-3 to a new name, and bumping parsec-2 to version 4?
That's not a bad idea.

Don Stewart wrote:
garious:
I've applied the 2.1 patch to http://darcs.haskell.org/old-from-monk/parsec/ but I think that is unmaintained now.
Thanks Ian!
Unmaintained, eh? Are people migrating to Parsec 3.0? Last discussion I heard about that (many months ago), Parsec 3.0 had some performance issues when used as a drop-in replacement for 2.1. I notice that Haskell Platform ships with 2.1 and that the RWH chapter stays within the subset of 2.1. Anyone know if the Haskell Platform is changing to 3.0 in the next release?
The gitit team *won't move to parsec 3 because it is too slow*.
I thought someone recently had a look at the performance of parsec 3 and managed to get it pretty much the same as that of parsec 2? http://www.haskell.org/pipermail/haskell-cafe/2009-December/070196.html The main obstacle to applying the work seemed to be that the author was worried about having made a fundamental data structure change in the process of switching to CPS. Ganesh =============================================================================== Please access the attached hyperlink for an important electronic communications disclaimer: http://www.credit-suisse.com/legal/en/disclaimer_email_ib.html ===============================================================================

On Wed, Feb 17, 2010 at 1:44 AM, Sittampalam, Ganesh
Don Stewart wrote:
garious:
I've applied the 2.1 patch to http://darcs.haskell.org/old-from-monk/parsec/ but I think that is unmaintained now.
Thanks Ian!
Unmaintained, eh? Are people migrating to Parsec 3.0? Last discussion I heard about that (many months ago), Parsec 3.0 had some performance issues when used as a drop-in replacement for 2.1. I notice that Haskell Platform ships with 2.1 and that the RWH chapter stays within the subset of 2.1. Anyone know if the Haskell Platform is changing to 3.0 in the next release?
The gitit team *won't move to parsec 3 because it is too slow*.
I thought someone recently had a look at the performance of parsec 3 and managed to get it pretty much the same as that of parsec 2? http://www.haskell.org/pipermail/haskell-cafe/2009-December/070196.html
The main obstacle to applying the work seemed to be that the author was worried about having made a fundamental data structure change in the process of switching to CPS.
I've managed to convince myself that what I'm doing is good over here: http://panicsonic.blogspot.com/2009/12/adventures-in-parsec.html For what it's worth. Antoine

Ross Paterson wrote:
How about moving parsec-3 to a new name, and bumping parsec-2 to version 4?
In "ANNOUNCE: Parsec 3.1.0" yesterday, Derrek Elkins wrote:
the performance should be much better and comparable to Parsec 2
Even with the recent release of Parsec 3.1, I'd prefer Parsec 3 be given a new name (ParsecT?) and we bump parsec-2 to version 4. It's great the two projects implement the same interface, but to call it Version 3 is basically to say that Version 2 is obsolete, which I don't think is necessarily true. I personally use Parsec 2 simply because its documentation is outstanding and I understand the implementation well. Would you guys be willing to change the name in Hackage? Thanks, Greg

garious:
Ross Paterson wrote:
How about moving parsec-3 to a new name, and bumping parsec-2 to version 4?
In "ANNOUNCE: Parsec 3.1.0" yesterday, Derrek Elkins wrote:
the performance should be much better and comparable to Parsec 2
Even with the recent release of Parsec 3.1, I'd prefer Parsec 3 be given a new name (ParsecT?) and we bump parsec-2 to version 4. It's great the two projects implement the same interface, but to call it Version 3 is basically to say that Version 2 is obsolete, which I don't think is necessarily true. I personally use Parsec 2 simply because its documentation is outstanding and I understand the implementation well.
Would you guys be willing to change the name in Hackage?
Derek, as maintainer of the parsec3 code, would you be willing to rename it to ParsecT? Or some such? That would solve the final compat. issue with the Haskell Platform (now QC2 is resolved). -- Don

On Thu, Mar 4, 2010 at 1:04 PM, Don Stewart
garious:
Ross Paterson wrote:
How about moving parsec-3 to a new name, and bumping parsec-2 to version 4?
In "ANNOUNCE: Parsec 3.1.0" yesterday, Derrek Elkins wrote:
the performance should be much better and comparable to Parsec 2
Even with the recent release of Parsec 3.1, I'd prefer Parsec 3 be given a new name (ParsecT?) and we bump parsec-2 to version 4. It's great the two projects implement the same interface, but to call it Version 3 is basically to say that Version 2 is obsolete, which I don't think is necessarily true. I personally use Parsec 2 simply because its documentation is outstanding and I understand the implementation well.
Would you guys be willing to change the name in Hackage?
Derek, as maintainer of the parsec3 code, would you be willing to rename it to ParsecT? Or some such?
That would solve the final compat. issue with the Haskell Platform (now QC2 is resolved).
Could we pursue moving parsec-3 into the Haskell Platform? Antoine

On Tue, Feb 16, 2010 at 05:01:44PM -0800, Greg Fitzgerald wrote:
I've applied the 2.1 patch to http://darcs.haskell.org/old-from-monk/parsec/ but I think that is unmaintained now.
Thanks Ian!
Unmaintained, eh? Are people migrating to Parsec 3.0?
Just because people are still using parsec 2 doesn't mean it's maintained. If someone wants to take over maintenance of it then I'd suggest creating a project for it on community: http://community.haskell.org/admin/ Thanks Ian
participants (6)
-
Antoine Latter
-
Don Stewart
-
Greg Fitzgerald
-
Ian Lynagh
-
Ross Paterson
-
Sittampalam, Ganesh