1
1
mirror of https://github.com/github/semantic.git synced 2024-12-23 06:41:45 +03:00
Commit Graph

2851 Commits

Author SHA1 Message Date
joshvera
d20937f2b1 Parse functions 2016-06-10 15:10:37 -04:00
joshvera
4257f7a46f Add a Function case to alignSyntax 2016-06-10 13:34:19 -04:00
joshvera
1a7a0e1388 Add a Free Function case to DiffSummary
And carry identifier diff summaries up the cata as well.
2016-06-10 13:34:19 -04:00
joshvera
91bf955125 Add a Function constructor to Syntax 2016-06-10 13:34:19 -04:00
joshvera
4e299985e7 fix FunctionCall case in Term.Arbitrary 2016-06-09 15:50:47 -04:00
joshvera
fba6184448 Add FunctionCall cases to DiffSummary module 2016-06-09 15:50:36 -04:00
joshvera
f0870e68a0 Add FunctionCall to Diff.shrink 2016-06-09 15:45:11 -04:00
joshvera
ab699524c6 Add FunctionCall case to shrink 2016-06-09 15:43:54 -04:00
Rick Winfrey
7ca44b9844 Add FunctionCall case to DiffSummary cata 2016-06-09 14:35:20 -05:00
Rick Winfrey
0a13b664a7 Add FunctionCall case to termToDiffInfo 2016-06-08 17:14:55 -05:00
Rick Winfrey
43def99532 Add FunctionCall case to alignSyntax 2016-06-08 17:06:35 -05:00
Rick Winfrey
3cbdf8f7a9 Add FunctionCall case to termFields 2016-06-08 16:49:45 -05:00
Rick Winfrey
accaeb3429 Add FunctionCall toMarkup instance 2016-06-08 16:45:02 -05:00
Rick Winfrey
1f614c03bd Disambiguate FunctionCall 2016-06-08 16:20:32 -05:00
Rick Winfrey
6e1ead9ba7 Add FuncationCall case to termConstructor 2016-06-08 16:19:42 -05:00
Rick Winfrey
b1ac37774b Add FunctionCall Syntax constructor 2016-06-08 16:18:54 -05:00
Rick Winfrey
0050e03305 Scope Category.FunctionCall 2016-06-08 16:18:30 -05:00
joshvera
f718354cda Explode branch terms to arrays of DiffInfo 2016-06-08 15:18:44 -04:00
joshvera
99a8f3ec8c Change termName to Text 2016-06-08 14:50:33 -04:00
joshvera
f7fc7afc40 Change parentAnnotations to a list of categories 2016-06-08 14:46:38 -04:00
Rick Winfrey
a79d5c5bd0 Merge remote-tracking branch 'origin/master' into syntax-redux 2016-06-07 16:50:11 -05:00
joshvera
ad02f1f560 Remove test 2016-06-06 19:58:12 -04:00
joshvera
775c735265 Pack categories into text while constructing terms 2016-06-06 19:53:48 -04:00
joshvera
1b03cb7227 change them to Text 2016-06-06 19:41:07 -04:00
joshvera
2b1333aa09 extract multiple diffs from pure indexed nodes 2016-06-06 15:45:44 -04:00
joshvera
f61f9675ae Convert to function call 2016-06-06 14:56:28 -04:00
Rob Rix
dfa3b3fd66 Merge branch 'master' into benchmark-alignment 2016-06-06 13:05:00 -04:00
Rob Rix
81fc2ea122 Don’t try to create replacements of size 1. 2016-06-06 13:04:54 -04:00
Rob Rix
3ff913299a patchOf takes a pair of generators. 2016-06-06 12:35:37 -04:00
Rob Rix
651795ea7d Replace was doubling the size of patches; don’t do that. 2016-06-06 12:34:35 -04:00
Rob Rix
314bd97742 Correct the metric on diffs to sum the patches. 2016-06-06 12:30:49 -04:00
Rob Rix
441d617ae3 Move the Base and Unfoldable instances for ArbitraryTerm into Term.Arbitrary. 2016-06-06 12:30:16 -04:00
Rob Rix
29758790c7 I’m really not clear on how this even got committed. 2016-06-06 12:27:27 -04:00
Rob Rix
c173c38a6c Generate and shrink patches. 2016-06-06 12:25:47 -04:00
Rob Rix
6450f42e6a Add a function to compute the size of ArbitraryDiffs. 2016-06-06 12:25:37 -04:00
Rob Rix
632b222f48 Add a function to compute the size of an ArbitraryTerm. 2016-06-06 12:15:16 -04:00
Rob Rix
74092797bc Use patchOf in the Arbitrary instance. 2016-06-06 12:09:30 -04:00
Rob Rix
825f6ceeb3 Add a generator of patches parameterized by another generator. 2016-06-06 12:09:00 -04:00
Rob Rix
29a725b125 Move ArbitraryDiff into semantic-diff proper. 2016-06-06 12:07:07 -04:00
Rob Rix
8780ea3f26 Move the Arbitrary instances for Join (,) and Join These into semantic-diff proper. 2016-06-06 11:50:45 -04:00
Rob Rix
4eb76ff3a3 Move the Arbitrary instance for Data.These into semantic-diff proper. 2016-06-06 11:46:30 -04:00
Rob Rix
378b577175 Move the Arbitrary instance for Patch into semantic-diff proper. 2016-06-06 11:43:38 -04:00
Rob Rix
a613fa0369 Merge branch 'push-benchmarks-to-graphite' into benchmark-alignment 2016-06-06 11:36:48 -04:00
Rob Rix
16207b03d1 Extract the term comparison relation. 2016-06-03 18:43:43 -04:00
Rob Rix
d3c23769e7 🔥 redundant parens. 2016-06-03 18:40:43 -04:00
Rob Rix
0f924f786c Assign the Error category. 2016-06-03 18:38:04 -04:00
Rob Rix
10b424cd47 Add an Error category. 2016-06-03 18:37:40 -04:00
Rob Rix
adca4a56a3 Assign the Program category. 2016-06-03 18:35:27 -04:00
Rob Rix
83b57fc643 Add a Category for the top-level scope. 2016-06-03 18:34:42 -04:00
Rob Rix
038bde4aaa Reformat to line Category constructors up.
This reverts commit 5ce35d2a39ff6b83abd19d0d9476cc75922a36fe.
2016-06-03 18:32:21 -04:00
Rob Rix
4d75f69e73 Reorder the comparable test before the equal terms test. 2016-06-03 16:37:09 -04:00
Rob Rix
a43be167f6 Merge branch 'master' into cache-cost-on-info 2016-06-03 16:24:02 -04:00
Rob Rix
7802d4916c 🔥 FlexibleInstances & RecordWildCards pragmas. 2016-06-03 16:02:06 -04:00
Rob Rix
9247980114 Revert "Don’t change diff sizes; don’t traverse subtrees to compute cost in SES."
This reverts commit 8735e65ea2de458116db0a58621083003a9129c0.
2016-06-03 15:31:07 -04:00
Rob Rix
8b98d25642 Revert "Go back to taking the absolute value, even tho it’s wrong."
This reverts commit 5278cd5e686406e3d08bbdafd980d813f1f33d1f.
2016-06-03 15:31:02 -04:00
Rob Rix
410629b165 Go back to taking the absolute value, even tho it’s wrong.
This is still a poor approximation to the edit distance, but it’s a
better one than `sum`, and it’s still very cheap.
2016-06-03 15:29:28 -04:00
Rob Rix
ec84afcadb Compare terms sans annotations.
🎩 @rewinfrey.
2016-06-03 15:28:15 -04:00
Rob Rix
0976c1e452 Don’t change diff sizes; don’t traverse subtrees to compute cost in SES. 2016-06-03 15:09:10 -04:00
Rob Rix
58363fc4de Assign costs in lineByLineParser. 2016-06-03 12:49:08 -04:00
Rob Rix
8dd124876d Assign leaf costs in breakDownLeavesByWord. 2016-06-03 12:48:54 -04:00
Rob Rix
33791e3ed6 Compute term costs at parse time, not in a second pass. 2016-06-03 12:14:06 -04:00
Rob Rix
02d0cd1507 Generalize SES over term and edit type parameters. 2016-06-03 09:27:33 -04:00
Rob Rix
bb83649c6c Simplify how we compute costs in patches. 2016-06-03 09:12:41 -04:00
Rob Rix
27333b5b23 Extract the cached diff costs. 2016-06-03 03:08:09 -04:00
Rob Rix
f39e3df33b Pass a DiffConstructor to diffTerms. 2016-06-03 02:59:48 -04:00
Rob Rix
6e256a53a5 Don’t bind variables we don’t use. 2016-06-03 02:44:12 -04:00
Rob Rix
0563bc58c1 Export the DiffConstructor type synonym. 2016-06-03 02:43:43 -04:00
Rob Rix
35327522b3 📝 DiffConstructor. 2016-06-03 02:42:27 -04:00
Rob Rix
9c07abcc07 Use a DiffConstructor to build diffs in constructAndRun & run. 2016-06-03 02:41:25 -04:00
Rob Rix
3e7784323f Stub in a DiffConstructor type synonym. 2016-06-03 02:41:01 -04:00
Rob Rix
e2860055e4 Correct the docs of Constructor. 2016-06-03 02:32:03 -04:00
Rob Rix
a27786d226 Cache term costs. 2016-06-03 01:40:36 -04:00
Rob Rix
4bfa1b72c4 Simplify diffAt using pattern guards. 2016-06-02 23:40:02 -04:00
Rob Rix
66efabda26 Simplify construction of deletions/insertions. 2016-06-02 23:36:18 -04:00
Rob Rix
bcbb590b1f Add a cost field to Info. 2016-06-02 23:34:16 -04:00
Rob Rix
0c05e3f29b Don’t bind an unused parameter. 2016-06-02 23:30:01 -04:00
Rob Rix
f3b0cd33da A Constructor takes an Info directly. 2016-06-02 23:06:09 -04:00
Rob Rix
15d110ef97 These, too, are singular. 2016-06-02 22:58:43 -04:00
Rob Rix
85bed9769a Use record syntax to make (like a tree and) leaves. 2016-06-02 22:56:59 -04:00
Rob Rix
db19380c36 These are not plural. 2016-06-02 22:56:10 -04:00
Rob Rix
3032a7893a Define assignKey with a case expression. 2016-06-02 22:54:02 -04:00
Rob Rix
42172ee5fd Avoid pattern matching on Info. 2016-06-02 22:45:05 -04:00
Rob Rix
7741cee48d Use RecordWildcards to clean up some uses of Info. 2016-06-02 22:43:47 -04:00
Rob Rix
9a35557c6f Rephrase replaceIn using definitions in the where clause. 2016-06-02 22:43:25 -04:00
Rob Rix
67d470aac6 Rebuild info using record syntax. 2016-06-02 19:10:59 -04:00
Rob Rix
43757e8a61 🔥 Categorizable.
This reverts commit be59b0c161362baae63308478177819828be7e1b.
2016-06-02 19:10:41 -04:00
Rob Rix
ee9b32181f Merge branch 'master' into quicker-range-intersection-test 2016-06-02 14:05:12 -04:00
Rob Rix
0fa2a40cfb 🔥 some redundant parens. 2016-06-01 21:37:38 -04:00
Rob Rix
ee0bfac0a9 Simplify the range intersection test. 2016-06-01 20:52:24 -04:00
Rob Rix
16dd78d8ae Merge branch 'master' into syntax 2016-06-01 18:00:14 -04:00
joshvera
ce219977a6 formatting 2016-06-01 17:55:47 -04:00
joshvera
0c646d8a8c Remove redundant module names 2016-06-01 17:41:28 -04:00
joshvera
0157b6588c Return the entire diff as a deletion or insertion when a source blob is empty 2016-06-01 17:41:12 -04:00
joshvera
583206d728 Export Join from Data.Functor.Both so we can use runJoin 2016-06-01 17:39:26 -04:00
Rob Rix
4ea9eba71c Merge branch 'master' into render-diff-summaries-as-json 2016-06-01 16:23:39 -04:00
Rob Rix
ef47e435aa Merge branch 'master' into benchmark-alignment
# Conflicts:
#	test/TermSpec.hs
2016-06-01 16:22:02 -04:00
Rob Rix
1e049c7dcb Generate arbitrarily-sized terms. 2016-06-01 12:17:42 -04:00
joshvera
06a06eb5ac remove unused import 2016-06-01 12:16:59 -04:00
joshvera
3115adec93 Change JSON category key to category and update docs 2016-06-01 12:08:40 -04:00
Rob Rix
5b5add0c2d Only generate leaves when the size is <= 1. 2016-06-01 12:07:16 -04:00
Rob Rix
13277ddc51 Terminate on n < 0. 2016-06-01 11:48:16 -04:00
Rob Rix
5c33cd1038 Add a section header above the Arbitrary instance. 2016-06-01 09:23:01 -04:00
Rob Rix
3b04523bb9 Extract termOfSize to the top level. 2016-06-01 09:22:48 -04:00
Rob Rix
29c3f203ce Define a linear Arbitrary instance for ArbitraryTerm. 2016-06-01 09:14:59 -04:00
Rob Rix
d9a13717b6 Define toTerm in Term.Arbitrary. 2016-06-01 09:14:29 -04:00
Rob Rix
6206f8ae93 Define ArbitraryTerm in Term.Arbitrary. 2016-06-01 09:14:06 -04:00
Rob Rix
3ada142796 Stub in a module for arbitrary Terms. 2016-06-01 09:03:15 -04:00
Rob Rix
fe6d638673 Derive a Traversable instance over Patch. 2016-05-31 20:41:12 -04:00
Rob Rix
39ddbfc60f Add the DiffF type synonym back in. 2016-05-31 20:16:19 -04:00
joshvera
9ef2745944 Replace comparable with (==) category 2016-05-31 16:58:57 -04:00
joshvera
eb4b280dfb s/Unknown/program 2016-05-31 16:44:44 -04:00
Rob Rix
f8508b84fd Output a JSON array of strings. 2016-05-31 16:14:10 -04:00
joshvera
0244e9a929 Store a category in Info instead of a Set 2016-05-31 16:13:01 -04:00
Rob Rix
f8ae53d2df DiffSummary’s type parameter is no longer phantom. 2016-05-31 16:11:11 -04:00
Rob Rix
2887d0c2a1 Merge branch 'master' into fix-invalid-slice 2016-05-31 13:28:50 -04:00
Rob Rix
b7e724effd Sort the produced children by range. 2016-05-30 19:21:06 -04:00
Rob Rix
e44d629380 Revert "Sort children before rendering in split diffs."
This reverts commit d989a76742d1e725935a1dea1a349778a67c5c32.
2016-05-30 19:20:50 -04:00
Rob Rix
70bb48b933 Sort children before rendering in split diffs. 2016-05-30 19:15:46 -04:00
Rob Rix
7f3f408fb1 🔥 the absolute difference cost function. 2016-05-30 14:06:24 -04:00
Rob Rix
338ed4a5ce Revert "Represent term/diff costs as Rationals."
This reverts commit aea4e7ec784422696631156415855eab920af38a.
2016-05-30 14:05:23 -04:00
Rob Rix
9049478594 Revert "Generalize diff/patch/term sizes to a Num instance."
This reverts commit ebb98b0e97b3c184998fb1a17570af3f8262c2a6.
2016-05-30 14:04:48 -04:00
Rob Rix
f61fd62a04 Revert "Add a simple function to produce minimal strings from rationals."
This reverts commit 9f787b8ae46f329b4e8a50b112c13844c4ce3b87.
2016-05-30 14:04:43 -04:00
Rob Rix
6c435a39b4 Revert "Render sizes minimally in split diffs."
This reverts commit af17b7c6b85462a902ab296c0c0334aa26b4e0b9.
2016-05-30 14:04:40 -04:00
Rob Rix
a3ba420fb4 Revert "📝 showRational."
This reverts commit eff9eb21f0b91f4abc58624268cfd51233424511.
2016-05-30 14:04:36 -04:00
Rob Rix
e8f82b0845 Go back to using the cached term sizes. 2016-05-30 13:52:23 -04:00
Rob Rix
88beca1557 Rename the parameter. 2016-05-30 13:43:20 -04:00
Rob Rix
db83ca1069 📝 showRational. 2016-05-30 12:29:14 -04:00
Rob Rix
b25ef8e89c Render sizes minimally in split diffs. 2016-05-30 12:27:30 -04:00
Rob Rix
cf44d3e0b4 Add a simple function to produce minimal strings from rationals. 2016-05-30 12:27:14 -04:00
Rob Rix
fa883c0cfc Generalize diff/patch/term sizes to a Num instance. 2016-05-30 10:48:16 -04:00
Rob Rix
21e0a31472 Represent term/diff costs as Rationals. 2016-05-30 10:47:16 -04:00
joshvera
ecd5efb3fa Factor hylos out to alignSyntax 2016-05-27 17:09:22 -04:00
joshvera
2340014641 Factor case statement to intersectionsWithHeadRanges in alignChildren 2016-05-27 16:56:35 -04:00
joshvera
e754bc767e Cleanup alignBranch a bit 2016-05-27 16:51:06 -04:00
joshvera
99424790b3 Move bothRanges to where clause 2016-05-27 16:24:18 -04:00
joshvera
100a2ad879 format numberRows 2016-05-27 16:17:44 -04:00
Rob Rix
1f29cd84a3 📝 alignDiff/alignPatch. 2016-05-27 15:48:32 -04:00
Rob Rix
44be4bdbae 🔥 AlignedDiff. 2016-05-27 15:48:24 -04:00
Rob Rix
5c25f09e16 🔥 Union. 2016-05-27 15:44:58 -04:00
Rob Rix
86e8e06a50 🔥 redundant imports. 2016-05-27 15:44:51 -04:00
Rob Rix
7b4e71293e 🔥 unionThese. 2016-05-27 15:44:08 -04:00
Rob Rix
df927cb9d4 📝 unionThese. 2016-05-27 15:34:35 -04:00
Rob Rix
0becb4205f We’ve captured these in tests. 2016-05-27 15:33:16 -04:00
Rob Rix
73a455305d Disable logging on exhausted ranges w/ remaining children. 2016-05-27 15:17:41 -04:00
Rob Rix
e37fe0dee9 Render JS with predictable ordering. 2016-05-27 14:49:28 -04:00
Rob Rix
e1680f85b0 Revert "Revert "Revert "Correct the computation of range intersection."""
This reverts commit d90ebc2d0bc2fdca281b827c903086be1f7abdbd.
2016-05-27 14:33:57 -04:00
Rob Rix
81fd09ae25 Revert "Revert "Correct the computation of range intersection.""
This reverts commit 02bcb272e36a62a90c099af22add47c69160e941.
2016-05-27 14:27:50 -04:00
Rob Rix
1cb7946cb0 Revert "Correct the computation of range intersection."
This reverts commit 988914aefb3a89676cecbbe1654370c08f886be0.
2016-05-27 14:24:36 -04:00
Rob Rix
835f38bdf8 Correct the computation of range intersection. 2016-05-27 14:22:45 -04:00
Rob Rix
ccd45ccecb Print out the remaining children. 2016-05-27 14:17:42 -04:00