1
1
mirror of https://github.com/github/semantic.git synced 2024-12-24 07:25:44 +03:00
Commit Graph

2988 Commits

Author SHA1 Message Date
Rob Rix
e2e6a0ea03 Note the need for SES. 2015-10-05 12:51:43 -04:00
Rob Rix
4b3b1ec3d4 Top-level construction of FreeAlgorithms from Terms. 2015-10-05 12:51:05 -04:00
Rob Rix
1af75347a1 Add a hack protocol to allow an ersatz same-type requirement. 2015-10-05 12:50:47 -04:00
Rob Rix
00ae25a932 Add a function computing the FreeAlgorithm for two terms. 2015-10-05 12:33:59 -04:00
Rob Rix
81e80eae50 Evaluation of FreeAlgorithm where A: Equatable. 2015-10-05 12:32:34 -04:00
Rob Rix
346a39fafc Evaluation of FreeAlgorithm. 2015-10-05 12:32:21 -04:00
Rob Rix
fa3be5108e FreeAlgorithm is a monad. 2015-10-05 12:30:10 -04:00
Rob Rix
c70ab9e9a4 FreeAlgorithm is a functor. 2015-10-05 12:29:35 -04:00
Rob Rix
eea4915d6a Add a free monad over Algorithm. 2015-10-05 12:19:55 -04:00
Rob Rix
8f9a47cd06 Simplify the evaluation of recursive algorithms. 2015-10-05 12:13:54 -04:00
Rob Rix
300f370bcb Spacing. 2015-10-05 12:13:25 -04:00
Rob Rix
7834548250 Algorithm implements dictionary diffing. 2015-10-05 09:24:29 -04:00
Rob Rix
bd5deecce7 Spacing. 2015-10-02 17:49:03 -04:00
Rob Rix
fce352dd85 Document why copy. 2015-10-02 17:48:58 -04:00
Rob Rix
51903b4434 Implement an interpreter for Algorithm. 2015-10-02 17:47:11 -04:00
Rob Rix
ad93456922 Algorithm is a Functor. 2015-10-02 17:34:14 -04:00
Rob Rix
f9dcf9569c The Recursive case contains two Terms, not one. 2015-10-02 17:32:25 -04:00
Rob Rix
b30aa91502 Algorithm is public. 2015-10-02 17:30:09 -04:00
Rob Rix
1b13580eb3 Document the Recursive case. 2015-10-02 17:29:13 -04:00
Rob Rix
bbd41b209d Doc comments for the Term and Diff typealiases. 2015-10-02 17:25:52 -04:00
Rob Rix
f26d4349c7 Documentation comment for the Algorithm type. 2015-10-02 17:25:40 -04:00
Rob Rix
8da57b5e78 Stub in the language of diffing algorithms. 2015-10-02 17:21:51 -04:00
Rob Rix
20bea59868 Add a Keyed case to Syntax. 2015-10-02 17:18:38 -04:00
Rob Rix
6657c5c0a5 Fix the debug description. 2015-10-02 17:13:27 -04:00
Rob Rix
7c69de54bc Rename Branch to Indexed. 2015-10-02 17:12:49 -04:00
Rob Rix
395fa8446f Note my keen desire to 🔥 Syntax.reduce forever. 2015-10-02 17:11:35 -04:00
Rob Rix
5ff17c8fc0 Syntax.Branch holds an array again. 2015-10-02 17:11:02 -04:00
Rob Rix
ebb3f1350f Conveniences for constructing insertions & deletions. 2015-10-02 16:53:43 -04:00
Rob Rix
ae7f30e922 Parameterized Patch hashing. 2015-10-02 16:50:59 -04:00
Rob Rix
ca6392e636 Parameterized Patch equality. 2015-10-02 16:49:04 -04:00
Rob Rix
9a19d477df Parameterized Optional equality. 2015-10-02 16:48:44 -04:00
Rob Rix
40291e2715 Move the function composition operator into the Operators file. 2015-10-02 16:42:42 -04:00
Rob Rix
089bd51fb3 Rename the property. 2015-10-02 16:38:21 -04:00
Rob Rix
48c2112124 Add a property destructuring Patches. 2015-10-02 16:38:02 -04:00
Rob Rix
0c4fe23e78 Doc comment for Patch. 2015-10-02 16:36:05 -04:00
Rob Rix
5c10f5ccc9 Stub in Patch. 2015-10-02 16:34:00 -04:00
Rob Rix
76441c3775 Fix implements hash where A is Hashable. 2015-10-02 16:31:49 -04:00
Rob Rix
bccc09d39b Fix hashing. 2015-10-02 16:31:10 -04:00
Rob Rix
96e5cd0e7a Abbreviate Fix equality. 2015-10-02 16:28:57 -04:00
Rob Rix
277757e3a2 Free implements hash when A and B are Hashable. 2015-10-02 16:27:44 -04:00
Rob Rix
e4d0a41093 Express flatMap with analysis. 2015-10-02 14:36:01 -04:00
Rob Rix
b4479e3854 Express map with analysis. 2015-10-02 14:35:18 -04:00
Rob Rix
2b5b85e0b4 Define Free hashing. 2015-10-02 14:35:07 -04:00
Rob Rix
f14433871b Parameterize by leaf hashing. 2015-10-02 14:33:41 -04:00
Rob Rix
3d40071b44 Give the hash parameter an external label. 2015-10-02 14:32:35 -04:00
Rob Rix
334bb3017e The roll function doesn’t escape. 2015-10-02 14:29:45 -04:00
Rob Rix
7d49895796 Section headers for functor/monad instances. 2015-10-02 14:27:37 -04:00
Rob Rix
7e00f9297e Implement case analysis for Free. 2015-10-02 14:26:53 -04:00
Rob Rix
de2dcf4bf4 == over Free. 2015-10-02 14:18:43 -04:00
Rob Rix
a0e77e2495 == over Fix. 2015-10-02 14:17:59 -04:00