Changelog of @hackage/deepseq-bounded 0.6.0.2

NOTE: My real "changelog" (a private document) is over 8000 lines long, and I haven't really taken pains to assure that this summary is complete.

The transition-5-6-7.html file probably contains better information. It is in the ./HTML directory of the source distribution, or online at http://www.fremissant.net/deepseq-bounded/transition-5-6-7.html (most up to date).

0.6.0.1 -> 0.6.0.2

  • VACANT_HASH flag removed (permanent value = False)
  • further decrufting of Compile_new_grammar.hs
  • HASKELL98_FRAGMENT tested a bit more (compiles at least, and the tests run, but there's still no H98 parser...)
  • manual NFData instance of Pattern (instead of generic deriving) so can use it to force non-interleaving of output with warnings, even in H98 (and has other uses when debugging)
  • a bit of sanitising of .cabal flag descriptions, and of NFDataP.handleAttrs
  • a few incidental bug fixes; and a few recognised but not yet fixed...

0.6.0.0 -> 0.6.0.1

  • bugfixes so can build with NEW_IMPROVED_PATTERN_GRAMMAR set False
  • got rid of three transient flags, which are now "permanently defaulted" to the values shown: NEW_SEMICOLON_TYPE_LIST = True NEW_CONCRETE_WI_AND_WS = True TYPE_CONSTRAINTED_NODES_USE_UNESCAPED_SPACE_AS_TYPE_LIST_SEPARATOR = False (To read about these, consult the 0.6.0.0 hackage page which documents these flags; all of them are departures from the new grammar as published.)
  • decrufting of Compile_new_grammar.hs

** 0.5.5 -> 0.6.0.0

  • many misc. bug fixes
  • much polishing of documentation (corrections, elaborations, refinements)
  • renamed module "...Bounded.Generics" to "...Bounded.Generic"
  • changed the pattern concrete syntax slightly (now more compact)
  • added nice data family FF :)
  • changed PatNode so all constructors take a single parameter of (new) type PatNodeAttrs
  • several new capabilities (refer to the API docs for PatNodeAttrs)
  • simplified the PatNode type itself
  • using attoparsec to build the pattern DSL parser
  • PatAlg.hs -> PatUtil.hs
  • isSubPatOf -> subPat
    • I hesitated to shed the "is", but the Bool result value pretty much clears up any possible ambiguity there
    • the ambiguity (which still remains) is, which is the subpattern, which the host pattern, as the types don't help you there!
      • but we're pretty safe, corresponds to infix use as if it were the mathematical inclusion symbol
  • type constraints are now handled as a prefix modifier like any other (except that internally they still have their own PatNode's TI, TR etc.)
  • more...