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 |
|