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 |
|
Rob Rix
|
d2b3f16cfc
|
Document SES.
|
2015-10-06 13:08:17 -04:00 |
|
Rob Rix
|
90b404b3ee
|
Extract the SES function.
|
2015-10-06 13:05:49 -04:00 |
|
Rob Rix
|
6cef3b9884
|
Matrix is public.
|
2015-10-06 13:00:07 -04:00 |
|
Rob Rix
|
bdabcc5c24
|
Matrix.values is private.
|
2015-10-06 13:00:01 -04:00 |
|
Rob Rix
|
e4689b9102
|
Fix hashing is public.
|
2015-10-06 12:59:13 -04:00 |
|
Rob Rix
|
c35e31ad4a
|
Define the Term fixtures using Fix.
|
2015-10-06 12:58:07 -04:00 |
|
Rob Rix
|
daf5f8ed9e
|
Add a typealias for the Term fixtures.
|
2015-10-06 12:57:48 -04:00 |
|
Rob Rix
|
900d364057
|
Link to @patrickt’s tutorials on recursion schemes.
|
2015-10-06 12:53:30 -04:00 |
|
Rob Rix
|
675d355b96
|
Document iterate .
|
2015-10-06 12:47:33 -04:00 |
|
Rob Rix
|
67d35078d8
|
Call a Term a Term .
|
2015-10-06 12:25:40 -04:00 |
|
Rob Rix
|
cce1ed61aa
|
Document FreeAlgorithm.init .
|
2015-10-06 12:24:58 -04:00 |
|
Rob Rix
|
511ef4d1a1
|
Document that out-of-bound indices are safe.
|
2015-10-06 12:20:58 -04:00 |
|
Rob Rix
|
25f29c328c
|
Document Matrix a little.
|
2015-10-06 12:19:59 -04:00 |
|
Rob Rix
|
cb33717fb9
|
🔥 Syntax.reduce .
|
2015-10-06 12:17:51 -04:00 |
|
Rob Rix
|
69b8028750
|
🔥 Term.swift.
|
2015-10-06 12:17:38 -04:00 |
|
Rob Rix
|
b1af1a63a4
|
🔥 Diff.swift.
|
2015-10-06 12:17:14 -04:00 |
|
Rob Rix
|
4f95704c97
|
Remove an obsolete fixme.
|
2015-10-06 12:16:37 -04:00 |
|
Rob Rix
|
c322386cb4
|
Recur in dictionary diffing.
|
2015-10-06 12:16:19 -04:00 |
|
Rob Rix
|
ebca63b01e
|
Recur in SES.
|
2015-10-06 12:15:48 -04:00 |
|
Rob Rix
|
e14c5a7f9d
|
FreeAlgorithm doesn’t need equals or recur when A: Equatable & B: FreeConvertible .
|
2015-10-06 12:15:28 -04:00 |
|
Rob Rix
|
36c8fa03c9
|
FreeAlgorithm doesn’t need recur when B: FreeConvertible .
|
2015-10-06 12:15:08 -04:00 |
|
Rob Rix
|
1fcba3fca0
|
recur actually has to return Diff .
`B` will only be identified with `Diff` when `B: FreeConvertible`.
|
2015-10-06 12:12:47 -04:00 |
|
Rob Rix
|
131ae72f1a
|
Note that we can’t call recur in the Recursive strategy.
Paradox.
|
2015-10-06 12:09:18 -04:00 |
|
Rob Rix
|
ac0b142a40
|
Recur through a parameter pairing Term s.
|
2015-10-06 12:07:56 -04:00 |
|
Rob Rix
|
f30ebc8cdb
|
Diff/Term typealiases are public.
|
2015-10-06 12:03:58 -04:00 |
|
Rob Rix
|
d020d17f60
|
Note that we need to recur in SES.
|
2015-10-06 12:01:39 -04:00 |
|