Rob Rix
|
20fa9ba32a
|
Test that the before state is recoverable.
Apparently it is sometimes not!
|
2015-10-16 17:34:34 -04:00 |
|
Rob Rix
|
22fe4c4ebb
|
Patch is a Functor.
My kingdom for DeriveFunctor.
|
2015-10-16 17:31:58 -04:00 |
|
joshvera
|
1e156419aa
|
remove framework search paths
|
2015-10-16 17:29:23 -04:00 |
|
Rob Rix
|
af3630e071
|
Test that diff equality is reflexive.
|
2015-10-16 17:26:35 -04:00 |
|
Rob Rix
|
059803788c
|
Construct arbitrary ranged diffs.
|
2015-10-16 17:21:45 -04:00 |
|
Rob Rix
|
23db982035
|
Stub in RangedDiff.
|
2015-10-16 17:17:48 -04:00 |
|
Rob Rix
|
e438646045
|
Move UnannotatedTerm to its own file.
|
2015-10-16 17:16:34 -04:00 |
|
Rob Rix
|
ce20112304
|
Test that equal terms produce identity diffs.
|
2015-10-16 17:14:08 -04:00 |
|
Rob Rix
|
dee991f0ff
|
Add an interpreter.
|
2015-10-16 17:13:59 -04:00 |
|
Rob Rix
|
0f59062570
|
Typealiases.
|
2015-10-16 17:13:51 -04:00 |
|
Rob Rix
|
34777ef796
|
Tacit.
|
2015-10-16 17:07:45 -04:00 |
|
Rob Rix
|
d18a1a6a0a
|
Stub in diff tests.
|
2015-10-16 17:07:37 -04:00 |
|
Rob Rix
|
8759bf8322
|
Whatever.
|
2015-10-16 17:07:23 -04:00 |
|
Rob Rix
|
541ea6b45c
|
Test that equality is reflexive.
|
2015-10-16 17:03:18 -04:00 |
|
Rob Rix
|
0c75c7d600
|
Pick a number by fiat.
|
2015-10-16 17:03:07 -04:00 |
|
Rob Rix
|
2aed2e3d51
|
Choose from a strictly smaller k.
|
2015-10-16 17:01:16 -04:00 |
|
Rob Rix
|
6627d40bf9
|
Recur through a strictly smaller k.
|
2015-10-16 17:00:10 -04:00 |
|
Rob Rix
|
03a9e74dbc
|
Extract a function for computing arbitrary terms.
|
2015-10-16 16:58:46 -04:00 |
|
Rob Rix
|
e409a4ce56
|
Stub in Term tests.
|
2015-10-16 16:56:30 -04:00 |
|
Rob Rix
|
aec3c72e78
|
Merge branch 'cofree-memoizes' into property-testing
Conflicts:
prototype/Doubt.xcodeproj/project.pbxproj
|
2015-10-16 16:52:42 -04:00 |
|
Rob Rix
|
3d85194f8c
|
Merge branch 'master' into cofree-memoizes
|
2015-10-16 16:40:59 -04:00 |
|
Rob Rix
|
b4dc1e7bf1
|
Cofree is not lazy.
|
2015-10-16 16:40:47 -04:00 |
|
joshvera
|
94c2c5baee
|
Merge branch 'master' into parse-json
Conflicts:
prototype/Doubt.xcodeproj/project.pbxproj
|
2015-10-16 16:29:25 -04:00 |
|
Rob Rix
|
3fb6fcb5c9
|
Merge branch 'cofree-memoizes' into property-testing
|
2015-10-16 16:13:46 -04:00 |
|
Rob Rix
|
841f7017c8
|
Indirection.
|
2015-10-16 16:10:10 -04:00 |
|
Rob Rix
|
457c3c53f6
|
Merge branch 'cofree-memoizes' into property-testing
|
2015-10-16 16:07:29 -04:00 |
|
Rob Rix
|
f4e462eba2
|
Cofree uses Memo to ensure that statefully-computed subtrees are “ok.”
Randomness is an effect.
|
2015-10-16 16:05:37 -04:00 |
|
joshvera
|
295afbef6f
|
Move JSONLeaf and JSONParser to files
|
2015-10-16 15:41:35 -04:00 |
|
Rob Rix
|
63ffe0a596
|
Use symbols for keys.
|
2015-10-16 15:22:07 -04:00 |
|
Rob Rix
|
e85566bfeb
|
Use symbols for leaves.
|
2015-10-16 15:21:58 -04:00 |
|
Rob Rix
|
057a847f30
|
Add a generator for symbols.
Right now just _<hex digit>
|
2015-10-16 15:21:27 -04:00 |
|
Rob Rix
|
d413f24e57
|
Delay the arbitrary sub-term.
|
2015-10-16 15:17:47 -04:00 |
|
Rob Rix
|
c9bc15bcc9
|
Revert "Add a delay combinator."
This reverts commit 2feeac9065de48f6e5cb412752a6a8e4d2fcf5ca.
|
2015-10-16 15:17:05 -04:00 |
|
Rob Rix
|
0622a984dc
|
Delay recurrence.
Inlined because Swift.
|
2015-10-16 15:17:00 -04:00 |
|
Rob Rix
|
989a2d7319
|
Add a delay combinator.
|
2015-10-16 15:12:08 -04:00 |
|
Rob Rix
|
e6ac782e84
|
Implement the computation of arbitrary ranged terms.
|
2015-10-16 15:06:27 -04:00 |
|
Rob Rix
|
541897aa43
|
Arrange unannotated terms.
|
2015-10-16 15:05:01 -04:00 |
|
joshvera
|
e7fa851420
|
parse arrays
|
2015-10-16 14:52:03 -04:00 |
|
joshvera
|
0628142d8b
|
parse members
|
2015-10-16 14:43:23 -04:00 |
|
Rob Rix
|
5beccbdca2
|
Compute the source of unannotated terms.
|
2015-10-16 14:40:18 -04:00 |
|
Rob Rix
|
4a24c3f872
|
Generate arbitrary keyed terms.
|
2015-10-16 14:30:53 -04:00 |
|
Rob Rix
|
cc1f0a07a3
|
Rename the branch case to indexed.
|
2015-10-16 14:26:58 -04:00 |
|
Rob Rix
|
c249f1de8a
|
Construct arbitrary unannotated branches.
|
2015-10-16 14:26:46 -04:00 |
|
Rob Rix
|
6a4e1dca39
|
Construct arbitrary unannotated leaves.
|
2015-10-16 14:26:32 -04:00 |
|
Rob Rix
|
412ea9cc04
|
Add unannotated terms.
|
2015-10-16 14:24:17 -04:00 |
|
Rob Rix
|
570d4efa5d
|
Generate arbitrary leaves.
|
2015-10-16 13:23:38 -04:00 |
|
joshvera
|
a93e8e90da
|
remove String.lift
|
2015-10-16 13:10:18 -04:00 |
|
joshvera
|
b6ec5e0bf8
|
Parse simple json
|
2015-10-16 13:08:49 -04:00 |
|
Rob Rix
|
a3ef491de4
|
Stub in Arbitrary conformance.
|
2015-10-16 12:28:49 -04:00 |
|
Rob Rix
|
c415a6aafd
|
Add a RangedTerm struct wrapping ranged terms.
|
2015-10-16 12:28:16 -04:00 |
|
Rob Rix
|
889f3ffef5
|
Link the tests against SwiftCheck.
|
2015-10-16 11:48:24 -04:00 |
|
Rob Rix
|
fa0b04d4cd
|
Add SwiftCheck to the workspace.
|
2015-10-16 11:48:18 -04:00 |
|
Rob Rix
|
b851fbc186
|
Add SwiftCheck.
|
2015-10-16 11:44:48 -04:00 |
|
joshvera
|
b16367635b
|
remove type declarations
|
2015-10-16 11:14:13 -04:00 |
|
Rob Rix
|
01d65a4245
|
Patches of terms annotated with ranges can produce JSON over source strings.
|
2015-10-16 11:09:30 -04:00 |
|
Rob Rix
|
8c341fc129
|
Terms annotated with ranges over a string can be printed to JSON.
|
2015-10-16 11:09:20 -04:00 |
|
Rob Rix
|
c058e81183
|
Syntax’s JSON parameter functions do not escape.
|
2015-10-16 11:09:07 -04:00 |
|
joshvera
|
409cca5b8d
|
++Madness
|
2015-10-16 11:06:59 -04:00 |
|
joshvera
|
4f529028a7
|
Upgrade to applicative Madness branch
|
2015-10-16 11:05:13 -04:00 |
|
Rob Rix
|
73fdb644b2
|
Use the typealias.
|
2015-10-16 10:07:06 -04:00 |
|
Rob Rix
|
20e5d25fbf
|
PatchType does not require construction with a Patch.
|
2015-10-16 09:30:25 -04:00 |
|
Rob Rix
|
0c786ed160
|
Use the PatchType init to delete.
|
2015-10-16 09:30:09 -04:00 |
|
Rob Rix
|
aa2cce5a39
|
Use the PatchType init to insert.
|
2015-10-16 09:29:56 -04:00 |
|
Rob Rix
|
902ce99172
|
Use the PatchType init to replace.
|
2015-10-16 09:29:43 -04:00 |
|
Rob Rix
|
bcdaff9c2c
|
PatchType requires constructors for deletions.
|
2015-10-16 09:28:45 -04:00 |
|
Rob Rix
|
64cd995e41
|
PatchType requires constructors for deletions.
|
2015-10-16 09:28:37 -04:00 |
|
Rob Rix
|
00115e422b
|
PatchType requires constructors for replacements.
|
2015-10-16 09:28:25 -04:00 |
|
Rob Rix
|
831eb1e521
|
PatchType does not require patch .
|
2015-10-16 09:26:13 -04:00 |
|
Rob Rix
|
52dc661fc9
|
Use Patch es’ inverse directly.
|
2015-10-16 09:24:12 -04:00 |
|
Rob Rix
|
1493b2938e
|
PatchType requires inverse .
|
2015-10-16 09:23:51 -04:00 |
|
Rob Rix
|
c1cb797c6f
|
Use Patch es’ state directly.
|
2015-10-16 09:23:33 -04:00 |
|
Rob Rix
|
9b15398f76
|
PatchType requires state .
|
2015-10-16 09:22:41 -04:00 |
|
Rob Rix
|
38be68d95d
|
Rename PatchConvertible to PatchType.
|
2015-10-16 09:21:41 -04:00 |
|
Rob Rix
|
fcff1d8e9f
|
Correct a section marker.
|
2015-10-16 09:20:47 -04:00 |
|
Rob Rix
|
b43badaf04
|
🔥 FreeConvertible.
|
2015-10-16 09:20:14 -04:00 |
|
Rob Rix
|
c5fe7bec46
|
What why
|
2015-10-15 18:32:43 -04:00 |
|
Rob Rix
|
90d84593c8
|
Remove Algorithm.evaluate() in all its many forms.
|
2015-10-15 18:30:16 -04:00 |
|
Rob Rix
|
bee0876bae
|
Correct the test of categorization.
|
2015-10-15 18:29:23 -04:00 |
|
Rob Rix
|
d833e65b50
|
Correct the test of restrictions.
|
2015-10-15 18:29:17 -04:00 |
|
Rob Rix
|
8595464342
|
Migrate the tests to Interpreter.
|
2015-10-15 18:25:35 -04:00 |
|
Rob Rix
|
690e8ef175
|
Rename AlgorithmTests → InterpreterTests.
|
2015-10-15 18:18:38 -04:00 |
|
Rob Rix
|
5584c2f653
|
Use the sum combinator to compute a cost function.
|
2015-10-15 18:16:02 -04:00 |
|
Rob Rix
|
792a6b6654
|
Add a convenience for summing Free s.
|
2015-10-15 18:13:22 -04:00 |
|
joshvera
|
360baa236c
|
parse some jsons
|
2015-10-15 17:40:57 -04:00 |
|
joshvera
|
9f29b877da
|
add Madness
|
2015-10-15 16:20:42 -04:00 |
|
Rob Rix
|
7871169f8d
|
Compute JSON diffs with Interpreter.
|
2015-10-15 15:50:46 -04:00 |
|
Rob Rix
|
5c85adaab0
|
Merge branch 'master' into interpreter
Conflicts:
prototype/Doubt/Algorithm.swift
|
2015-10-15 15:45:01 -04:00 |
|
Rob Rix
|
1690c71cb2
|
Convenience constructor for Interpreters with Categorizable annotations.
|
2015-10-15 15:43:18 -04:00 |
|
Rob Rix
|
1e53b446ab
|
Cofree conforms to CofreeType.
|
2015-10-15 15:42:39 -04:00 |
|
Rob Rix
|
522757c121
|
Replace CofreeConvertible with CofreeType.
|
2015-10-15 15:42:24 -04:00 |
|
Rob Rix
|
f8cd049280
|
Add a function from categorization functions to comparable functions.
|
2015-10-15 15:39:55 -04:00 |
|
Josh Vera
|
e6ec91cd64
|
Merge pull request #120 from github/patch-constructors-on-diff
Patch constructors on diff
|
2015-10-15 15:39:14 -04:00 |
|
Rob Rix
|
2d21447312
|
Replaces the convenience constructor with a diff cost constructor.
|
2015-10-15 15:34:59 -04:00 |
|
Rob Rix
|
8d93a77b86
|
Add a CofreeConvertible protocol.
|
2015-10-15 15:31:51 -04:00 |
|
Rob Rix
|
24c66eb1ff
|
Convenience constructor taking a Patch cost function.
|
2015-10-15 15:28:21 -04:00 |
|
Rob Rix
|
53c78fd546
|
It’s a type.
|
2015-10-15 15:28:12 -04:00 |
|
Rob Rix
|
1b86134377
|
Difference over Patch<Term: TermType>.
|
2015-10-15 15:25:04 -04:00 |
|
Rob Rix
|
e8a67fbdb0
|
Sum over Patch<Term: TermType>.
|
2015-10-15 15:24:58 -04:00 |
|
Rob Rix
|
e5fe5f448a
|
Parameterized difference over Patch.
|
2015-10-15 15:23:51 -04:00 |
|
Rob Rix
|
45d2697c46
|
Parameterized sum over Patch.
|
2015-10-15 15:23:36 -04:00 |
|
Rob Rix
|
856abbe611
|
I don’t know.
|
2015-10-15 15:08:06 -04:00 |
|
Rob Rix
|
e5f6d1acfa
|
Add a top-down, left-to-right reduce method to Free.
|
2015-10-15 15:07:13 -04:00 |
|
Rob Rix
|
662fbe7dbc
|
Don’t require equal when the leaf type is Equatable.
|
2015-10-15 14:34:47 -04:00 |
|
Rob Rix
|
62c13aed65
|
Document run .
|
2015-10-15 14:30:14 -04:00 |
|
Rob Rix
|
5aa7b7c26a
|
Document Interpreter ’s constructor.
|
2015-10-15 14:28:28 -04:00 |
|
Rob Rix
|
98398f6fd0
|
Move the run method to the top.
|
2015-10-15 14:16:01 -04:00 |
|
Rob Rix
|
58b8fc2fe6
|
Merge branch 'master' into interpreter
|
2015-10-15 14:15:33 -04:00 |
|
Rob Rix
|
b453319db4
|
Merge branch 'master' into restrict-comparisons-by-category
|
2015-10-15 14:14:34 -04:00 |
|
Rob Rix
|
3a4f331b2e
|
Document the categorize parameter.
|
2015-10-15 14:14:29 -04:00 |
|
Rob Rix
|
a34b5a34f4
|
Document the equals parameter.
|
2015-10-15 14:12:39 -04:00 |
|
Rob Rix
|
e2e55ef041
|
Document the purpose of size .
|
2015-10-15 13:45:30 -04:00 |
|
Rob Rix
|
5e947ae30a
|
Rename equals to equal .
|
2015-10-15 12:20:22 -04:00 |
|
Rob Rix
|
5c163d291b
|
Document the Diff typealias.
|
2015-10-15 12:16:58 -04:00 |
|
Rob Rix
|
c46d48b582
|
Public constructor.
|
2015-10-15 12:16:39 -04:00 |
|
Rob Rix
|
02e5ed7539
|
Bail if a and b are not comparable.
|
2015-10-15 12:15:50 -04:00 |
|
Rob Rix
|
482aa3b907
|
Document recur .
|
2015-10-15 12:15:30 -04:00 |
|
Rob Rix
|
6263645728
|
Add a comparable parameter.
|
2015-10-15 12:15:27 -04:00 |
|
Rob Rix
|
53ea4fcf36
|
Interpretation of .ByIndex algorithms.
|
2015-10-15 11:51:01 -04:00 |
|
Rob Rix
|
932bc44778
|
Add a private cost parameter to Interpreter .
|
2015-10-15 11:50:43 -04:00 |
|
Rob Rix
|
5a6b96e38b
|
Interpret .ByKey algorithms.
|
2015-10-15 11:50:04 -04:00 |
|
Rob Rix
|
ca3023dce3
|
Document the interpretation of .Recursive nodes.
|
2015-10-15 11:48:49 -04:00 |
|
Rob Rix
|
7771edccf5
|
.Recursive replaces.
|
2015-10-15 11:47:27 -04:00 |
|
Rob Rix
|
2dbfd51f15
|
Recur through pairs of .Keyed nodes with equal keys.
|
2015-10-15 11:45:40 -04:00 |
|
Rob Rix
|
52c1b581c6
|
Recur through pairs of equal-length indexed terms.
|
2015-10-15 11:33:13 -04:00 |
|
Rob Rix
|
8680bb4165
|
Infer a type.
|
2015-10-15 11:29:56 -04:00 |
|
Rob Rix
|
ac84875a4b
|
Return pure diffs.
|
2015-10-15 11:29:49 -04:00 |
|
Rob Rix
|
0960bdacf4
|
Extract a method recurring over algorithms.
|
2015-10-15 11:29:04 -04:00 |
|
Rob Rix
|
7a31fe7e75
|
The equality parameter is private.
|
2015-10-15 11:27:44 -04:00 |
|
Rob Rix
|
3c08972026
|
Extract a private recurrence method.
|
2015-10-15 11:26:35 -04:00 |
|
Rob Rix
|
9a98450cfe
|
Merge branch 'patch-constructors-on-diff' into interpreter
|
2015-10-15 11:23:18 -04:00 |
|
Rob Rix
|
0b916807a2
|
Use the patch constructors in recursive evaluation.
|
2015-10-15 11:21:23 -04:00 |
|
Rob Rix
|
d74e4fb231
|
Missed a couple of cases in SES.
|
2015-10-15 11:20:41 -04:00 |
|
Rob Rix
|
eda4ece5a8
|
Use the patch constructors in dictionary diffing.
|
2015-10-15 11:20:07 -04:00 |
|
Rob Rix
|
fed0d91d30
|
Use the patch constructors in SES.
|
2015-10-15 11:19:14 -04:00 |
|
Rob Rix
|
298a37c444
|
Section header for patch construction.
|
2015-10-15 11:18:16 -04:00 |
|
Rob Rix
|
6ee73cca06
|
We don’t need Cofree terms to construct patches.
|
2015-10-15 11:18:06 -04:00 |
|
Rob Rix
|
cd7e67c30d
|
Remove the convenience functions.
|
2015-10-15 11:16:27 -04:00 |
|
Rob Rix
|
b4ea7b70bc
|
Use the Diff/Patch constructors in the tests.
|
2015-10-15 11:16:21 -04:00 |
|
Rob Rix
|
9e80e0c903
|
Add a Delete constructor to Free when used as a diff.
|
2015-10-15 11:11:06 -04:00 |
|
Rob Rix
|
ce633f555a
|
Add an Insert constructor to Free when used as a diff.
|
2015-10-15 11:10:35 -04:00 |
|
Rob Rix
|
8366dc752a
|
Add a Replace constructor to Free when used as a Diff.
|
2015-10-15 11:10:16 -04:00 |
|
Rob Rix
|
787681eafc
|
Construct an algorithm.
|
2015-10-15 11:07:35 -04:00 |
|
Rob Rix
|
98d333d721
|
Test equality, otherwise replace.
|
2015-10-15 11:04:37 -04:00 |
|
Rob Rix
|
6f71a42509
|
Running takes a pair of Terms.
|
2015-10-15 11:03:15 -04:00 |
|
Rob Rix
|
0cedf87540
|
Interpreter has a Diff typealias.
|
2015-10-15 11:01:35 -04:00 |
|
Rob Rix
|
a9f5075d3e
|
Interpreter has an equality function.
|
2015-10-15 11:00:49 -04:00 |
|
Rob Rix
|
22cb1e00d5
|
Abstract Interpreter over a TermType.
|
2015-10-15 11:00:27 -04:00 |
|
Rob Rix
|
1a4151b2a9
|
Stub in running.
|
2015-10-15 10:58:57 -04:00 |
|
Rob Rix
|
28c5fb81a2
|
Rename B to Result.
|
2015-10-15 10:49:39 -04:00 |
|
Rob Rix
|
30e9ac9106
|
Stub in docs for Interpreter .
|
2015-10-15 10:45:32 -04:00 |
|