1----------------------------------------------------------------------------- 21.20.0 3 4 * Fix #121: the -i flag produces an .info file even if 5 the %expect pragma is violated 6 * Fix #131: qualify uses of Prelude functions in generated code 7 * Fix #161: drop fewer parse items when generating an .info file 8 * Introduce the %shift directive to resolve shift/reduce 9 conflicts explicitly, useful in conjunction with %expect 0 10 * Remove the deprecated build configuration flag 'small_base' 11 12----------------------------------------------------------------------------- 131.19.12 14 15 * Fix for building with GHC 8.8.x 16 * Move custom Setup preprocessing steps into a separate 17 executable, like Alex 18 19----------------------------------------------------------------------------- 201.19.11 21 22 * Fix for building with GHC 8.6.x 23 24----------------------------------------------------------------------------- 251.19.10 26 27 * Fix polymorphic (rank-n) non-terminals 28 * Fix for GHC 8.8.1 29 30----------------------------------------------------------------------------- 31 321.19.9 33 34 * Fix cabal warnings 35 * Bump upper bounds 36 * Fix build with GHC 8.4.1-alpha 37 38----------------------------------------------------------------------------- 391.19.8 40 41 * Fix issue #94 (some grammars don't compile due to new type 42 signatures introduced to allow overloading to be used) 43 44----------------------------------------------------------------------------- 451.19.7 46 47 * Fix missing test suite files in the sdist 48 49----------------------------------------------------------------------------- 501.19.6 51 * Manually generate Parser.hs using Makefile before sdist, 52 to fix bootstrapping problems with cabal sandboxes & new-build 53 * Documentation fixes 54 * Fixed GLR support 55 * new option -p/--pretty prints the grammar rules (only) to a file 56 * Added generation of additional type signatures to enable use 57 of typeclasses in monadic parsers. 58 59----------------------------------------------------------------------------- 601.19.5 61 * fixes for GHC 7.10 62 * Code cleanups (thanks Index Int <vlad.z.4096@gmail.com>) 63 64----------------------------------------------------------------------------- 651.19.4 66 * fix for GHC 7.10 (Applicative/Monad, #19, #21) 67 68----------------------------------------------------------------------------- 691.19.3 70 * fix for GHC 7.2 (#16) 71 72----------------------------------------------------------------------------- 731.19.2 74 * fixes for clang (XCode 5) 75 76----------------------------------------------------------------------------- 771.19.1 78 * repackaged to build with GHC 7.7+ 79 80----------------------------------------------------------------------------- 811.19 82 * necessary changes to work with GHC 7.8 83 84----------------------------------------------------------------------------- 851.18.10 86 * Fix build with GHC 7.6 87 88----------------------------------------------------------------------------- 891.18.8 90 * Fix a packaging bug (cabal-install-0.10.2 didn't put the 91 Happy-generated files in the sdist) 92 93----------------------------------------------------------------------------- 941.18.7 95 96 * Fix a bug in error handling when using %monad without %lexer 97 98----------------------------------------------------------------------------- 99Changes from version 1.17 to 1.18 100 101 * New feature: EBNF-style paramterized macros, thanks to 102 Iavor Diatchki. 103 * Works with Cabal 1.2, 1.4 and 1.6 104 * A few minor bugfixes 105 106----------------------------------------------------------------------------- 107Changes from version 1.16 to 1.17 108 109 * Cabal 1.2 is required 110 * Works with upcoming GHC 6.8.1 111 * Fix the 'parE' bug (poor error message for errors in the grammar) 112 * Some performance improvements to Happy itself 113 114----------------------------------------------------------------------------- 115Changes from version 1.15 to 1.16 116 117 * Switch to a Cabal build system: you need a recent version of Cabal 118 (1.1.6 or later). If you have GHC 6.4.2, then you need to upgrade 119 Cabal before building Happy. GHC 6.6 is fine. 120 121 * New %error directive 122 123 * New production forms: {%% .. } and {%^ .. } 124 125 * Added Attribute Grammar support, by Robert Dockins 126 127----------------------------------------------------------------------------- 128Changes from version 1.14 to 1.15 129 130 * New %expect directive 131 * the list of tokens passed to happyError now includes the current 132 token (not %lexer). 133 * added support for ambiguous grammars via Generalized LR parsing 134 * added %partial to indicate a parser that can return a result 135 before EOF is reached. 136 137----------------------------------------------------------------------------- 138Changes from version 1.13 to 1.14 139 140 * New meta-variable $> represents the rightmost token. 141 142 * Happy's OPTIONS pragma is merged with an existing one in 143 the grammar file, if any. 144 145----------------------------------------------------------------------------- 146Changes from version 1.11 to 1.13 147 148 * Support for newer versions of GHC (>= 5.04). 149 150 * Addition of an experimental flag: --strict. 151 152----------------------------------------------------------------------------- 153Changes from version 1.10 to 1.11 154 155 * tokens no longer have a default precedence - if you 156 want a token to have a precedence, you have to declare it. 157 158 * bugfix to templates for GHC on 64-bit platforms. 159 160----------------------------------------------------------------------------- 161Changes from version 1.9 to 1.10 162 163 * bugfixes, and minor performance improvements, 164 165 * most of the examples work again. 166 167----------------------------------------------------------------------------- 168Changes from version 1.8 to 1.9 169 170 * A grammar may now contain several entry points, allowing 171 several parsers to share parts of the grammar. 172 173 * Some bugfixes. 174 175----------------------------------------------------------------------------- 176Changes from version 1.6 to 1.8 177 178 * Parser table compression, and more efficient 179 table encoding when used with GHC. Large grammars 180 can now be compiled in much less time/space than 181 before using GHC. 182 183 * Yacc-style operator precedence, thanks to patches 184 from Hermann Oliveira Rodrigues <hermann@dcc.ufmg.br> 185 and Josef Svenningsson <josefs@cs.chalmers.se>. 186 187 * A debug option which causes the generated parser to 188 print tracing information at each step during parsing. 189 190----------------------------------------------------------------------------- 191Changes from version 1.5 to 1.6 192 193* Now written in, and generates, Haskell 98. 194 195* Several bug fixes. 196 197* A new option, -c, generates parsers that use GHC's unsafeCoerce# 198 primitive to speed up parsing and cut down the binary size. 199 The -c option can only be used with the -g (GHC extensions) option. 200 201* Parsers generated with the -g option will compile to smaller binaries 202 now - some sources of parser-bloat were identified and squished. 203 204* Happy has a new Open Source license, based on the BSD license. 205 206* A sample Haskell parser using Happy is included. 207 208----------------------------------------------------------------------------- 209Changes from version 1.2 to version 1.5 210 211* Many bug fixes to the error recovery support, found by experimenting 212 with the Haskell grammar and layout. 213 214* Happy is about 5 times faster on large examples, due to some 215 changes in the LALR(1) algorithms. 216 217----------------------------------------------------------------------------- 218Changes from version 0.9a to version 1.2 219 220* Supports Haskell 1.4 221 222* Lots of bugs fixed 223 224* Performance: the parser generator is at least 20% faster, and 225 generated parsers should be faster due to the replacement of a 226 data type with a newtype. 227 228* Simple error recovery: designed to be enough to implement the 229 Haskell layout rule. 230 231* Revamped monad support: the monad can now be threaded through 232 the lexer, enabling passing of state between the parser and the 233 lexer (handy for the Haskell layout rule), and consistent error 234 handling. 235 236* The %newline feature is removed, the same effect can be achieved 237 using the new monad support. 238 239----------------------------------------------------------------------------- 240Changes from version 0.8 to 0.9: 241 242* Happy should be much faster than before. 243 244* Generated parsers will be 5-10% smaller. 245 246* Happy now compiles with ghc-0.26. 247 248* Support for monadic parsers via %monad (see the documentation). 249 250* New syntax: previously 251 252 f :: { <type> } 253 f : ... 254 | ... 255 etc. 256 257 can now be written 258 259 f :: { <type> } 260 : ... 261 | ... 262 etc. 263 264 (i.e. omit the extra 'f'. It was always ignored anyway :-) 265 266* Miscellaneous bug fixes. 267