Rob Rix
|
c9d51049df
|
Construct with Diff(), not copy().
|
2015-10-06 17:47:04 -04:00 |
|
Rob Rix
|
de61021d32
|
Once more, call it Term.
|
2015-10-06 17:46:37 -04:00 |
|
Rob Rix
|
f51f6f39a2
|
Call it Term.
|
2015-10-06 17:46:02 -04:00 |
|
Rob Rix
|
22773917a3
|
Construct Free with Fix .
|
2015-10-06 17:45:24 -04:00 |
|
Rob Rix
|
d097f14fcb
|
Explain SES implementation details a little.
|
2015-10-06 17:36:49 -04:00 |
|
Rob Rix
|
6030731cc8
|
Extend the graph and return Stream.Nil at the end.
|
2015-10-06 17:36:41 -04:00 |
|
Rob Rix
|
57fb8ff251
|
Document the purpose of the matrix.
|
2015-10-06 17:29:33 -04:00 |
|
Rob Rix
|
833d27c54a
|
Test an insertion at the end.
|
2015-10-06 17:29:06 -04:00 |
|
Rob Rix
|
6e799e0b79
|
Test a deletion at the end.
|
2015-10-06 17:28:25 -04:00 |
|
Rob Rix
|
d7db7415dc
|
Patches have different costs.
|
2015-10-06 17:08:22 -04:00 |
|
Rob Rix
|
4fdbcf948f
|
Patches have a cost.
This charges `Replace` patches at a higher cost than `Insert`/`Delete`
patches to avoid spurious replacements.
|
2015-10-06 17:07:16 -04:00 |
|
Rob Rix
|
bcc3da35f9
|
Recur at the corner.
This can’t be right.
|
2015-10-06 17:01:27 -04:00 |
|
Rob Rix
|
c7aad22838
|
Insert/delete/recur based on the edge being followed.
|
2015-10-06 17:01:17 -04:00 |
|
Rob Rix
|
c2d4c96d62
|
Recurrence checks for equality.
|
2015-10-06 16:59:29 -04:00 |
|
Rob Rix
|
a1a832012e
|
Implement a function copying terms into diffs.
|
2015-10-06 16:59:11 -04:00 |
|
Rob Rix
|
a628177722
|
Move SES to its own file.
|
2015-10-06 16:50:23 -04:00 |
|
Rob Rix
|
8e0cafbac4
|
Info’s debug description uses its categories’ debug descriptions.
|
2015-10-06 16:49:14 -04:00 |
|
Rob Rix
|
606d721dea
|
Category is CustomDebugStringConvertible.
|
2015-10-06 16:48:44 -04:00 |
|
Rob Rix
|
ee8794fd81
|
Patch is CustomDebugStringConvertible.
|
2015-10-06 16:45:36 -04:00 |
|
Rob Rix
|
0237d5991a
|
Fix is CustomDebugStringConvertible.
|
2015-10-06 16:44:00 -04:00 |
|
Rob Rix
|
29d889ef95
|
Free is CustomDebugStringConvertible.
|
2015-10-06 16:43:20 -04:00 |
|
Rob Rix
|
64830960e5
|
Info is CustomDebugStringConvertible.
|
2015-10-06 16:41:54 -04:00 |
|
Rob Rix
|
db63777dd9
|
Represent Insert/Delete explicitly in Patch.
Fixes #60.
|
2015-10-06 16:31:44 -04:00 |
|
Rob Rix
|
17191dd8ab
|
Correct the tests to equate arrays of diffs by element, and not by memory (!).
- rdar://22996431
- rdar://22996542
|
2015-10-06 16:23:48 -04:00 |
|
Rob Rix
|
3cc732f54e
|
Rename DiffTests to SESTests.
|
2015-10-06 14:25:18 -04:00 |
|
Rob Rix
|
0a6a136bff
|
🔥 Vertex & VertexTests.
|
2015-10-06 14:24:56 -04:00 |
|
Rob Rix
|
9b6a3f6e36
|
Remove the fixme because it has been fixed.
|
2015-10-06 14:23:59 -04:00 |
|
Rob Rix
|
2726a43c83
|
Lazily, not eagerly.
`Memo.init` selected the eager version, of course, since the lazy
version takes a closure.
|
2015-10-06 14:19:39 -04:00 |
|
Rob Rix
|
1658219d59
|
Document constructRowMajor .
|
2015-10-06 14:17:14 -04:00 |
|
Rob Rix
|
092087fc54
|
Extract row-major ordering into a private function.
|
2015-10-06 14:15:21 -04:00 |
|
Rob Rix
|
934390a0d5
|
Retrieve in row-major order.
|
2015-10-06 14:11:36 -04:00 |
|
Rob Rix
|
d12c95e296
|
Insert in row-major order.
|
2015-10-06 14:11:26 -04:00 |
|
Rob Rix
|
e178745c56
|
Cache the costs for the rest of the graph at each vertex.
|
2015-10-06 13:33:38 -04:00 |
|
Rob Rix
|
6c8ce1bcb2
|
Append, don’t subscript.
Subscripting only replaces, never appends.
|
2015-10-06 13:29:43 -04:00 |
|
Rob Rix
|
a9349c33dc
|
Port the SES example from the paper.
|
2015-10-06 13:27:06 -04:00 |
|
Rob Rix
|
48a0935d5c
|
Use the little API for deletion fixtures.
|
2015-10-06 13:26:44 -04:00 |
|
Rob Rix
|
69d42e121c
|
Port insertion/deletion in the middle.
|
2015-10-06 13:25:56 -04:00 |
|
Rob Rix
|
9761ba3d98
|
Port insertion/deletion at head.
|
2015-10-06 13:25:27 -04:00 |
|
Rob Rix
|
b23a8ac6f7
|
Rename copy to roll so we can actually call it from within the tests.
|
2015-10-06 13:25:09 -04:00 |
|
Rob Rix
|
1473d5648b
|
Port the pure insert/delete tests.
|
2015-10-06 13:22:54 -04:00 |
|
Rob Rix
|
0d8c080f35
|
Add a little API for diffs.
|
2015-10-06 13:22:37 -04:00 |
|
Rob Rix
|
5a86df7a8d
|
Assert equality using Assertions.assert.
|
2015-10-06 13:16:43 -04:00 |
|
Rob Rix
|
cd2faed7ce
|
Add a typealias for diffs.
|
2015-10-06 13:16:32 -04:00 |
|
Rob Rix
|
ea09799e58
|
import Assertions.
|
2015-10-06 13:16:23 -04:00 |
|
Rob Rix
|
b3e6a92224
|
The tests link against Assertions.framework.
|
2015-10-06 13:16:15 -04:00 |
|
Rob Rix
|
8825a92ec7
|
Include Assertions in the workspace.
|
2015-10-06 13:16:05 -04:00 |
|
Rob Rix
|
1c4a880b09
|
Add Assertions as a submodule.
|
2015-10-06 13:13:53 -04:00 |
|
Rob Rix
|
286b91a88d
|
Add a wrapper function to compute the SES.
|
2015-10-06 13:12:53 -04:00 |
|
Rob Rix
|
1ecafbff43
|
Import Doubt testably.
|
2015-10-06 13:10:45 -04:00 |
|
Rob Rix
|
648945fee0
|
FreeAlgorithm.evaluate() calls out to SES .
|
2015-10-06 13:09:17 -04:00 |
|