summaryrefslogtreecommitdiff
path: root/ChangeLog
blob: 1d698ac6fe5802c215003c413ee4f153b44d89b4 (plain)
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
69
70
71
2023-08-05  Jean Sévère Durand  <durand@jsdurand.xyz>

	* chain: Fixed another bug.  This bug is mainly caused by an
	incorrect treatment of "virtual nodes".  After this bug is fixed,
	I can successfully parse a sequence of 28 tokens and non-trivial
	structure.  This is by far the most successful version, so I think
	it deserves a version bump.

2023-07-21  Jean Sévère Durand  <durand@jsdurand.xyz>

	* chain: I finally have a version without trivial bugs.  This
	means my trivial tests seem to produce correct results now.  Quite
	remarkable.  :D

2023-01-28  Jean Sévère Durand  <durand@jsdurand.xyz>

	* chain: Move the forest crate to the item module in the chain
	crate.  That crate used to provide a kind of forests.  This turns
	out to be an item derivation forest for the chain-rule machine.
	So it seems appropriate to implement this in the chain crate
	instead.

	* chain: Also the chain rule machine seems to be complete now.  It
	remains to test the machine to find the must-be errors.

	* graph: Now the doubly linked graphs do not exclude nodes with
	duplicate edge sets.  That is, previously, when adding a node
	whose children set is equal to that of another existing node, the
	graph just reuses that old node.  Now this is not the case
	anymore.  The reason is that this only saves some minor memory
	usage, at the cost of more expensive graph operations, and might
	affect the time complixity, so I just remove this functionality.

2023-01-22  Jean Sévère Durand  <durand@jsdurand.xyz>

	* forest: Correctly clone nodes.
	Now the forest can detect if a node is packed or cloned, and
	correctly clones a node in those circumstances.  But it still
	needs to be tested.

2023-01-20  Jean Sévère Durand  <durand@jsdurand.xyz>

	* chain: A prototype is added, and passes some tests.  But I am
	still testing if its performance meets the time complexity
	requirement.

2023-01-13  Jean Sévère Durand  <durand@jsdurand.xyz>

	* forest: A prototype is completed, and passes some tests.

2022-11-15  Jean Sévère Durand  <durand@jsdurand.xyz>

	* nfa: Stop worrying about monadic anamorphisms.

	I was trying to design a way to use monadic anamorphisms to build
	and parse regular expressions.  But, after some more thoughts, I
	can only think about implementations that affect the performance
	and are quite specifically tailored to my use-cases.  This means
	the design is neither efficient nor generic.  So what is the use
	of it anyways?

	In the end, I decided to mildly generalize my usual pattern of
	recursive descent parsing.  After all, my current focus is to
	implement a version of NFA that can show me derivatives of the
	atomic languages in a human-friendly and easy-to-use way.  This
	will help me catch errors in my algorithms.

2022-11-13  Jean Sévère Durand  <durand@jsdurand.xyz>

	* gnu-standards: Add basic files required by the GNU standard.