1
1
mirror of https://github.com/github/semantic.git synced 2024-12-22 22:31:36 +03:00
Commit Graph

3433 Commits

Author SHA1 Message Date
Rob Rix
32d460bce7 Rename n to maxDepth. 2015-12-14 15:18:16 -05:00
Rob Rix
686325bf4c Rename m to maxLength. 2015-12-14 15:17:26 -05:00
Rob Rix
5c90ecde8e Use the cube of the max length, not the square.
I.e. shrink the produces lists.
2015-12-14 15:15:56 -05:00
Rob Rix
33c0dacd55 Take m, not n. 2015-12-14 15:13:32 -05:00
Rob Rix
2f726d4ba6 🔥 ArbitraryDiff. 2015-12-14 15:12:07 -05:00
Rob Rix
a93908a5f8 Test the reflexivity of Diff equality by generating a pair of terms and diffing them. 2015-12-14 15:11:59 -05:00
Rob Rix
2e5d85748b Capture the construction of strictly smaller terms in the where clause. 2015-12-14 15:08:32 -05:00
Rob Rix
170fc65f5c Test for word characters specifically. 2015-12-14 15:03:24 -05:00
Rob Rix
ca7e1f5ff1 Document the word character predicate. 2015-12-14 15:02:09 -05:00
Rob Rix
4fae286cf0 Add a character predicate to test for word characters. 2015-12-14 15:01:38 -05:00
Rob Rix
9c1dd640f5 Don’t bind subrange, since we only use it once. 2015-12-14 14:41:12 -05:00
Rob Rix
1d9e945aad Pass absolute start indices to children. 2015-12-14 14:40:30 -05:00
Rob Rix
714c8ff682 Compute the substring from the subrange. 2015-12-14 14:39:50 -05:00
Rob Rix
37f236d7d7 Remove redundant imports. 2015-12-14 14:15:46 -05:00
Rob Rix
4083829e12 Bind a different variable for the subrange. 2015-12-14 13:04:21 -05:00
Rob Rix
c115262f7f Share a single computation of the substring for each case. 2015-12-14 13:01:17 -05:00
Rob Rix
718399c7d9 Compute the substring once and only once. 2015-12-14 12:59:47 -05:00
Rob Rix
3e22121d66 Test that the offset is applied. 2015-12-14 12:53:14 -05:00
Rob Rix
48464ac552 Test that we skip whitespace at the end. 2015-12-14 12:52:37 -05:00
Rob Rix
bfdf388b5c Test that we skip whitespace at the start. 2015-12-14 12:52:01 -05:00
Rob Rix
7bf7d22d8e Test that multiple whitespace characters are skipped. 2015-12-14 12:51:23 -05:00
Rob Rix
58830283d4 Correct rangesOfWordsFrom to produce start/end ranges, not start/length ranges. 2015-12-14 12:49:51 -05:00
Rob Rix
1bdfa51702 Test that multiple words → multiple ranges. 2015-12-14 12:49:01 -05:00
Rob Rix
da6995ae54 Test that a single word string is covered by the returned range. 2015-12-14 12:48:04 -05:00
Rob Rix
fca022109c Uh, ok. 2015-12-14 12:47:51 -05:00
Rob Rix
ce5854e019 Test that the empty string doesn’t have any word ranges in it. 2015-12-14 12:46:53 -05:00
Rob Rix
8951bebfa7 Test that rangesOfWordsFrom doesn’t produce words for whitespace. 2015-12-14 12:46:20 -05:00
Rob Rix
bf9aa915a3 Move rangesOfWordsFrom into Range.hs. 2015-12-14 12:44:48 -05:00
Rob Rix
8acc962ad2 Offset leaves’ ranges to get the substrings. 2015-12-14 12:40:08 -05:00
Rob Rix
bac6b696a5 Make leaves within the parent’s substring. 2015-12-14 12:39:56 -05:00
Rob Rix
dbce74368f Pass the start index to makeLeaf. 2015-12-14 12:39:09 -05:00
Rob Rix
41032f0399 We don’t need a $ here. 2015-12-14 12:37:23 -05:00
Rob Rix
6fc7632e93 Only pass the start index around. 2015-12-14 12:37:07 -05:00
Rob Rix
774f731ab1 Pass the source to makeLeaf. 2015-12-14 12:35:16 -05:00
Rob Rix
4dd9907130 Try negating the offset. 2015-12-14 12:34:18 -05:00
Rob Rix
4cd2b2db7a Parentheses are not required here. 2015-12-14 12:25:09 -05:00
Rob Rix
a239384831 Work within recursively smaller and smaller substrings.
This resolves the O(n²) behaviour we were seeing.
2015-12-14 12:24:55 -05:00
Rob Rix
6cef2cb17f Add a function to offset ranges. 2015-12-14 12:20:51 -05:00
Rob Rix
79e4860c62 Pass the source & root to recursive invocations. 2015-12-14 12:18:58 -05:00
Rob Rix
039e5849ca Revert "Shadow the outer function’s name."
This reverts commit 4cb7c975334d540b9ef08d59724536d2bbd8fda0.
2015-12-14 12:17:35 -05:00
Rob Rix
c004eb739e Revert "Push the inner function out and operate within substrings."
This reverts commit 435ba7a2e35d9a4bb61413b91895b88bf3cb2be9.
2015-12-14 12:17:30 -05:00
Rob Rix
b08bb04767 Push the inner function out and operate within substrings. 2015-12-14 12:16:44 -05:00
Rob Rix
1c3db7ae47 Shadow the outer function’s name. 2015-12-14 12:15:55 -05:00
Rob Rix
ae047f3012 Reorder the parameters for partial application. 2015-12-14 12:15:28 -05:00
Rob Rix
6dbaf9f53a Replace wordy leaves in both terms. 2015-12-14 12:13:18 -05:00
Rob Rix
36747be406 Add a function replacing wordy leaves in a term with branches of per-word leaves. 2015-12-14 12:09:21 -05:00
Rob Rix
0944591fab Add a function computing the ranges of non-whitespace substrings within a string. 2015-12-14 12:08:33 -05:00
Rob Rix
23e0790c53 Align to the top in case of soft wrapping. 2015-12-14 10:38:29 -05:00
Rob Rix
4ca9820856 Align the line numbers to the right. 2015-12-14 10:37:57 -05:00
Rob Rix
253f21d885 Invert the test. 2015-12-11 17:36:19 -05:00