packages feed

libcspm-1.0.0: CHANGELOG.txt

1.0.0 Thomas Gibson-Robinson <thomas.gibsonrobinson@gmail.com> 2013-10-11
    This is a major release that delivers a fully functional evaluator that
    is both efficient and compatible with FDR2. This is the library used by FDR3
    (available from https://www.cs.ox.ac.uk/projects/fdr) for parsing and
    manipulating CSPm.

    * Changes to the evaluator included:
        * Major efficiency and memory improvements. In particular, when a
          pattern binds to a process, the entire tree of operator applications
          is not saved in the environment, meaning that memory usage is
          minimised. This should have no noticeable performance impact.
        * Fixed the naming of processes within let expressions.
        * The ability to handle all processes.
        * Misc fixes with dot handling, including within prefixes.
        * Improvements to the handling of infinite sets.
        * An error is thrown when a datatype is not rectangular.
        * Events is now available.
        * An error is thrown when an invalid event or datatype is constructed
          (e.g. when c.1 is constructed, if c is a channel allowing only 0 as
          its first field).
    * The pretty printing structure has been overhauled to make it possible to
      have side effects. This permits more attractive pretty printing of values.
    * Added Hashable instances for many of the built in datatypes.
    * Fixed many small incompatibilites in the parser.
    * Fixed a bug that prevented multiple assertions from being included.
    * Enhanced the renamer to produce better errors.
    * Add full support for modules, including parameterised modules.
    * Fixed many small bugs in the evaluator.
    
0.2.1 Thomas Gibson-Robinson <thomas.gibsonrobinson@gmail.com> 2012-01-18
    * Fixed a bug in the typechecker that prevented certain (uncommon)
      functions that took function arguments that were polymorphic in dot from
      being type checked.
    * Exposed ErrorMessages to allow clients to present them more usefully.
    * Added location information to renamer errors.
    * Made compatible with GHC 7.0.4.

0.2.0 Thomas Gibson-Robinson <thomas.gibsonrobinson@gmail.com> 2012-01-04
    * Enhanced the evaluator:
        * Dot is not handled correctly;
        * More versions of infinite sets are allowed;
        * Add experimental and partial support of $ in prefixes.
      This should mean that the evaluator has feature parity with FDR2, 
      although it does lack testing.
    * Added a renamer that renames all variables in a file or expression to
      ensure that they do not clash.
    * Enhanced the parser to be more compatible with FDR2 with regard to the
      ambiguity with > and end of sequence. See the comment in 
      src/CSPM/Parser.hs.
    * Fixed a bug in the typechecker where it would incorrectly allow yield
      types to be chosen in prefixes. For example, given c?x?y:{0,1} where
      c is a channel that has only one field, of type A, the typechecker would
      assign a type of Int=>A for x, which does not match the evaluator which
      would assign x to the whole A. To fix this a new type constraint was 
      added, Inputable, that any type other than yield satisfies.
    * Added a lot more documentation, particularly on the abstract syntax tree
      and how to use the library.

0.1.2 Thomas Gibson-Robinson <thomas.gibsonrobinson@gmail.com> 2011-11-04
    * Fix building with GHC 7.2 and Alex 3.
    * Remove the last few remaining mentions to sfdr (the old name for
      cspmchecker).

0.1.1 Thomas Gibson-Robinson <thomas.gibsonrobinson@gmail.com> 2011-11-03
    * Fix the build of cspmchecker.

0.1 Thomas Gibson-Robinson <thomas.gibsonrobinson@gmail.com> 2011-11-03
    * Initial Release.