[Bump version to 1.5, and document major changes.
Malcolm.Wallace@cs.york.ac.uk**20100529161100
Ignore-this: 798a23fb3ad67915e1cf3bff76a2e8bc
] {
hunk ./Makefile 2
-VERSION = 1.4.1
+VERSION = 1.5
hunk ./docs/changelog.html 16
+
Changes in polyparse-1.5
+
+
+- A huge internal rearrangement of the Poly variations:
+ (1) to share as much code as possible, avoiding cut-n-paste copies; and
+ (2) to use the standard Control.Applicative interface.
+
+
- The Result type that was previously defined afresh for each variation
+ (Plain,Lazy,State,ByteString, etc) is now defined in one place.
+
+
- The Parser type that was previously essentially identical between
+ Plain/Lazy, apart from a very small number of class methods, has now
+ been pulled out into a separate module. This makes it clearer that
+ almost everything is shared between Plain and Lazy, with the precise
+ differences isolated to runParser and the instance of Applicative.
+ (Likewise the Parser type shared between State/StateLazy.)
+
+
- The `apply` and `discard` methods previously were not the standard
+ ones from Control.Applicative (<*> and <*), but now they are.
+ The old names have been retained as synonyms.
+
+
- The `onFail` method was previously not the standard <|> from class
+ Alternative in Control.Applicative. Now it is. The old name has been
+ retained too.
+
+
- The use of standard classes means that the former PolyParse class was in
+ the wrong place in the dependency hierarchy. Its remaining methods
+ have been moved into a new class called Commitment, reflecting their
+ purpose. Class PolyParse itself now has no methods of its own, it merely
+ gathers all of the other classes that are required (Functor, Monad,
+ Applicative, Alternative, and Commitment).
+
+
- The exports of the modules Plain, Lazy, State, and StateLazy, remain
+ essentially as before, so users should not need to make too many
+ changes. The main one is, if they defined their own parser monad, some
+ of the methods must now be moved/defined in different classes.
+
+
hunk ./docs/index.html 168
-polyparse-1.4.1, release date 2010.05.29
+polyparse-1.5, release date 2010.05.29
hunk ./docs/index.html 170
-.tar.gz,
-.zip.
+.tar.gz,
+.zip.
hunk ./docs/index.html 179
+polyparse-1.4.1, release date 2010.05.29
+By HTTP:
+.tar.gz,
+.zip.
+
+
+Older versions:
hunk ./docs/index.html 249
+
+Version 1.5 has a reasonably large internal API change - moving lots of
+code around between modules in an attempt to rationalise the amount of
+cut-n-paste copies. It also adopts the standard Applicative and
+Alternative classes, whilst additionally retaining the previous names
+(apply, discard, onFail) for those methods. Users should see little
+change, unless they define their own instances of the PolyParse class.
+
hunk ./polyparse.cabal 2
-version: 1.4.1
+version: 1.5
hunk ./polyparse.cabal 41
- cpp-options: -DVERSION="1.4.1"
+ cpp-options: -DVERSION="1.5"
hunk ./src/Makefile 2
-VERSION = 1.4.1
+VERSION = 1.5
hunk ./src/Makefile.nhc98 2
-VERSION = 1.4.1
+VERSION = 1.5
}