blob: 057ef5dc190ed3da2b5a03735b59253aed7f8118 (
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
|
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.
|