Changelog for happy-1.19.12
-----------------------------------------------------------------------------
1.19.12
* Fix for building with GHC 8.8.x
* Move custom Setup preprocessing steps into a separate
executable, like Alex
-----------------------------------------------------------------------------
1.19.11
* Fix for building with GHC 8.6.x
-----------------------------------------------------------------------------
1.19.10
* Fix polymorphic (rank-n) non-terminals
* Fix for GHC 8.8.1
-----------------------------------------------------------------------------
1.19.9
* Fix cabal warnings
* Bump upper bounds
* Fix build with GHC 8.4.1-alpha
-----------------------------------------------------------------------------
1.19.8
* Fix issue #94 (some grammars don't compile due to new type
signatures introduced to allow overloading to be used)
-----------------------------------------------------------------------------
1.19.7
* Fix misisng test suite files in the sdist
-----------------------------------------------------------------------------
1.19.6
* Manually generate Parser.hs using Makefile before sdist,
to fix bootstrapping problems with cabal sandboxes & new-build
* Documentation fixes
* Fixed GLR support
* new option -p/--pretty prints the grammar rules (only) to a file
* Added generation of additional type signatures to enable use
of typeclasses in monadic parsers.
-----------------------------------------------------------------------------
1.19.5
* fixes for GHC 7.10
* Code cleanups (thanks Index Int <vlad.z.4096@gmail.com>)
-----------------------------------------------------------------------------
1.19.4
* fix for GHC 7.10 (Applicative/Monad, #19, #21)
-----------------------------------------------------------------------------
1.19.3
* fix for GHC 7.2 (#16)
-----------------------------------------------------------------------------
1.19.2
* fixes for clang (XCode 5)
-----------------------------------------------------------------------------
1.19.1
* repackaged to build with GHC 7.7+
-----------------------------------------------------------------------------
1.19
* necessary changes to work with GHC 7.8
-----------------------------------------------------------------------------
1.18.10
* Fix build with GHC 7.6
-----------------------------------------------------------------------------
1.18.8
* Fix a packaging bug (cabal-install-0.10.2 didn't put the
Happy-generated files in the sdist)
-----------------------------------------------------------------------------
1.18.7
* Fix a bug in error handling when using %monad without %lexer
-----------------------------------------------------------------------------
Changes from version 1.17 to 1.18
* New feature: EBNF-style paramterized macros, thanks to
Iavor Diatchki.
* Works with Cabal 1.2, 1.4 and 1.6
* A few minor bugfixes
-----------------------------------------------------------------------------
Changes from version 1.16 to 1.17
* Cabal 1.2 is required
* Works with upcoming GHC 6.8.1
* Fix the 'parE' bug (poor error message for errors in the grammar)
* Some performance improvements to Happy itself
-----------------------------------------------------------------------------
Changes from version 1.15 to 1.16
* Switch to a Cabal build system: you need a recent version of Cabal
(1.1.6 or later). If you have GHC 6.4.2, then you need to upgrade
Cabal before building Happy. GHC 6.6 is fine.
* New %error directive
* New production forms: {%% .. } and {%^ .. }
* Added Attribute Grammar support, by Robert Dockins
-----------------------------------------------------------------------------
Changes from version 1.14 to 1.15
* New %expect directive
* the list of tokens passed to happyError now includes the current
token (not %lexer).
* added support for ambiguous grammars via Generalized LR parsing
* added %partial to indicate a parser that can return a result
before EOF is reached.
-----------------------------------------------------------------------------
Changes from version 1.13 to 1.14
* New meta-variable $> represents the rightmost token.
* Happy's OPTIONS pragma is merged with an existing one in
the grammar file, if any.
-----------------------------------------------------------------------------
Changes from version 1.11 to 1.13
* Support for newer versions of GHC (>= 5.04).
* Addition of an experimental flag: --strict.
-----------------------------------------------------------------------------
Changes from version 1.10 to 1.11
* tokens no longer have a default precedence - if you
want a token to have a precedence, you have to declare it.
* bugfix to templates for GHC on 64-bit platforms.
-----------------------------------------------------------------------------
Changes from version 1.9 to 1.10
* bugfixes, and minor performance improvements,
* most of the examples work again.
-----------------------------------------------------------------------------
Changes from version 1.8 to 1.9
* A grammar may now contain several entry points, allowing
several parsers to share parts of the grammar.
* Some bugfixes.
-----------------------------------------------------------------------------
Changes from version 1.6 to 1.8
* Parser table compression, and more efficient
table encoding when used with GHC. Large grammars
can now be compiled in much less time/space than
before using GHC.
* Yacc-style operator precedence, thanks to patches
from Hermann Oliveira Rodrigues <hermann@dcc.ufmg.br>
and Josef Svenningsson <josefs@cs.chalmers.se>.
* A debug option which causes the generated parser to
print tracing information at each step during parsing.
-----------------------------------------------------------------------------
Changes from version 1.5 to 1.6
* Now written in, and generates, Haskell 98.
* Several bug fixes.
* A new option, -c, generates parsers that use GHC's unsafeCoerce#
primitive to speed up parsing and cut down the binary size.
The -c option can only be used with the -g (GHC extensions) option.
* Parsers generated with the -g option will compile to smaller binaries
now - some sources of parser-bloat were identified and squished.
* Happy has a new Open Source license, based on the BSD license.
* A sample Haskell parser using Happy is included.
-----------------------------------------------------------------------------
Changes from version 1.2 to version 1.5
* Many bug fixes to the error recovery support, found by experimenting
with the Haskell grammar and layout.
* Happy is about 5 times faster on large examples, due to some
changes in the LALR(1) algorithms.
-----------------------------------------------------------------------------
Changes from version 0.9a to version 1.2
* Supports Haskell 1.4
* Lots of bugs fixed
* Performance: the parser generator is at least 20% faster, and
generated parsers should be faster due to the replacement of a
data type with a newtype.
* Simple error recovery: designed to be enough to implement the
Haskell layout rule.
* Revamped monad support: the monad can now be threaded through
the lexer, enabling passing of state between the parser and the
lexer (handy for the Haskell layout rule), and consistent error
handling.
* The %newline feature is removed, the same effect can be achieved
using the new monad support.
-----------------------------------------------------------------------------
Changes from version 0.8 to 0.9:
* Happy should be much faster than before.
* Generated parsers will be 5-10% smaller.
* Happy now compiles with ghc-0.26.
* Support for monadic parsers via %monad (see the documentation).
* New syntax: previously
f :: { <type> }
f : ...
| ...
etc.
can now be written
f :: { <type> }
: ...
| ...
etc.
(i.e. omit the extra 'f'. It was always ignored anyway :-)
* Miscellaneous bug fixes.