
I'm looking for a document describing the differences between Parsec 3 and Parsec 2. My google-foo must be off because I can't seem to find one. Does any one know where to find that information? -- /jve

On Thu, 4 Sep 2008, John Van Enk wrote:
I'm looking for a document describing the differences between Parsec 3 and Parsec 2. My google-foo must be off because I can't seem to find one. Does any one know where to find that information?
Unfortunately there isn't currently a good one - in fact, it raises an issue with HackageDB, which is that there isn't a good way to handle both stable and working releases. The biggest differences are the addition of streams and rewriting as a monad transformer, but I imagine you need an incompatibility list? -- flippa@flippac.org "I think you mean Philippa. I believe Phillipa is the one from an alternate universe, who has a beard and programs in BASIC, using only gotos for control flow." -- Anton van Straaten on Lambda the Ultimate

While an incompatibility list would be good, a descriptive change-log with
new feature examples would be nice.
On Thu, Sep 4, 2008 at 2:41 PM, Philippa Cowderoy
On Thu, 4 Sep 2008, John Van Enk wrote:
I'm looking for a document describing the differences between Parsec 3 and Parsec 2. My google-foo must be off because I can't seem to find one. Does any one know where to find that information?
Unfortunately there isn't currently a good one - in fact, it raises an issue with HackageDB, which is that there isn't a good way to handle both stable and working releases.
The biggest differences are the addition of streams and rewriting as a monad transformer, but I imagine you need an incompatibility list?
-- flippa@flippac.org
"I think you mean Philippa. I believe Phillipa is the one from an alternate universe, who has a beard and programs in BASIC, using only gotos for control flow." -- Anton van Straaten on Lambda the Ultimate
-- /jve

On Thu, 2008-09-04 at 19:41 +0100, Philippa Cowderoy wrote:
On Thu, 4 Sep 2008, John Van Enk wrote:
I'm looking for a document describing the differences between Parsec 3 and Parsec 2. My google-foo must be off because I can't seem to find one. Does any one know where to find that information?
Unfortunately there isn't currently a good one - in fact, it raises an issue with HackageDB, which is that there isn't a good way to handle both stable and working releases.
The simple solution to this (which I may get round to implementing) is that for each package on hackage we have a suggested constraint (that the maintainer could set). For example for parsec we might use '< 3'. Then tools like cabal-install or distro package converters could take this into account when someone asks to install that package. This would not prevent packages explicitly requiring the later version as it'd only come into play when there are no other constraints and where the search algorithms just pick the highest version. Duncan

On Thu, 2008-09-04 at 20:38 +0000, Duncan Coutts wrote:
On Thu, 2008-09-04 at 19:41 +0100, Philippa Cowderoy wrote:
On Thu, 4 Sep 2008, John Van Enk wrote:
I'm looking for a document describing the differences between Parsec 3 and Parsec 2. My google-foo must be off because I can't seem to find one. Does any one know where to find that information?
Unfortunately there isn't currently a good one - in fact, it raises an issue with HackageDB, which is that there isn't a good way to handle both stable and working releases.
The simple solution to this (which I may get round to implementing) is that for each package on hackage we have a suggested constraint (that the maintainer could set). For example for parsec we might use '< 3'. Then tools like cabal-install or distro package converters could take this into account when someone asks to install that package. This would not prevent packages explicitly requiring the later version as it'd only come into play when there are no other constraints and where the search algorithms just pick the highest version.
Cool. I imagine you've already got a reasonably capable constraint
system that'll handle long-running stable/unstable schemes along the
lines of GHC's? Hmm, that also suggests package aliases ala GHC-stable,
GHC-unstable might be useful too, though.
The current situation with Parsec is both odd and easy.
--
Philippa Cowderoy
participants (3)
-
Duncan Coutts
-
John Van Enk
-
Philippa Cowderoy