-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathCHANGELOG.txt
68 lines (62 loc) · 3.68 KB
/
CHANGELOG.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
1.0.0 Thomas Gibson-Robinson <[email protected]> 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 <[email protected]> 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 <[email protected]> 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 <[email protected]> 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 <[email protected]> 2011-11-03
* Fix the build of cspmchecker.
0.1 Thomas Gibson-Robinson <[email protected]> 2011-11-03
* Initial Release.